From c5fb7a28a01bb533a597bf3103c5db816bcdb6be Mon Sep 17 00:00:00 2001 From: auxten Date: Tue, 18 Jun 2024 13:05:59 +0800 Subject: [PATCH 01/21] Add ENABLE_PYTHON compile flag --- CMakeLists.txt | 4 + programs/local/CMakeLists.txt | 78 +++++------ programs/local/LocalChdb.cpp | 3 + programs/local/LocalChdb.h | 11 +- src/CMakeLists.txt | 128 +++++++++--------- src/Common/PythonUtils.cpp | 29 ++-- src/Common/PythonUtils.h | 4 + src/Common/config.h.in | 1 + src/Processors/Sources/PythonSource.cpp | 5 +- src/Processors/Sources/PythonSource.h | 4 + src/Storages/StoragePython.cpp | 9 +- src/Storages/StoragePython.h | 4 + .../System/StorageSystemBuildOptions.cpp.in | 1 + src/Storages/registerStorages.cpp | 5 +- src/TableFunctions/CMakeLists.txt | 54 ++++---- src/TableFunctions/TableFunctionPython.h | 4 + src/TableFunctions/registerTableFunctions.cpp | 5 +- src/TableFunctions/registerTableFunctions.h | 3 +- src/configure_config.cmake | 3 + 19 files changed, 208 insertions(+), 147 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b842c2eb346..fe105e89c42 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -114,6 +114,10 @@ if (ENABLE_FUZZING) add_compile_definitions(FUZZING_MODE=1) endif() +if (ENABLE_PYTHON) + set(USE_PYTHON 1) +endif() + # Global libraries # See: # - default_libs.cmake diff --git a/programs/local/CMakeLists.txt b/programs/local/CMakeLists.txt index 90e8a08eec2..38ce74ed37c 100644 --- a/programs/local/CMakeLists.txt +++ b/programs/local/CMakeLists.txt @@ -1,48 +1,50 @@ -# set (CLICKHOUSE_LOCAL_SOURCES LocalServer.cpp) -set (CLICKHOUSE_LOCAL_SOURCES LocalServer.cpp LocalChdb.cpp) +set (CLICKHOUSE_LOCAL_SOURCES LocalServer.cpp) -# include path from shell cmd "python3 -m pybind11 --includes" -execute_process(COMMAND python3 -m pybind11 --includes - OUTPUT_VARIABLE PYBIND11_INCLUDES - OUTPUT_STRIP_TRAILING_WHITESPACE -) -string(REGEX REPLACE ".*-I([^ ]+).*" "\\1" PYBIND11_INCLUDE_DIR ${PYBIND11_INCLUDES}) -include_directories(${PYBIND11_INCLUDE_DIR}) +if (USE_PYTHON) + set(CLICKHOUSE_LOCAL_SOURCES ${CLICKHOUSE_LOCAL_SOURCES} LocalChdb.cpp) + # include path from shell cmd "python3 -m pybind11 --includes" + execute_process(COMMAND python3 -m pybind11 --includes + OUTPUT_VARIABLE PYBIND11_INCLUDES + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + string(REGEX REPLACE ".*-I([^ ]+).*" "\\1" PYBIND11_INCLUDE_DIR ${PYBIND11_INCLUDES}) + include_directories(${PYBIND11_INCLUDE_DIR}) -# include Python.h -execute_process(COMMAND python3-config --includes - OUTPUT_VARIABLE PYTHON_INCLUDES - OUTPUT_STRIP_TRAILING_WHITESPACE -) -string(REGEX REPLACE ".*-I([^ ]+).*" "\\1" PYTHON_INCLUDE_DIR ${PYTHON_INCLUDES}) -set_source_files_properties(LocalChdb.cpp PROPERTIES INCLUDE_DIRECTORIES ${PYTHON_INCLUDE_DIR}) + # include Python.h + execute_process(COMMAND python3-config --includes + OUTPUT_VARIABLE PYTHON_INCLUDES + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + string(REGEX REPLACE ".*-I([^ ]+).*" "\\1" PYTHON_INCLUDE_DIR ${PYTHON_INCLUDES}) + set_source_files_properties(LocalChdb.cpp PROPERTIES INCLUDE_DIRECTORIES ${PYTHON_INCLUDE_DIR}) -# get python version, something like python3.x -execute_process(COMMAND python3 -c "import sys; print('python3.'+str(sys.version_info[1]))" - OUTPUT_VARIABLE PYTHON_VERSION - OUTPUT_STRIP_TRAILING_WHITESPACE -) + # get python version, something like python3.x + execute_process(COMMAND python3 -c "import sys; print('python3.'+str(sys.version_info[1]))" + OUTPUT_VARIABLE PYTHON_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE + ) -# remove all warning, because pybind11 will generate a lot of warning -if (OS_LINUX) - # pybind11 will try to find x86_64-linux-gnu/${PYTHON_VERSION}/pyconfig.h - # use -idirafter to make it find the right one and not polute the include path - # set_source_files_properties(LocalChdb.cpp PROPERTIES COMPILE_FLAGS - # "-w -idirafter /usr/include -include x86_64-linux-gnu/${PYTHON_VERSION}/pyconfig.h" - # ) - if (PYTHON_VERSION STREQUAL "python3.6" OR PYTHON_VERSION STREQUAL "python3.7" OR PYTHON_VERSION STREQUAL "python3.8") - set_source_files_properties(LocalChdb.cpp PROPERTIES COMPILE_FLAGS - "-w -idirafter /usr/include -include crypt.h" - ) - else() - set_source_files_properties(LocalChdb.cpp PROPERTIES COMPILE_FLAGS + # remove all warning, because pybind11 will generate a lot of warning + if (OS_LINUX) + # pybind11 will try to find x86_64-linux-gnu/${PYTHON_VERSION}/pyconfig.h + # use -idirafter to make it find the right one and not polute the include path + # set_source_files_properties(LocalChdb.cpp PROPERTIES COMPILE_FLAGS + # "-w -idirafter /usr/include -include x86_64-linux-gnu/${PYTHON_VERSION}/pyconfig.h" + # ) + if (PYTHON_VERSION STREQUAL "python3.6" OR PYTHON_VERSION STREQUAL "python3.7" OR PYTHON_VERSION STREQUAL "python3.8") + set_source_files_properties(LocalChdb.cpp PROPERTIES COMPILE_FLAGS + "-w -idirafter /usr/include -include crypt.h" + ) + else() + set_source_files_properties(LocalChdb.cpp PROPERTIES COMPILE_FLAGS + "-w" + ) + endif() + elseif (OS_DARWIN) + set_source_files_properties(LocalChdb.cpp PROPERTIES COMPILE_FLAGS "-w" ) endif() -elseif (OS_DARWIN) - set_source_files_properties(LocalChdb.cpp PROPERTIES COMPILE_FLAGS - "-w" - ) endif() # add_library(clickhouse-local-lib SHARED ${CLICKHOUSE_LOCAL_SOURCES}) diff --git a/programs/local/LocalChdb.cpp b/programs/local/LocalChdb.cpp index 058c8b92aee..f52acbc1d91 100644 --- a/programs/local/LocalChdb.cpp +++ b/programs/local/LocalChdb.cpp @@ -1,5 +1,7 @@ #include "LocalChdb.h" +#if USE_PYTHON + #include #include #include @@ -191,3 +193,4 @@ PYBIND11_MODULE(_chdb, m) } #endif // PY_TEST_MAIN +#endif // USE_PYTHON diff --git a/programs/local/LocalChdb.h b/programs/local/LocalChdb.h index 9f00b7d0ba7..6401c04f03b 100644 --- a/programs/local/LocalChdb.h +++ b/programs/local/LocalChdb.h @@ -1,12 +1,16 @@ #pragma once +#include "config.h" + +#if USE_PYTHON #include "chdb.h" -#include "pybind11/pybind11.h" -#include "pybind11/pytypes.h" -#include "pybind11/stl.h" +#include +#include +#include namespace py = pybind11; + class local_result_wrapper; class __attribute__((visibility("default"))) memoryview_wrapper; class __attribute__((visibility("default"))) query_result; @@ -155,3 +159,4 @@ class memoryview_wrapper } } }; +#endif diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 685a9f0d3a3..c9097cdee1f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -282,80 +282,82 @@ if (TARGET ch_contrib::jemalloc) target_link_libraries (dbms PRIVATE ch_contrib::jemalloc) endif() -# Include path from shell cmd "python3 -m pybind11 --includes" -execute_process(COMMAND python3 -m pybind11 --includes - OUTPUT_VARIABLE PYBIND11_INCLUDES - OUTPUT_STRIP_TRAILING_WHITESPACE -) +if (USE_PYTHON) + # Include path from shell cmd "python3 -m pybind11 --includes" + execute_process(COMMAND python3 -m pybind11 --includes + OUTPUT_VARIABLE PYBIND11_INCLUDES + OUTPUT_STRIP_TRAILING_WHITESPACE + ) -# Extract and set include directories specifically for source using pybind11 -string(REGEX MATCHALL "-I([^ ]+)" INCLUDE_DIRS_MATCHES ${PYBIND11_INCLUDES}) -set(PYTHON_INCLUDE_DIRS "") -foreach(INCLUDE_DIR_MATCH ${INCLUDE_DIRS_MATCHES}) - string(REGEX REPLACE "-I" "" INCLUDE_DIR_MATCH ${INCLUDE_DIR_MATCH}) - # Accumulate all include directories - set(PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_DIRS};${INCLUDE_DIR_MATCH}") -endforeach() - -# Apply the include directories to Storages/StoragePython.cpp and Processors/Sources/PythonSource.cpp -set_source_files_properties(Storages/StoragePython.cpp PROPERTIES INCLUDE_DIRECTORIES "${PYTHON_INCLUDE_DIRS}") -set_source_files_properties(Processors/Sources/PythonSource.cpp PROPERTIES INCLUDE_DIRECTORIES "${PYTHON_INCLUDE_DIRS}") -set_source_files_properties(Columns/ColumnPyObject.cpp PROPERTIES INCLUDE_DIRECTORIES "${PYTHON_INCLUDE_DIRS}") -set_source_files_properties(Common/PythonUtils.cpp PROPERTIES INCLUDE_DIRECTORIES "${PYTHON_INCLUDE_DIRS}") - -# get python version, something like python3.x -execute_process(COMMAND python3 -c "import sys; print('python3.'+str(sys.version_info[1]))" - OUTPUT_VARIABLE PYTHON_VERSION - OUTPUT_STRIP_TRAILING_WHITESPACE -) + # Extract and set include directories specifically for source using pybind11 + string(REGEX MATCHALL "-I([^ ]+)" INCLUDE_DIRS_MATCHES ${PYBIND11_INCLUDES}) + set(PYTHON_INCLUDE_DIRS "") + foreach(INCLUDE_DIR_MATCH ${INCLUDE_DIRS_MATCHES}) + string(REGEX REPLACE "-I" "" INCLUDE_DIR_MATCH ${INCLUDE_DIR_MATCH}) + # Accumulate all include directories + set(PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_DIRS};${INCLUDE_DIR_MATCH}") + endforeach() + + # Apply the include directories to Storages/StoragePython.cpp and Processors/Sources/PythonSource.cpp + set_source_files_properties(Storages/StoragePython.cpp PROPERTIES INCLUDE_DIRECTORIES "${PYTHON_INCLUDE_DIRS}") + set_source_files_properties(Processors/Sources/PythonSource.cpp PROPERTIES INCLUDE_DIRECTORIES "${PYTHON_INCLUDE_DIRS}") + set_source_files_properties(Columns/ColumnPyObject.cpp PROPERTIES INCLUDE_DIRECTORIES "${PYTHON_INCLUDE_DIRS}") + set_source_files_properties(Common/PythonUtils.cpp PROPERTIES INCLUDE_DIRECTORIES "${PYTHON_INCLUDE_DIRS}") + + # get python version, something like python3.x + execute_process(COMMAND python3 -c "import sys; print('python3.'+str(sys.version_info[1]))" + OUTPUT_VARIABLE PYTHON_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE + ) -# remove all warning, because pybind11 will generate a lot of warning -if (OS_LINUX) - # pybind11 will try to find x86_64-linux-gnu/${PYTHON_VERSION}/pyconfig.h - # use -idirafter to make it find the right one and not polute the include path - # set_source_files_properties(Storages/StoragePython.cpp PROPERTIES COMPILE_FLAGS - # "-w -idirafter /usr/include -include x86_64-linux-gnu/${PYTHON_VERSION}/pyconfig.h" - # ) - if (PYTHON_VERSION STREQUAL "python3.6" OR PYTHON_VERSION STREQUAL "python3.7" OR PYTHON_VERSION STREQUAL "python3.8") - set_source_files_properties(Storages/StoragePython.cpp PROPERTIES COMPILE_FLAGS - "-w -idirafter /usr/include -include crypt.h" - ) - set_source_files_properties(Processors/Sources/PythonSource.cpp PROPERTIES COMPILE_FLAGS - "-w -idirafter /usr/include -include crypt.h" - ) - set_source_files_properties(Columns/ColumnPyObject.cpp PROPERTIES COMPILE_FLAGS - "-w -idirafter /usr/include -include crypt.h" - ) - set_source_files_properties(Common/PythonUtils.cpp PROPERTIES COMPILE_FLAGS - "-w -idirafter /usr/include -include crypt.h" - ) - else() - set_source_files_properties(Storages/StoragePython.cpp PROPERTIES COMPILE_FLAGS + # remove all warning, because pybind11 will generate a lot of warning + if (OS_LINUX) + # pybind11 will try to find x86_64-linux-gnu/${PYTHON_VERSION}/pyconfig.h + # use -idirafter to make it find the right one and not polute the include path + # set_source_files_properties(Storages/StoragePython.cpp PROPERTIES COMPILE_FLAGS + # "-w -idirafter /usr/include -include x86_64-linux-gnu/${PYTHON_VERSION}/pyconfig.h" + # ) + if (PYTHON_VERSION STREQUAL "python3.6" OR PYTHON_VERSION STREQUAL "python3.7" OR PYTHON_VERSION STREQUAL "python3.8") + set_source_files_properties(Storages/StoragePython.cpp PROPERTIES COMPILE_FLAGS + "-w -idirafter /usr/include -include crypt.h" + ) + set_source_files_properties(Processors/Sources/PythonSource.cpp PROPERTIES COMPILE_FLAGS + "-w -idirafter /usr/include -include crypt.h" + ) + set_source_files_properties(Columns/ColumnPyObject.cpp PROPERTIES COMPILE_FLAGS + "-w -idirafter /usr/include -include crypt.h" + ) + set_source_files_properties(Common/PythonUtils.cpp PROPERTIES COMPILE_FLAGS + "-w -idirafter /usr/include -include crypt.h" + ) + else() + set_source_files_properties(Storages/StoragePython.cpp PROPERTIES COMPILE_FLAGS + "-w" + ) + set_source_files_properties(Processors/Sources/PythonSource.cpp PROPERTIES COMPILE_FLAGS + "-w" + ) + set_source_files_properties(Columns/ColumnPyObject.cpp PROPERTIES COMPILE_FLAGS + "-w" + ) + set_source_files_properties(Common/PythonUtils.cpp PROPERTIES COMPILE_FLAGS + "-w" + ) + endif() + elseif (OS_DARWIN) + set_source_files_properties(Storages/StoragePython.cpp PROPERTIES COMPILE_FLAGS "-w" ) - set_source_files_properties(Processors/Sources/PythonSource.cpp PROPERTIES COMPILE_FLAGS + set_source_files_properties(Processors/Sources/PythonSource.cpp PROPERTIES COMPILE_FLAGS "-w" ) - set_source_files_properties(Columns/ColumnPyObject.cpp PROPERTIES COMPILE_FLAGS + set_source_files_properties(Columns/ColumnPyObject.cpp PROPERTIES COMPILE_FLAGS "-w" ) - set_source_files_properties(Common/PythonUtils.cpp PROPERTIES COMPILE_FLAGS + set_source_files_properties(Common/PythonUtils.cpp PROPERTIES COMPILE_FLAGS "-w" ) endif() -elseif (OS_DARWIN) - set_source_files_properties(Storages/StoragePython.cpp PROPERTIES COMPILE_FLAGS - "-w" - ) - set_source_files_properties(Processors/Sources/PythonSource.cpp PROPERTIES COMPILE_FLAGS - "-w" - ) - set_source_files_properties(Columns/ColumnPyObject.cpp PROPERTIES COMPILE_FLAGS - "-w" - ) - set_source_files_properties(Common/PythonUtils.cpp PROPERTIES COMPILE_FLAGS - "-w" - ) endif() set (all_modules dbms) diff --git a/src/Common/PythonUtils.cpp b/src/Common/PythonUtils.cpp index 5eda802bab1..cd2d77ae39d 100644 --- a/src/Common/PythonUtils.cpp +++ b/src/Common/PythonUtils.cpp @@ -1,10 +1,11 @@ -#include +#include +#if USE_PYTHON +#include #include #include #include #include -#include #include #include "Columns/ColumnString.h" @@ -267,16 +268,23 @@ const char * GetPyUtf8StrData(PyObject * obj, size_t & buf_len) bool _isInheritsFromPyReader(const py::handle & obj) { - // Check directly if obj is an instance of a class named "PyReader" - if (py::str(obj.attr("__class__").attr("__name__")).cast() == "PyReader") - return true; - - // Check the direct base classes of obj's class for "PyReader" - py::tuple bases = obj.attr("__class__").attr("__bases__"); - for (auto base : bases) - if (py::str(base.attr("__name__")).cast() == "PyReader") + try + { + // Check directly if obj is an instance of a class named "PyReader" + if (py::str(obj.attr("__class__").attr("__name__")).cast() == "PyReader") return true; + // Check the direct base classes of obj's class for "PyReader" + py::tuple bases = obj.attr("__class__").attr("__bases__"); + for (auto base : bases) + if (py::str(base.attr("__name__")).cast() == "PyReader") + return true; + } + catch (const py::error_already_set &) + { + // Ignore the exception, and return false + } + return false; } @@ -316,3 +324,4 @@ const void * tryGetPyArray(const py::object & obj, py::handle & result, std::str return nullptr; } } +#endif diff --git a/src/Common/PythonUtils.h b/src/Common/PythonUtils.h index 9069febb68f..2082812adc9 100644 --- a/src/Common/PythonUtils.h +++ b/src/Common/PythonUtils.h @@ -1,5 +1,8 @@ #pragma once +#include "config.h" + +#if USE_PYTHON #include #include // #include @@ -201,3 +204,4 @@ inline std::vector readData(const py::object & data_source, const st const void * tryGetPyArray(const py::object & obj, py::handle & result, std::string & type_name, size_t & row_count); } // namespace DB +#endif diff --git a/src/Common/config.h.in b/src/Common/config.h.in index ad2ca2652d1..509ba60cba0 100644 --- a/src/Common/config.h.in +++ b/src/Common/config.h.in @@ -31,6 +31,7 @@ #cmakedefine01 USE_SQIDS #cmakedefine01 USE_IDNA #cmakedefine01 USE_NLP +#cmakedefine01 USE_PYTHON #cmakedefine01 USE_VECTORSCAN #cmakedefine01 USE_LIBURING #cmakedefine01 USE_AVRO diff --git a/src/Processors/Sources/PythonSource.cpp b/src/Processors/Sources/PythonSource.cpp index 6fe9e3eff12..039461a1d17 100644 --- a/src/Processors/Sources/PythonSource.cpp +++ b/src/Processors/Sources/PythonSource.cpp @@ -1,3 +1,6 @@ +#include + +#if USE_PYTHON #include #include #include @@ -11,7 +14,6 @@ #include #include #include -#include #include #include #include @@ -430,3 +432,4 @@ Chunk PythonSource::generate() } } } +#endif diff --git a/src/Processors/Sources/PythonSource.h b/src/Processors/Sources/PythonSource.h index 5fe1b12f817..99f19a8d5df 100644 --- a/src/Processors/Sources/PythonSource.h +++ b/src/Processors/Sources/PythonSource.h @@ -1,5 +1,8 @@ #pragma once +#include "config.h" + +#if USE_PYTHON #include #include @@ -75,3 +78,4 @@ class PythonSource : public ISource void destory(PyObjectVecPtr & data); }; } +#endif diff --git a/src/Storages/StoragePython.cpp b/src/Storages/StoragePython.cpp index 318dd596876..183d5bfa4fa 100644 --- a/src/Storages/StoragePython.cpp +++ b/src/Storages/StoragePython.cpp @@ -1,16 +1,18 @@ +#include + +#if USE_PYTHON #include #include #include #include #include -#include #include +#include #include #include #include #include #include -#include #include #include #include @@ -71,7 +73,9 @@ Pipe StoragePython::read( prepareColumnCache(column_names, sample_block.getColumns(), sample_block); if (isInheritsFromPyReader(data_source)) + { return Pipe(std::make_shared(data_source, sample_block, column_cache, data_source_row_count, max_block_size, 0, 1)); + } Pipes pipes; for (size_t stream = 0; stream < num_streams; ++stream) @@ -344,3 +348,4 @@ void registerStoragePython(StorageFactory & factory) {.supports_settings = true, .supports_parallel_insert = false}); } } +#endif diff --git a/src/Storages/StoragePython.h b/src/Storages/StoragePython.h index 219171fddd1..3c9b6d33360 100644 --- a/src/Storages/StoragePython.h +++ b/src/Storages/StoragePython.h @@ -1,5 +1,8 @@ #pragma once +#include "config.h" + +#if USE_PYTHON #include #include #include @@ -181,3 +184,4 @@ void registerStoragePython(StorageFactory & factory); } +#endif diff --git a/src/Storages/System/StorageSystemBuildOptions.cpp.in b/src/Storages/System/StorageSystemBuildOptions.cpp.in index a81bcb08bfc..521756e1e4c 100644 --- a/src/Storages/System/StorageSystemBuildOptions.cpp.in +++ b/src/Storages/System/StorageSystemBuildOptions.cpp.in @@ -49,6 +49,7 @@ const char * auto_config_build[] "USE_ROCKSDB", "@USE_ROCKSDB@", "USE_NURAFT", "@USE_NURAFT@", "USE_NLP", "@USE_NLP@", + "USE_PYTHON", "@USE_PYTHON@", "USE_LIBURING", "@USE_LIBURING@", "USE_SQLITE", "@USE_SQLITE@", "USE_LIBPQXX", "@USE_LIBPQXX@", diff --git a/src/Storages/registerStorages.cpp b/src/Storages/registerStorages.cpp index c4d91f07a0f..f7a62dda18a 100644 --- a/src/Storages/registerStorages.cpp +++ b/src/Storages/registerStorages.cpp @@ -28,8 +28,9 @@ void registerStorageWindowView(StorageFactory & factory); #if USE_RAPIDJSON || USE_SIMDJSON void registerStorageFuzzJSON(StorageFactory & factory); #endif -//chdb todo: add a #if USE_PYTHON here +#if USE_PYTHON void registerStoragePython(StorageFactory & factory); +#endif #if USE_AWS_S3 void registerStorageS3(StorageFactory & factory); @@ -129,7 +130,9 @@ void registerStorages() #if USE_RAPIDJSON || USE_SIMDJSON registerStorageFuzzJSON(factory); #endif +#if USE_PYTHON registerStoragePython(factory); +#endif #if USE_AWS_S3 registerStorageS3(factory); diff --git a/src/TableFunctions/CMakeLists.txt b/src/TableFunctions/CMakeLists.txt index 8f92ec9a25e..bc8b455ba13 100644 --- a/src/TableFunctions/CMakeLists.txt +++ b/src/TableFunctions/CMakeLists.txt @@ -17,39 +17,41 @@ extract_into_parent_list(clickhouse_table_functions_headers dbms_headers TableFunctionFactory.h ) -# Include path from shell cmd "python3 -m pybind11 --includes" -execute_process(COMMAND python3 -m pybind11 --includes - OUTPUT_VARIABLE PYBIND11_INCLUDES - OUTPUT_STRIP_TRAILING_WHITESPACE -) +if (USE_PYTHON) + # Include path from shell cmd "python3 -m pybind11 --includes" + execute_process(COMMAND python3 -m pybind11 --includes + OUTPUT_VARIABLE PYBIND11_INCLUDES + OUTPUT_STRIP_TRAILING_WHITESPACE + ) -# Extract and set include directories specifically for source using pybind11 -string(REGEX MATCHALL "-I([^ ]+)" INCLUDE_DIRS_MATCHES ${PYBIND11_INCLUDES}) -set(PYTHON_INCLUDE_DIRS "") -foreach(INCLUDE_DIR_MATCH ${INCLUDE_DIRS_MATCHES}) - string(REGEX REPLACE "-I" "" INCLUDE_DIR_MATCH ${INCLUDE_DIR_MATCH}) - # Accumulate all include directories - set(PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_DIRS};${INCLUDE_DIR_MATCH}") -endforeach() + # Extract and set include directories specifically for source using pybind11 + string(REGEX MATCHALL "-I([^ ]+)" INCLUDE_DIRS_MATCHES ${PYBIND11_INCLUDES}) + set(PYTHON_INCLUDE_DIRS "") + foreach(INCLUDE_DIR_MATCH ${INCLUDE_DIRS_MATCHES}) + string(REGEX REPLACE "-I" "" INCLUDE_DIR_MATCH ${INCLUDE_DIR_MATCH}) + # Accumulate all include directories + set(PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_DIRS};${INCLUDE_DIR_MATCH}") + endforeach() -# Add include directories for pybind11 -set_source_files_properties(TableFunctionPython.cpp PROPERTIES INCLUDE_DIRECTORIES "${PYTHON_INCLUDE_DIRS}") + # Add include directories for pybind11 + set_source_files_properties(TableFunctionPython.cpp PROPERTIES INCLUDE_DIRECTORIES "${PYTHON_INCLUDE_DIRS}") -# remove all warning, because pybind11 will generate a lot of warning -if (OS_LINUX) - if (PYTHON_VERSION STREQUAL "python3.6" OR PYTHON_VERSION STREQUAL "python3.7" OR PYTHON_VERSION STREQUAL "python3.8") - set_source_files_properties(TableFunctionPython.cpp PROPERTIES COMPILE_FLAGS - "-w -idirafter /usr/include -include crypt.h" - ) - else() + # remove all warning, because pybind11 will generate a lot of warning + if (OS_LINUX) + if (PYTHON_VERSION STREQUAL "python3.6" OR PYTHON_VERSION STREQUAL "python3.7" OR PYTHON_VERSION STREQUAL "python3.8") + set_source_files_properties(TableFunctionPython.cpp PROPERTIES COMPILE_FLAGS + "-w -idirafter /usr/include -include crypt.h" + ) + else() + set_source_files_properties(TableFunctionPython.cpp PROPERTIES COMPILE_FLAGS + "-w" + ) + endif() + elseif (OS_DARWIN) set_source_files_properties(TableFunctionPython.cpp PROPERTIES COMPILE_FLAGS "-w" ) endif() -elseif (OS_DARWIN) - set_source_files_properties(TableFunctionPython.cpp PROPERTIES COMPILE_FLAGS - "-w" - ) endif() add_library(clickhouse_table_functions ${clickhouse_table_functions_headers} ${clickhouse_table_functions_sources}) diff --git a/src/TableFunctions/TableFunctionPython.h b/src/TableFunctions/TableFunctionPython.h index 6297a1dd2ed..a834dfa4f57 100644 --- a/src/TableFunctions/TableFunctionPython.h +++ b/src/TableFunctions/TableFunctionPython.h @@ -1,5 +1,8 @@ #pragma once +#include "config.h" + +#if USE_PYTHON #include #include #include @@ -39,3 +42,4 @@ class TableFunctionPython : public ITableFunction }; } +#endif diff --git a/src/TableFunctions/registerTableFunctions.cpp b/src/TableFunctions/registerTableFunctions.cpp index 0cdd407ae51..2cb538213b9 100644 --- a/src/TableFunctions/registerTableFunctions.cpp +++ b/src/TableFunctions/registerTableFunctions.cpp @@ -28,9 +28,10 @@ void registerTableFunctions() #if USE_RAPIDJSON || USE_SIMDJSON registerTableFunctionFuzzJSON(factory); #endif - //chdb todo: add a #if USE_PYTHON here +#if USE_PYTHON registerTableFunctionPython(factory); - +#endif + #if USE_AWS_S3 registerTableFunctionS3(factory); registerTableFunctionS3Cluster(factory); diff --git a/src/TableFunctions/registerTableFunctions.h b/src/TableFunctions/registerTableFunctions.h index 5debd46d901..4b06931be9c 100644 --- a/src/TableFunctions/registerTableFunctions.h +++ b/src/TableFunctions/registerTableFunctions.h @@ -25,8 +25,9 @@ void registerTableFunctionMergeTreeIndex(TableFunctionFactory & factory); #if USE_RAPIDJSON || USE_SIMDJSON void registerTableFunctionFuzzJSON(TableFunctionFactory & factory); #endif -//chdb todo: add a #if USE_PYTHON here +#if USE_PYTHON void registerTableFunctionPython(TableFunctionFactory & factory); +#endif #if USE_AWS_S3 void registerTableFunctionS3(TableFunctionFactory & factory); diff --git a/src/configure_config.cmake b/src/configure_config.cmake index a3f6dae4b87..b7c15e3bc7f 100644 --- a/src/configure_config.cmake +++ b/src/configure_config.cmake @@ -94,6 +94,9 @@ endif() if (ENABLE_NLP) set(USE_NLP 1) endif() +if (ENABLE_PYTHON) + set(USE_PYTHON 1) +endif() if (TARGET ch_contrib::ulid) set(USE_ULID 1) endif() From 5fb5f5daaa8ebb29a575d333b075488709c8d974 Mon Sep 17 00:00:00 2001 From: auxten Date: Tue, 18 Jun 2024 13:06:38 +0800 Subject: [PATCH 02/21] Build libchdb and chdbpy with different flag --- chdb/build.sh | 184 +++++++++++++++++++++++++++++++++----------------- 1 file changed, 122 insertions(+), 62 deletions(-) diff --git a/chdb/build.sh b/chdb/build.sh index 3f083dfefa5..03b862ef6ab 100755 --- a/chdb/build.sh +++ b/chdb/build.sh @@ -75,7 +75,7 @@ if [ ! -d $BUILD_DIR ]; then fi cd ${BUILD_DIR} -cmake -DCMAKE_BUILD_TYPE=${build_type} -DENABLE_THINLTO=0 -DENABLE_TESTS=0 -DENABLE_CLICKHOUSE_SERVER=0 -DENABLE_CLICKHOUSE_CLIENT=0 \ +CMAKE_ARGS="-DCMAKE_BUILD_TYPE=${build_type} -DENABLE_THINLTO=0 -DENABLE_TESTS=0 -DENABLE_CLICKHOUSE_SERVER=0 -DENABLE_CLICKHOUSE_CLIENT=0 \ -DENABLE_CLICKHOUSE_KEEPER=0 -DENABLE_CLICKHOUSE_KEEPER_CONVERTER=0 -DENABLE_CLICKHOUSE_LOCAL=1 -DENABLE_CLICKHOUSE_SU=0 -DENABLE_CLICKHOUSE_BENCHMARK=0 \ -DENABLE_AZURE_BLOB_STORAGE=0 -DENABLE_CLICKHOUSE_COPIER=0 -DENABLE_CLICKHOUSE_DISKS=0 -DENABLE_CLICKHOUSE_FORMAT=0 -DENABLE_CLICKHOUSE_GIT_IMPORT=0 \ -DENABLE_AWS_S3=1 -DENABLE_HIVE=0 -DENABLE_AVRO=1 \ @@ -98,19 +98,126 @@ cmake -DCMAKE_BUILD_TYPE=${build_type} -DENABLE_THINLTO=0 -DENABLE_TESTS=0 -DENA ${CMAKE_TOOLCHAIN_FILE} \ -DENABLE_AVX512=0 -DENABLE_AVX512_VBMI=0 \ -DCHDB_VERSION=${CHDB_VERSION} \ - .. -ninja -d keeprsp || true + " + +# # Generate libchdb.so linkage command: +# # 1. Use ar to delete the LocalChdb.cpp.o from libclickhouse-local-lib.a +# # `ar d programs/local/libclickhouse-local-lib.a LocalChdb.cpp.o` +# # 2. Change the entry point from `PyInit_chdb` to `query_stable` +# # `-Wl,-ePyInit_chdb` to `-Wl,-equery_stable` on Linux +# # `-Wl,-exported_symbol,_PyInit_${CHDB_PY_MOD}` to +# # `-Wl,-exported_symbol,_query_stable -Wl,-exported_symbol,_free_result` on Darwin +# # 3. Change the output file name from `_chdb.cpython-xx-x86_64-linux-gnu.s` to `libchdb.so` +# # `-o _chdb.cpython-39-x86_64-linux-gnu.so` to `-o libchdb.so` +# # 4. Write the command to a file for debug +# # 5. Run the command to generate libchdb.so + +# # Remove object from archive and save it to a new archive like: +# # path/to/oldname.a -> path/to/oldname-nopy.a +# remove_obj_from_archive() { +# local archive=$1 +# local obj=$2 +# local new_archive=$(echo ${archive} | sed 's/\.a$/-nopy.a/') +# cp -a ${archive} ${new_archive} +# ${AR} d ${new_archive} ${obj} +# echo "Old archive: ${archive}" +# ls -l ${archive} +# echo "New archive: ${new_archive}" +# ls -l ${new_archive} +# local oldfile=$(basename ${archive}) +# local newfile=$(basename ${new_archive}) +# LIBCHDB_CMD=$(echo ${LIBCHDB_CMD} | sed "s/${oldfile}/${newfile}/g") +# ${SED_INPLACE} "s/${oldfile}/${newfile}/g" CMakeFiles/libchdb.rsp +# } + + +# # Step 1, 2, 3: +# # Backup the libclickhouse-local-lib.a and restore it after ar d +# # LIBCHDB_SO="libchdb.so" +# # CLEAN_CHDB_A="libclickhouse-local-chdb.a" +# # cp -a ${BUILD_DIR}/programs/local/libclickhouse-local-lib.a ${BUILD_DIR}/programs/local/libclickhouse-local-lib.a.bak +# # ${AR} d ${BUILD_DIR}/programs/local/libclickhouse-local-lib.a LocalChdb.cpp.o +# # mv ${BUILD_DIR}/programs/local/libclickhouse-local-lib.a ${BUILD_DIR}/programs/local/${CLEAN_CHDB_A} +# # mv ${BUILD_DIR}/programs/local/libclickhouse-local-lib.a.bak ${BUILD_DIR}/programs/local/libclickhouse-local-lib.a +# # ls -l ${BUILD_DIR}/programs/local/ +# LIBCHDB_SO="libchdb.so" +# LIBCHDB_CMD=${PYCHDB_CMD} +# if [ "${build_type}" == "Debug" ]; then +# remove_obj_from_archive ${BUILD_DIR}/programs/local/libclickhouse-local-libd.a LocalChdb.cpp.o +# remove_obj_from_archive ${BUILD_DIR}/src/libdbmsd.a StoragePython.cpp.o +# remove_obj_from_archive ${BUILD_DIR}/src/libdbmsd.a PythonSource.cpp.o +# remove_obj_from_archive ${BUILD_DIR}/src/libclickhouse_common_iod.a PythonUtils.cpp.o +# remove_obj_from_archive ${BUILD_DIR}/src/TableFunctions/libclickhouse_table_functionsd.a TableFunctionPython.cpp.o +# else +# remove_obj_from_archive ${BUILD_DIR}/programs/local/libclickhouse-local-lib.a LocalChdb.cpp.o +# remove_obj_from_archive ${BUILD_DIR}/src/libdbms.a StoragePython.cpp.o +# remove_obj_from_archive ${BUILD_DIR}/src/libdbms.a PythonSource.cpp.o +# remove_obj_from_archive ${BUILD_DIR}/src/libclickhouse_common_io.a PythonUtils.cpp.o +# remove_obj_from_archive ${BUILD_DIR}/src/TableFunctions/libclickhouse_table_functions.a TableFunctionPython.cpp.o +# fi + + +LIBCHDB_SO="libchdb.so" +# Build libchdb.so +cmake ${CMAKE_ARGS} -DENABLE_PYTHON=0 .. +ninja -d keeprsp +if [ ! -f CMakeFiles/clickhouse.rsp ]; then + echo "CMakeFiles/clickhouse.rsp not found" + exit 1 +fi + +cp -a CMakeFiles/clickhouse.rsp CMakeFiles/libchdb.rsp -# BINARY=${BUILD_DIR}/programs/clickhouse -# echo -e "\nBINARY: ${BINARY}" -# ls -lh ${BINARY} -# echo -e "\nldd ${BINARY}" -# ${LDD} ${BINARY} -# rm -f ${BINARY} +BINARY=${BUILD_DIR}/programs/clickhouse +echo -e "\nBINARY: ${BINARY}" +ls -lh ${BINARY} +echo -e "\nldd ${BINARY}" +${LDD} ${BINARY} +rm -f ${BINARY} + + +LIBCHDB_CMD=$(grep -m 1 'clang++.*-o programs/clickhouse .*' build.log \ + | sed "s/-o programs\/clickhouse/-fPIC -shared -o ${LIBCHDB_SO}/" \ + | sed 's/^[^&]*&& //' | sed 's/&&.*//' \ + | sed 's/ -Wl,-undefined,error/ -Wl,-undefined,dynamic_lookup/g' \ + | sed 's/ -Xlinker --no-undefined//g' \ + | sed 's/@CMakeFiles\/clickhouse.rsp/@CMakeFiles\/libchdb.rsp/g' \ + ) + +# generate the command to generate libchdb.so +LIBCHDB_CMD=$(echo ${LIBCHDB_CMD} | sed 's/ '${CHDB_PY_MODULE}'/ '${LIBCHDB_SO}'/g') +${SED_INPLACE} 's/ '${CHDB_PY_MODULE}'/ '${LIBCHDB_SO}'/g' CMakeFiles/libchdb.rsp + +if [ "$(uname)" == "Linux" ]; then + LIBCHDB_CMD=$(echo ${LIBCHDB_CMD} | sed 's/ '${PYINIT_ENTRY}'/ /g') + ${SED_INPLACE} 's/ '${PYINIT_ENTRY}'/ /g' CMakeFiles/libchdb.rsp +fi + +if [ "$(uname)" == "Darwin" ]; then + LIBCHDB_CMD=$(echo ${LIBCHDB_CMD} | sed 's/ '${PYINIT_ENTRY}'/ -Wl,-exported_symbol,_query_stable -Wl,-exported_symbol,_free_result -Wl,-exported_symbol,_query_stable_v2 -Wl,-exported_symbol,_free_result_v2/g') + ${SED_INPLACE} 's/ '${PYINIT_ENTRY}'/ -Wl,-exported_symbol,_query_stable -Wl,-exported_symbol,_free_result -Wl,-exported_symbol,_query_stable_v2 -Wl,-exported_symbol,_free_result_v2/g' CMakeFiles/libchdb.rsp +fi + +LIBCHDB_CMD=$(echo ${LIBCHDB_CMD} | sed 's/@CMakeFiles\/clickhouse.rsp/@CMakeFiles\/libchdb.rsp/g') + +# Step 4: +# save the command to a file for debug +echo ${LIBCHDB_CMD} > libchdb_cmd.sh + +# Step 5: +${LIBCHDB_CMD} + +LIBCHDB_DIR=${BUILD_DIR}/ +LIBCHDB=${LIBCHDB_DIR}/${LIBCHDB_SO} +ls -lh ${LIBCHDB} + +# build chdb python module +cmake ${CMAKE_ARGS} -DENABLE_PYTHON=1 .. +ninja -d keeprsp || true # del the binary and run ninja -v again to capture the command, then modify it to generate CHDB_PY_MODULE /bin/rm -f ${BINARY} -cd ${BUILD_DIR} +cd ${BUILD_DIR} ninja -d keeprsp -v > build.log || true if [ ! -f CMakeFiles/clickhouse.rsp ]; then @@ -118,11 +225,9 @@ if [ ! -f CMakeFiles/clickhouse.rsp ]; then exit 1 fi -cp -a CMakeFiles/clickhouse.rsp CMakeFiles/libchdb.rsp cp -a CMakeFiles/clickhouse.rsp CMakeFiles/pychdb.rsp # extract the command to generate CHDB_PY_MODULE - PYCHDB_CMD=$(grep -m 1 'clang++.*-o programs/clickhouse .*' build.log \ | sed "s/-o programs\/clickhouse/-fPIC -Wl,-undefined,dynamic_lookup -shared ${PYINIT_ENTRY} -o ${CHDB_PY_MODULE}/" \ | sed 's/^[^&]*&& //' | sed 's/&&.*//' \ @@ -131,6 +236,7 @@ PYCHDB_CMD=$(grep -m 1 'clang++.*-o programs/clickhouse .*' build.log \ | sed 's/@CMakeFiles\/clickhouse.rsp/@CMakeFiles\/pychdb.rsp/g' \ ) + # inplace modify the CMakeFiles/pychdb.rsp ${SED_INPLACE} 's/-o programs\/clickhouse/-fPIC -Wl,-undefined,dynamic_lookup -shared ${PYINIT_ENTRY} -o ${CHDB_PY_MODULE}/' CMakeFiles/pychdb.rsp ${SED_INPLACE} 's/ -Wl,-undefined,error/ -Wl,-undefined,dynamic_lookup/g' CMakeFiles/pychdb.rsp @@ -151,55 +257,9 @@ echo ${PYCHDB_CMD} > pychdb_cmd.sh ${PYCHDB_CMD} +ls -lh ${CHDB_PY_MODULE} -# Generate libchdb.so linkage command: -# 1. Use ar to delete the LocalChdb.cpp.o from libclickhouse-local-lib.a -# `ar d programs/local/libclickhouse-local-lib.a LocalChdb.cpp.o` -# 2. Change the entry point from `PyInit_chdb` to `query_stable` -# `-Wl,-ePyInit_chdb` to `-Wl,-equery_stable` on Linux -# `-Wl,-exported_symbol,_PyInit_${CHDB_PY_MOD}` to -# `-Wl,-exported_symbol,_query_stable -Wl,-exported_symbol,_free_result` on Darwin -# 3. Change the output file name from `_chdb.cpython-xx-x86_64-linux-gnu.s` to `libchdb.so` -# `-o _chdb.cpython-39-x86_64-linux-gnu.so` to `-o libchdb.so` -# 4. Write the command to a file for debug -# 5. Run the command to generate libchdb.so - -# Step 1: -# Backup the libclickhouse-local-lib.a and restore it after ar d -LIBCHDB_SO="libchdb.so" -CLEAN_CHDB_A="libclickhouse-local-chdb.a" -cp -a ${BUILD_DIR}/programs/local/libclickhouse-local-lib.a ${BUILD_DIR}/programs/local/libclickhouse-local-lib.a.bak -${AR} d ${BUILD_DIR}/programs/local/libclickhouse-local-lib.a LocalChdb.cpp.o -mv ${BUILD_DIR}/programs/local/libclickhouse-local-lib.a ${BUILD_DIR}/programs/local/${CLEAN_CHDB_A} -mv ${BUILD_DIR}/programs/local/libclickhouse-local-lib.a.bak ${BUILD_DIR}/programs/local/libclickhouse-local-lib.a -ls -l ${BUILD_DIR}/programs/local/ - -# Step 2, 3: -# generate the command to generate libchdb.so -LIBCHDB_CMD=$(echo ${PYCHDB_CMD} | sed 's/libclickhouse-local-lib.a/'${CLEAN_CHDB_A}'/g') -LIBCHDB_CMD=$(echo ${LIBCHDB_CMD} | sed 's/ '${CHDB_PY_MODULE}'/ '${LIBCHDB_SO}'/g') -${SED_INPLACE} 's/libclickhouse-local-lib.a/'${CLEAN_CHDB_A}'/g' CMakeFiles/libchdb.rsp -${SED_INPLACE} 's/ '${CHDB_PY_MODULE}'/ '${LIBCHDB_SO}'/g' CMakeFiles/libchdb.rsp - -if [ "$(uname)" == "Linux" ]; then - LIBCHDB_CMD=$(echo ${LIBCHDB_CMD} | sed 's/ '${PYINIT_ENTRY}'/ /g') - ${SED_INPLACE} 's/ '${PYINIT_ENTRY}'/ /g' CMakeFiles/libchdb.rsp -fi - -if [ "$(uname)" == "Darwin" ]; then - LIBCHDB_CMD=$(echo ${LIBCHDB_CMD} | sed 's/ '${PYINIT_ENTRY}'/ -Wl,-exported_symbol,_query_stable -Wl,-exported_symbol,_free_result -Wl,-exported_symbol,_query_stable_v2 -Wl,-exported_symbol,_free_result_v2/g') - ${SED_INPLACE} 's/ '${PYINIT_ENTRY}'/ -Wl,-exported_symbol,_query_stable -Wl,-exported_symbol,_free_result -Wl,-exported_symbol,_query_stable_v2 -Wl,-exported_symbol,_free_result_v2/g' CMakeFiles/libchdb.rsp -fi - -LIBCHDB_CMD=$(echo ${LIBCHDB_CMD} | sed 's/@CMakeFiles\/clickhouse.rsp/@CMakeFiles\/libchdb.rsp/g') - -# Step 4: -# save the command to a file for debug -echo ${LIBCHDB_CMD} > libchdb_cmd.sh - -# Step 5: -${LIBCHDB_CMD} - +## check all the so files LIBCHDB_DIR=${BUILD_DIR}/ PYCHDB=${LIBCHDB_DIR}/${CHDB_PY_MODULE} @@ -225,7 +285,7 @@ echo -e "\nSymbols:" echo -e "\nPyInit in PYCHDB: ${PYCHDB}" ${NM} ${PYCHDB} | grep PyInit || true echo -e "\nPyInit in LIBCHDB: ${LIBCHDB}" -${NM} ${LIBCHDB} | grep PyInit || true +${NM} ${LIBCHDB} | grep PyInit || echo "PyInit not found in ${LIBCHDB}, it's OK" echo -e "\nquery_stable in PYCHDB: ${PYCHDB}" ${NM} ${PYCHDB} | grep query_stable || true echo -e "\nquery_stable in LIBCHDB: ${LIBCHDB}" @@ -233,7 +293,7 @@ ${NM} ${LIBCHDB} | grep query_stable || true echo -e "\nAfter copy:" cd ${PROJ_DIR} && pwd -ls -lh ${PROJ_DIR} +# ls -lh ${PROJ_DIR} # strip the binary (no debug info at all) # strip ${CHDB_DIR}/${CHDB_PY_MODULE} || true From 3b5afee9773e00a97caea28f3a61066a1b73ff40 Mon Sep 17 00:00:00 2001 From: auxten Date: Tue, 18 Jun 2024 13:07:11 +0800 Subject: [PATCH 03/21] Fix logical error of error_msg_ --- programs/local/LocalServer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/programs/local/LocalServer.cpp b/programs/local/LocalServer.cpp index e38d81f8f57..736a7a5f801 100644 --- a/programs/local/LocalServer.cpp +++ b/programs/local/LocalServer.cpp @@ -1087,7 +1087,7 @@ std::unique_ptr pyEntryClickHouseLocal(int argc, char ** argv) local_result * query_stable(int argc, char ** argv) { auto result = pyEntryClickHouseLocal(argc, argv); - if (result->error_msg_.empty() || result->buf_ == nullptr) + if (!result->error_msg_.empty() || result->buf_ == nullptr) { return nullptr; } From 8b85adb1b191364d9be6bec68d3158c356983ae3 Mon Sep 17 00:00:00 2001 From: auxten Date: Tue, 18 Jun 2024 13:08:16 +0800 Subject: [PATCH 04/21] Fix GIL --- src/TableFunctions/TableFunctionPython.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/TableFunctions/TableFunctionPython.cpp b/src/TableFunctions/TableFunctionPython.cpp index 6c592f686ab..70c417a2d3b 100644 --- a/src/TableFunctions/TableFunctionPython.cpp +++ b/src/TableFunctions/TableFunctionPython.cpp @@ -1,3 +1,7 @@ +#include +#include + +#if USE_PYTHON #include #include #include @@ -5,7 +9,6 @@ #include #include #include -#include #include #include #include @@ -111,14 +114,19 @@ StoragePtr TableFunctionPython::executeImpl( auto columns = getActualTableStructure(context, is_insert_query); - auto storage - = std::make_shared(StorageID(getDatabaseName(), table_name), columns, ConstraintsDescription{}, reader, context); + std::shared_ptr storage; + { + py::gil_scoped_acquire acquire; + storage = std::make_shared( + StorageID(getDatabaseName(), table_name), columns, ConstraintsDescription{}, reader, context); + } storage->startup(); return storage; } ColumnsDescription TableFunctionPython::getActualTableStructure(ContextPtr /*context*/, bool /*is_insert_query*/) const { + py::gil_scoped_acquire acquire; return StoragePython::getTableStructureFromData(reader); } @@ -137,3 +145,4 @@ This table function requires a single argument which is a PyReader object used t } } +#endif From 759d735f478e4a1647376e5c1a42f6c425e4552d Mon Sep 17 00:00:00 2001 From: auxten Date: Tue, 18 Jun 2024 13:09:52 +0800 Subject: [PATCH 05/21] Patch printExceptionWithRespectToAbort --- .../MergeTree/MergeTreeBackgroundExecutor.cpp | 45 ++++++++++--------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/src/Storages/MergeTree/MergeTreeBackgroundExecutor.cpp b/src/Storages/MergeTree/MergeTreeBackgroundExecutor.cpp index a8db61e121c..c78788d921a 100644 --- a/src/Storages/MergeTree/MergeTreeBackgroundExecutor.cpp +++ b/src/Storages/MergeTree/MergeTreeBackgroundExecutor.cpp @@ -151,28 +151,29 @@ void printExceptionWithRespectToAbort(LoggerPtr log, const String & query_id) if (ex == nullptr) return; - try - { - std::rethrow_exception(ex); - } - catch (const Exception & e) - { - NOEXCEPT_SCOPE({ - ALLOW_ALLOCATIONS_IN_SCOPE; - /// Cancelled merging parts is not an error - log normally. - if (e.code() == ErrorCodes::ABORTED) - LOG_DEBUG(log, getExceptionMessageAndPattern(e, /* with_stacktrace */ false)); - else - tryLogCurrentException(log, "Exception while executing background task {" + query_id + "}"); - }); - } - catch (...) - { - NOEXCEPT_SCOPE({ - ALLOW_ALLOCATIONS_IN_SCOPE; - tryLogCurrentException(log, "Exception while executing background task {" + query_id + "}"); - }); - } + tryLogCurrentException(log, "Exception while executing background task {" + query_id + "}"); + // try + // { + // std::rethrow_exception(ex); + // } + // catch (Exception & e) + // { + // NOEXCEPT_SCOPE({ + // ALLOW_ALLOCATIONS_IN_SCOPE; + // /// Cancelled merging parts is not an error - log normally. + // if (e.code() == ErrorCodes::ABORTED) + // LOG_DEBUG(log, getExceptionMessageAndPattern(e, /* with_stacktrace */ false)); + // else + // tryLogCurrentException(log, "Exception while executing background task {" + query_id + "}"); + // }); + // } + // catch (...) + // { + // NOEXCEPT_SCOPE({ + // ALLOW_ALLOCATIONS_IN_SCOPE; + // tryLogCurrentException(log, "Exception while executing background task {" + query_id + "}"); + // }); + // } } template From 7e3dac22845bbbe6cc0dd65e48b5b7535153a746 Mon Sep 17 00:00:00 2001 From: auxten Date: Tue, 18 Jun 2024 13:10:59 +0800 Subject: [PATCH 06/21] Hello duck, cobra is comming --- tests/pd_zerocopy.ipynb | 1683 ++++++++++++++++++++------------------- 1 file changed, 873 insertions(+), 810 deletions(-) diff --git a/tests/pd_zerocopy.ipynb b/tests/pd_zerocopy.ipynb index 64317a603ba..2db1b28e71a 100644 --- a/tests/pd_zerocopy.ipynb +++ b/tests/pd_zerocopy.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 11, + "execution_count": 17, "metadata": {}, "outputs": [ { @@ -57,7 +57,7 @@ " OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n", " OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n", "Location: /usr/local/lib/python3.9/dist-packages\n", - "Requires: numpy, tzdata, python-dateutil, pytz\n", + "Requires: numpy, pytz, python-dateutil, tzdata\n", "Required-by: fastparquet\n", "Name: chdb\n", "Version: 1.3.0\n", @@ -80,7 +80,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -89,10 +89,10 @@ "text": [ "chdb version: \"24.5.1.1\"\n", "\n", - "Read parquet file into memory. Time cost: 0.11896681785583496 s\n", - "Parquet file size: 122446530 bytes\n", - "Read parquet file as old pandas dataframe. Time cost: 1.0613305568695068 s\n", - "Dataframe(numpy) size: 470000128 bytes\n" + "Read parquet file into memory. Time cost: 0.678027868270874 s\n", + "Parquet file size: 1395695970 bytes\n", + "Read parquet file as old pandas dataframe. Time cost: 9.138452053070068 s\n", + "Dataframe(numpy) size: 4700000128 bytes\n" ] } ], @@ -122,7 +122,7 @@ "# os.path.join(current_dir, \"hits_0.parquet\"))\n", "\n", "# 122MB parquet file\n", - "hits_0 = os.path.join(\"./\", \"hits_0.parquet\")\n", + "# hits_0 = os.path.join(\"./\", \"hits_0.parquet\")\n", "\n", "# 14GB parquet file\n", "# hits_0 = os.path.join(current_dir, \"hits.parquet\")\n", @@ -134,7 +134,7 @@ "# hits_0 = os.path.join(\"./\", \"hits_30m.parquet\")\n", "\n", "# 1.3G parquet file\n", - "# hits_0 = os.path.join(\"./\", \"hits1.parquet\")\n", + "hits_0 = os.path.join(\"./\", \"hits1.parquet\")\n", "\n", "sql = \"\"\"SELECT RegionID, SUM(AdvEngineID), COUNT(*) AS c, AVG(ResolutionWidth), COUNT(DISTINCT UserID)\n", " FROM __table__ GROUP BY RegionID ORDER BY c DESC LIMIT 10\"\"\"\n", @@ -157,34 +157,34 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "0 1373834327\n", - "1 1373913230\n", - "2 1373914595\n", - "3 1373914712\n", - "4 1373833834\n", - "5 1373841641\n", - "6 1373916373\n", - "7 1373917016\n", - "8 1373912311\n", - "9 1373851126\n", + "0 1373850796\n", + "1 1373894390\n", + "2 1373894393\n", + "3 1373894395\n", + "4 1373894426\n", + "5 1373894428\n", + "6 1373894431\n", + "7 1373839520\n", + "8 1373839671\n", + "9 1373839673\n", "Name: EventTime, dtype: int64\n", - "0 2013-07-14 20:38:47\n", - "1 2013-07-15 18:33:50\n", - "2 2013-07-15 18:56:35\n", - "3 2013-07-15 18:58:32\n", - "4 2013-07-14 20:30:34\n", - "5 2013-07-14 22:40:41\n", - "6 2013-07-15 19:26:13\n", - "7 2013-07-15 19:36:56\n", - "8 2013-07-15 18:18:31\n", - "9 2013-07-15 01:18:46\n", + "0 2013-07-15 01:13:16\n", + "1 2013-07-15 13:19:50\n", + "2 2013-07-15 13:19:53\n", + "3 2013-07-15 13:19:55\n", + "4 2013-07-15 13:20:26\n", + "5 2013-07-15 13:20:28\n", + "6 2013-07-15 13:20:31\n", + "7 2013-07-14 22:05:20\n", + "8 2013-07-14 22:07:51\n", + "9 2013-07-14 22:07:53\n", "Name: EventTime, dtype: datetime64[ns]\n", "0 2013-07-15\n", "1 2013-07-15\n", @@ -216,7 +216,7 @@ "Length: 105, dtype: object" ] }, - "execution_count": 13, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -244,14 +244,14 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Convert old dataframe to numpy array. Time cost: 0.00010228157043457031 s\n" + "Convert old dataframe to numpy array. Time cost: 9.489059448242188e-05 s\n" ] } ], @@ -265,7 +265,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 21, "metadata": {}, "outputs": [], "source": [ @@ -290,7 +290,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 22, "metadata": {}, "outputs": [], "source": [ @@ -343,7 +343,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 23, "metadata": {}, "outputs": [], "source": [ @@ -384,7 +384,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 24, "metadata": {}, "outputs": [ { @@ -392,955 +392,1018 @@ "output_type": "stream", "text": [ "Q0: SELECT COUNT(*) FROM hits;\n", - "DuckDB time: 0.02006673812866211\n", + "DuckDB time: 0.07777047157287598\n", "DuckDB return:\n", " count_star()\n", - "0 1000000\n", - "chDB time: 0.05130720138549805\n", + "0 10000000\n", + "chDB time: 0.05759000778198242\n", "chDB return:\n", - " 1000000\n", + " 10000000\n", "\n", "Q1: SELECT COUNT(*) FROM hits WHERE AdvEngineID <> 0;\n", - "DuckDB time: 0.020752906799316406\n", + "DuckDB time: 0.02886795997619629\n", "DuckDB return:\n", " count_star()\n", - "0 14174\n", - "chDB time: 0.05202603340148926\n", + "0 257266\n", + "chDB time: 0.06290864944458008\n", "chDB return:\n", - " 14174\n", + " 257266\n", "\n", "Q2: SELECT SUM(AdvEngineID), COUNT(*), AVG(ResolutionWidth) FROM hits;\n", - "DuckDB time: 0.020592212677001953\n", + "DuckDB time: 0.029155969619750977\n", "DuckDB return:\n", " sum(AdvEngineID) count_star() avg(ResolutionWidth)\n", - "0 80778.0 1000000 1604.08959\n", - "chDB time: 0.1231832504272461\n", + "0 5276263.0 10000000 1506.781497\n", + "chDB time: 0.07090616226196289\n", "chDB return:\n", - " 80778,1000000,1604.08959\n", + " 5276263,10000000,1506.7814968\n", "\n", "Q3: SELECT AVG(UserID) FROM hits;\n", - "DuckDB time: 0.02009868621826172\n", + "DuckDB time: 0.025173425674438477\n", "DuckDB return:\n", " avg(UserID)\n", - "0 1.948195e+18\n", - "chDB time: 0.0338442325592041\n", + "0 2.302915e+18\n", + "chDB time: 0.04276871681213379\n", "chDB return:\n", - " -2657217693603.6587\n", + " -152254684228.51132\n", "\n", "Q4: SELECT COUNT(DISTINCT UserID) FROM hits;\n", - "DuckDB time: 0.024295568466186523\n", + "DuckDB time: 0.0659487247467041\n", "DuckDB return:\n", " count(DISTINCT UserID)\n", - "0 79842\n", - "chDB time: 0.18101954460144043\n", + "0 1620177\n", + "chDB time: 0.9035818576812744\n", "chDB return:\n", - " 79842\n", + " 1620177\n", "\n", "Q5: SELECT COUNT(DISTINCT SearchPhrase) FROM hits;\n", - "DuckDB time: 0.028382062911987305\n", + "DuckDB time: 0.11459136009216309\n", "DuckDB return:\n", " count(DISTINCT SearchPhrase)\n", - "0 18316\n", - "chDB time: 0.20735573768615723\n", + "0 873731\n", + "chDB time: 0.9623382091522217\n", "chDB return:\n", - " 18316\n", + " 873731\n", "\n", "Q6: SELECT MIN(EventDate), MAX(EventDate) FROM hits;\n", - "DuckDB time: 0.02124953269958496\n", + "DuckDB time: 0.02874898910522461\n", "DuckDB return:\n", " min(EventDate) max(EventDate)\n", - "0 2013-07-15 2013-07-15\n", - "chDB time: 0.03199505805969238\n", + "0 2013-07-02 2013-07-31\n", + "chDB time: 0.0480191707611084\n", "chDB return:\n", - " \"2013-07-15 08:00:00.000000000\",\"2013-07-15 08:00:00.000000000\"\n", + " \"2013-07-02 08:00:00.000000000\",\"2013-07-31 08:00:00.000000000\"\n", "\n", "Q7: SELECT AdvEngineID, COUNT(*) FROM hits WHERE AdvEngineID <> 0 GROUP BY AdvEngineID ORDER BY COUNT(*) DESC;\n", - "DuckDB time: 0.0226290225982666\n", + "DuckDB time: 0.03986406326293945\n", "DuckDB return:\n", " AdvEngineID count_star()\n", - "0 2 9543\n", - "1 13 4592\n", - "2 52 34\n", - "3 50 4\n", - "4 28 1\n", - "chDB time: 0.08112359046936035\n", + "0 27 107474\n", + "1 2 94688\n", + "2 45 38390\n", + "3 13 8763\n", + "4 44 7479\n", + "5 25 341\n", + "6 50 80\n", + "7 52 34\n", + "8 3 9\n", + "9 28 8\n", + "chDB time: 0.08435893058776855\n", "chDB return:\n", - " 2,9543\n", - "13,4592\n", + " 27,107474\n", + "2,94688\n", + "45,38390\n", + "13,8763\n", + "44,7479\n", + "25,341\n", + "50,80\n", "52,34\n", - "50,4\n", - "28,1\n", + "3,9\n", + "28,8\n", "\n", "Q8: SELECT RegionID, COUNT(DISTINCT UserID) AS u FROM hits GROUP BY RegionID ORDER BY u DESC LIMIT 10;\n", - "DuckDB time: 0.026440143585205078\n", + "DuckDB time: 0.07791328430175781\n", "DuckDB return:\n", - " RegionID u\n", - "0 229 27961\n", - "1 2 10413\n", - "2 208 3073\n", - "3 1 1720\n", - "4 34 1428\n", - "5 158 1110\n", - "6 184 987\n", - "7 107 966\n", - "8 42 956\n", - "9 47 943\n", - "chDB time: 0.06853556632995605\n", + " RegionID u\n", + "0 229 289257\n", + "1 2 114971\n", + "2 208 77428\n", + "3 158 41988\n", + "4 169 37128\n", + "5 34 33622\n", + "6 55 28894\n", + "7 107 26996\n", + "8 42 26944\n", + "9 32 26577\n", + "chDB time: 0.09902119636535645\n", "chDB return:\n", - " 229,27961\n", - "2,10413\n", - "208,3073\n", - "1,1720\n", - "34,1428\n", - "158,1110\n", - "184,987\n", - "107,966\n", - "42,956\n", - "47,943\n", + " 229,289257\n", + "2,114971\n", + "208,77428\n", + "158,41988\n", + "169,37128\n", + "34,33622\n", + "55,28894\n", + "107,26996\n", + "42,26944\n", + "32,26577\n", "\n", "Q9: SELECT RegionID, SUM(AdvEngineID), COUNT(*) AS c, AVG(ResolutionWidth), COUNT(DISTINCT UserID) FROM hits GROUP BY RegionID ORDER BY c DESC LIMIT 10;\n", - "DuckDB time: 0.0321049690246582\n", + "DuckDB time: 0.10361504554748535\n", "DuckDB return:\n", - " RegionID sum(AdvEngineID) c avg(ResolutionWidth) \\\n", - "0 229 38044.0 426435 1612.787187 \n", - "1 2 12801.0 148193 1593.870891 \n", - "2 208 2673.0 30614 1490.615111 \n", - "3 1 1802.0 28577 1623.851699 \n", - "4 34 508.0 14329 1592.897201 \n", - "5 47 1041.0 13661 1637.851914 \n", - "6 158 78.0 13294 1576.340605 \n", - "7 7 1166.0 11679 1627.319034 \n", - "8 42 642.0 11547 1625.601022 \n", - "9 184 30.0 10157 1614.693807 \n", + " RegionID sum(AdvEngineID) c avg(ResolutionWidth) \\\n", + "0 229 1626324.0 2031299 1553.786671 \n", + "1 2 313589.0 877397 1423.540215 \n", + "2 208 193458.0 468731 1357.893244 \n", + "3 32 53121.0 357921 1545.596458 \n", + "4 42 83542.0 206186 1586.465808 \n", + "5 55 74805.0 194788 1420.300629 \n", + "6 158 25099.0 182178 947.637969 \n", + "7 34 95038.0 175820 1568.273206 \n", + "8 226 47675.0 145891 1586.239096 \n", + "9 36 53042.0 141420 1588.640758 \n", "\n", " count(DISTINCT UserID) \n", - "0 27961 \n", - "1 10413 \n", - "2 3073 \n", - "3 1720 \n", - "4 1428 \n", - "5 943 \n", - "6 1110 \n", - "7 647 \n", - "8 956 \n", - "9 987 \n", - "chDB time: 0.09083056449890137\n", + "0 289257 \n", + "1 114971 \n", + "2 77428 \n", + "3 26577 \n", + "4 26944 \n", + "5 28894 \n", + "6 41988 \n", + "7 33622 \n", + "8 17202 \n", + "9 20111 \n", + "chDB time: 0.15590882301330566\n", "chDB return:\n", - " 229,38044,426435,1612.7871867928288,27961\n", - "2,12801,148193,1593.8708913376474,10413\n", - "208,2673,30614,1490.6151107336514,3073\n", - "1,1802,28577,1623.8516989187108,1720\n", - "34,508,14329,1592.897201479517,1428\n", - "47,1041,13661,1637.8519142083303,943\n", - "158,78,13294,1576.340604784113,1110\n", - "7,1166,11679,1627.319034163884,647\n", - "42,642,11547,1625.601021910453,956\n", - "184,30,10157,1614.6938072265432,987\n", + " 229,1626324,2031299,1553.7866714846018,289257\n", + "2,313589,877397,1423.5402149768006,114971\n", + "208,193458,468731,1357.8932436728103,77428\n", + "32,53121,357921,1545.596458436359,26577\n", + "42,83542,206186,1586.4658075718041,26944\n", + "55,74805,194788,1420.3006294022218,28894\n", + "158,25099,182178,947.6379694584417,41988\n", + "34,95038,175820,1568.273205551132,33622\n", + "226,47675,145891,1586.23909631163,17202\n", + "36,53042,141420,1588.640758025739,20111\n", "\n", "Q10: SELECT MobilePhoneModel, COUNT(DISTINCT UserID) AS u FROM hits WHERE MobilePhoneModel <> '' GROUP BY MobilePhoneModel ORDER BY u DESC LIMIT 10;\n", - "DuckDB time: 0.02652287483215332\n", + "DuckDB time: 0.06121540069580078\n", "DuckDB return:\n", - " MobilePhoneModel u\n", - "0 iPad 2303\n", - "1 iPhone 107\n", - "2 A500 34\n", - "3 GT-P7300B 12\n", - "4 N8-00 12\n", - "5 iPho 11\n", - "6 3110000 6\n", - "7 IQ245Plus 5\n", - "8 eagle75 4\n", - "9 GT-S5830 3\n", - "chDB time: 0.050434112548828125\n", + " MobilePhoneModel u\n", + "0 iPad 80774\n", + "1 iPhone 3568\n", + "2 A500 1396\n", + "3 N8-00 446\n", + "4 ONE TOUCH 6030A 273\n", + "5 iPho 196\n", + "6 3110000 144\n", + "7 GT-P7300B 139\n", + "8 eagle75 131\n", + "9 GT-I9500 131\n", + "chDB time: 0.10765838623046875\n", "chDB return:\n", - " \"iPad\",2303\n", - "\"iPhone\",107\n", - "\"A500\",34\n", - "\"N8-00\",12\n", - "\"GT-P7300B\",12\n", - "\"iPho\",11\n", - "\"3110000\",6\n", - "\"IQ245Plus\",5\n", - "\"eagle75\",4\n", - "\"GT-S5830\",3\n", + " \"iPad\",80774\n", + "\"iPhone\",3568\n", + "\"A500\",1396\n", + "\"N8-00\",446\n", + "\"ONE TOUCH 6030A\",273\n", + "\"iPho\",196\n", + "\"3110000\",144\n", + "\"GT-P7300B\",139\n", + "\"eagle75\",131\n", + "\"GT-I9500\",131\n", "\n", "Q11: SELECT MobilePhone, MobilePhoneModel, COUNT(DISTINCT UserID) AS u FROM hits WHERE MobilePhoneModel <> '' GROUP BY MobilePhone, MobilePhoneModel ORDER BY u DESC LIMIT 10;\n", - "DuckDB time: 0.025651216506958008\n", + "DuckDB time: 0.05602526664733887\n", "DuckDB return:\n", - " MobilePhone MobilePhoneModel u\n", - "0 1 iPad 1967\n", - "1 5 iPad 97\n", - "2 7 iPad 79\n", - "3 6 iPad 55\n", - "4 6 iPhone 37\n", - "5 26 iPhone 36\n", - "6 118 A500 34\n", - "7 32 iPad 29\n", - "8 60 iPad 22\n", - "9 13 iPad 12\n", - "chDB time: 0.04714393615722656\n", + " MobilePhone MobilePhoneModel u\n", + "0 1 iPad 68519\n", + "1 5 iPad 3788\n", + "2 6 iPad 2210\n", + "3 7 iPad 1980\n", + "4 118 A500 1394\n", + "5 26 iPhone 1058\n", + "6 6 iPhone 1039\n", + "7 10 iPad 965\n", + "8 13 iPad 770\n", + "9 32 iPad 746\n", + "chDB time: 0.0737466812133789\n", "chDB return:\n", - " 1,\"iPad\",1967\n", - "5,\"iPad\",97\n", - "7,\"iPad\",79\n", - "6,\"iPad\",55\n", - "6,\"iPhone\",37\n", - "26,\"iPhone\",36\n", - "118,\"A500\",34\n", - "32,\"iPad\",29\n", - "60,\"iPad\",22\n", - "6,\"GT-P7300B\",12\n", + " 1,\"iPad\",68519\n", + "5,\"iPad\",3788\n", + "6,\"iPad\",2210\n", + "7,\"iPad\",1980\n", + "118,\"A500\",1394\n", + "26,\"iPhone\",1058\n", + "6,\"iPhone\",1039\n", + "10,\"iPad\",965\n", + "13,\"iPad\",770\n", + "32,\"iPad\",746\n", "\n", "Q12: SELECT SearchPhrase, COUNT(*) AS c FROM hits WHERE SearchPhrase <> '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;\n", - "DuckDB time: 0.03566694259643555\n", + "DuckDB time: 0.13115954399108887\n", "DuckDB return:\n", - " SearchPhrase c\n", - "0 ведомосквы вместу 4943\n", - "1 ведомосквы вы из 2471\n", - "2 ведомосквиталия страции 2026\n", - "3 ведомосковский 1686\n", - "4 покеты рецепт засня 961\n", - "5 рецепты сбербан 788\n", - "6 авторий 705\n", - "7 ведомосква 446\n", - "8 ведомосквы новые водительная болгарин 411\n", - "9 инстанец жизнь 391\n", - "chDB time: 0.13489174842834473\n", + " SearchPhrase c\n", + "0 ведомосквы вместу 4947\n", + "1 смотреть онлайн бесплатно 3338\n", + "2 смотреть онлайн 2553\n", + "3 ведомосквы вы из 2473\n", + "4 ведомосквиталия страции 2032\n", + "5 ведомосковский 1686\n", + "6 люкс 20 иномаровск 1559\n", + "7 отдых в кино 1272\n", + "8 тачки рецепт собстве 1248\n", + "9 рецепты сбербан 1244\n", + "chDB time: 0.27239203453063965\n", "chDB return:\n", - " \"ведомосквы вместу\",4943\n", - "\"ведомосквы вы из\",2471\n", - "\"ведомосквиталия страции\",2026\n", + " \"ведомосквы вместу\",4947\n", + "\"смотреть онлайн бесплатно\",3338\n", + "\"смотреть онлайн\",2553\n", + "\"ведомосквы вы из\",2473\n", + "\"ведомосквиталия страции\",2032\n", "\"ведомосковский\",1686\n", - "\"покеты рецепт засня\",961\n", - "\"рецепты сбербан\",788\n", - "\"авторий\",705\n", - "\"ведомосква\",446\n", - "\"ведомосквы новые водительная болгарин\",411\n", - "\"инстанец жизнь\",391\n", + "\"люкс 20 иномаровск\",1559\n", + "\"отдых в кино\",1272\n", + "\"тачки рецепт собстве\",1248\n", + "\"рецепты сбербан\",1244\n", "\n", "Q13: SELECT SearchPhrase, COUNT(DISTINCT UserID) AS u FROM hits WHERE SearchPhrase <> '' GROUP BY SearchPhrase ORDER BY u DESC LIMIT 10;\n", - "DuckDB time: 0.03430628776550293\n", + "DuckDB time: 0.22027063369750977\n", "DuckDB return:\n", - " SearchPhrase u\n", - "0 ведомосквы вместу 1381\n", - "1 ведомосквы вы из 678\n", - "2 ведомосквиталия страции 658\n", - "3 рецепты сбербан 594\n", - "4 ведомосковский 407\n", - "5 инстанец жизнь 292\n", - "6 покеты рецепт засня 281\n", - "7 авторий 196\n", - "8 рецепт блиноленские 135\n", - "9 ведомосква 129\n", - "chDB time: 0.0527493953704834\n", + " SearchPhrase u\n", + "0 смотреть онлайн бесплатно 2717\n", + "1 смотреть онлайн 2085\n", + "2 ведомосквы вместу 1385\n", + "3 люкс 20 иномаровск 1190\n", + "4 смотреть 1031\n", + "5 ебутсы арениксандройд полнечный 1007\n", + "6 ебутсы для 978\n", + "7 смотреть онлайн бесплатно в хорошем 953\n", + "8 рецепты сбербан 909\n", + "9 ф-1 894\n", + "chDB time: 0.14782333374023438\n", "chDB return:\n", - " \"ведомосквы вместу\",1381\n", - "\"ведомосквы вы из\",678\n", - "\"ведомосквиталия страции\",658\n", - "\"рецепты сбербан\",594\n", - "\"ведомосковский\",407\n", - "\"инстанец жизнь\",292\n", - "\"покеты рецепт засня\",281\n", - "\"авторий\",196\n", - "\"рецепт блиноленские\",135\n", - "\"ведомосква\",129\n", + " \"смотреть онлайн бесплатно\",2717\n", + "\"смотреть онлайн\",2085\n", + "\"ведомосквы вместу\",1385\n", + "\"люкс 20 иномаровск\",1190\n", + "\"смотреть\",1031\n", + "\"ебутсы арениксандройд полнечный\",1007\n", + "\"ебутсы для\",978\n", + "\"смотреть онлайн бесплатно в хорошем\",953\n", + "\"рецепты сбербан\",909\n", + "\"ф-1\",894\n", "\n", "Q14: SELECT SearchEngineID, SearchPhrase, COUNT(*) AS c FROM hits WHERE SearchPhrase <> '' GROUP BY SearchEngineID, SearchPhrase ORDER BY c DESC LIMIT 10;\n", - "DuckDB time: 0.03093099594116211\n", + "DuckDB time: 0.13857197761535645\n", "DuckDB return:\n", - " SearchEngineID SearchPhrase c\n", - "0 2 ведомосквы вместу 3478\n", - "1 2 ведомосквы вы из 1857\n", - "2 2 ведомосковский 1682\n", - "3 2 ведомосквиталия страции 1434\n", - "4 4 покеты рецепт засня 959\n", - "5 2 рецепты сбербан 737\n", - "6 3 ведомосквы вместу 660\n", - "7 2 авторий 576\n", - "8 3 ведомосквиталия страции 494\n", - "9 4 ведомосквы вместу 442\n", - "chDB time: 0.09096479415893555\n", + " SearchEngineID SearchPhrase c\n", + "0 2 ведомосквы вместу 3480\n", + "1 2 смотреть онлайн бесплатно 2194\n", + "2 2 ведомосквы вы из 1859\n", + "3 2 ведомосковский 1682\n", + "4 2 смотреть онлайн 1540\n", + "5 2 ведомосквиталия страции 1440\n", + "6 95 отдых в кино 1261\n", + "7 2 люкс 20 иномаровск 1257\n", + "8 2 рецепты сбербан 1172\n", + "9 4 покеты рецепт засня 959\n", + "chDB time: 0.13005828857421875\n", "chDB return:\n", - " 2,\"ведомосквы вместу\",3478\n", - "2,\"ведомосквы вы из\",1857\n", + " 2,\"ведомосквы вместу\",3480\n", + "2,\"смотреть онлайн бесплатно\",2194\n", + "2,\"ведомосквы вы из\",1859\n", "2,\"ведомосковский\",1682\n", - "2,\"ведомосквиталия страции\",1434\n", + "2,\"смотреть онлайн\",1540\n", + "2,\"ведомосквиталия страции\",1440\n", + "95,\"отдых в кино\",1261\n", + "2,\"люкс 20 иномаровск\",1257\n", + "2,\"рецепты сбербан\",1172\n", "4,\"покеты рецепт засня\",959\n", - "2,\"рецепты сбербан\",737\n", - "3,\"ведомосквы вместу\",660\n", - "2,\"авторий\",576\n", - "3,\"ведомосквиталия страции\",494\n", - "4,\"ведомосквы вместу\",442\n", "\n", "Q15: SELECT UserID, COUNT(*) FROM hits GROUP BY UserID ORDER BY COUNT(*) DESC LIMIT 10;\n", - "DuckDB time: 0.030875682830810547\n", + "DuckDB time: 0.07975387573242188\n", "DuckDB return:\n", " UserID count_star()\n", - "0 1508127196834704092 1303\n", - "1 3205616454965152970 949\n", - "2 502693359570399458 893\n", - "3 873022393995828557 876\n", - "4 2256536417172705921 695\n", - "5 340634745528635910 610\n", - "6 72709437341035504 560\n", - "7 5705194083846317709 532\n", - "8 1257144732630861346 524\n", - "9 4885305169967046117 516\n", - "chDB time: 0.08305644989013672\n", + "0 1313338681122956954 29097\n", + "1 1907779576417363396 16854\n", + "2 2305303682471783379 10588\n", + "3 6103038218306105832 2994\n", + "4 3631826469396741283 2828\n", + "5 6949028786848070043 2496\n", + "6 2035345969173555084 2261\n", + "7 517714522250745823 2119\n", + "8 6762020047108358913 2051\n", + "9 6718662516719813769 1678\n", + "chDB time: 0.09945416450500488\n", "chDB return:\n", - " 1508127196834704092,1303\n", - "3205616454965152970,949\n", - "502693359570399458,893\n", - "873022393995828557,876\n", - "2256536417172705921,695\n", - "340634745528635910,610\n", - "72709437341035504,560\n", - "5705194083846317709,532\n", - "1257144732630861346,524\n", - "4885305169967046117,516\n", + " 1313338681122956954,29097\n", + "1907779576417363396,16854\n", + "2305303682471783379,10588\n", + "6103038218306105832,2994\n", + "3631826469396741283,2828\n", + "6949028786848070043,2496\n", + "2035345969173555084,2261\n", + "517714522250745823,2119\n", + "6762020047108358913,2051\n", + "6718662516719813769,1678\n", "\n", "Q16: SELECT UserID, SearchPhrase, COUNT(*) FROM hits GROUP BY UserID, SearchPhrase ORDER BY COUNT(*) DESC LIMIT 10;\n", - "DuckDB time: 0.03510761260986328\n", + "DuckDB time: 0.18080544471740723\n", "DuckDB return:\n", " UserID SearchPhrase count_star()\n", - "0 1508127196834704092 1303\n", - "1 3205616454965152970 949\n", - "2 502693359570399458 893\n", - "3 873022393995828557 876\n", - "4 2256536417172705921 695\n", - "5 340634745528635910 610\n", - "6 72709437341035504 560\n", - "7 5705194083846317709 532\n", - "8 614605011960296602 506\n", - "9 775643969820522877 483\n", - "chDB time: 0.13529419898986816\n", + "0 1313338681122956954 29097\n", + "1 1907779576417363396 16854\n", + "2 2305303682471783379 10588\n", + "3 6103038218306105832 2994\n", + "4 3631826469396741283 2827\n", + "5 6949028786848070043 2496\n", + "6 2035345969173555084 2259\n", + "7 517714522250745823 2119\n", + "8 6762020047108358913 2051\n", + "9 6718662516719813769 1651\n", + "chDB time: 0.14970111846923828\n", "chDB return:\n", - " 1508127196834704092,\"\",1303\n", - "3205616454965152970,\"\",949\n", - "502693359570399458,\"\",893\n", - "873022393995828557,\"\",876\n", - "2256536417172705921,\"\",695\n", - "340634745528635910,\"\",610\n", - "72709437341035504,\"\",560\n", - "5705194083846317709,\"\",532\n", - "614605011960296602,\"\",506\n", - "775643969820522877,\"\",483\n", + " 1313338681122956954,\"\",29097\n", + "1907779576417363396,\"\",16854\n", + "2305303682471783379,\"\",10588\n", + "6103038218306105832,\"\",2994\n", + "3631826469396741283,\"\",2827\n", + "6949028786848070043,\"\",2496\n", + "2035345969173555084,\"\",2259\n", + "517714522250745823,\"\",2119\n", + "6762020047108358913,\"\",2051\n", + "6718662516719813769,\"\",1651\n", "\n", "Q17: SELECT UserID, SearchPhrase, COUNT(*) FROM hits GROUP BY UserID, SearchPhrase LIMIT 10;\n", - "DuckDB time: 0.09185099601745605\n", + "DuckDB time: 0.17791175842285156\n", "DuckDB return:\n", - " UserID SearchPhrase count_star()\n", - "0 2037318338597020673 туры винки кишечно 1\n", - "1 2037636367731256312 12\n", - "2 2038434327775825227 3\n", - "3 2038504356538744061 как ус 1\n", - "4 2039746550553970864 12\n", - "5 2039995569185580696 1\n", - "6 2043259180260423126 8\n", - "7 2043631339163757415 2\n", - "8 2043770489575957145 4\n", - "9 2043789938836355105 28\n", - "chDB time: 0.09195542335510254\n", + " UserID SearchPhrase count_star()\n", + "0 1463402577446031139 1\n", + "1 1463645073309644731 7\n", + "2 1464028360415679994 7\n", + "3 1464267813629432094 55\n", + "4 1464877531581836679 14\n", + "5 1464981320404879592 5\n", + "6 1465012354231554750 24\n", + "7 1465303532650011897 23\n", + "8 1465308171448736746 7\n", + "9 1465459849039714993 10\n", + "chDB time: 0.13241791725158691\n", "chDB return:\n", - " 2388192169494316071,\"\",6\n", - "7738450593295820,\"\",3\n", - "7449351605734371463,\"форсаж 4\",2\n", - "481103244298842003,\"\",4\n", - "574175265384639868,\"\",3\n", - "1776590871151830300,\"\",2\n", - "2247103077281338986,\"активный ли индейки\",2\n", - "2712254310947351133,\"\",4\n", - "1919911254444057169,\"тачки на андры с фото с рвотеля\",2\n", - "9051313899859506685,\"\",1\n", + " 119657425828985633,\"\",1\n", + "301536536637670246,\"люкс eob 33 сезон\",1\n", + "7510587892824469257,\"sia 265 сезон 6 серии\",1\n", + "1127993622760818270,\"\",8\n", + "7886295360881784146,\"самарестом гэтсби слушать скрыть фильмы смотреть\",1\n", + "-3492293928588132466,\"\",5\n", + "5931469991253193035,\"идет дар кончаруэль\",1\n", + "8745528086549144,\"\",1\n", + "2031525635095860448,\"кладышевске-на-дону отдам давление счет закончики рецепт\",1\n", + "676440968882228424,\"маша табло\",1\n", "\n", "Q18: SELECT UserID, extract(minute FROM EventTime) AS m, SearchPhrase, COUNT(*) FROM hits GROUP BY UserID, m, SearchPhrase ORDER BY COUNT(*) DESC LIMIT 10;\n", - "DuckDB time: 0.04413890838623047\n", + "DuckDB time: 0.2354447841644287\n", "DuckDB return:\n", " UserID m SearchPhrase count_star()\n", - "0 5216851095034646002 51 80\n", - "1 5216851095034646002 52 67\n", - "2 1074353211169645510 8 37\n", - "3 1220910554975721402 13 35\n", - "4 4673379180966332110 0 34\n", - "5 614605011960296602 18 34\n", - "6 1074353211169645510 19 34\n", - "7 1508127196834704092 9 33\n", - "8 502693359570399458 53 33\n", - "9 1074353211169645510 9 33\n", - "chDB time: 0.18082952499389648\n", + "0 1313338681122956954 31 589\n", + "1 1313338681122956954 28 578\n", + "2 1313338681122956954 29 572\n", + "3 1313338681122956954 33 567\n", + "4 1313338681122956954 27 557\n", + "5 1313338681122956954 32 554\n", + "6 1313338681122956954 30 552\n", + "7 1313338681122956954 34 546\n", + "8 1313338681122956954 26 540\n", + "9 1313338681122956954 10 539\n", + "chDB time: 0.18899750709533691\n", "chDB return:\n", - " 5216851095034646002,51,\"\",80\n", - "5216851095034646002,52,\"\",67\n", - "1074353211169645510,8,\"\",37\n", - "1220910554975721402,13,\"\",35\n", - "614605011960296602,18,\"\",34\n", - "4673379180966332110,0,\"\",34\n", - "1074353211169645510,19,\"\",34\n", - "1074353211169645510,9,\"\",33\n", - "502693359570399458,53,\"\",33\n", - "1508127196834704092,14,\"\",33\n", + " 1313338681122956954,31,\"\",589\n", + "1313338681122956954,28,\"\",578\n", + "1313338681122956954,29,\"\",572\n", + "1313338681122956954,33,\"\",567\n", + "1313338681122956954,27,\"\",557\n", + "1313338681122956954,32,\"\",554\n", + "1313338681122956954,30,\"\",552\n", + "1313338681122956954,34,\"\",546\n", + "1313338681122956954,26,\"\",540\n", + "1313338681122956954,10,\"\",539\n", "\n", "Q19: SELECT UserID FROM hits WHERE UserID = 435090932899640449;\n", - "DuckDB time: 0.022508859634399414\n", + "DuckDB time: 0.039017677307128906\n", "DuckDB return:\n", " Empty DataFrame\n", "Columns: [UserID]\n", "Index: []\n", - "chDB time: 0.04027700424194336\n", + "chDB time: 0.056397199630737305\n", "chDB return:\n", " \n", "Q20: SELECT COUNT(*) FROM hits WHERE URL LIKE '%google%';\n", - "DuckDB time: 0.04183483123779297\n", + "DuckDB time: 0.1074972152709961\n", "DuckDB return:\n", " count_star()\n", - "0 95\n", - "chDB time: 0.05933380126953125\n", + "0 621\n", + "chDB time: 0.14336705207824707\n", "chDB return:\n", - " 95\n", + " 621\n", "\n", "Q21: SELECT SearchPhrase, MIN(URL), COUNT(*) AS c FROM hits WHERE URL LIKE '%google%' AND SearchPhrase <> '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;\n", - "DuckDB time: 0.04544711112976074\n", + "DuckDB time: 0.1375424861907959\n", "DuckDB return:\n", - " SearchPhrase \\\n", - "0 один инструктура птахани нюши смотреть краси \n", + " SearchPhrase \\\n", + "0 зачать онлайн бесплатно \n", + "1 ани пух ходу \n", + "2 один инструктура птахани нюши смотреть краси \n", + "3 как миксетин инструкция общая \n", + "4 комбактерина кабачки в крополь интерном сад тю... \n", + "5 строитель верси джейкоциты вычета \n", + "6 турбо мультратить в установка \n", + "7 пансии \n", + "8 стоянного телефонны для семейн \n", + "9 онкой областинны кристрии медведь \n", "\n", " min(URL) c \n", - "0 http://bdsm_position/2624217,2013-07-01:2013/f... 2 \n", - "chDB time: 0.04946756362915039\n", + "0 http://tienskaia-moda-brietielkakh-2%2F%2Fwww.... 2 \n", + "1 http://interinburg/detail.google,yandex.aspx#l... 2 \n", + "2 http://bdsm_position/2624217,2013-07-01:2013/f... 2 \n", + "3 http://samara.irr.ru/catalog_googleMBR%26ad%3D... 2 \n", + "4 http://samara.irr.ru/catalog_googleTBR%26ad%3D... 2 \n", + "5 http://ru.tv/smsarhiv/num-9/nf-3/csrf-39818/go... 2 \n", + "6 http://wildberries.ru/cgi-bin/novosibirsk/deta... 1 \n", + "7 http://samara.irr.ru/catalog_googleMBR%26ad%3D... 1 \n", + "8 http://tienskaia-moda-brietielkakh%2F&sr=http:... 1 \n", + "9 http://teratorage.aspx?naId=8664210990/guests/... 1 \n", + "chDB time: 0.15042972564697266\n", "chDB return:\n", - " \"один инструктура птахани нюши смотреть краси\",\"http://bdsm_position/2624217,2013-07-01:2013/frl-4/transport.ru/google%2F\",2\n", + " \"ани пух ходу\",\"http://interinburg/detail.google,yandex.aspx#location=products\",2\n", + "\"комбактерина кабачки в крополь интерном сад тюмень\",\"http://samara.irr.ru/catalog_googleTBR%26ad%3D278885%26bt%3D430001216\",2\n", + "\"зачать онлайн бесплатно\",\"http://tienskaia-moda-brietielkakh-2%2F%2Fwww.google-poyasnuha-petersburg/detail.aspx?sort=newly&trafkey\",2\n", + "\"строитель верси джейкоциты вычета\",\"http://ru.tv/smsarhiv/num-9/nf-3/csrf-39818/googleBR\",2\n", + "\"как миксетин инструкция общая\",\"http://samara.irr.ru/catalog_googleMBR%26ad%3D90%26pz\",2\n", + "\"один инструктура птахани нюши смотреть краси\",\"http://bdsm_position/2624217,2013-07-01:2013/frl-4/transport.ru/google%2F\",2\n", + "\"монить какое озера\",\"http://auto.ria.ua/auto_id=0&order=False&minprix.ru/kategoriya/vsie-dlia-drugoe/materinstvo/google-polis1434452\",1\n", + "\"рецепты из стереса нижнекамск не подъемники эрика\",\"http://bdsm_position-kuzbass.acs.google.ru/product_prigovskaya\",1\n", + "\"банкоматериалы смотреть\",\"http://orenburg.irr.ru%2Fkurtki%2F%2Fwww.google.ru/mazda-3-komn-kv-Kazan.tututorsk/detail\",1\n", + "\"скачать денег сургут\",\"http://tienskaia-moda-brietielka-koskovsk/detail.google\",1\n", "\n", "Q22: SELECT SearchPhrase, MIN(URL), MIN(Title), COUNT(*) AS c, COUNT(DISTINCT UserID) FROM hits WHERE Title LIKE '%Google%' AND URL NOT LIKE '%.google.%' AND SearchPhrase <> '' GROUP BY SearchPhrase ORDER BY c DESC LIMIT 10;\n", - "DuckDB time: 0.14220213890075684\n", + "DuckDB time: 0.2147541046142578\n", "DuckDB return:\n", - " SearchPhrase \\\n", - "0 коптимиквиды юриста с роуз рая \n", - "1 коптимиквиды юрий жд ворожные моем \n", - "2 ведомосквы вместу \n", - "3 вспомидоры,отека обучение стека \n", - "4 коптимизаностиницы \n", - "5 ведомосквиталия страции \n", - "6 коптимашевск но в хорошем качестве \n", - "7 вспомидоры,отзывы луи видация \n", - "8 коптимиквиды юрий последняя \n", - "9 поттек кисловая коньюктивное \n", + " SearchPhrase \\\n", + "0 коптимиквиды юриста с роуз рая \n", + "1 ведомосквы вместу \n", + "2 коптимиквиды юрий жд ворожные моем \n", + "3 заделать магнездо \n", + "4 вспомидоры,отека обучение стека \n", + "5 авторы для jimm f/4-5.6 dc union arkham текст \n", + "6 создать+новосибируюсь песни летние \n", + "7 коптимизаностиницы \n", + "8 вспышки нижний эльдар \n", + "9 ведомосквиталия страции \n", "\n", " min(URL) \\\n", "0 https://produkty%2Fpulove.ru/booklyattion-war-... \n", - "1 https://produkty%2Fpulove.ru/booklyattion-war-... \n", + "1 http://mysw.info/newsru.ru/compatible \n", "2 https://produkty%2Fpulove.ru/booklyattion-war-... \n", - "3 https://produkty%2Fpulove.ru/booklyattion-war-... \n", + "3 http://auto.ria.ua/search/ab_district=1&cid=57... \n", "4 https://produkty%2Fpulove.ru/booklyattion-war-... \n", - "5 https://produkty%2Fpulove.ru/booklyattion-war-... \n", - "6 https://produkty%2Fpulove.ru/booklyattion-war-... \n", + "5 http://nn.jobinmoscow.ru/real-estate/rent/Sroc... \n", + "6 http://auto.ria.ua/search/ab_district=1&cid=57... \n", "7 https://produkty%2Fpulove.ru/booklyattion-war-... \n", - "8 https://produkty%2Fpulove.ru/booklyattion-war-... \n", + "8 http://mysw.info/newsru.ru/compatible \n", "9 https://produkty%2Fpulove.ru/booklyattion-war-... \n", "\n", " min(Title) c \\\n", "0 Легко на участные участников., Цены - Стильная... 45 \n", - "1 Легко на участные участников., Цены - Стильная... 16 \n", - "2 Convent-мененции: Бизнес спродажа коттекст) Ск... 15 \n", - "3 Легко на участные участников., Цены - Стильная... 10 \n", - "4 Легко на участные участников., Цены - Стильная... 8 \n", - "5 Легко на участные участников., Цены - Стильная... 8 \n", - "6 Легко на участные участников., Цены - Стильная... 6 \n", - "7 Легко на участные участников., Цены - Стильная... 5 \n", - "8 Легко на участные участников., Цены - Стильная... 5 \n", - "9 Легко на участные участников., Цены - Стильная... 5 \n", + "1 Convent-менеджер с Google Players 1.3 кв. м.- ... 17 \n", + "2 Легко на участные участников., Цены - Стильная... 16 \n", + "3 AUTO.ria.ua: продажа | Востов-на-Дону, чашечка... 13 \n", + "4 Легко на участные участников., Цены - Стильная... 10 \n", + "5 Google Papa Rapalace Rescu - модной тканика Ас... 9 \n", + "6 AUTO.ria.ua: продажа | Востов-на-Дону, чашечка... 8 \n", + "7 Легко на участные участников., Цены - Стильная... 8 \n", + "8 Convent-менеджер с Google Players 1.3 кв. м.- ... 8 \n", + "9 Легко на участные участников., Цены - Стильная... 8 \n", "\n", " count(DISTINCT UserID) \n", "0 12 \n", - "1 6 \n", - "2 9 \n", - "3 1 \n", - "4 2 \n", - "5 3 \n", - "6 3 \n", + "1 11 \n", + "2 6 \n", + "3 13 \n", + "4 1 \n", + "5 9 \n", + "6 1 \n", "7 2 \n", - "8 1 \n", - "9 1 \n", - "chDB time: 0.11992025375366211\n", + "8 6 \n", + "9 3 \n", + "chDB time: 0.23574209213256836\n", "chDB return:\n", " \"коптимиквиды юриста с роуз рая\",\"https://produkty%2Fpulove.ru/booklyattion-war-sinij-9182/women\",\"Легко на участные участников., Цены - Стильная парнем. Саганрог догадения : Турции, купить у 10 дне кольные машинки не представки - Новая с избиение спродажа: котята 2014 г.в. Цена: 47500-10ECO060 – -------- купить квартиру Оренбург (России Galantrax Flamiliada Google, Nо 18 фотоконверк Супер Кардиган\",45,12\n", + "\"ведомосквы вместу\",\"http://mysw.info/newsru.ru/compatible\",\"Convent-менеджер с Google Players 1.3 кв. м.- Продажа: лет - купить Bisbal Systеms Aparty*\",17,11\n", "\"коптимиквиды юрий жд ворожные моем\",\"https://produkty%2Fpulove.ru/booklyattion-war-sinij-9182/women\",\"Легко на участные участников., Цены - Стильная парнем. Саганрог догадения : Турции, купить у 10 дне кольные машинки не представки - Новая с избиение спродажа: котята 2014 г.в. Цена: 47500-10ECO060 – -------- купить квартиру Оренбург (России Galantrax Flamiliada Google, Nо 18 фотоконверк Супер Кардиган\",16,6\n", - "\"ведомосквы вместу\",\"https://produkty%2Fpulove.ru/booklyattion-war-sinij-9182/women\",\"Convent-мененции: Бизнес спродажа коттекст) Скейтшоп Proskater.ru - Дизайнер) 1992 г.в. Цена дачного века Кированнале актеры Google (La Charm Boxer группатии, оформационка NIKE TRADE-IN 6750$, (г. Днепрочитании онлайники — Избранное упражнения - играть и цене, выполная\",15,9\n", + "\"заделать магнездо\",\"http://auto.ria.ua/search/ab_district=1&cid=577&action&op\",\"AUTO.ria.ua: продажа | Востов-на-Дону, чашечка Google Cayennection Polo | б.у. и новых. Автопоиска и купить в Омск - IRR.ru - Роддово, ул. Гибочной день цене\",13,13\n", "\"вспомидоры,отека обучение стека\",\"https://produkty%2Fpulove.ru/booklyattion-war-sinij-9182/women\",\"Легко на участные участников., Цены - Стильная парнем. Саганрог догадения : Турции, купить у 10 дне кольные машинки не представки - Новая с избиение спродажа: котята 2014 г.в. Цена: 47500-10ECO060 – -------- купить квартиру Оренбург (России Galantrax Flamiliada Google, Nо 18 фотоконверк Супер Кардиган\",10,1\n", + "\"авторы для jimm f/4-5.6 dc union arkham текст\",\"http://nn.jobinmoscow.ru/real-estate/rent/Srochnoe-planet.ru/audio.ru/news/animals-platia%2F537\",\"Google Papa Rapalace Rescu - модной тканика Ассортименте\",9,9\n", "\"ведомосквиталия страции\",\"https://produkty%2Fpulove.ru/booklyattion-war-sinij-9182/women\",\"Легко на участные участников., Цены - Стильная парнем. Саганрог догадения : Турции, купить у 10 дне кольные машинки не представки - Новая с избиение спродажа: котята 2014 г.в. Цена: 47500-10ECO060 – -------- купить квартиру Оренбург (России Galantrax Flamiliada Google, Nо 18 фотоконверк Супер Кардиган\",8,3\n", + "\"вспышки нижний эльдар\",\"http://mysw.info/newsru.ru/compatible\",\"Convent-менеджер с Google Players 1.3 кв. м.- Продажа: лет - купить Bisbal Systеms Aparty*\",8,6\n", "\"коптимизаностиницы\",\"https://produkty%2Fpulove.ru/booklyattion-war-sinij-9404194,962453/foto-904263/fotokonkurs\",\"Легко на участные участников., Цены - Стильная парнем. Саганрог догадения : Турции, купить у 10 дне кольные машинки не представки - Новая с избиение спродажа: котята 2014 г.в. Цена: 47500-10ECO060 – -------- купить квартиру Оренбург (России Galantrax Flamiliada Google, Nо 18 фотоконверк Супер Кардиган\",8,2\n", - "\"коптимашевск но в хорошем качестве\",\"https://produkty%2Fpulove.ru/booklyattion-war-sinij-9182/women\",\"Легко на участные участников., Цены - Стильная парнем. Саганрог догадения : Турции, купить у 10 дне кольные машинки не представки - Новая с избиение спродажа: котята 2014 г.в. Цена: 47500-10ECO060 – -------- купить квартиру Оренбург (России Galantrax Flamiliada Google, Nо 18 фотоконверк Супер Кардиган\",6,3\n", - "\"коптимиквиды юрий последняя\",\"https://produkty%2Fpulove.ru/booklyattion-war-sinij-9404194,962453/foto\",\"Легко на участные участников., Цены - Стильная парнем. Саганрог догадения : Турции, купить у 10 дне кольные машинки не представки - Новая с избиение спродажа: котята 2014 г.в. Цена: 47500-10ECO060 – -------- купить квартиру Оренбург (России Galantrax Flamiliada Google, Nо 18 фотоконверк Супер Кардиган\",5,1\n", - "\"поттек кисловая коньюктивное\",\"https://produkty%2Fpulove.ru/booklyattion-war-sinij-9182/women\",\"Легко на участные участников., Цены - Стильная парнем. Саганрог догадения : Турции, купить у 10 дне кольные машинки не представки - Новая с избиение спродажа: котята 2014 г.в. Цена: 47500-10ECO060 – -------- купить квартиру Оренбург (России Galantrax Flamiliada Google, Nо 18 фотоконверк Супер Кардиган\",5,1\n", - "\"вспомидоры,отзывы луи видация\",\"https://produkty%2Fpulove.ru/booklyattion-war-sinij-9182/women\",\"Легко на участные участников., Цены - Стильная парнем. Саганрог догадения : Турции, купить у 10 дне кольные машинки не представки - Новая с избиение спродажа: котята 2014 г.в. Цена: 47500-10ECO060 – -------- купить квартиру Оренбург (России Galantrax Flamiliada Google, Nо 18 фотоконверк Супер Кардиган\",5,2\n", + "\"создать+новосибируюсь песни летние\",\"http://auto.ria.ua/search/ab_district=1&cid=577&action&op\",\"AUTO.ria.ua: продажа | Востов-на-Дону, чашечка Google Cayennection Polo | б.у. и новых. Автопоиска и купить в Омск - IRR.ru - Роддово, ул. Гибочной день цене\",8,1\n", "\n", "Q23: SELECT * FROM hits WHERE URL LIKE '%google%' ORDER BY EventTime LIMIT 10;\n", - "DuckDB time: 0.18287229537963867\n", + "DuckDB time: 0.43769073486328125\n", "DuckDB return:\n", " WatchID JavaEnable \\\n", - "0 5856761623345613087 1 \n", - "1 5642186719302103400 1 \n", - "2 5816099920965546798 1 \n", - "3 7685648394301400768 1 \n", - "4 4649371611520026744 1 \n", - "5 6556965995079484770 1 \n", - "6 7121853442383447326 0 \n", - "7 5713826993848947331 0 \n", - "8 8896084869010742218 1 \n", - "9 5901375477503871871 1 \n", + "0 7316105502961799889 1 \n", + "1 5289360038140010777 1 \n", + "2 8187290215265952247 1 \n", + "3 7067335108757864491 1 \n", + "4 9031598395811274817 1 \n", + "5 8603313135134757044 1 \n", + "6 8850598978691021476 1 \n", + "7 8139397706041785641 1 \n", + "8 7270306648984929955 1 \n", + "9 6405590155111045434 1 \n", "\n", " Title GoodEvent \\\n", - "0 Приморск - IRR.ru 1 \n", - "1 Wildberries.ru – Интернет-магазине Автопоиск р... 1 \n", - "2 Wildberries.ru – Интернет-магазине Автопоиск р... 1 \n", - "3 Мои кампании в магазин 1 \n", - "4 Мои кампании в магазин 1 \n", - "5 бассе» › MR7.ru#photoedro. Цвет синий. Есть ил... 1 \n", - "6 Теплоску на 1 \n", - "7 Теплоску на 1 \n", - "8 Приморск - IRR.ru 1 \n", - "9 1 \n", + "0 Аренда 2 игры для женщин в интернет-магазин - ... 1 \n", + "1 Инвеста.Информленны - bonprix collection - Кош... 1 \n", + "2 Инвеста.Информленны - bonprix collection - Кош... 1 \n", + "3 Прогноз поселка - продаже Жена для руб.- Профи... 1 \n", + "4 Инвеста.Информленны - bonprix collection - Кош... 1 \n", + "5 Инвеста.Информленны - bonprix collection - Кош... 1 \n", + "6 Инвеста.Информленны - bonprix collection - Кош... 1 \n", + "7 Инвеста.Информленны - bonprix collection - Кош... 1 \n", + "8 Инвеста.Информленны - bonprix collection - Кош... 1 \n", + "9 Инвеста.Информленны - bonprix collection - Кош... 1 \n", "\n", " EventTime EventDate CounterID ClientIP RegionID \\\n", - "0 2013-07-14 20:03:13 2013-07-15 62 1662956071 33 \n", - "1 2013-07-14 20:08:25 2013-07-15 38 693678962 7 \n", - "2 2013-07-14 20:08:25 2013-07-15 38 693678962 7 \n", - "3 2013-07-14 20:18:55 2013-07-15 62 1700560340 229 \n", - "4 2013-07-14 20:19:01 2013-07-15 62 1700560340 229 \n", - "5 2013-07-14 21:51:03 2013-07-15 62 1607652597 229 \n", - "6 2013-07-14 22:11:22 2013-07-15 62 1983786426 211 \n", - "7 2013-07-14 22:11:34 2013-07-15 62 1983786426 211 \n", - "8 2013-07-14 22:55:36 2013-07-15 62 -2031954841 229 \n", - "9 2013-07-14 22:59:22 2013-07-15 59 -345513905 229 \n", + "0 2013-07-01 21:27:24 2013-07-02 7525 1419090217 229 \n", + "1 2013-07-01 23:02:43 2013-07-02 7525 -1260511522 41 \n", + "2 2013-07-01 23:04:18 2013-07-02 7525 -1260511522 41 \n", + "3 2013-07-01 23:04:26 2013-07-02 5822 959273659 32 \n", + "4 2013-07-01 23:05:21 2013-07-02 7525 -1260511522 41 \n", + "5 2013-07-01 23:05:27 2013-07-02 7525 -1260511522 41 \n", + "6 2013-07-01 23:05:56 2013-07-02 7525 -1260511522 41 \n", + "7 2013-07-01 23:06:41 2013-07-02 7525 -1260511522 41 \n", + "8 2013-07-01 23:07:23 2013-07-02 7525 -1260511522 41 \n", + "9 2013-07-01 23:07:33 2013-07-02 7525 -1260511522 41 \n", "\n", " UserID ... UTMSource UTMMedium UTMCampaign UTMContent \\\n", - "0 737388493531663261 ... \n", - "1 832672783979993999 ... \n", - "2 832672783979993999 ... \n", - "3 973901199298668253 ... \n", - "4 973901199298668253 ... \n", - "5 1548560678646906842 ... \n", - "6 715003537659978536 ... \n", - "7 715003537659978536 ... \n", - "8 2200636520071736679 ... \n", - "9 8847014163651132045 ... \n", + "0 3033510353420765788 ... \n", + "1 3813931635822850500 ... \n", + "2 3813931635822850500 ... \n", + "3 736458148605978079 ... \n", + "4 3813931635822850500 ... \n", + "5 3813931635822850500 ... \n", + "6 3813931635822850500 ... \n", + "7 3813931635822850500 ... \n", + "8 3813931635822850500 ... \n", + "9 3813931635822850500 ... \n", "\n", " UTMTerm FromTag HasGCLID RefererHash URLHash CLID \n", - "0 0 2679795232796104122 -5495771028051340248 0 \n", - "1 0 2736134842390696647 -5144962513904770511 0 \n", - "2 0 2736134842390696647 -5144962513904770511 0 \n", - "3 0 -1743817035504669092 6171603152480032341 0 \n", - "4 0 -1743817035504669092 6171603152480032341 0 \n", - "5 0 525137449274760863 549315316365573634 0 \n", - "6 0 -377756471121369433 3892450405813824794 0 \n", - "7 0 -377756471121369433 3892450405813824794 0 \n", - "8 0 2257173736865703734 -6884575271718738841 0 \n", - "9 0 -2731499718001795595 -9195911304778208355 0 \n", + "0 0 -7095314016616002272 -2039922795398915081 0 \n", + "1 0 8622994845783504296 441678500069920832 0 \n", + "2 0 8622994845783504296 441678500069920832 0 \n", + "3 0 -7429996293906404352 -4158922421105595558 0 \n", + "4 0 8622994845783504296 441678500069920832 0 \n", + "5 0 524931272629027392 775047382916449082 0 \n", + "6 0 524931272629027392 775047382916449082 0 \n", + "7 0 524931272629027392 775047382916449082 0 \n", + "8 0 524931272629027392 775047382916449082 0 \n", + "9 0 662346848875253897 -5547551342880266035 0 \n", "\n", "[10 rows x 105 columns]\n", - "chDB time: 0.18707799911499023\n", + "chDB time: 0.6839907169342041\n", "chDB return:\n", - " 5856761623345613087,1,\"Приморск - IRR.ru\",1,\"2013-07-15 04:03:13.000000000\",\"2013-07-15 08:00:00.000000000\",62,1662956071,33,737388493531663261,0,44,5,\"http://irr.ru/index.php?showalbum/login-maris?sle=1297/?itemsg/d78072,95742.122918/hormor.kiev.ua/all/resident%2F5.0 (company/calculate.google.ru/search=1&target_0=yestered/main/news.ru/forum/top/resident%2F537.36 (KHTML, like Gecko) Chrome%2F27.0.1453.116 Safari%2F&sr=http://afisha.mail/16979/detail.ru/1.5199f9/bd54a6acf5-863323167&op_category_id=9640891%26ad%3D839322%26width%3D278885%26bid%3D2788840&pvno=2&evlg=VC,1;VL,541;IC,192356435/women.aspx#locale=ru&cE=trudnyj\",\"http://state=19945206/foto-4/login-2006/makumiroshoowbiz/photo4533&order\",0,10813,952,9500,520,1368,554,37,15,7,\"700\",0,0,22,\"D�\",1,1,0,0,\"\",\"\",1781923,-1,0,\"\",0,0,1035,987,135,1373876423,4,1,16561,0,\"windows\",1601,0,0,0,9123146090114127052,\"http%25253Dad.adriver.ru/chev/view/%D0%B5%20-%20bonprix.ru/search?text=%D1%8C%D0%B8%D0%BB%D0%BC%D0%BB%D1%8C%D0%B0%D0%BD%D0%B8%D1%82%D0%BC%20%D1%83%D1%81%D1%88%D0%B9%D0%BC%D0%BD%20%D1%83%D0%B0%D0%B8&where=all&filmId=4&sq=%25&submit_btn=%D0%B0%D0%B0%D1%80%D0%94%D0%B5%D1%80%D0%B5%D0%BE%20%D0%BE%D1%80%D0%BE%D0%9F%D0%B3%D0%B8%D0%B5%D0%BD%D1%80%D1%80%D1%82%D0%BB%D0%BD%D0%9A%D1%8B%D1%80%D0%BA%D0%9C%D0%BE%D0%BB%D0%BD%D0%B8%D0%B8%D0%B0%D1%8B%D0\",300338745,0,0,0,0,0,\"5\",1373856566,31,1,2,0,9,1547096432,-1,-1,-1,\"S0\",\"�\f\",\"\",\"\",0,0,0,0,621,1,0,0,\"\",0,\"\",\"NH\u001c\",0,\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",0,2679795232796104122,-5495771028051340248,0\n", - "5642186719302103400,1,\"Wildberries.ru – Интернет-магазине Автопоиск работает (Mad Wax, The Like Feature Виварка с\",1,\"2013-07-15 04:08:25.000000000\",\"2013-07-15 08:00:00.000000000\",38,693678962,7,832672783979993999,0,2,5,\"https://produkty%2Fplata-pr-advert279299881/detail.aspx?State=15&tab=user_id=607&lang=&geoa=1&TID=3219013070948/page.google-poigraphic\",\"http://tambov.irr.ru/kategory_id=19420501pa405O4/\",0,10282,995,15014,519,1638,1658,37,15,13,\"800\",0,0,31,\"D�\",1,1,0,0,\"\",\"\",1975756,-1,0,\"\",0,1,1369,936,135,1373887586,0,0,0,0,\"windows-1251;charset\",1601,0,0,0,6790921537755634610,\"\",532061222,0,0,0,0,0,\"5\",1373836127,31,2,2,15983,47,928483209,-1,-1,-1,\"S0\",\"�\f\",\"\",\"\",0,0,0,0,0,0,0,0,\"\",0,\"\",\"NH\u001c\",0,\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",0,2736134842390696647,-5144962513904770511,0\n", - "5816099920965546798,1,\"Wildberries.ru – Интернет-магазине Автопоиск работает (Mad Wax, The Like Feature Виварка с\",1,\"2013-07-15 04:08:25.000000000\",\"2013-07-15 08:00:00.000000000\",38,693678962,7,832672783979993999,0,2,5,\"https://produkty%2Fplata-pr-advert279299881/detail.aspx?State=15&tab=user_id=607&lang=&geoa=1&TID=3219013070948/page.google-poigraphic\",\"http://tambov.irr.ru/kategory_id=19420501pa405O4/\",1,10282,995,15014,519,1638,1658,37,15,13,\"800\",0,0,31,\"D�\",1,1,0,0,\"\",\"\",1975756,-1,0,\"\",0,0,1369,936,135,1373887586,0,0,0,0,\"windows-1251;charset\",1601,0,0,0,6790921537755634610,\"\",532061222,0,0,0,0,0,\"5\",1373836127,31,2,2,15983,52,928483209,-1,-1,-1,\"S0\",\"�\f\",\"\",\"\",0,0,0,0,228,76,166,0,\"\",0,\"\",\"NH\u001c\",0,\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",0,2736134842390696647,-5144962513904770511,0\n", - "7685648394301400768,1,\"Мои кампании в магазин\",1,\"2013-07-15 04:18:55.000000000\",\"2013-07-15 08:00:00.000000000\",62,1700560340,229,973901199298668253,0,2,5,\"http://svetlants/4369363/26/3/page_type=canalog285_1.html#msg12912219/page.googleBR\",\"http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.aspx?letter=Newsling_me_my_value_many\",0,10813,952,0,216,1638,1658,37,15,13,\"800\",0,0,31,\"D�\",1,1,0,0,\"\",\"\",2164656,5,0,\"\",0,0,1654,936,135,1373907113,0,0,0,0,\"windows\",1601,1,0,0,8956753423705230965,\"\",414668497,0,0,0,1,0,\"5\",1373835275,31,1,0,0,0,1547096432,-1,-1,-1,\"S0\",\"�\f\",\"\",\"\",0,0,0,0,3900,17,0,0,\"\",0,\"\",\"NH\u001c\",0,\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",0,-1743817035504669092,6171603152480032341,0\n", - "4649371611520026744,1,\"Мои кампании в магазин\",1,\"2013-07-15 04:19:01.000000000\",\"2013-07-15 08:00:00.000000000\",62,1700560340,229,973901199298668253,0,2,5,\"http://svetlants/4369363/26/3/page_type=canalog285_1.html#msg12912219/page.googleBR\",\"http://state=19945206/foto-4/login-2006/makumirostova.ru/GameMain.aspx?letter=Newsling_me_my_value_many\",0,10813,952,0,216,1638,1658,37,15,13,\"800\",0,0,31,\"D�\",1,1,0,0,\"\",\"\",2164656,5,0,\"\",0,0,1654,936,135,1373907118,0,0,0,0,\"windows\",1601,1,0,0,8956753423705230965,\"\",414668497,0,0,0,1,0,\"5\",1373835281,31,1,0,0,0,1547096432,-1,-1,-1,\"S0\",\"�\f\",\"\",\"\",0,0,0,0,3900,17,0,0,\"\",0,\"\",\"NH\u001c\",0,\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",0,-1743817035504669092,6171603152480032341,0\n", - "6556965995079484770,1,\"бассе» › MR7.ru#photoedro. Цвет синий. Есть или б/у, цвет черные\",1,\"2013-07-15 05:51:03.000000000\",\"2013-07-15 08:00:00.000000000\",62,1607652597,229,1548560678646906842,0,44,3,\"http://irr.ru/index.php?showalbum/login-siezona-prinimu-na-brietielkakh-2%2F%2Fwwwww.googleuser=lera-polnija/3464128192/1/?cat=0&auth=0&user/63898.jpg.html?items_perryjpottelfoto.kurortmag.ru/search?text=windroid\",\"http://state=19945206/foto-4/login-marka=89&model=0&s_yers=200&brandsearch?filmId=6i05206/1.html?1=1&cid=577&oki=1&option=base.ru/combarovskaya-obl/talker-pub-46e9-400d22adf2976&text=биопаты&sll=10641_blank\",0,10813,952,9500,520,1750,938,23,15,7,\"700\",0,0,17,\"D�\",1,1,0,0,\"\",\"\",3994967,-1,0,\"\",0,0,1115,970,135,1373842243,0,0,0,0,\"windows\",1601,0,0,0,8608490788370705490,\"\",42603055,0,0,0,0,0,\"5\",1373843505,0,0,0,0,0,1547096432,-1,-1,-1,\"S0\",\"h1\",\"\",\"\",0,0,0,0,1455,59,181,0,\"\",0,\"\",\"NH\u001c\",0,\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",0,525137449274760863,549315316365573634,0\n", - "7121853442383447326,0,\"Теплоску на\",1,\"2013-07-15 06:11:22.000000000\",\"2013-07-15 08:00:00.000000000\",62,1983786426,211,715003537659978536,0,44,3,\"http://irr.ru/index.php?showalbum/login-jekrjuch_21_21019463#nav_state.google.ru/start=235431964&num=s57140736132382108416\",\"http://state=19945206/foto-4/login-dress/sell/retail.ru/yandex.php/board/search\",1,10813,952,9500,520,1996,1781,23,15,7,\"700\",0,0,17,\"D�\",1,1,0,0,\"\",\"\",2917201,-1,0,\"\",0,0,1261,921,135,1373878910,4,1,31337,0,\"windows\",1601,0,0,0,8341779966257745210,\"\",218397903,0,0,0,0,0,\"5\",1373857941,0,0,0,0,0,1547096432,-1,-1,-1,\"S0\",\"h1\",\"\",\"\",0,0,0,0,388,24,0,0,\"\",0,\"\",\"NH\u001c\",0,\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",0,-377756471121369433,3892450405813824794,0\n", - "5713826993848947331,0,\"Теплоску на\",1,\"2013-07-15 06:11:34.000000000\",\"2013-07-15 08:00:00.000000000\",62,1983786426,211,715003537659978536,0,44,3,\"http://irr.ru/index.php?showalbum/login-jekrjuch_21_21019463#nav_state.google.ru/start=235431964&num=s57140736132382108416\",\"http://state=19945206/foto-4/login-dress/sell/retail.ru/yandex.php/board/search\",0,10813,952,9500,520,1996,1781,23,15,7,\"700\",0,0,17,\"D�\",1,1,0,0,\"\",\"\",2917201,-1,0,\"\",0,0,1261,921,135,1373878924,4,1,31337,0,\"windows\",1601,0,0,0,8341779966257745210,\"\",511610880,0,0,0,0,0,\"5\",1373857956,0,0,0,0,0,1547096432,-1,-1,-1,\"S0\",\"h1\",\"\",\"\",0,0,0,0,283,5,0,0,\"\",0,\"\",\"NH\u001c\",0,\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",0,-377756471121369433,3892450405813824794,0\n", - "8896084869010742218,1,\"Приморск - IRR.ru\",1,\"2013-07-15 06:55:36.000000000\",\"2013-07-15 08:00:00.000000000\",62,-2031954841,229,2200636520071736679,0,2,5,\"http://irr.ru/index.php?showalbum/list=0&auto_car=0&auth=0&driver.ru%2Fproduct_brands[]=google-AppleWebKit%2F537.22&he=9000&price_ot=&price_ot=&price\",\"http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/76568/\",0,10813,952,9500,520,1638,1658,37,15,13,\"800\",0,0,31,\"D�\",1,1,0,0,\"\",\"\",4124858,-1,0,\"\",0,0,1509,770,135,1373886127,4,1,31337,0,\"windows\",1601,0,0,0,8935292601238307559,\"\",113728902,0,0,0,0,0,\"5\",1373906301,31,0,2,27,139,1547096432,-1,-1,-1,\"S0\",\"�\f\",\"\",\"\",0,0,0,0,5885,4,0,0,\"\",0,\"\",\"NH\u001c\",0,\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",0,2257173736865703734,-6884575271718738841,0\n", - "5901375477503871871,1,\"\",1,\"2013-07-15 06:59:22.000000000\",\"2013-07-15 08:00:00.000000000\",59,-345513905,229,8847014163651132045,0,44,3,\"http://kurort/SINA, ADRIAN - PLAYERS-MIRACLE-REECT-THONY, BOB-FIREBALL LAKE, ROGERS-FAR EAST (EPISODE%3DfdSMzAwfeSNDAwNTIzNA%26url%3D//ads--googleusers\",\"https://google.com/fee=меньше\",0,14550,952,9500,520,1250,730,23,15,7,\"700\",0,0,17,\"D�\",1,1,0,0,\"\",\"\",2095433,1,0,\"\",0,0,484,123,135,1373916853,4,1,31337,0,\"windows\",1601,0,0,0,6422051822573226718,\"http://slovarenda/model=0&sf=1&tech=%D0%BB%D0%B1%D0%B0%D1%85%25253D278885%25253D661%2C700%20(compatible%3B%20U%3B%20.NET4.0C%3B%20%D0%B8%D0%B0%D0%BE%D0%B8/%D0%BB%D1%8C%D0%B4%D0%B0%D1%81%D0%B8&op_categories=20&pt=b&pd=6&pvno=2&evlg=VC,4;VL,199;IC,10899865\",553223013,0,0,0,0,0,\"g\",1373913322,31,1,3,2812,0,-636626896,54581,-1,14,\"S0\",\"h1\",\"\",\"\",0,0,0,0,337,1,0,0,\"\",0,\"\",\"NH\u001c\",0,\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",0,-2731499718001795595,-9195911304778208355,0\n", + " 7316105502961799889,1,\"Аренда 2 игры для женщин в интернет-магазин - bonprix.ru#imaged Jacobs\",1,\"2013-07-02 05:27:24.000000000\",\"2013-07-02 08:00:00.000000000\",7525,1419090217,229,3033510353420765788,1,126,7,\"http://sp-money.yandex.ru%2Fkategory_name=Плагроув&where=all&filmId=WNkeCKQOeSs&where=all&text=песню актика googleuser=trading/page3/?auth=0&checked_auto.ria.ua/advizhi/price_do=600&wi=1024&wi=1440%26rnd%3D158197%26bt%3Dad.adriver.ru/filmId=HjCfhSXPbEY&where=all&filmId=dgV5JJuhk3E&where\",\"http://bdsmpeople.ru&network=vk&refereriGvhiKo7lw&bvm=bv.48705608\",0,12895,158,12132,216,1087,938,23,15,2,\"700.2244\",0,0,12,\"D�\",1,1,0,0,\"\",\"\",658382,-1,0,\"\",0,0,1095,649,135,1372721950,0,0,0,0,\"windows-1251;charset\",1,0,0,0,6509741558613487318,\"http://video.yandex.by/search/price_highlight%253Dhttp://rmnt.ru/search?text=%D1%80%D0%BC%20%D1%83%D0%BB%D0%B5%D0%B8%D1%80%D0%BF%D0%BA%D0%A2%D0%B3%D1%83%D0%B0%D0%BE%D0%B8%D0%B7%D0%BB%D1%83%D0%BB%D0%BD%D0%BB%D0%B0%D0%BD%D0%BC%D0%B8%D0%B5%20%D0%BB%D1%82%D1%87%D0%B5%D0%B8%20%E4%E0%E1%EE%ED%ED%F1%F2%F0%F2%FB%E9+%E3%E8%F1%F2%F0%E8%ED%E0+%D0%B8%D0%BE%20%D1%82%D1%80%D0%B0%D1%82%D1%8F%20with_photo=¤cy=RUR&is_hot=0&vip=0&op_style_id=2097775%2C257&pvno=2&evlg=VC,2;VL,248;IC,16;VL\",1022450989,0,0,0,0,0,\"5\",1372786972,0,1,3,6,66,1818130458,-1,-1,-1,\"S0\",\"h1\",\"\",\"\",0,0,0,0,0,0,0,0,\"\",0,\"\",\"NH\u001c\",0,\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",0,-7095314016616002272,-2039922795398915081,0\n", + "5289360038140010777,1,\"Инвеста.Информленны - bonprix collection - Кошки, Часть, снять квартиру, Испании скейтшоп Proskater.ru (Работка сноубордовищ\",1,\"2013-07-02 07:02:43.000000000\",\"2013-07-02 08:00:00.000000000\",7525,-1260511522,41,3813931635822850500,1,44,7,\"http://voronezhskaia-moda-blue-c-3820857&t=290&po_yers=0&state.google.ru/real-estate/rent/700/photo17431408][to\",\"http://greenogorsk_Region-100062247.137505%26xpid\",0,12895,158,12132,216,1638,1658,23,15,2,\"700.169\",0,0,12,\"D�\",1,1,0,0,\"\",\"\",1835209,-1,0,\"\",0,0,1369,1018,135,1372711247,4,1,16561,0,\"windows-1251;charset\",1,0,0,0,8229313317592864677,\"\",975298214,0,0,0,0,0,\"5\",1372717306,50,2,3,16292,0,-673048140,-1,-1,-1,\"S0\",\"h1\",\"\",\"\",0,0,0,0,0,0,0,0,\"\",0,\"\",\"NH\u001c\",0,\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",0,8622994845783504296,441678500069920832,0\n", + "8187290215265952247,1,\"Инвеста.Информленны - bonprix collection - Кошки, Часть, снять квартиру, Испании скейтшоп Proskater.ru (Работка сноубордовищ\",1,\"2013-07-02 07:04:18.000000000\",\"2013-07-02 08:00:00.000000000\",7525,-1260511522,41,3813931635822850500,1,44,7,\"http://voronezhskaia-moda-blue-c-3820857&t=290&po_yers=0&state.google.ru/real-estate/rent/700/photo17431408][to\",\"http://greenogorsk_Region-100062247.137505%26xpid\",0,12895,158,12132,216,1638,1658,23,15,2,\"700.169\",0,0,12,\"D�\",1,1,0,0,\"\",\"\",1835209,-1,0,\"\",0,0,1369,1018,135,1372711350,4,1,16561,0,\"windows-1251;charset\",1,0,0,0,8229313317592864677,\"\",416429847,0,0,0,0,0,\"5\",1372717418,50,2,3,16292,0,-673048140,-1,-1,-1,\"S0\",\"�\f\",\"\",\"\",0,0,0,0,0,0,0,0,\"\",0,\"\",\"NH\u001c\",0,\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",0,8622994845783504296,441678500069920832,0\n", + "7067335108757864491,1,\"Прогноз поселка - продаже Жена для руб.- Профильмы на Бибика.ру | Восхитить\",1,\"2013-07-02 07:04:26.000000000\",\"2013-07-02 08:00:00.000000000\",5822,959273659,32,736458148605978079,1,2,3,\"http://afisha.yandex.ru/region/vacancy/201100-foto-21/#imagecachen_apps.googleusyk\",\"http://yandex.ru/yandsearch.aspx#catalog?page=2\",0,96,35,111,34,1996,1781,23,15,1,\"800\",0,0,26,\"D�\",1,1,0,0,\"\",\"\",1091953,-1,0,\"\",0,0,1211,913,135,1372732525,0,0,0,0,\"windows-1251;charset\",1,0,0,0,5889280596833060444,\"\",548647050,0,0,0,0,0,\"5\",1372765143,31,2,2,474,0,898188850,-1,-1,-1,\"S0\",\"�\f\",\"\",\"\",0,0,0,0,0,0,0,0,\"\",0,\"\",\"NH\u001c\",0,\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",0,-7429996293906404352,-4158922421105595558,0\n", + "9031598395811274817,1,\"Инвеста.Информленны - bonprix collection - Кошки, Часть, снять квартиру, Испании скейтшоп Proskater.ru (Работка сноубордовищ\",1,\"2013-07-02 07:05:21.000000000\",\"2013-07-02 08:00:00.000000000\",7525,-1260511522,41,3813931635822850500,1,44,7,\"http://voronezhskaia-moda-blue-c-3820857&t=290&po_yers=0&state.google.ru/real-estate/rent/700/photo17431408][to\",\"http://greenogorsk_Region-100062247.137505%26xpid\",0,12895,158,12132,216,1638,1658,23,15,2,\"700.169\",0,0,12,\"D�\",1,1,0,0,\"\",\"\",1835209,-1,0,\"\",0,0,1369,1018,135,1372711410,4,1,16561,0,\"windows-1251;charset\",1,0,0,0,8229313317592864677,\"\",493616223,0,0,0,0,0,\"5\",1372717487,50,2,3,16292,0,-673048140,-1,-1,-1,\"S0\",\"�\f\",\"\",\"\",0,0,0,0,0,0,0,0,\"\",0,\"\",\"NH\u001c\",0,\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",0,8622994845783504296,441678500069920832,0\n", + "8603313135134757044,1,\"Инвеста.Информленны - bonprix collection - Кошки, Часть, снять квартиру, Испании скейтшоп Proskater.ru (Работка сноубордовищ\",1,\"2013-07-02 07:05:27.000000000\",\"2013-07-02 08:00:00.000000000\",7525,-1260511522,41,3813931635822850500,1,44,7,\"http://voronezhskaia-moda-blue-c-3820857&t=290&po_yers=0&state.google.ru/real-estate/out-of-town/houses/Acer/en\",\"http://greenogorsk_Region-100062247.137438\",0,12895,158,12132,216,1638,1658,23,15,2,\"700.169\",0,0,12,\"D�\",1,1,0,0,\"\",\"\",1835209,-1,0,\"\",0,0,1369,1018,135,1372711417,4,1,16561,0,\"windows-1251;charset\",1,0,0,0,8229313317592864677,\"\",608165509,0,0,0,0,0,\"5\",1372717493,50,2,3,16292,0,-673048140,-1,-1,-1,\"S0\",\"�\f\",\"\",\"\",0,0,0,0,0,0,0,0,\"\",0,\"\",\"NH\u001c\",0,\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",0,524931272629027392,775047382916449082,0\n", + "8850598978691021476,1,\"Инвеста.Информленны - bonprix collection - Кошки, Часть, снять квартиру, Испании скейтшоп Proskater.ru (Работка сноубордовищ\",1,\"2013-07-02 07:05:56.000000000\",\"2013-07-02 08:00:00.000000000\",7525,-1260511522,41,3813931635822850500,1,44,7,\"http://voronezhskaia-moda-blue-c-3820857&t=290&po_yers=0&state.google.ru/real-estate/out-of-town/houses/Acer/en\",\"http://greenogorsk_Region-100062247.137438\",0,12895,158,12132,216,1638,1658,23,15,2,\"700.169\",0,0,12,\"D�\",1,1,0,0,\"\",\"\",1835209,-1,0,\"\",0,0,1369,1018,135,1372711447,4,1,16561,0,\"windows-1251;charset\",1,0,0,0,8229313317592864677,\"\",983819384,0,0,0,0,0,\"5\",1372717529,50,2,3,16292,0,-673048140,-1,-1,-1,\"S0\",\"�\f\",\"\",\"\",0,0,0,0,0,0,0,0,\"\",0,\"\",\"NH\u001c\",0,\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",0,524931272629027392,775047382916449082,0\n", + "8139397706041785641,1,\"Инвеста.Информленны - bonprix collection - Кошки, Часть, снять квартиру, Испании скейтшоп Proskater.ru (Работка сноубордовищ\",1,\"2013-07-02 07:06:41.000000000\",\"2013-07-02 08:00:00.000000000\",7525,-1260511522,41,3813931635822850500,1,44,7,\"http://voronezhskaia-moda-blue-c-3820857&t=290&po_yers=0&state.google.ru/real-estate/out-of-town/houses/Acer/en\",\"http://greenogorsk_Region-100062247.137438\",0,12895,158,12132,216,1638,1658,23,15,2,\"700.169\",0,0,12,\"D�\",1,1,0,0,\"\",\"\",1835209,-1,0,\"\",0,0,1369,1018,135,1372711490,4,1,16561,0,\"windows-1251;charset\",1,0,0,0,8229313317592864677,\"\",1006171575,0,0,0,0,0,\"5\",1372717553,50,2,3,16292,0,-673048140,-1,-1,-1,\"S0\",\"�\f\",\"\",\"\",0,0,0,0,0,0,0,0,\"\",0,\"\",\"NH\u001c\",0,\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",0,524931272629027392,775047382916449082,0\n", + "7270306648984929955,1,\"Инвеста.Информленны - bonprix collection - Кошки, Часть, снять квартиру, Испании скейтшоп Proskater.ru (Работка сноубордовищ\",1,\"2013-07-02 07:07:23.000000000\",\"2013-07-02 08:00:00.000000000\",7525,-1260511522,41,3813931635822850500,1,44,7,\"http://voronezhskaia-moda-blue-c-3820857&t=290&po_yers=0&state.google.ru/real-estate/out-of-town/houses/Acer/en\",\"http://greenogorsk_Region-100062247.137438\",0,12895,158,12132,216,1638,1658,23,15,2,\"700.169\",0,0,12,\"D�\",1,1,0,0,\"\",\"\",1835209,-1,0,\"\",0,0,1369,1018,135,1372711539,4,1,16561,0,\"windows-1251;charset\",1,0,0,0,8229313317592864677,\"\",871061806,0,0,0,0,0,\"5\",1372717601,50,2,3,16292,0,-673048140,-1,-1,-1,\"S0\",\"�\f\",\"\",\"\",0,0,0,0,0,0,0,0,\"\",0,\"\",\"NH\u001c\",0,\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",0,524931272629027392,775047382916449082,0\n", + "6405590155111045434,1,\"Инвеста.Информленны - bonprix collection - Кошки, Часть, снять квартиру, Испании скейтшоп Proskater.ru (Работка сноубордовищ\",1,\"2013-07-02 07:07:33.000000000\",\"2013-07-02 08:00:00.000000000\",7525,-1260511522,41,3813931635822850500,1,44,7,\"http://voronezhskaia-moda-blue-c-3820857&t=290&po_yers=0&state.google.ru/real-estate/out-of-town/land.web-3.ru\",\"http://greenogorsk_Region-100062247.137438\",0,12895,158,12132,216,1638,1658,23,15,2,\"700.169\",0,0,12,\"D�\",1,1,0,0,\"\",\"\",1835209,-1,0,\"\",0,0,1369,1018,135,1372711549,4,1,16561,0,\"windows-1251;charset\",1,0,0,0,8229313317592864677,\"\",695592582,0,0,0,0,0,\"5\",1372717616,50,2,3,16292,0,-673048140,-1,-1,-1,\"S0\",\"�\f\",\"\",\"\",0,0,0,0,0,0,0,0,\"\",0,\"\",\"NH\u001c\",0,\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",0,662346848875253897,-5547551342880266035,0\n", "\n", "Q24: SELECT SearchPhrase FROM hits WHERE SearchPhrase <> '' ORDER BY EventTime LIMIT 10;\n", - "DuckDB time: 0.0289156436920166\n", + "DuckDB time: 0.13165736198425293\n", "DuckDB return:\n", - " SearchPhrase\n", - "0 ведомосквы не удалог на ногтей денье\n", - "1 ведомосквы не удалог на ногтей денье\n", - "2 армянск\n", - "3 армянск\n", - "4 коптимиквидвич фаршироксин\n", - "5 коптимиквидвич фаршироксин\n", - "6 враганрог из мультики из баклажанов\n", - "7 враганрог из мультики из баклажанов\n", - "8 ведомосквы вместу\n", - "9 ведомосквы вместу\n", - "chDB time: 0.04113197326660156\n", + " SearchPhrase\n", + "0 ночно китая женщины\n", + "1 симптомы регистратов\n", + "2 отдыха чем прокат\n", + "3 скачать читалию в духовке\n", + "4 купить ваз 2121099 инжира 1 сезон смотреть онл...\n", + "5 маршава нибудь в омске главнованные автобаза ф...\n", + "6 вакансионал 28 неделю вытяжного печь бабка бу ...\n", + "7 венгридический якутии видео ни\n", + "8 0б1 купить без програма\n", + "9 0б1 купить в парня смотреть онлайн\n", + "chDB time: 0.08694815635681152\n", "chDB return:\n", - " \"ведомосквы не удалог на ногтей денье\"\n", - "\"ведомосквы не удалог на ногтей денье\"\n", - "\"армянск\"\n", - "\"армянск\"\n", - "\"коптимиквидвич фаршироксин\"\n", - "\"коптимиквидвич фаршироксин\"\n", - "\"враганрог из мультики из баклажанов\"\n", - "\"враганрог из мультики из баклажанов\"\n", - "\"ведомосквы вместу\"\n", - "\"ведомосквы вместу\"\n", + " \"ночно китая женщины\"\n", + "\"симптомы регистратов\"\n", + "\"отдыха чем прокат\"\n", + "\"скачать читалию в духовке\"\n", + "\"маршава нибудь в омске главнованные автобаза физовать\"\n", + "\"купить ваз 2121099 инжира 1 сезон смотреть онлайн в хорошем\"\n", + "\"вакансионал 28 неделю вытяжного печь бабка бу двиг 1.6.02.2013 смотреть фильм маринструкция движимость новые огурцы набеременнок\"\n", + "\"венгридический якутии видео ни\"\n", + "\"0б1 купить без програма\"\n", + "\"санандроид малининец фармарин\"\n", "\n", "Q25: SELECT SearchPhrase FROM hits WHERE SearchPhrase <> '' ORDER BY SearchPhrase LIMIT 10;\n", - "DuckDB time: 0.031247377395629883\n", + "DuckDB time: 0.2494344711303711\n", "DuckDB return:\n", - " SearchPhrase\n", - "0 'exis disco ryder injected cuda 7269\n", - "1 'kbnyjuj gjhnf gtgthm vfibys row 3 ставе\n", - "2 'kbnyjuj gjhnf gtgthm vfibys row 3 ставе\n", - "3 'kbnyst exfcnm vekmnbdfhrf\n", - "4 'kbnyst exfcnm vekmnbdfhrf\n", - "5 (http://kommedium=cpc&utm_source=main происход\n", - "6 +100 дизелькатровский стой\n", - "7 +100 дизелькатровский стой\n", - "8 +100500 4.5 отзывы\n", - "9 +100500 4.5 отзывы\n", - "chDB time: 0.03924083709716797\n", + " SearchPhrase\n", + "0 светы женске 2 сезон\n", + "1 ! hektdf gjcgjhn conster\n", + "2 $_get am2 купейн в хорошем\n", + "3 $_get it of goodbye minecraft\n", + "4 $_get lucky marantazii online b92 трейлер невски\n", + "5 $_poslandon.ru/moscow 2 торговлю\n", + "6 $_post rjktcfhtdcr\n", + "7 $_postarshippuden paris stan\n", + "8 $d причина\n", + "9 $d причина\n", + "chDB time: 0.05551290512084961\n", "chDB return:\n", - " \"'exis disco ryder injected cuda 7269\"\n", - "\"'kbnyjuj gjhnf gtgthm vfibys row 3 ставе\"\n", - "\"'kbnyjuj gjhnf gtgthm vfibys row 3 ставе\"\n", - "\"'kbnyst exfcnm vekmnbdfhrf\"\n", - "\"'kbnyst exfcnm vekmnbdfhrf\"\n", - "\"(http://kommedium=cpc&utm_source=main происход\"\n", - "\"+100 дизелькатровский стой\"\n", - "\"+100 дизелькатровский стой\"\n", - "\"+100500 4.5 отзывы\"\n", - "\"+100500 4.5 отзывы\"\n", + " \" светы женске 2 сезон\"\n", + "\"! hektdf gjcgjhn conster\"\n", + "\"$_get am2 купейн в хорошем\"\n", + "\"$_get it of goodbye minecraft\"\n", + "\"$_get lucky marantazii online b92 трейлер невски\"\n", + "\"$_poslandon.ru/moscow 2 торговлю\"\n", + "\"$_post rjktcfhtdcr\"\n", + "\"$_postarshippuden paris stan\"\n", + "\"$d причина\"\n", + "\"$d причина\"\n", "\n", "Q26: SELECT SearchPhrase FROM hits WHERE SearchPhrase <> '' ORDER BY EventTime, SearchPhrase LIMIT 10;\n", - "DuckDB time: 0.03926992416381836\n", + "DuckDB time: 0.20232462882995605\n", "DuckDB return:\n", - " SearchPhrase\n", - "0 ведомосквы не удалог на ногтей денье\n", - "1 ведомосквы не удалог на ногтей денье\n", - "2 армянск\n", - "3 армянск\n", - "4 коптимиквидвич фаршироксин\n", - "5 враганрог из мультики из баклажанов\n", - "6 враганрог из мультики из баклажанов\n", - "7 коптимиквидвич фаршироксин\n", - "8 hp 105.460 2007 годов\n", - "9 hp 105.460 2007 годов\n", - "chDB time: 0.03822493553161621\n", + " SearchPhrase\n", + "0 ночно китая женщины\n", + "1 симптомы регистратов\n", + "2 отдыха чем прокат\n", + "3 скачать читалию в духовке\n", + "4 купить ваз 2121099 инжира 1 сезон смотреть онл...\n", + "5 маршава нибудь в омске главнованные автобаза ф...\n", + "6 вакансионал 28 неделю вытяжного печь бабка бу ...\n", + "7 венгридический якутии видео ни\n", + "8 0б1 купить без програма\n", + "9 0б1 купить в парня смотреть онлайн\n", + "chDB time: 0.10069966316223145\n", "chDB return:\n", - " \"ведомосквы не удалог на ногтей денье\"\n", - "\"ведомосквы не удалог на ногтей денье\"\n", - "\"армянск\"\n", - "\"армянск\"\n", - "\"коптимиквидвич фаршироксин\"\n", - "\"враганрог из мультики из баклажанов\"\n", - "\"враганрог из мультики из баклажанов\"\n", - "\"коптимиквидвич фаршироксин\"\n", - "\"hp 105.460 2007 годов\"\n", - "\"hp 105.460 2007 годов\"\n", + " \"ночно китая женщины\"\n", + "\"симптомы регистратов\"\n", + "\"отдыха чем прокат\"\n", + "\"скачать читалию в духовке\"\n", + "\"купить ваз 2121099 инжира 1 сезон смотреть онлайн в хорошем\"\n", + "\"маршава нибудь в омске главнованные автобаза физовать\"\n", + "\"вакансионал 28 неделю вытяжного печь бабка бу двиг 1.6.02.2013 смотреть фильм маринструкция движимость новые огурцы набеременнок\"\n", + "\"венгридический якутии видео ни\"\n", + "\"0б1 купить без програма\"\n", + "\"0б1 купить в парня смотреть онлайн\"\n", "\n", "Q27: SELECT CounterID, AVG(STRLEN(URL)) AS l, COUNT(*) AS c FROM hits WHERE URL <> '' GROUP BY CounterID HAVING COUNT(*) > 100000 ORDER BY l DESC LIMIT 25;\n", - "DuckDB time: 0.04083967208862305\n", + "DuckDB time: 0.1214590072631836\n", "DuckDB return:\n", - " CounterID l c\n", - "0 62 94.049747 413812\n", - "1 38 76.436656 507770\n", - "chDB time: 0.05585956573486328\n", + " CounterID l c\n", + "0 1634 198.148049 315442\n", + "1 786 186.750714 120528\n", + "2 515 126.359674 102793\n", + "3 62 93.217962 613474\n", + "4 3922 87.880246 3861827\n", + "5 38 76.436656 507770\n", + "6 1483 71.266113 869128\n", + "7 2264 67.700580 278338\n", + "8 40367 67.641345 218299\n", + "9 1095 65.021542 363337\n", + "10 1830 64.919784 113980\n", + "11 40206 63.381008 217355\n", + "12 5822 62.768687 383161\n", + "13 1060 61.041178 252489\n", + "14 7525 58.612668 584968\n", + "chDB time: 0.21835732460021973\n", "chDB return:\n", - " 62,94.05024020569728,413812\n", + " 1634,198.14915261759688,315442\n", + "786,186.75330213726272,120528\n", + "515,126.36010234159913,102793\n", + "62,93.21857487032865,613474\n", + "3922,87.88137531795184,3861827\n", "38,76.43762136400339,507770\n", + "1483,71.26695952725031,869128\n", + "2264,67.70075232271554,278338\n", + "40367,67.64200477326969,218299\n", + "1095,65.02258784544377,363337\n", + "1830,64.92006492367082,113980\n", + "40206,63.38100802834073,217355\n", + "5822,62.76889610372663,383161\n", + "1060,61.04186717045099,252489\n", + "7525,58.61272924330903,584968\n", "\n", "Q28: SELECT REGEXP_REPLACE(Referer, '^https?://(?:www\\.)?([^/]+)/.*$', '\u0001') AS k, AVG(STRLEN(Referer)) AS l, COUNT(*) AS c, MIN(Referer) FROM hits WHERE Referer <> '' GROUP BY k HAVING COUNT(*) > 100000 ORDER BY l DESC LIMIT 25;\n", - "DuckDB time: 0.09196615219116211\n", + "DuckDB time: 0.22187042236328125\n", "DuckDB return:\n", - " k l c min(Referer)\n", - "0 \u0001 89.602428 863652 http://19rus.info.ru/yandex.ru/yandex\n", - "chDB time: 0.14862680435180664\n", + " k l c min(Referer)\n", + "0 \u0001 99.401568 7697804 http://%26ad%3D1%260.html&ei=9e71d2f0b6590/3/w...\n", + "chDB time: 0.3878781795501709\n", "chDB return:\n", - " \"\u0001\",89.60296908744564,863565,\"http://19rus.info.ru/yandex.ru/yandex\"\n", + " \"\u0001\",99.39890165142049,7697010,\"http://%26ad%3D1%260.html&ei=9e71d2f0b6590/3/women.aspx?sort=sale/living/Soul видео&clid\"\n", "\n", "Q29: SELECT SUM(ResolutionWidth), SUM(ResolutionWidth + 1), SUM(ResolutionWidth + 2), SUM(ResolutionWidth + 3), SUM(ResolutionWidth + 4), SUM(ResolutionWidth + 5), SUM(ResolutionWidth + 6), SUM(ResolutionWidth + 7), SUM(ResolutionWidth + 8), SUM(ResolutionWidth + 9), SUM(ResolutionWidth + 10), SUM(ResolutionWidth + 11), SUM(ResolutionWidth + 12), SUM(ResolutionWidth + 13), SUM(ResolutionWidth + 14), SUM(ResolutionWidth + 15), SUM(ResolutionWidth + 16), SUM(ResolutionWidth + 17), SUM(ResolutionWidth + 18), SUM(ResolutionWidth + 19), SUM(ResolutionWidth + 20), SUM(ResolutionWidth + 21), SUM(ResolutionWidth + 22), SUM(ResolutionWidth + 23), SUM(ResolutionWidth + 24), SUM(ResolutionWidth + 25), SUM(ResolutionWidth + 26), SUM(ResolutionWidth + 27), SUM(ResolutionWidth + 28), SUM(ResolutionWidth + 29), SUM(ResolutionWidth + 30), SUM(ResolutionWidth + 31), SUM(ResolutionWidth + 32), SUM(ResolutionWidth + 33), SUM(ResolutionWidth + 34), SUM(ResolutionWidth + 35), SUM(ResolutionWidth + 36), SUM(ResolutionWidth + 37), SUM(ResolutionWidth + 38), SUM(ResolutionWidth + 39), SUM(ResolutionWidth + 40), SUM(ResolutionWidth + 41), SUM(ResolutionWidth + 42), SUM(ResolutionWidth + 43), SUM(ResolutionWidth + 44), SUM(ResolutionWidth + 45), SUM(ResolutionWidth + 46), SUM(ResolutionWidth + 47), SUM(ResolutionWidth + 48), SUM(ResolutionWidth + 49), SUM(ResolutionWidth + 50), SUM(ResolutionWidth + 51), SUM(ResolutionWidth + 52), SUM(ResolutionWidth + 53), SUM(ResolutionWidth + 54), SUM(ResolutionWidth + 55), SUM(ResolutionWidth + 56), SUM(ResolutionWidth + 57), SUM(ResolutionWidth + 58), SUM(ResolutionWidth + 59), SUM(ResolutionWidth + 60), SUM(ResolutionWidth + 61), SUM(ResolutionWidth + 62), SUM(ResolutionWidth + 63), SUM(ResolutionWidth + 64), SUM(ResolutionWidth + 65), SUM(ResolutionWidth + 66), SUM(ResolutionWidth + 67), SUM(ResolutionWidth + 68), SUM(ResolutionWidth + 69), SUM(ResolutionWidth + 70), SUM(ResolutionWidth + 71), SUM(ResolutionWidth + 72), SUM(ResolutionWidth + 73), SUM(ResolutionWidth + 74), SUM(ResolutionWidth + 75), SUM(ResolutionWidth + 76), SUM(ResolutionWidth + 77), SUM(ResolutionWidth + 78), SUM(ResolutionWidth + 79), SUM(ResolutionWidth + 80), SUM(ResolutionWidth + 81), SUM(ResolutionWidth + 82), SUM(ResolutionWidth + 83), SUM(ResolutionWidth + 84), SUM(ResolutionWidth + 85), SUM(ResolutionWidth + 86), SUM(ResolutionWidth + 87), SUM(ResolutionWidth + 88), SUM(ResolutionWidth + 89) FROM hits;\n", - "DuckDB time: 0.08498167991638184\n", + "DuckDB time: 0.21880555152893066\n", "DuckDB return:\n", " sum(ResolutionWidth) sum((ResolutionWidth + 1)) \\\n", - "0 1.604090e+09 1.605090e+09 \n", + "0 1.506781e+10 1.507781e+10 \n", "\n", " sum((ResolutionWidth + 2)) sum((ResolutionWidth + 3)) \\\n", - "0 1.606090e+09 1.607090e+09 \n", + "0 1.508781e+10 1.509781e+10 \n", "\n", " sum((ResolutionWidth + 4)) sum((ResolutionWidth + 5)) \\\n", - "0 1.608090e+09 1.609090e+09 \n", + "0 1.510781e+10 1.511781e+10 \n", "\n", " sum((ResolutionWidth + 6)) sum((ResolutionWidth + 7)) \\\n", - "0 1.610090e+09 1.611090e+09 \n", + "0 1.512781e+10 1.513781e+10 \n", "\n", " sum((ResolutionWidth + 8)) sum((ResolutionWidth + 9)) ... \\\n", - "0 1.612090e+09 1.613090e+09 ... \n", + "0 1.514781e+10 1.515781e+10 ... \n", "\n", " sum((ResolutionWidth + 80)) sum((ResolutionWidth + 81)) \\\n", - "0 1.684090e+09 1.685090e+09 \n", + "0 1.586781e+10 1.587781e+10 \n", "\n", " sum((ResolutionWidth + 82)) sum((ResolutionWidth + 83)) \\\n", - "0 1.686090e+09 1.687090e+09 \n", + "0 1.588781e+10 1.589781e+10 \n", "\n", " sum((ResolutionWidth + 84)) sum((ResolutionWidth + 85)) \\\n", - "0 1.688090e+09 1.689090e+09 \n", + "0 1.590781e+10 1.591781e+10 \n", "\n", " sum((ResolutionWidth + 86)) sum((ResolutionWidth + 87)) \\\n", - "0 1.690090e+09 1.691090e+09 \n", + "0 1.592781e+10 1.593781e+10 \n", "\n", " sum((ResolutionWidth + 88)) sum((ResolutionWidth + 89)) \n", - "0 1.692090e+09 1.693090e+09 \n", + "0 1.594781e+10 1.595781e+10 \n", "\n", "[1 rows x 90 columns]\n", - "chDB time: 0.07000994682312012\n", + "chDB time: 0.07597541809082031\n", "chDB return:\n", - " 1604089590,1605089590,1606089590,1607089590,1608089590,1609089590,1610089590,1611089590,1612089590,1613089590,1614089590,1615089590,1616089590,1617089590,1618089590,1619089590,1620089590,1621089590,1622089590,1623089590,1624089590,1625089590,1626089590,1627089590,1628089590,1629089590,1630089590,1631089590,1632089590,1633089590,1634089590,1635089590,1636089590,1637089590,1638089590,1639089590,1640089590,1641089590,1642089590,1643089590,1644089590,1645089590,1646089590,1647089590,1648089590,1649089590,1650089590,1651089590,1652089590,1653089590,1654089590,1655089590,1656089590,1657089590,1658089590,1659089590,1660089590,1661089590,1662089590,1663089590,1664089590,1665089590,1666089590,1667089590,1668089590,1669089590,1670089590,1671089590,1672089590,1673089590,1674089590,1675089590,1676089590,1677089590,1678089590,1679089590,1680089590,1681089590,1682089590,1683089590,1684089590,1685089590,1686089590,1687089590,1688089590,1689089590,1690089590,1691089590,1692089590,1693089590\n", + " 15067814968,15077814968,15087814968,15097814968,15107814968,15117814968,15127814968,15137814968,15147814968,15157814968,15167814968,15177814968,15187814968,15197814968,15207814968,15217814968,15227814968,15237814968,15247814968,15257814968,15267814968,15277814968,15287814968,15297814968,15307814968,15317814968,15327814968,15337814968,15347814968,15357814968,15367814968,15377814968,15387814968,15397814968,15407814968,15417814968,15427814968,15437814968,15447814968,15457814968,15467814968,15477814968,15487814968,15497814968,15507814968,15517814968,15527814968,15537814968,15547814968,15557814968,15567814968,15577814968,15587814968,15597814968,15607814968,15617814968,15627814968,15637814968,15647814968,15657814968,15667814968,15677814968,15687814968,15697814968,15707814968,15717814968,15727814968,15737814968,15747814968,15757814968,15767814968,15777814968,15787814968,15797814968,15807814968,15817814968,15827814968,15837814968,15847814968,15857814968,15867814968,15877814968,15887814968,15897814968,15907814968,15917814968,15927814968,15937814968,15947814968,15957814968\n", "\n", "Q30: SELECT SearchEngineID, ClientIP, COUNT(*) AS c, SUM(IsRefresh), AVG(ResolutionWidth) FROM hits WHERE SearchPhrase <> '' GROUP BY SearchEngineID, ClientIP ORDER BY c DESC LIMIT 10;\n", - "DuckDB time: 0.03316473960876465\n", + "DuckDB time: 0.1065669059753418\n", "DuckDB return:\n", " SearchEngineID ClientIP c sum(IsRefresh) avg(ResolutionWidth)\n", - "0 2 1124827693 180 90.0 1734.088889\n", - "1 2 1090700661 72 34.0 1410.333333\n", - "2 2 1600523122 55 21.0 1368.000000\n", - "3 2 1388696273 54 27.0 1893.370370\n", - "4 89 1608608493 53 23.0 1368.000000\n", - "5 2 2117869668 47 19.0 1638.000000\n", - "6 2 1294197925 46 24.0 1638.000000\n", - "7 2 -1319697794 44 22.0 1714.909091\n", - "8 2 1332033259 44 22.0 1368.000000\n", - "9 2 711074589 44 22.0 1750.000000\n", - "chDB time: 0.09939360618591309\n", + "0 2 -1262139876 189 14.0 1560.063492\n", + "1 2 -927025522 187 26.0 1621.368984\n", + "2 2 -19034471 184 29.0 1734.782609\n", + "3 2 1124827693 182 90.0 1730.005495\n", + "4 95 993936935 176 0.0 1828.000000\n", + "5 2 2128431738 155 26.0 1591.477419\n", + "6 2 2145233773 151 25.0 1578.662252\n", + "7 2 -792059583 148 10.0 1683.074324\n", + "8 2 -1993532306 145 6.0 1625.655172\n", + "9 95 2031325834 138 1.0 1368.000000\n", + "chDB time: 0.12699198722839355\n", "chDB return:\n", - " 2,1124827693,180,90,1734.088888888889\n", - "2,1090700661,72,34,1410.3333333333333\n", - "2,1600523122,55,21,1368\n", - "2,1388696273,54,27,1893.3703703703704\n", - "89,1608608493,53,23,1368\n", - "2,2117869668,47,19,1638\n", - "2,1294197925,46,24,1638\n", - "2,1644736651,44,22,1368\n", - "2,-1319697794,44,22,1714.909090909091\n", - "2,711074589,44,22,1750\n", + " 2,-1262139876,189,14,1560.063492063492\n", + "2,-927025522,187,26,1621.3689839572191\n", + "2,-19034471,184,29,1734.7826086956522\n", + "2,1124827693,182,90,1730.0054945054944\n", + "95,993936935,176,0,1828\n", + "2,2128431738,155,26,1591.4774193548387\n", + "2,2145233773,151,25,1578.6622516556292\n", + "2,-792059583,148,10,1683.0743243243244\n", + "2,-1993532306,145,6,1625.655172413793\n", + "2,-1945757555,138,9,1580.2536231884058\n", "\n", "Q31: SELECT WatchID, ClientIP, COUNT(*) AS c, SUM(IsRefresh), AVG(ResolutionWidth) FROM hits WHERE SearchPhrase <> '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10;\n", - "DuckDB time: 0.03451657295227051\n", + "DuckDB time: 0.12462568283081055\n", "DuckDB return:\n", " WatchID ClientIP c sum(IsRefresh) avg(ResolutionWidth)\n", - "0 7619180311745193544 769910252 1 0.0 1638.0\n", - "1 7154580433999194214 -17454750 1 0.0 1996.0\n", - "2 6045292516764651315 -75968023 1 0.0 1828.0\n", - "3 6673262897999171277 1067737776 1 0.0 1368.0\n", - "4 5866674278007218582 1067737776 1 0.0 1368.0\n", - "5 5808411475292689106 -2013482928 1 0.0 1996.0\n", - "6 4795623434280360166 1694254926 1 0.0 1368.0\n", - "7 8024075573990448497 -1169408812 1 0.0 1087.0\n", - "8 4972860851150975877 1303130364 1 0.0 1996.0\n", - "9 8468265750926555487 -1598585002 1 0.0 1638.0\n", - "chDB time: 0.09838414192199707\n", + "0 5764698942593602187 1661222621 1 0.0 1917.0\n", + "1 6399353495436098824 1661222621 1 0.0 1917.0\n", + "2 7935645086702862583 572341802 1 0.0 1087.0\n", + "3 6660393920211973386 572341802 1 0.0 1087.0\n", + "4 7598149005977708525 1894744788 1 0.0 1368.0\n", + "5 5711516818135221466 43171938 1 0.0 1368.0\n", + "6 7942062881756056502 729105049 1 1.0 1368.0\n", + "7 5254366995236902767 1561457448 1 1.0 1638.0\n", + "8 6716169006392392870 953751237 1 0.0 1828.0\n", + "9 8035613987976341861 1619970363 1 0.0 1368.0\n", + "chDB time: 0.15674877166748047\n", "chDB return:\n", - " 6604751491905707739,2064965045,1,0,2038\n", - "8280212372085898012,772190574,1,1,1638\n", - "4952638815278551920,939486962,1,1,1638\n", - "6253099623075366142,2109757010,1,0,1917\n", - "5317806999570865873,602144198,1,0,1638\n", - "9216666740869012796,-816724825,1,0,661\n", - "7857018280639155715,913545571,1,0,1638\n", - "7515382966670557640,1786018579,1,0,1638\n", - "6837760195345976735,1886122794,1,0,1917\n", - "6003010882904338869,1427879624,1,0,1917\n", + " 6427115150554230793,736252994,1,0,1996\n", + "4965054029390764634,-1206595968,1,0,166\n", + "6030703977865133751,434911724,1,0,1996\n", + "6691203620596311846,2003800917,1,0,1087\n", + "5786133618012580033,1390766629,1,0,1368\n", + "5985454501189037066,1832002778,1,0,1638\n", + "5494909287200572026,1492278923,1,0,1828\n", + "8745161824300249528,1528045946,1,1,1638\n", + "4698453950679016700,-1916962470,1,0,1750\n", + "7352065519984549840,1557735347,1,0,1638\n", "\n", "Q32: SELECT WatchID, ClientIP, COUNT(*) AS c, SUM(IsRefresh), AVG(ResolutionWidth) FROM hits GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10;\n", - "DuckDB time: 0.06317543983459473\n", + "DuckDB time: 0.23573851585388184\n", "DuckDB return:\n", " WatchID ClientIP c sum(IsRefresh) avg(ResolutionWidth)\n", - "0 8754886787448960829 1842573098 1 0.0 1368.0\n", - "1 5898655054857937918 1363384760 1 0.0 1638.0\n", - "2 6177936072634291177 1363384760 1 0.0 1638.0\n", - "3 5031597762851508821 1163050266 1 0.0 1996.0\n", - "4 5379461992781378335 1387450680 1 0.0 1996.0\n", - "5 8934849430536846094 1382235233 1 0.0 1750.0\n", - "6 9195463405317409491 1382235233 1 0.0 1750.0\n", - "7 6443062211007161351 2062785676 1 0.0 1638.0\n", - "8 6765375355722018597 1425319627 1 0.0 1638.0\n", - "9 8850839214017728613 -2110439143 1 0.0 1368.0\n", - "chDB time: 0.2621903419494629\n", + "0 4867730547159304930 -1036595703 1 1.0 1368.0\n", + "1 6034833557315338219 -1017019768 1 0.0 1368.0\n", + "2 5937585448916514423 1252578218 1 1.0 1996.0\n", + "3 5596239824044049093 1444666173 1 0.0 1638.0\n", + "4 7870490014605390835 1808789500 1 1.0 1368.0\n", + "5 6771795047915146443 -316224506 1 0.0 1996.0\n", + "6 6645206652850664454 1157334807 1 0.0 1638.0\n", + "7 8400455583248275592 1157334807 1 1.0 1638.0\n", + "8 7971849506416695134 1157334807 1 0.0 1638.0\n", + "9 6756743075407532663 1900462260 1 0.0 1368.0\n", + "chDB time: 0.26050496101379395\n", "chDB return:\n", - " 4999509879414527451,2097825942,1,0,1996\n", - "7178215248947385676,1856491524,1,0,1368\n", - "5455473375112841168,340118302,1,0,1828\n", - "8417234817978032408,1374696053,1,0,1087\n", - "8276663911698235092,535277438,1,1,3680\n", - "4784011833267962453,-1921357321,1,0,1750\n", - "6650179500837266220,1366842479,1,0,1638\n", - "7901823825980221746,1741712039,1,0,1638\n", - "7941653336853934367,1231092163,1,1,1087\n", - "8217316338212367031,1294684629,1,0,1087\n", + " 7045311802744285412,-1341502114,1,0,1996\n", + "7997911216135529594,-1050444826,1,0,1750\n", + "8844035097706011452,1902611968,1,0,0\n", + "5053190322681433435,-1147935011,1,0,1368\n", + "6157344501559484646,1722727351,1,0,1638\n", + "5256342968841438052,749361268,1,0,1638\n", + "5074356965705409073,1539704498,1,0,508\n", + "7713773151322457084,53805758,1,0,1087\n", + "4836369074268702547,2053634497,1,0,1750\n", + "4848806411334622685,2132338069,1,0,1638\n", "\n", "Q33: SELECT URL, COUNT(*) AS c FROM hits GROUP BY URL ORDER BY c DESC LIMIT 10;\n", - "DuckDB time: 0.07357263565063477\n", + "DuckDB time: 0.23707222938537598\n", "DuckDB return:\n", - " URL c\n", - "0 http://irr.ru/index.php?showalbum/login-leniya... 58976\n", - "1 http://komme%2F27.0.1453.116 29585\n", - "2 https://produkty%2Fproduct 11464\n", - "3 http://irr.ru/index.php?showalbum/login-kapust... 10480\n", - "4 http://irr.ru/index.php?showalbum/login-kapust... 10128\n", - "5 http://irr.ru/index.php 7758\n", - "6 https://produkty%2F 6649\n", - "7 http://irr.ru/index.php?showalbum/login 6141\n", - "8 https://produkty/kurortmag 5764\n", - "9 https://produkty%2Fpulove.ru/album/login 5495\n", - "chDB time: 0.15108561515808105\n", + " URL c\n", + "0 http://sp-money.yandex.ru/comme%2F27.0.1453.11... 100821\n", + "1 http://irr.ru/index.php?showalbum/login-leniya... 90604\n", + "2 http:%2F%2Fdlia-zhienskaia-moda-tunika 46281\n", + "3 http://komme%2F27.0.1453.116 43455\n", + "4 http://afisha.yandex.ru/region/vacancies 35161\n", + "5 http://sp-money.yandex.ru%26target 31018\n", + "6 http:%2F%2Fwwww.bonprix.ru/mosclinindzya 28878\n", + "7 http://afisha.yandex.ru/region-ware-ne-niz%2F%... 26520\n", + "8 http://sib1.adriver 25242\n", + "9 http://sp-money.yandex.ua/search&event=little 17068\n", + "chDB time: 0.3215765953063965\n", "chDB return:\n", - " \"http://irr.ru/index.php?showalbum/login-leniya7777294,938303130\",58976\n", - "\"http://komme%2F27.0.1453.116\",29585\n", - "\"https://produkty%2Fproduct\",11464\n", - "\"http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0\",10480\n", - "\"http://irr.ru/index.php?showalbum/login-kapustic/product_name\",10128\n", - "\"http://irr.ru/index.php\",7758\n", - "\"https://produkty%2F\",6649\n", - "\"http://irr.ru/index.php?showalbum/login\",6141\n", - "\"https://produkty/kurortmag\",5764\n", - "\"https://produkty%2Fpulove.ru/album/login\",5495\n", + " \"http://sp-money.yandex.ru/comme%2F27.0.1453.116 Safari\",100821\n", + "\"http://irr.ru/index.php?showalbum/login-leniya7777294,938303130\",90604\n", + "\"http:%2F%2Fdlia-zhienskaia-moda-tunika\",46281\n", + "\"http://komme%2F27.0.1453.116\",43455\n", + "\"http://afisha.yandex.ru/region/vacancies\",35161\n", + "\"http://sp-money.yandex.ru%26target\",31018\n", + "\"http:%2F%2Fwwww.bonprix.ru/mosclinindzya\",28878\n", + "\"http://afisha.yandex.ru/region-ware-ne-niz%2F%2Fwwww.bonprix\",26520\n", + "\"http://sib1.adriver\",25242\n", + "\"http://sp-money.yandex.ua/search&event=little\",17068\n", "\n", "Q34: SELECT 1, URL, COUNT(*) AS c FROM hits GROUP BY 1, URL ORDER BY c DESC LIMIT 10;\n", - "DuckDB time: 0.0699610710144043\n", + "DuckDB time: 0.2396090030670166\n", "DuckDB return:\n", - " 1 URL c\n", - "0 1 http://irr.ru/index.php?showalbum/login-leniya... 58976\n", - "1 1 http://komme%2F27.0.1453.116 29585\n", - "2 1 https://produkty%2Fproduct 11464\n", - "3 1 http://irr.ru/index.php?showalbum/login-kapust... 10480\n", - "4 1 http://irr.ru/index.php?showalbum/login-kapust... 10128\n", - "5 1 http://irr.ru/index.php 7758\n", - "6 1 https://produkty%2F 6649\n", - "7 1 http://irr.ru/index.php?showalbum/login 6141\n", - "8 1 https://produkty/kurortmag 5764\n", - "9 1 https://produkty%2Fpulove.ru/album/login 5495\n", - "chDB time: 0.1681962013244629\n", + " 1 URL c\n", + "0 1 http://sp-money.yandex.ru/comme%2F27.0.1453.11... 100821\n", + "1 1 http://irr.ru/index.php?showalbum/login-leniya... 90604\n", + "2 1 http:%2F%2Fdlia-zhienskaia-moda-tunika 46281\n", + "3 1 http://komme%2F27.0.1453.116 43455\n", + "4 1 http://afisha.yandex.ru/region/vacancies 35161\n", + "5 1 http://sp-money.yandex.ru%26target 31018\n", + "6 1 http:%2F%2Fwwww.bonprix.ru/mosclinindzya 28878\n", + "7 1 http://afisha.yandex.ru/region-ware-ne-niz%2F%... 26520\n", + "8 1 http://sib1.adriver 25242\n", + "9 1 http://sp-money.yandex.ua/search&event=little 17068\n", + "chDB time: 0.2854602336883545\n", "chDB return:\n", - " 1,\"http://irr.ru/index.php?showalbum/login-leniya7777294,938303130\",58976\n", - "1,\"http://komme%2F27.0.1453.116\",29585\n", - "1,\"https://produkty%2Fproduct\",11464\n", - "1,\"http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0\",10480\n", - "1,\"http://irr.ru/index.php?showalbum/login-kapustic/product_name\",10128\n", - "1,\"http://irr.ru/index.php\",7758\n", - "1,\"https://produkty%2F\",6649\n", - "1,\"http://irr.ru/index.php?showalbum/login\",6141\n", - "1,\"https://produkty/kurortmag\",5764\n", - "1,\"https://produkty%2Fpulove.ru/album/login\",5495\n", + " 1,\"http://sp-money.yandex.ru/comme%2F27.0.1453.116 Safari\",100821\n", + "1,\"http://irr.ru/index.php?showalbum/login-leniya7777294,938303130\",90604\n", + "1,\"http:%2F%2Fdlia-zhienskaia-moda-tunika\",46281\n", + "1,\"http://komme%2F27.0.1453.116\",43455\n", + "1,\"http://afisha.yandex.ru/region/vacancies\",35161\n", + "1,\"http://sp-money.yandex.ru%26target\",31018\n", + "1,\"http:%2F%2Fwwww.bonprix.ru/mosclinindzya\",28878\n", + "1,\"http://afisha.yandex.ru/region-ware-ne-niz%2F%2Fwwww.bonprix\",26520\n", + "1,\"http://sib1.adriver\",25242\n", + "1,\"http://sp-money.yandex.ua/search&event=little\",17068\n", "\n", "Q35: SELECT ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3, COUNT(*) AS c FROM hits GROUP BY ClientIP, ClientIP - 1, ClientIP - 2, ClientIP - 3 ORDER BY c DESC LIMIT 10;\n", - "DuckDB time: 0.035696983337402344\n", + "DuckDB time: 0.09574699401855469\n", "DuckDB return:\n", - " ClientIP (ClientIP - 1) (ClientIP - 2) (ClientIP - 3) c\n", - "0 -267589304 -267589305 -267589306 -267589307 1733\n", - "1 -1064396353 -1064396354 -1064396355 -1064396356 1604\n", - "2 2113746632 2113746631 2113746630 2113746629 1552\n", - "3 -1071668921 -1071668922 -1071668923 -1071668924 1544\n", - "4 2127211172 2127211171 2127211170 2127211169 1485\n", - "5 1700560340 1700560339 1700560338 1700560337 1311\n", - "6 657371700 657371699 657371698 657371697 1199\n", - "7 1450638336 1450638335 1450638334 1450638333 1015\n", - "8 1992394514 1992394513 1992394512 1992394511 1015\n", - "9 1503108906 1503108905 1503108904 1503108903 990\n", - "chDB time: 0.09527921676635742\n", + " ClientIP (ClientIP - 1) (ClientIP - 2) (ClientIP - 3) c\n", + "0 -1698104457 -1698104458 -1698104459 -1698104460 29119\n", + "1 -1175819552 -1175819553 -1175819554 -1175819555 16854\n", + "2 -1206311089 -1206311090 -1206311091 -1206311092 6087\n", + "3 720685641 720685640 720685639 720685638 5420\n", + "4 1515409054 1515409053 1515409052 1515409051 4254\n", + "5 1928873128 1928873127 1928873126 1928873125 3290\n", + "6 -1323047292 -1323047293 -1323047294 -1323047295 2998\n", + "7 -1313501018 -1313501019 -1313501020 -1313501021 2746\n", + "8 1151807695 1151807694 1151807693 1151807692 2702\n", + "9 -267589304 -267589305 -267589306 -267589307 2526\n", + "chDB time: 0.10746908187866211\n", "chDB return:\n", - " -267589304,-267589305,-267589306,-267589307,1733\n", - "-1064396353,-1064396354,-1064396355,-1064396356,1604\n", - "2113746632,2113746631,2113746630,2113746629,1552\n", - "-1071668921,-1071668922,-1071668923,-1071668924,1544\n", - "2127211172,2127211171,2127211170,2127211169,1485\n", - "1700560340,1700560339,1700560338,1700560337,1311\n", - "657371700,657371699,657371698,657371697,1199\n", - "1450638336,1450638335,1450638334,1450638333,1015\n", - "1992394514,1992394513,1992394512,1992394511,1015\n", - "1503108906,1503108905,1503108904,1503108903,990\n", + " -1698104457,-1698104458,-1698104459,-1698104460,29119\n", + "-1175819552,-1175819553,-1175819554,-1175819555,16854\n", + "-1206311089,-1206311090,-1206311091,-1206311092,6087\n", + "720685641,720685640,720685639,720685638,5420\n", + "1515409054,1515409053,1515409052,1515409051,4254\n", + "1928873128,1928873127,1928873126,1928873125,3290\n", + "-1323047292,-1323047293,-1323047294,-1323047295,2998\n", + "-1313501018,-1313501019,-1313501020,-1313501021,2746\n", + "1151807695,1151807694,1151807693,1151807692,2702\n", + "-267589304,-267589305,-267589306,-267589307,2526\n", "\n", "Q36: SELECT URL, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND DontCountHits = 0 AND IsRefresh = 0 AND URL <> '' GROUP BY URL ORDER BY PageViews DESC LIMIT 10;\n", - "DuckDB time: 0.06315374374389648\n", + "DuckDB time: 0.12239670753479004\n", "DuckDB return:\n", " URL PageViews\n", - "0 http://irr.ru/index.php?showalbum/login-leniya... 56539\n", - "1 http://komme%2F27.0.1453.116 28824\n", - "2 http://irr.ru/index.php?showalbum/login-kapust... 10325\n", - "3 http://irr.ru/index.php?showalbum/login-kapust... 9650\n", - "4 http://irr.ru/index.php 7530\n", - "5 http://irr.ru/index.php?showalbum/login 6032\n", - "6 http://komme%2F27.0.1453.116 Safari%2F5.0 (com... 4271\n", - "7 http://irr.ru/index.php?showalbum/login-kupalnik 2476\n", - "8 http://irr.ru/index.php?showalbum/login-kapust... 2300\n", - "9 http://komme%2F27.0.1453.116 Safari 1612\n", - "chDB time: 0.11924910545349121\n", + "0 http://irr.ru/index.php?showalbum/login-leniya... 85646\n", + "1 http://komme%2F27.0.1453.116 42422\n", + "2 http://irr.ru/index.php?showalbum/login-kapust... 15165\n", + "3 http://irr.ru/index.php?showalbum/login-kapust... 13779\n", + "4 http://irr.ru/index.php 10559\n", + "5 http://irr.ru/index.php?showalbum/login 8997\n", + "6 http://komme%2F27.0.1453.116 Safari%2F5.0 (com... 6322\n", + "7 http://irr.ru/index.php?showalbum/login-kupalnik 3633\n", + "8 http://irr.ru/index.php?showalbum/login-kapust... 3363\n", + "9 http://komme%2F27.0.1453.116 Safari 2538\n", + "chDB time: 0.16526055335998535\n", "chDB return:\n", - " \"http://irr.ru/index.php?showalbum/login-leniya7777294,938303130\",56539\n", - "\"http://komme%2F27.0.1453.116\",28824\n", - "\"http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0\",10325\n", - "\"http://irr.ru/index.php?showalbum/login-kapustic/product_name\",9650\n", - "\"http://irr.ru/index.php\",7530\n", - "\"http://irr.ru/index.php?showalbum/login\",6032\n", - "\"http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0;\",4271\n", - "\"http://irr.ru/index.php?showalbum/login-kupalnik\",2476\n", - "\"http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params\",2300\n", - "\"http://komme%2F27.0.1453.116 Safari\",1612\n", + " \"http://irr.ru/index.php?showalbum/login-leniya7777294,938303130\",85646\n", + "\"http://komme%2F27.0.1453.116\",42422\n", + "\"http://irr.ru/index.php?showalbum/login-kapusta-advert2668]=0&order_by=0\",15165\n", + "\"http://irr.ru/index.php?showalbum/login-kapustic/product_name\",13779\n", + "\"http://irr.ru/index.php\",10559\n", + "\"http://irr.ru/index.php?showalbum/login\",8997\n", + "\"http://komme%2F27.0.1453.116 Safari%2F5.0 (compatible; MSIE 9.0;\",6322\n", + "\"http://irr.ru/index.php?showalbum/login-kupalnik\",3633\n", + "\"http://irr.ru/index.php?showalbum/login-kapusta-advert27256.html_params\",3363\n", + "\"http://komme%2F27.0.1453.116 Safari\",2538\n", "\n", "Q37: SELECT Title, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND DontCountHits = 0 AND IsRefresh = 0 AND Title <> '' GROUP BY Title ORDER BY PageViews DESC LIMIT 10;\n", - "DuckDB time: 0.12497115135192871\n", + "DuckDB time: 0.17776155471801758\n", "DuckDB return:\n", " Title PageViews\n", - "0 Тест (Россия) - Яндекс 67550\n", - "1 Шарарай), Выбрать! - обсуждаются на голд: Шоуб... 46675\n", - "2 Приморск - IRR.ru 46530\n", - "3 Брюки New Era H (Асус) 258 общая выплаток, гор... 21167\n", - "4 Теплоску на 13432\n", - "5 Приморск (Россия) - Яндекс.Видео 8260\n", - "6 AUTO.ria.ua ™ - Аппер 8116\n", - "7 Dave and Hotpoint sport – самые вещие 7867\n", - "8 OWAProfessign), продать 5755\n", - "9 Труси - Шоубиз 5692\n", - "chDB time: 0.13490772247314453\n", + "0 Тест (Россия) - Яндекс 102228\n", + "1 Шарарай), Выбрать! - обсуждаются на голд: Шоуб... 68968\n", + "2 Приморск - IRR.ru 67496\n", + "3 Брюки New Era H (Асус) 258 общая выплаток, гор... 31750\n", + "4 Теплоску на 19270\n", + "5 Dave and Hotpoint sport – самые вещие 11962\n", + "6 Приморск (Россия) - Яндекс.Видео 11618\n", + "7 AUTO.ria.ua ™ - Аппер 11611\n", + "8 OWAProfessign), продать 8965\n", + "9 Труси - Шоубиз 8445\n", + "chDB time: 0.19653844833374023\n", "chDB return:\n", - " \"Тест (Россия) - Яндекс\",67550\n", - "\"Шарарай), Выбрать! - обсуждаются на голд: Шоубиз - Свободная историс\",46675\n", - "\"Приморск - IRR.ru\",46530\n", - "\"Брюки New Era H (Асус) 258 общая выплаток, горшечными\",21167\n", - "\"Теплоску на\",13432\n", - "\"Приморск (Россия) - Яндекс.Видео\",8260\n", - "\"AUTO.ria.ua ™ - Аппер\",8116\n", - "\"Dave and Hotpoint sport – самые вещие\",7867\n", - "\"OWAProfessign), продать\",5755\n", - "\"Труси - Шоубиз\",5692\n", + " \"Тест (Россия) - Яндекс\",102228\n", + "\"Шарарай), Выбрать! - обсуждаются на голд: Шоубиз - Свободная историс\",68968\n", + "\"Приморск - IRR.ru\",67496\n", + "\"Брюки New Era H (Асус) 258 общая выплаток, горшечными\",31750\n", + "\"Теплоску на\",19270\n", + "\"Dave and Hotpoint sport – самые вещие\",11962\n", + "\"Приморск (Россия) - Яндекс.Видео\",11618\n", + "\"AUTO.ria.ua ™ - Аппер\",11611\n", + "\"OWAProfessign), продать\",8965\n", + "\"Труси - Шоубиз\",8445\n", "\n", "Q38: SELECT URL, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND IsRefresh = 0 AND IsLink <> 0 AND IsDownload = 0 GROUP BY URL ORDER BY PageViews DESC LIMIT 10 OFFSET 1000;\n", - "DuckDB time: 0.053958892822265625\n", + "DuckDB time: 0.11457252502441406\n", "DuckDB return:\n", " URL PageViews\n", - "0 http://stalker-pub-20087898675494,960948/#page... 2\n", - "1 http://stalker-pub-20087898675494,960948/#page... 2\n", - "2 http://krnews.ru/refererechiesyachenil 2\n", - "3 http://video.yandex.ru/air/novosibirsk.ru/jobi... 2\n", - "4 http://stalker-pub-20087898675494,960948/#page... 2\n", - "5 http://bdsmpeople.ru/search&sr=http:/ 2\n", - "6 http://stalker-pub-20087898675494,960948/#page... 2\n", - "7 http://video.yandex.kz/search 2\n", + "0 http://afisha.yandex.php?r=788-78087542037 2\n", + "1 http://afisha.yandex.ru/get/93621493754852 2\n", + "2 http://stalker-pub-20087898675494,960948/#page... 2\n", + "3 http://guid=6&pw=2&pv=0&price_do=¤cy=RUR 2\n", + "4 http://ulbelyjlilovsk.irr.ru/catalog/144185686... 2\n", + "5 http://bdsmpeople.ru/index.by/ru/page=0&confis... 2\n", + "6 http://afisha.yandex.ru/дома/БСЭ/Экста-там-вес... 2\n", + "7 http://russing/election&op 2\n", "8 http://stalker-pub-20087898675494,960948/#page... 2\n", "9 http://stalker-pub-20087898675494,960948/#page... 2\n", - "chDB time: 0.07876944541931152\n", + "chDB time: 0.1530303955078125\n", "chDB return:\n", - " \"http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//ad.adriver.ru/photo=0&is_hot=0&auto_id=577&oki=1&op_prodam-1-komn-kvarti-m.ru/allprimea.html5/v12/?_h=search&events-sale/security/gorod55\",2\n", - "\"http://kinopoisk.ru/catalog\",2\n", - "\"http://ej.ru/ufa/ploschad-advert2716390352651721][from]=&int[2512551%2F&sr=http://afisha.mail.ru/galle/fotono/login-planet.ru\",2\n", - "\"http://orenburg.irr\",2\n", - "\"http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//ad.adriver.ru/photo=0&is_hot=0&auto_id=577&oki=1&op_prodam-1-komn-kvarti-m.ru/allprice/artir.ua/notik.ru/air/brand=bpc select[35220373142.html%3Fhtml?1=1&cid=577\",2\n", - "\"http://afisha.yandex.ru/?favorite_off=FORID:10&input_action\",2\n", - "\"http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,9459301bd969/curre2/num-1/nf-2/csrf-66/num-1/nf-234/11000723452/?Search?filmId=2yRgeCEns3s3M&where\",2\n", - "\"http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D//ad.adriver.ru/photo=0&is_hot=0&auto_id=577&oki=1&op_prodam-1-komn-kvarti-m.ru/allprice_ot=1008/make=Sho-Metalog/891581839/room=1&adTypeList\",2\n", - "\"http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,9455989.ya.ru/work.html_params%3D0%26rleurl%3D%26CompPath%3Dhttp://video.yandex.ru/filmId=s4hAuutourism/otdelo.ua/searchivet_allery/pic/89393.html?1=1&cid=52635349894,9247478/grams\",2\n", - "\"http://slovarenok.com\",2\n", + " \"http://video.yandex.ru/page=0&category&op_seo_entry=&op_product_brand=1444d-9c8e99fa-d61f-fef3-013fc4e1b542f7d9e1e2a02e6834\",2\n", + "\"http://stalker-pub-20087898675494,960948/#page_type%3D0%26pz%3D0%26rleurl%3D%26CompPath%3D278885%26bid%3D0%26u_h%3D728%26fh_page=1080&with_exchangeTypeId=0&engineVolumeFrom=&fuelRateFrom=&powerFrom=&engineVolumeTo=&power_name=Платье\",2\n", + "\"http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=0&is_hot=0&category_name=Пляж - bonprix.ru/katerinburg\",2\n", + "\"http://wildberries.aspx#location/group_cod_1s=53&butto_repairs=0&with_photo=1&state/aparthenon-houses-siezona.ru/togliatesTypeSearchPrice\",2\n", + "\"http://delo.ua/comp.ru/globalnuyu\",2\n", + "\"http://stalker-pub-20087898675494,960948/#page_type%3D260117152337&spn=1395,94552/photo-3.xhtml%3Fhtml%26custom%3D%2F%2Fwwww.bonprix.de%26versionnyayanny\",2\n", + "\"http://direct.yandex.ru/mymail/5382,963885\",2\n", + "\"http://love.ru/?p=1#countpage/130435395786965/refrigeratorii_gusenie\",2\n", + "\"http://omsk/evential/housession%3D0%26url%3D//ad.adriver.ru/link/justic/h2.php/top/netcats/text=весы&where=all&filmId=533200_passenger/search?text=сваты 3 сезон\",2\n", + "\"http://loveche.ru/jobs-educationid review_type=city\",2\n", "\n", "Q39: SELECT TraficSourceID, SearchEngineID, AdvEngineID, CASE WHEN (SearchEngineID = 0 AND AdvEngineID = 0) THEN Referer ELSE '' END AS Src, URL AS Dst, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND IsRefresh = 0 GROUP BY TraficSourceID, SearchEngineID, AdvEngineID, Src, Dst ORDER BY PageViews DESC LIMIT 10 OFFSET 1000;\n", - "DuckDB time: 0.09625434875488281\n", + "DuckDB time: 0.21238970756530762\n", "DuckDB return:\n", " TraficSourceID SearchEngineID AdvEngineID \\\n", "0 -1 0 0 \n", - "1 1 0 0 \n", + "1 -1 0 0 \n", "2 -1 0 0 \n", - "3 -1 0 0 \n", - "4 -1 0 0 \n", + "3 5 0 0 \n", + "4 0 0 0 \n", "5 -1 0 0 \n", "6 -1 0 0 \n", "7 -1 0 0 \n", @@ -1348,99 +1411,99 @@ "9 -1 0 0 \n", "\n", " Src \\\n", - "0 http://state=19945206/foto-4/login-2491724/?bu... \n", - "1 http://mysw.info/node/215455&text \n", - "2 http://state=19945206/foto-4/login-2491724/?bu... \n", - "3 http://state=19945206/foto-4/login-2491724/?bu... \n", - "4 http://state=199450984062 \n", - "5 http://state=19945206/foto-4/login-2491724/?bu... \n", - "6 http://state=19195/offset=101&distridze/viewfo... \n", - "7 http://state=19945206/foto-4/login.pl?y1=13&te... \n", + "0 http://state=19945206/foto-4/login-2006/makumi... \n", + "1 http://state=19945206/foto-4/login-2006/makumy... \n", + "2 http://state=19945206/foto-4/login-don-profile... \n", + "3 http://go.mail.ru/yandsearch?lr \n", + "4 \n", + "5 http://state=19945206/foto-4/login-2006/makumi... \n", + "6 http://state=19945206/foto-4/login-2006/makumi... \n", + "7 http://state=19945206/foto-4/login-2491724/?bu... \n", "8 http://state=19945206/foto-4/login-2491724/?bu... \n", - "9 http://state=19945206/foto-4/login-2006/makumi... \n", + "9 http://state=19945206/foto-4/login-2491724/?bu... \n", "\n", " Dst PageViews \n", - "0 http://irr.ru/index.php?showalbum/login-kapust... 10 \n", - "1 http://irr.ru/index.php?showalbum/login-nanos_... 10 \n", - "2 http://irr.ru/index.php?showalbum/login-kapust... 10 \n", - "3 http://irr.ru/index.php?showalbum/login-kapust... 10 \n", - "4 http://irr.ru/index.php?showalbum/logabass.ru/... 10 \n", - "5 http://irr.ru/index.php?showalbum/login-kapust... 10 \n", - "6 http://irr.ru/img/catalog/534857859/subsubcat.... 10 \n", - "7 http://irr.ru/index.php?showalbum/login-lamia-... 10 \n", - "8 http://irr.ru/index.php?showalbum/login-kapust... 10 \n", - "9 http://irr.ru/index.php?showalbum/login-leniya... 10 \n", - "chDB time: 0.11512994766235352\n", + "0 http://irr.ru/index.php?showalbum/login-leniya... 13 \n", + "1 http://irr.ru/index.php?showalbum/login-kapust... 13 \n", + "2 http://irr.ru/index.php?showalbum/login.j_new1... 13 \n", + "3 http://afisha.yandex.ru 13 \n", + "4 http://irr.ru/index.php?showalbum/login-kapust... 13 \n", + "5 http://irr.ru/index.php?showalbum/logabass.ru/... 13 \n", + "6 http://irr.ru/index.php?showalbum/login 13 \n", + "7 http://irr.ru/index.php?showalbum/login-kapust... 13 \n", + "8 http://irr.ru/index.php?showalbum/login-kapust... 13 \n", + "9 http://irr.ru/index.php?showalbum/login-kapust... 13 \n", + "chDB time: 0.20791935920715332\n", "chDB return:\n", - " -1,0,0,\"http://state=19945206/foto-4/login-2006/makumirostova.rambler.ru/cars/passenger/search?clid=19200.kor\",\"http://irr.ru/index.php?showalbum/login-leniya7777294,938303130\",10\n", - "-1,0,0,\"http://state=19945206/foto-4/login-2491724/?bundlers/search?text\",\"http://irr.ru/index.php?showalbum/login-kapusta-advert25946-peregajet/ero/936582,9526340900217001791831\",10\n", - "0,0,0,\"\",\"http://irr.ru/index.php?showalbum/loginPhone=0&modulnoe-s-ne-vnimals-plat\",10\n", - "-1,0,0,\"http://state=19945206/foto-4/login-2491724/?bundlers/search?text\",\"http://irr.ru/index.php?showalbum/login-kapusta-advert26636395&op_page/bedrooms=2,3/price=6002171451\",10\n", - "-1,0,0,\"http://state=199450984062\",\"http://irr.ru/index.php?showalbum/logabass.ru/cation&op_categoriya%2F_liveresume/addo_for_boy/laminal.aspx?sort=popular&size=2013/photos&marka,cmodel=0&sale/2021/22.html%3Fhtml%26custom\",10\n", - "5,0,0,\"http://state=19945206/foto-4/login-2006/manga\",\"http://myloveplanet.ru/index.ru/registrict=3219&st=10#\",10\n", - "-1,0,0,\"http://state=19945206/foto-4/login-2491724/?bundlers/search?text\",\"http://irr.ru/index.php?showalbum/login-kapusta-advert2655.html?1=1&cid=577&oki=1&op_produkty%2Fbrjuki\",10\n", - "-1,0,0,\"http://state=19945206/foto-4/login-2491724/?bundlers/search?text\",\"http://irr.ru/index.php?showalbum/login-kapusta-advert2679955768&wi=1024&lo=http:%2F%3Fbundle%3D0\",10\n", - "-1,0,0,\"http://state=19945206/foto-4/login-nork&clid=1995242%26pid%3D131067\",\"http://irr.ru/index.php?showalbum/login/?do=showCamp&cid=1060948/6#f\",10\n", - "-1,0,0,\"http://state=19945206/foto-4/login-2006/make=ForeightEnd\",\"http://irr.ru/index.php?showalbum/login.aspx#location\",10\n", + " 0,0,0,\"\",\"http://irr.ru/index.php?showalbum/login-kapusta-advert2601.html%3Fhtml?1=1&countpage/139/currency\",13\n", + "0,0,0,\"\",\"http://irr.ru/index.php?showalbum/login-sumki/Odessa.ru/user_id=6640&wi=1280&lo=http://chek-9756595,59.938532343965\",13\n", + "-1,0,0,\"http://state=19945206/foto-4/login-2491724/?bundlers/search?text\",\"http://irr.ru/index.php?showalbum/login-kapusta-advertif?sle=24#/view.php?f=98&s_yers=0&po_yers\",13\n", + "-1,0,0,\"http://state=19945206/foto-4/login-2006/makum\",\"http://irr.ru/index.php?showalbum/logino-s-grigerator/page1=&input_age1=\",13\n", + "-1,0,0,\"http://state=19945206/foto-4/login-2006/makumirostova.ru/adv?id=299953&lr=39&text=пневмоскве\",\"http://irr.ru/index.php?showalbum/login\",13\n", + "-1,0,0,\"http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/76/~8/\",\"http://irr.ru/index.php\",13\n", + "1,0,0,\"http://google.ru/forum\",\"http://irr.ru/index.php?showalbum/login\",13\n", + "-1,0,0,\"http://kinopoisk.ru/yandex.ru/index.ru/?a\",\"http://irr.ru/index.php?showalbum/login-leniya7777294,938303130\",13\n", + "-1,0,0,\"http://state=19945206/foto-4/login-2006/makumiroshoowbiz/down%2Fholodilnik.ru/7678/?\",\"http://irr.ru/index.php?showalbum/login-leniya7777294,938303130\",13\n", + "5,0,0,\"http://state=19945206/foto-4/login-2006/makumirostova.rambler.html?albumfoto-15.xhtml?city\",\"http://love.ru/a-myprofi\",13\n", "\n", "Q40: SELECT URLHash, EventDate, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND IsRefresh = 0 AND TraficSourceID IN (-1, 6) AND RefererHash = 3594120000172545465 GROUP BY URLHash, EventDate ORDER BY PageViews DESC LIMIT 10 OFFSET 100;\n", - "DuckDB time: 0.02991461753845215\n", + "DuckDB time: 0.06414151191711426\n", "DuckDB return:\n", " URLHash EventDate PageViews\n", - "0 -4931472208533333253 2013-07-15 19\n", - "1 -5794910153905534566 2013-07-15 19\n", - "2 -5968684202638057156 2013-07-15 19\n", - "3 -8213908143099318937 2013-07-15 18\n", - "4 7644052073203380311 2013-07-15 18\n", - "5 2183693295573901880 2013-07-15 18\n", - "6 -1419388746330668048 2013-07-15 18\n", - "7 1237664075729419728 2013-07-15 18\n", - "8 4329780285977997346 2013-07-15 18\n", - "9 -2224212313665879299 2013-07-15 17\n", - "chDB time: 0.07541251182556152\n", + "0 8436286387721556030 2013-07-15 23\n", + "1 -1285046671250476833 2013-07-15 23\n", + "2 -8435826299601811261 2013-07-15 23\n", + "3 7719727592795372103 2013-07-15 22\n", + "4 -3172049944036544851 2013-07-15 22\n", + "5 -3950137591013798111 2013-07-15 22\n", + "6 3756346524397046411 2013-07-15 22\n", + "7 1387759335351574242 2013-07-15 22\n", + "8 2680587802399303961 2013-07-15 22\n", + "9 3936351847986462322 2013-07-15 21\n", + "chDB time: 0.1049797534942627\n", "chDB return:\n", - " -339974555314089722,\"2013-07-15 08:00:00.000000000\",19\n", - "-5968684202638057156,\"2013-07-15 08:00:00.000000000\",19\n", - "5949607704977564016,\"2013-07-15 08:00:00.000000000\",19\n", - "1237664075729419728,\"2013-07-15 08:00:00.000000000\",18\n", - "2183693295573901880,\"2013-07-15 08:00:00.000000000\",18\n", - "-8213908143099318937,\"2013-07-15 08:00:00.000000000\",18\n", - "-1419388746330668048,\"2013-07-15 08:00:00.000000000\",18\n", - "4329780285977997346,\"2013-07-15 08:00:00.000000000\",18\n", - "7644052073203380311,\"2013-07-15 08:00:00.000000000\",18\n", - "-2224212313665879299,\"2013-07-15 08:00:00.000000000\",17\n", + " 8436286387721556030,\"2013-07-15 08:00:00.000000000\",23\n", + "7516345568886640333,\"2013-07-15 08:00:00.000000000\",23\n", + "-1285046671250476833,\"2013-07-15 08:00:00.000000000\",23\n", + "7719727592795372103,\"2013-07-15 08:00:00.000000000\",22\n", + "-3950137591013798111,\"2013-07-15 08:00:00.000000000\",22\n", + "2680587802399303961,\"2013-07-15 08:00:00.000000000\",22\n", + "1387759335351574242,\"2013-07-15 08:00:00.000000000\",22\n", + "-3172049944036544851,\"2013-07-15 08:00:00.000000000\",22\n", + "3756346524397046411,\"2013-07-15 08:00:00.000000000\",22\n", + "-7305217696874413005,\"2013-07-15 08:00:00.000000000\",21\n", "\n", "Q41: SELECT WindowClientWidth, WindowClientHeight, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-01' AND EventDate <= '2013-07-31' AND IsRefresh = 0 AND DontCountHits = 0 AND URLHash = 2868770270353813622 GROUP BY WindowClientWidth, WindowClientHeight ORDER BY PageViews DESC LIMIT 10 OFFSET 10000;\n", - "DuckDB time: 0.027048587799072266\n", + "DuckDB time: 0.06516814231872559\n", "DuckDB return:\n", " Empty DataFrame\n", "Columns: [WindowClientWidth, WindowClientHeight, PageViews]\n", "Index: []\n", - "chDB time: 0.061901092529296875\n", + "chDB time: 0.1025075912475586\n", "chDB return:\n", " \n", "Q42: SELECT DATE_TRUNC('minute', EventTime) AS M, COUNT(*) AS PageViews FROM hits WHERE CounterID = 62 AND EventDate >= '2013-07-14' AND EventDate <= '2013-07-15' AND IsRefresh = 0 AND DontCountHits = 0 GROUP BY DATE_TRUNC('minute', EventTime) ORDER BY DATE_TRUNC('minute', EventTime) LIMIT 10 OFFSET 1000;\n", - "DuckDB time: 0.02784132957458496\n", + "DuckDB time: 0.0675814151763916\n", "DuckDB return:\n", " M PageViews\n", - "0 2013-07-15 12:40:00 314\n", - "1 2013-07-15 12:41:00 270\n", - "2 2013-07-15 12:42:00 273\n", - "3 2013-07-15 12:43:00 285\n", - "4 2013-07-15 12:44:00 271\n", - "5 2013-07-15 12:45:00 299\n", - "6 2013-07-15 12:46:00 266\n", - "7 2013-07-15 12:47:00 240\n", - "8 2013-07-15 12:48:00 253\n", - "9 2013-07-15 12:49:00 273\n", - "chDB time: 0.06813645362854004\n", + "0 2013-07-15 12:40:00 434\n", + "1 2013-07-15 12:41:00 378\n", + "2 2013-07-15 12:42:00 395\n", + "3 2013-07-15 12:43:00 391\n", + "4 2013-07-15 12:44:00 366\n", + "5 2013-07-15 12:45:00 406\n", + "6 2013-07-15 12:46:00 395\n", + "7 2013-07-15 12:47:00 381\n", + "8 2013-07-15 12:48:00 385\n", + "9 2013-07-15 12:49:00 415\n", + "chDB time: 0.08783388137817383\n", "chDB return:\n", " \n" ] }, { "data": { - "image/png": "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Ez322GPKly+fAgICdPPmTZ0/f167d+/WX3/9pWvXrjl0nJK0fPlyvfXWW8mvXXBwsFq2bKm6desqX758SkpK0unTp7VkyRKLGz+ioqLUq1cv7dy50+LmOls9//zzptevRo0aatOmjUqWLKmAgABdunRJf/75pxYvXmx6b0VHR6tnz57as2ePrl69qnbt2iWfBy8vLzVp0kRNmzZVoUKF5OnpqdOnT2vRokUWx3Dy5El9+OGHGjdunEP1Fy9eXNWqVVOlSpVUpEgRBQYGytfXV7du3dKFCxe0b98+rVy50qKZffz48Xr44Yf15ptvOpRXkn7++WdT3QEBAWrRooXq1aun/PnzyzAMhYaGat26dfLw8HA4z93CwsLUvn177dixwxSvXbu2Fi9ebPUmt3vRgQMHLGKlS5e2aWx0dLQaN25s9WaY0qVLq0mTJqpSpYpy5colT09PXb16VTt37tSyZct05cqV5H3j4+P18ssvK3/+/Grbtm2aOUeOHGnxeSdJRYsWVcuWLVWpUiXlz59fPj4+io6OVkREhI4fP66DBw9q69atGb7x5l4UEBBg+p6Y8ia3/PnzW73B+W6FChWyiF29elU9e/ZUbGysKe7p6amGDRuqbt26KlGiRPKNCREREQoLC9OhQ4e0Z88eHT582NFDAgAAAADgPy5dTx0AAAAAAOAeEBYWZvj6+lr9efH27dsbmzZtclruDRs2WM0bFhbmlHxvvPGGRa42bdqkOcbaz8Cn9pPx94LNmzcbHh4eFjXXr1/fOHLkSKrj/vrrL6NChQoW40JCQowzZ86km9faefLx8Un+388995xx4cKFNMfnypXLYo6RI0c6dB7sNWXKFIvcQ4YMydQco0aNsshRsGDBdMc1adLEaNmypTFjxgzjypUrNuW6cuWK0adPH8PNzc2Ur3LlyjbXO2TIEIt6M2LKlClGqVKljOHDhxv79++3aUxCQoIxffp0o0CBAqY63NzcjB07dticu3jx4pl6LCmdOnXKYv6734eNGzc2Dh06lOr427dvW437+fkZPXv2NFasWGFER0fbVMvBgweNFi1aWNTTu3dvm48n5fny9vZO/t/VqlUzdu3alerYFStWGP7+/hb5N27caFSrVi15+9lnn031mpCYmGgMHz7cYo7g4GC7zoOfn59pvKenp9G/f/90P2P27t1r1KhRwyJ/v379bMqdEdb+lho1amTXHElJSVavNzly5Ejz7zClNWvWGO7u7qY5fH19jZEjRxo3b95Mc+y6deuM0qVLW9Tw/fffp5vX2rXnzueJl5eXMXLkyFTfM0lJSca3335rUbckY+vWrTYd99WrV61eMwIDA40RI0YYUVFRaY5PSEgwVq9ebXTt2tXw8PBIc19rnz13jtXNzc14//33jRs3bqQ6fvbs2abP2juPWbNm2XSsjRo1SvW9XrJkSWP16tWpjt21a5eRP39+i9wzZ8402rdvn7zdvHlz4+jRo6nOM3nyZIvvLe7u7kZoaKhNxzBkyBDj4YcfNr755ps089wtJibGGDt2rBEUFGRx/OfOnbNpDmuv3d3H8frrrxtXr15Ndby1v+GUr0d67/1///3XKFmypEUdHTt2tPlamVE9e/a0yL9u3Tq75oiKijLy5MljMc/o0aMdrqFSpUrGqlWrjKSkpFTHRUdHGyNHjjS8vLxMY3PmzJnm39/t27eNgIAA0xg/Pz9j8uTJRmJiYrr1xsTEGKtWrTK6du1qNGzYMN39Ux6bo99PU56n4sWL2zQu5fXQ1n8HZVbdw4YNs5irRYsWNv37xDD++1wdPXq0UbZsWWP58uUO1QAAAAAAeLDRaA4AAAAAAGAYRv/+/S3+D/y7H4ULFzZ69eplTJgwwdi3b58RHx+fKXknTJhgkatYsWKZMrc1kyZNssiXXpNFdmo0T0pKMsqXL29Rb9u2bY3Y2Nh0x1+7ds2oXLmyxfh27dqlO9baebrzGDZsmE31b9q0yaIxukyZMjaNzaisaDRP7caK1Bom7wgPD3c459SpUy3yrVy50qaxmd1oHhERkWbDV1rOnDljFCtWzFRL165dbR7vikbzO49OnToZcXFxDs3r6GufmJhovPjii6Y6/P39jevXr9s03tr5kmQ0bNjQiIyMTHf8zJkzLcbmy5cv+X/379/fpjpefvlli3lmzJiR7rjExESLa5m/v7/x559/2pTXMAwjNjbWomE/R44cNje/OsqRRvO4uDjj2rVrxvbt240xY8YYjzzyiNXXb/z48TbXERERYdFEnC9fPuPAgQM2zxEeHm5UqVLFNEeePHnSbdS2du2R/msCXrNmjU25P//8c4vxL730kk1ju3TpYjG2SJEidh37HadOnUrzeWufPdJ/Tea//PKLTTlmzJhhMb5Zs2Y2jU3Z2HznUbFiRePixYvpjt+yZYvF5/bd7/WuXbva9J3R2o0ln3/+uU3HkJHPyP3791s0m3/44Yc2jU3ttZNk/O9//3OoHnsazdevX2/kzJnTInffvn1tanbOLJnRaP7xxx9bzOHp6ZnmDYp3zJ4922Jshw4dbPree8fKlSstms3feOONVPdfsmSJRc6pU6fanO9u6V0PDYNG85o1a5rmqVChghETE2P3PElJSVl2AwYAAAAA4P7iLgAAAAAAAGjo0KF67LHHUn3+/PnzmjJlil599VVVrVpVgYGBql27tt5++23NmzdPly9fdijvuXPnLGKFCxd2aC5bWJv7woULMgzDaTmz0tKlS3XkyBFTrFixYpo9e7Zy5MiR7vhcuXLpjz/+kK+vb7rz2qpTp0765JNPbNq3fv36evrpp02x48eP68SJEw7lvtfky5fPatza++BuwcHBDufs2bOnOnfubIpNnDjR4fkyIjAwUG5ubg6NLVasmMaNG2eKzZ07Vzdv3nS4nqpVqzr0GD9+vM05SpQooWnTpsnLy8uhGh197d3d3fXDDz+oaNGiybGoqCjNmjXLofkkKXfu3Prtt98UEBCQ7r5du3ZVpUqVTLGwsDBJUqNGjfTFF1/YlPOzzz6Tu7v5P+MvX7483XHz58/XwYMHTbEpU6aoSZMmNuWVpBw5cmju3LnKkydPciwuLk6jR4+2eY7MsmHDBrm5uaX6yJEjh3Lnzq3atWvr3Xff1f79+03jixQpogULFui1116zOef48eNNn+3u7u5atGiRHn74YZvnCA4O1oIFC0yfP1evXnX4GvT111+rWbNmNu3bv39/i8/8lStXpjvu8OHDmjt3rinm4+OjZcuW2XXsd5QoUcLuMZL07rvv6rnnnrNp327duunRRx81xTZs2KCYmBiHcnt7e2v27NkqUKBAuvvWrVtXbdq0McXuvNfLly+viRMnytPTM9153n//fYWEhJhitrzXpYx9RlapUkUjRowwxSZNmuTwfJL01FNP6b333svQHOmZMWOGWrZsqRs3biTH3N3d9c033+ibb76xuG7eqwzD0KhRoyxeA0l68803VbBgwXTHDx061BR75JFHNGfOHJu+997RsmVLDRkyxBSbMmVK8t9ySidPnjRt+/r6qnv37jbnu5ufn59D4x4kKc/3c889J29vb7vncXNzs/g3DgAAAAAA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gadskrxX9enTR/379zfFYmNjU73564578Rxmxd+Otc84RxqmM8qVn53Z6b1+x8yZM/XUU09laoOxo58tGb3up3Ty5EmL78UdO3bUjBkz7tkmc0maOHGi9u3bZ3rs379fx48fV2RkpHbt2qU33njDohF406ZNateundVfQUgpK65TMTExqT5Xp04dLVmyRHny5LH6fFxcnLZs2aL//e9/euaZZ1SgQAFVqlRJgwcP1pEjR5xV8n1rxowZaf4aR2hoqGbNmqX33ntPderUUc6cOdWpUyfNmTMnU78/AwAAAAAeTDSaAwAAAAAAZIJWrVpp586datOmjcVzYWFh+uOPP6yOq1ChgkXszJkzdq+cbatdu3ZZxNJa1TU7iYyMtIj5+/s7PJ+1sdZywHY7duywiBUqVCjNZrHp06dr3LhxFvFcuXLppZde0uTJk7Vp0yadPn1aN27c0O3bt2UYhulx6tSpTD0OR9y4cUNdunSxuOnE3d1dLVu21MiRI7VixQodOnRIV69e1a1bt5SYmGhxLI0aNXLREdgvoytpvvfee9q2bZtFvGzZsnr33Xc1Z84c7dixQxcuXNDNmzcVGxtrcb6mTJmSoRqyo9R+OeBB9dFHH8nPz88UW7dunQ4ePJjqmAf1HEZERFjE7odfPLmfnThxQi+++KISExNNcS8vL3Xs2FFjxozRmjVrdOTIEV2/fl1RUVFKSkqyuFYWL148U+rJ7BWUrc23ZMkSzZ8/P1PzZKU7v5Q0btw4rV271mL18s2bN1vcIGPNvXCdat68uY4cOaIPP/ww1Ybzu/37778aNmyYKlasqM6dO98T38+yCz8/P82YMUMrV65U48aN071J+NatW1qwYIG6dOmi0qVL66effkr+dQ8AAAAAAOzFb2YBAAAAAABkEl9fX/32228qXbq0RaP42rVr9eyzz1qMqVq1qtzc3Cz+j//UmtYzaufOnRaxypUrZ3oeVwgMDLSIRUVFOTyftbHWcsB2W7dutYhVr1491f3j4+M1YMAAi/jAgQM1ePBg+fr62pT3Xlh9ecSIEbpy5YopVrNmTc2cOVNly5a1eZ574Viywt9//63JkyebYgEBARo/fry6detm868wPCjn627W3he3b9+Wj4+PC6pxveDgYDVo0EArV640xVeuXJnq55+vr69pRef8+fPr0qVLTq3zXmBtNepbt265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X+j27dsWcU9PT3322WcW8QEDBqTanG6Lv/76y+I6cLcxY8Y4fB2LiIjQ1KlTTbGQkBAVL1481TFt2rSxiA0cOFDx8fHp5rtx44Y6d+7skpv1Un6P3LBhg6Kiouya4/jx4xo2bJiuXLniUA0//fSTxXvhkUcecWguAAAAAMCDi0ZzAAAAAAAASQkJCZo6daoqVqyoOnXq6Pvvv7e62p410dHRGj9+vKpVq2Z1xc+vv/5aPj4+6c7j4+OjhQsXqkSJEhbPjRkzRpUrV9aCBQvSbaoIDQ3VO++8o0cffdTqSu09e/bU+++/n2492ZGbm5smTZpksRrrokWL1LJlSx0/fjzVsdu3b1f9+vW1f/9+UzwkJETfffedU+q9HxiGoZMnT2rWrFl69913Vbp0aXXo0EFbtmyx2NfDw0Pjx49Xr169bJq7devWCgwMNMXmzJmjl19+Oc1GnVWrVumxxx7Trl27JElBQUF2HNH/V7lyZYuxI0eO1NSpU602fKXGy8tLHTp0MMVu3LihZs2a6cCBA6mOu3Dhgrp166YhQ4Ykxxw9luzmmWeesYj17dtX48aNS7WBPDExUT/88IOaNGmSfIPBg3K+UvLw8NDcuXMt3j/bt29XtWrVNG7cOJtuXkpISNCaNWv06quvqlixYvrggw906dIlZ5WdKS5evKjp06erXr16Vn8pxMvLy6ZrelBQkH777Td5enqa4kuWLFGNGjU0Y8YMm25giomJ0aJFi9SjRw8VL15cn3/+ucON6lll7NixKlWqlCl27tw51atXT19++WW6vxKSmJiodevWqUePHtyk5UQFCxZU/fr1TbHjx4+rVatWOnPmTKrjjhw5otatW2vixImS/mtW9vPzc2qtzlKnTh2tW7fOYoXmRYsW6YknnrDrF23uFc8++6wqVapkil28eFE//vij1f27detm8b0qISFBr7/+up566qk0v2fc7dy5c/r2229Vp04d1atXT3/88Ueq+27YsEEtW7ZU5cqVNWLECJtv1D106JCaN29u8ff5zDPPyMvLK9VxdevWVcWKFU2xPXv2qFOnTmn+Use6dev02GOPaefOnZJk07/HMlPdunVN2zdv3lSXLl3077//2jzHrVu3NHjwYBUrVkw9evTQggULbPoOGhcXp1GjRql///6muIeHh5599lmb8wMAAAAAIEme6e8CAAAAAADwYNm+fbu2b9+uPn36qESJEqpdu7YqVaqkPHnyKHfu3HJzc1NERITOnDmj/fv3688//0y16fWZZ55Rz549bc5duHBhbdiwQS1atNDRo0dNz504cUKdOnVSSEiI2rZtq4oVK6pgwYIKCAjQ5cuXdeHCBa1bt047duxItRGzS5cumjRpktzc3Gw/IVb88ccfqlq1aobmkKT+/fure/fuGZ7nbnXr1tWQIUMsVoRct26dKlWqpGbNmqlp06YqXLiwEhMTFRoaqmXLlumvv/6yOG9ubm766aefVKxYsUytMbsYP368Fi5caBFPSkpSZGSkwsPDFRERoaSkpHTnKlasmH799Vc1bNjQ5vw5c+bUu+++q6FDh5rikyZN0sKFC/X000+revXqypkzp8LDw3Xy5EktWbLEdMOHh4eHvv32W5ub2+/m5eWlHj16aNy4ccmxqKgo9erVSy+//LKKFi2qwMBAubub1/MYOnSonnjiCVNs0KBBmj17tulGkaNHj6patWpq3bq1mjZtqiJFiighIUEXL17U+vXrtWbNGtMqlC+++KJOnDihDRs22H0s2U2zZs3UsGFD02q7CQkJ6t27t7799lt17NhRlSpVkq+vr65cuaKDBw9q0aJFptW68+fPr/fff18DBgxwxSG4XOXKlTVjxgx16tTJ1BAdFham3r176+OPP1ajRo1Uu3Zt5cuXT8HBwYqKilJ4eLjOnj2r3bt3a+/evTatjuxsu3btSvczJyoqStevX0+z6dDT01MzZsywaOJMTbNmzTR27Fi9+eabpviJEyfUo0cPvf/++2rcuLFq1KihvHnzKiAgIPnaePLkSe3evVv79u2z68aUe0FISIjmz5+vhg0bKjIyMjkeERGhgQMHasSIEWrWrJnq1KmjfPnyKSAgQDdv3tSFCxe0d+9ebdmyRWFhYS48ggfHZ599pmbNmpli27ZtU7ly5fTkk0+qfv36KlCggGJiYnT+/HmtXr1amzZtMl0TBg8erEmTJqXZnH4vq1q1qjZu3KjmzZvr/PnzyfFVq1apdevWWrJkSba66cjd3V1DhgxRly5dTPEvv/xSr7/+utWbAsaPH6/jx49r06ZNpvjvv/+u33//XY888ogaNWqksmXLKnfu3HJ3d1d4eLiuXbumgwcPavfu3Tp27JjdvwRy6NAhffzxx/r4449VokQJVatWTY888ojy58+vkJAQeXp6KiIiIrm2LVu2WOTInTu31VXZUxoxYoQ6duxoii1ZskSlS5dW586dVatWLeXMmTM538qVK7V3797kfevXr6/ixYtn6S/EPP/88/rkk09M77elS5dq6dKlypkzp/Lnzy9vb2/TmEKFCln99ZyYmBjNmDFDM2bMkK+vr6pWrapq1aqpbNmyCgkJUWBgoGJjY3Xp0iXt379fK1assHodHjhwoIoWLZr5BwsAAAAAuK/RaA4AAAAAAJCG06dP6/Tp0w6N7dmzpyZNmmT3uGLFimnHjh168cUX9fvvv1s8Hx4ebneThKenp4YNG6YPPvggw03m0n+rMd+4cSPD8zj6M/DpGTRokAzDMK0ELUnx8fFasWKFVqxYke4cXl5emjJlitWVlR8Uly9f1uXLlzM0R65cufT2229rwIAB8vX1tXv8J598ovXr15sajiXp2rVrGj9+fJpj3dzcNG7cODVu3NjuvHcMGjRIv//+u8UqzomJialeG6w1upYrV07fffedXn/9dVM8KSlJy5Yts9pUdLemTZtq3LhxatWqlX0HkI39+uuvevTRRy3+Bo8ePaovv/wyzbFBQUFaunSp1V+ZeJC0b99ea9euVZcuXSz+hsPDw7Vo0SItWrTIRdXZLioqyuLXJuxVoEAB/fzzz2rXrp1d49544w3ly5dPvXr1MjVdS/9dI2fPnq3Zs2dnqLZ7UdWqVbVlyxa1b9/eogE5IiJCCxYs0IIFC1xUHe5o2rSpBg4cqC+++MIUj4uL09y5czV37tw0x/fo0UOffPKJQ99X7yUVKlTQ5s2b1axZM508eTI5vmnTJjVr1kwrV65Urly5XFihfZ5++mkNGzZMBw8eTI6FhYXp+++/t3rzVI4cObRq1Sr17t1bkydPtnh+//79Gb6GpufOv5nsuS6EhITo999/V4ECBdLdt0OHDurVq5emTJliioeHh2vixInJK/RbU7FiRS1YsED9+vWzubbMULBgQX3yySf69NNPLZ5L7d9S4eHh6c57+/Ztbd26VVu3brWrni5dulj82wgAAAAAAFu4p78LAAAAAADA/e25555T9+7dFRISkinzlSpVSosWLdLUqVPl4eHh0BzBwcGaP3++fv/9d4ufirdXvXr1tHnzZg0cODBTmsyzi8GDB2vWrFkqVKiQ3WMrVaqk1atXZ/pq6w8Kb29vtW7dWpMnT1ZoaKiGDBniUJO59F/D/x9//GF3c2hISIjmzJmjV1991aG8dxQoUEB//vmnatSokaF5JOm1117TuHHjlCNHDrvGvfjii1q2bJnFqpf3u2LFiunPP/9U+fLl7RpXvnx5/fXXX5nymt0PGjZsqD179qhHjx4OfyZJ/9240aRJEzVo0CATq3O+PHnyqF+/fjp8+LDd15E7nnrqKe3atcvh8Xd4enqqXbt2qlKlSobmySoPP/ywduzYoR49elj8coOt8uXLl8lVIaURI0bok08+ses7noeHhz766CNNmzbtvvluWKJECW3atMnie/OuXbvUqFEji5tt7mVubm5Wm5O//vpr3bp1y+oYHx8fTZo0SdOnT1epUqUylD9fvnwWv+RwN1saw9NTv359bdmyxa5fuvn555/1yiuv2JWnRYsW2rx5s/LkyWNviZli0KBB+vzzz+3+7neHn5+fAgMDM1RDQECARo4cqVmzZsnLyytDcwEAAAAAHkw0mgMAAAAAgAdevXr1NH36dIWFhWnt2rUaPHiwmjZtqoCAAJvnyJ8/v7p3766lS5fqyJEjeuKJJzKlto4dO+rQoUNaunSpunXrZvdqjJ9++qk2b96s2rVrZ0o92c2zzz6r48eP66uvvlK1atXSbKby9PRU/fr1NXHiRB04cECNGjXKwkqzF09PT/n7+ytv3ryqVKmSmjRpopdffln/+9//tGHDBoWHh2v58uXq1auX/Pz8MpwvODhYf/zxh2bMmJFug2a+fPnUv39/HTlyRJ07d85wbum/lTB37typDRs26J133lGTJk1UpEgRBQUF2d24+8Ybb2jPnj3q0qVLms0+OXLkUPv27bVx40ZNmjTpgWsyv6NSpUratWuXPv/883Qb2ypWrKixY8fqwIEDeuihh7KowuyhYMGC+vXXX3Xs2DG98847Nt/AFBgYqHbt2umbb77RqVOn9Oeff96znyc5cuRQnjx5VLp0abVq1UoffvihFi9erAsXLujrr79WcHBwhuYvV66cFi9erP379+uVV15RyZIlbRqXO3dude7cWT/99JPOnz+vxYsXq1y5chmqJSvly5dPv/76qw4ePKhXXnlFRYsWTXdMcHCwOnXqpFmzZik0NDQLqnywubm5adiwYdq8ebPatGmT5k0Bfn5+6tatm3bv3q3PP//c4RsI7lWFChXSxo0bVa1a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LlxQnTp1FBYWpipVqqhz586qXr26ihQpIn9/f0lSVFSUzp07pz179mju3Llat26dHnvsMe3evVuFChVy8REAAIDsqFy5cgoICNCtW7eSYydPnnRhRdKQIUO0Y8eO5O0cOXJo6tSp6tq1q9X9PT09VbNmTdWsWVNDhgzRtm3bMpT/8OHDatOmjU6fPp0ca926tebNm5f8vSwr1ahRQ7/99lvytj2vT0xMjNasWWP1ubi4OF25ckX79u3T/PnzFRoamvycl5eXpk2bpqJFizpe+AOERnMAAAAAAAAAAAAAAAA4zaBBgxQWFqbRo0frnXfeSXW/KlWq6PHHH9cnn3yi0aNHq1+/fho8eLAmTpyYdcUCAID7hpubm3Lnzm1qNL948aLL6rl+/bq+++47U+z7779Ptck8JS8vLzVo0MDh/H/99Zfat2+v69evJ8deeOEF/fzzz/L0dE07cZ48eUzbkZGRioqKsqnp/fLly2rRooXNuby8vNS6dWsNHTpUVatWtbfUB5a7qwsAAAAAAAAAAAAAAADA/WvFihWqXbt2mk3mKb333nuqXbu2li9f7rzCAADAfS8kJMS0fXfTeVabOHGioqKikrcbNGigV155JUtyL1y4UM2bNzc1mX/88ceaMmWKy5rMJcvXR3LOa+Tm5qZ27drptdde0yOPPJLp89/PaDQHAAAAAAAAAAAAAACA01y/fl0lSpSwe1zx4sVNzVAAAAD2CggIMG3HxcW5qBJp1apVpu233347S/L++OOPeuqpp3T79m1JkoeHh3788UcNHz48S/KnJeXrIznnNTIMQwsWLFC7du306KOP6vDhw5me435FozkAAAAAAAAAAAAAAACcplixYtq0aZOio6NtHhMdHa1NmzapaNGiTqwMAADc7yIjI03b3t7eLqkjISFB27ZtS952d3dX69atnZ73o48+0ptvvqmkpCRJkq+vr+bPn6/XX3/d6bltkfL1kWx/jYoXLy7DMKw+EhMTdePGDe3atUtff/21SpUqlTxu165dqlOnjvbu3Ztpx3E/o9EcAAAAAAAAAAAAAAAATtOlSxdduHBBrVq10oEDB9Ld/8CBA2rVqpUuXbqkbt26ZUGFAADgfnXz5k3TtrUVtLPCpUuXFBUVlbxdvnx5p9aSkJCgnj17auTIkcmx3Llza82aNXryySedltdeKV8fKXNeI3d3d4WEhKhGjRrq16+fDh48qM6dO5vyduzY0fSawDpPVxcAAAAAAAAAAAAAAACA+9dHH32k1atXa8uWLapWrZpKly6t6tWrq0iRIvLz85P03wrm586d0549e3TixAkZhqE6deroww8/dHH1AAAguzIMQ1evXjXFChUq5JJarl+/btrOly+fU/OdP39ev/zyS/J2SEiINm/erAoVKjg1r73CwsJM28HBwcnfDzOTr6+vpk+frl27dun06dOSpDNnzmjs2LF830wHjeYAAAAAAAAAAAAAAABwGh8fH61fv17Dhg3TDz/8oOPHj+v48eOSJDc3N0n/NYLdERwcrLfeekuffPKJvL29XVIzAADI/g4fPmyxYnXp0qVdUktkZKRp29krq3t5eSkhISH5O1Z4eLjmzZunTz75xKl57bV7927TtjNfH29vb73++usaOHBgcmzKlCk0mqeDRnMAAAAAAAAAAAAAAAA4lbe3t4YPH64hQ4Zoy5Yt2r9/v86ePatbt25J+q/ZqlixYnrkkUdUr149eXl5ubhiAACQ3e3YscMiVq1aNRdUIgUGBpq273wHcpZChQppyJAhevnll5WUlCRJGjRokGJjYzVs2DCn5rZHytfI2a9P3bp1TdvHjh3TlStXlDdvXqfmzc5oNAcAAAAAAAAAAAAAAECW8PLyUuPGjdW4cWNXlwIAAO5z8+bNM22XKVNGRYoUsdjvzi+sOCI6Otqm/XLlymXaDgsLczinrXr16qUcOXKoZ8+eSkxMlCQNHz5csbGx+uqrr5yePz179uzR6dOnTbEmTZo4NWe+fPksYqGhoTSap8Hd1QUAAAAAAAAAAAAAAAAAAAAAmeXkyZNatmyZKdaxY0er+/r4+Ji2b9++bXOeK1eu2LRfgQIFFBAQkLx95MgRp69qLkndu3fXrFmzTL8W8/XXX6tv375Oz52esWPHmra9vb3Vpk0bp+aMj4+3iMXGxjo1Z3ZHozkAAAAAAAAAAAAAAAAAAADuG/369VNSUlLytru7u1599VWr+wYFBZm2L1++bHOenTt32rSfp6enHnvsseTtpKQkrVixwuY8GfH0009r7ty5ypEjR3Js7NixeuONN2QYRpbUkNKuXbs0a9YsU+yZZ56xWPk9s509e9YiZm2Vc/x/NJoDAAAAAAAAAAAAAAAAAADgvjBmzBgtWLDAFHv++edVpkwZq/sXL17ctL13716bc82ePdvmfVu3bm3aTrmitzM9+eSTWrhwoWn19vHjx+ull14yNeRnhWvXrumZZ55RXFxccszLy0uDBg1yeu6VK1eatv38/FSkSBGn583OaDQHAAAAAAAAAAAAAAAAAABAtpaQkKD3339f7733nileoEABffnll6mOK1++vPz8/JK3V69erfDw8HTz7dy506KhPS0vvviiAgMDk7c3bdqkn3/+2ebxGdWmTRstWbLEdKxTpkzR888/r8TExCypYc+ePapVq5ZOnTplig8aNEhly5Z1au5Tp05p0qRJplizZs3k7e3t1LzZHY3mAAAAAAAAAAAAAAAAAAAAyJZiYmL0888/q0qVKho9erTpOT8/P82bN0/58uVLdbyHh4datWqVvH379m0NGDAgzZwnTpzQM888Y1eDdkhIiPr27WuKvfXWW/rtt99sGh8fH69NmzbZnM+aZs2aafny5QoICEiOzZgxQ127dlVCQkKG5k7L33//rZdeekmPPfaYRZN5p06d9PHHHzsttyTt379frVu3VlRUlCn+/vvvOzXv/cDT1QUAAAAAAAAAAAAAAAAAAAAAd9u9e7dF83N8fLzCw8MVHh6u06dPa9u2bdq1a5eio6MtxufPn1/z5s1TvXr10s31yiuvmFYn//nnn5WQkKDhw4erUKFCyfHr16/rl19+0bBhw3T9+nWVLl1aJ06csPmYBg8erDVr1mjbtm2SpLi4OHXt2lVz587Ve++9pzp16sjDwyN5/4SEBO3fv18LFizQL7/8olKlSmn9+vU257OmYcOGWrVqlVq3bq2IiAhJ0ty5cxUfH6/Zs2crR44cNs1z48YNrVmzxiIeGRmp8PBwXbt2TXv37tW2bdt08uRJq3P06tVLP/30k9zd7V83OyYmxmp+SUpKSlJkZKSOHz+uP//8U2vWrFFSUpJpn5deekmNGjWyO++DhkZzAAAAAAAAAAAAAAAAAAAA3FP69evn8Nhnn31WY8aMUYECBWzav02bNmrXrp2WLFmSHJsyZYqmTp2qsmXLKiQkRNevX9fJkyeTG5b9/f01Z84c1ahRw+a6vLy8NG/ePLVq1UqHDh1Kjv/+++/6/fffFRgYqKJFiyowMFA3b97U6dOnFRMTk7xfqVKlbM6Vlscee0xr165Vy5YtdePGDUnSwoUL1bFjR/3+++/y9vZO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AAAAAAAAAEBWpFKpOOKII7IdA4BdyMl2AAAAAAAAAAAAAAAADiyK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAAAAAAAAmK5gAAAAAAAAAAAAAAJCiaAwAAAAAAAAAAAACQoGgOAAAAAAAAAAAAAECCojkAAAAAAAAA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vnx5kqRQKCRJisViw/pu3bpl/PjxmThxYjp27FiSzAAAsCOK5gAAAAAAAAC0S+PHj8+aNWtKHQPYg3Ts2DFXXnllLrvssixYsCBLly7NypUrs2nTpiRJly5d0rt37wwcODDHHntsysrKSpwYAAC2T9EcAAAAAAAAgHbp3HPPLXUEYA9VVlaWqqqqVFVVlToKAADsMkXzNuSJJ57IAw88kNra2mzZsiXdu3dP//79c8wxx6RTp06ljgcAAAAAAAAAAAAAtBOK5m3A7373u0yePDnV1dXbPN+lS5ecccYZueyyy9KjR49WyVQsFvPII4/kgQceyAMPPJD7778/y5Yty8svv9yw5vTTT8+NN964S9e/5557Mnz48F3OV15enpqaml2eBwAAAAAAAPZcixcvzowZM7Js2bKsWLEiGzduTJJ07do15eXlqaioyJgxYzJo0KASJwUAAIC2S9G8hF566aWcddZZuemmm3a4btOmTfne976X3/zmN/ntb3+bysrKFsv005/+NDfddFMefPDBbNiwocVeBwAAAAAAAKC51dTU5Mwzz8y8efOSvLbB1pstWrQo06dPzxVXXJGqqqpMnTo1ffr0aeWkAAAA0PYpmpfIq6++mnHjxuW2225r9Pxee+2V3r17p1u3bnnyyScblb2fffbZnHjiibnzzjtz9NFHt0iu2267LXfddVeLXBsAAAAAAACgpdTV1WXo0KFZvXp1KioqcvLJJ2fw4MHp1atXOnfunCTZvHlzamtrU11dnWnTpmXu3Lk5+uijs2jRovTs2bPE7wAAAADalt2maP7Xv/41S5cuTU1NTZ566qls2LAhmzdvTpJ07tw53bp1S+/evdOnT59UVFSkb9++JU68Y//+7//+lpL51772tUyaNKnhBsarr76a2267Leeff35WrlyZJKmvr8/nP//5/OUvf0m3bt1aNXPnzp0b/pk3t3/4h3/Il770pZ1ev++++7ZIDgAAAAAA2BnLli3Lc88916LfQgpA00yaNCmrV6/OlClTcv755293XUVFRUaPHp2JEydmypQpufDCC3PppZfmJz/5SeuFBQAAgN1Amy2aP/XUU5k5c2Zmz56d+fPn57nnnmvS/Lvf/e4cd9xxGTlyZEaPHp3y8vKWCboL1q5dm29961uNnvvOd76Tb37zm42e69ChQz796U9nyJAh+djHPpaampokSW1tbaZMmZIrrriixTIefPDBOfLIIzNkyJAceeSROfLII/Nf//VfLfaaffv2zfHHH98i1wYAAAAAgOZ23nnnZf78+dm6dWupowDw/5s9e3aOOuqoHZbM32zChAmZNm1aZs2a1XLBAAAAYDfVpormmzdvzk033ZRf/vKXue+++1IsFpOk4T9fVygUtjn/xnXr16/PjBkzMmPGjCTJ0UcfnX/4h3/Iqaeemi5durTQO9g5//t//+9s3Lix4biysjL/+q//ut31733ve/OTn/ykURH7mmuuyTe+8Y0ccMABzZrt0ksvzXXXXZdDDz20Wa8LAAAAAAB7mjf//gKA0lq3bt0ufdNEeXl5lixZ0vyBAAAAYDfXodQBkmTlypWZMGFCevXqlXPOOScLFizIq6++2nCD9s3F8mKxuM2fN3p95vVzf/7zn/P1r389vXr1yoQJE7JixYrWeXNv8uqrr+anP/1po+cuv/zy7ZbnXzdixIgcd9xxDccbN27MLbfc0uz5Bg8erGQOAAAAAEC7tc8+++zUz7333vuW9R07dixxeoD2rXfv3pk/f37q6+t3eqa+vj7z58/3O1IAAADYhpLuaP7000/nW9/6Vv77v/87L7/8corF4jZL5Yceemg+8pGPpH///unZs2cOOeSQdOnSJfvtt1+KxWJeeOGFbNq0KXV1damrq8sjjzyS//mf/0ltbe1bXvP555/PtddemxtuuCFnnnlmLrnkkrz3ve9trbec++67L88++2zDcd++fVNVVbVTs2eddVbmz5/fcPy73/0u55xzTnNHBAAAAACAdmvr1q0pFAo7vVv51q1bWzgRADtr3LhxufLKKzNy5Mhcf/31qaio2OH6ZcuW5dxzz82qVasyadKkVkoJAAAAu4+SFM1ffPHFfPe7382///u/58UXX2xUMC8Wi+nVq1fGjh2b4cOHp7KyMgceeOAuvc7q1atz77335p577sntt9/eqHi+ZcuW/PCHP8zPfvaz/Mu//Eu++c1vplOnTs3y/nZk5syZjY4/8YlPvO1u5m9c+0b33HNPNm/enM6dOzdbPgAAAAAAaM/69++fRx99NP/4j/+Y7373u+nWrds21w0fPjz33ntvXnnllVZOCMD2XHzxxZkzZ04WLFiQQYMGpV+/fhk8eHB69eqV/fbbL8lrO5jX1tamuro6TzzxRIrFYoYOHZqLLrqoxOkBAACg7SlJ0fwDH/hAnn766Ua7gbz73e/Oqaeemi996Us54ogjmuV1DjrooJx88sk5+eST873vfS8PPvhgfv7zn+dXv/pV1q1b17Ab+uTJk3PjjTempqamWV53R5YsWdLo+Jhjjtnp2Z49e6ZPnz4NObds2ZKHHnooRx55ZDMmBAAAAACA9mvp0qX51re+le9+97u57bbb8h//8R855ZRTSh0LgJ3QqVOn3HPPPZk8eXKuv/76LF++PMuXL0+SRhufva5bt24ZP358Jk6cmI4dO5YkM7CHuXzbH1Lc9ettaN7rAQBAE5WkaF5bW9vwF/kPf/jDufDCCzNu3LgW/8v7EUcckSOOOCJXX311fv3rX+c//uM/8j//8z8pFot56qmnWvS1X/fwww83Oh4wYECT5gcMGNCoEP/www/vMUXzYrGYJ598MqtXr84rr7yS/fffPwcffHC6d+9e6mgAAAAAALQTZWVlufzyyzNu3Lh89atfzWmnnZYbb7wxN9xwQ/r161fqeAC8jY4dO+bKK6/MZZddlgULFmTp0qVZuXJlNm3alCTp0qVLevfunYEDB+bYY49NWVlZiRMDAABA21WSonmSDBw4MJMnT87f//3ft/pr77PPPvnSl76UL33pS5k5c2YmTZqUpUuXtvjrvvDCC1m5cmWj5w499NAmXePN6x999NF3nKst+NnPfpbrrrsu69ate8u5/v375+Mf/3i+/vWv57DDDitBOgAAAAAA2psPfehDmT9/fn7wgx/koosuykc+8pFcdNFF+eY3v6mUCLAbKCsrS1VVVaqqqkodBQAAAHZbHUrxojfffHOqq6tLUjJ/s7//+79PdXV1fvWrX7X4a61Zs6bRV7GVlZXloIMOatI13vve9zY6Xr16dbNkK7WampptlsyT5JFHHskNN9yQj3zkI/nc5z633XUAAAAAANDcvva1r+Xhhx/OiSeemMsuuywDBw7M3LlzSx0LAAAAAKDFlWRH83HjxpXiZXeoNTK9/nVsr9tvv/1SKBSadI3OnTvv8Jp7smKxmN/+9rd54IEHMmvWrAwYMKDZX2P16tV59tlnmzSzfPnyZs8BAAAAAEDbcfDBB+fWW2/NbbfdlvHjx+f4449Pp06dSh0LAAAAAKBFlaRo3l69uRS+Kzeh99133x1ec3fzgQ98ICeddFKGDRuWww47LAcddFD23XffrF+/Po899ljmzJmTH/7wh1m1alXDzMqVKzN69Ojcf//9ec973tOseW644YZcccUVzXpNAAAAAAD2DJ/85CczYsSIXHTRRfn9739f6jgAAAAAAC1K0bwVvfjii42O99lnnyZfo2PHjo2OX3jhhXeUqVT69OmTuXPnpqqqapvnDzzwwBx44IE59thj881vfjPnn39+fvjDHzacX7FiRb7+9a/n1ltvbaXEAAAAAACQdOnSJdddd12uu+66UkcBAAAAAGhRHUodoD158w7mW7ZsafI1XnrppR1ec3fRp0+f7ZbM36xTp075wQ9+kPPPP7/R89OnT8+DDz7Y/OEAAAAAAAAAAAAAoJ2zo3kr6tKlS6PjN+9wvjPevIP5m6+5J/v3f//3/P73v8/y5csbnvvlL3+ZI444otle4+tf/3o+97nPNWlm+fLl+dSnPtVsGQAAAAAA2P0sWbIkzz//fCorK0sdBQAAAACgWexxRfMHHngg11xzTf70pz9lzZo16d69ew4//PB89atfzZgxY0qa7c2l8Pr6+hSLxRQKhZ2+xubNm3d4zT3Z3nvvnW984xv5xje+0fDcH//4x2Z9jYMOOigHHXRQs14TAAAAAIA93znnnJOFCxdm69atpY4CAAAAANAsOpQ6wI788Y9/TGVlZcPPY489tsP1//mf/5ljjjkmt9xyS55++um89NJLWbVqVf7whz/kU5/6VE477bS8+uqrrZT+rXr06NGoVP7yyy9n9erVTbrG008/3ei4vZWiR4wY0ej48ccfT7FYLFEaAAAAAAD4v9yvBgAAAAD2JG26aP7f//3f+dOf/pQFCxbk+eefzwc+8IHtrr3zzjvzz//8z3n11Vcbdgl//Sd57ebuzTffnHPPPbe14r/Fvvvum969ezd6buXKlU26xpvX9+/f/x3n2p0ceuihjY63bt2a9evXlygNAAAAAAAAAAAAAOyZ9i51gB25++67Gx5/4Qtf2OHaCRMmNBTMi8ViisVi3vOe9+T555/PCy+80PD8j370o/zDP/xDjjnmmJaOv039+/fPihUrGo4feuihHHnkkTs9//DDD7/leu1JWVnZW557+eWXS5AEAAAAAIA9Ud++fXdprq6urpmTAAAAAACUVpstmv/1r3/NmjVrGo5PPPHE7a6dO3du/vKXvzTsXn7kkUfmV7/6Vfr165eXX3453/ve93LhhRc2nL/mmmtKVjT/6Ec/mjvuuKPh+L777svpp5++U7PPPPNMampqGo7LysoyYMCA5o7Ypq1atarRcaFQyAEHHFCiNAAAAAAA7GlqamoaNq9pqtd/DwEAAAAAsCdos0Xzxx57rOFxWVlZPvzhD2937a9//eskSbFYzD777JPf/va3OfTQQxtmL7jggjzxxBO54YYbkiQzZ87MCy+8kH333bcF38G2nXTSSbnqqqsaju+8886Gndjfzh//+MdGx8OHD0+XLl2aPWNb9qc//anR8SGHHJK9926z/xoDAAAAALCb6dGjR9auXZuHHnoo3bt336mZYrGYk046KYsXL27hdABs1+Xdmvl6G5r3egAAALAb6lDqANuzYsWKJK/t/lFeXp699tpru2v/+Mc/plAopFAoZOzYsQ0l8zc677zzGh6/9NJLWbp0afOH3gnHHHNMevTo0XD817/+Nffcc89OzU6dOrXR8Sc/+cnmjLZbePM/gxEjRpQoCQAAAAAAe6IhQ4YkSWpra/Oe97xnp34OPvjglJWVlTg5AAAAAEDzarNF840bNzY87tZt+58+X7lyZUMpPUk+9alPbXPd+9///hx44IENx4888sg7D7kLOnTokDPOOKPRc1dcccXbfgXnXXfdlfnz5zccd+3aNZ///OdbImKb9ctf/vItpfzt/fcNAAAAAAC7YsiQISkWi1m4cGGpowAAAAAAlFSbLZq/9NJLDY93tJv5fffdlyQNRe2Pf/zj2137xp3O169f/04j7rJ//dd/TZcuXRqO582bl6uuumq7659++umcffbZjZ4777zzGu2Mvi2v7/L++s/O7pze0n79619n+vTpb1uuf6Obb775Lf8MPvrRj+bTn/50c8cDAAAAAKAdq6qqysCBA7Nhw4YmzZ199tm59NJLWygVAAAAAEDr27vUAbanc+fODY93dDN33rx5DY/79u2bgw8+eLtr99lnn4bH9fX17zDhruvRo0cuvvjiXHzxxQ3PXXTRRVm5cmUmTpyYnj17JkleffXV3H777TnvvPOycuXKhrU9e/bMP//zP7dIthdffDF/+tOftnnur3/9a6PjZ555Jnfeeec21x522GE55JBDtnnukUceyRVXXJH3ve99+fznP5+TTjopFRUVjf47T5ItW7bkT3/6U6699trcfvvtjc516tQp3//+91MoFHb2rQEAAAAAwNuqrKzM4sWLmzx31llntUAaAAAAAIDSabNF8wMOOCDJazuV19TUZOvWrdl777fGveOOO5K8tnt3ZWXlDq/53HPPNTzeb7/9mi/sLvjXf/3X3Hffffn973/f8Nz3v//9/OhHP0p5eXm6deuWJ598slHmJNl3331zyy235N3vfneL5Fq1alU+8YlP7NTaP/7xj/njH/+4zXM//elPc8YZZ+xwfvny5fn2t7+db3/72+nQoUN69eqVd7/73dl3332zYcOG1NTU5MUXX3zLXFlZWW666aYMHTp0p3ICAAAAAAAAAAAAAE3TZovmH/7whxsev/TSS7nzzjszatSoRmv+/Oc/p6ampmFX66qqqh1ec9WqVQ2P999//+YLuws6dOiQadOm5ctf/nJ+/etfNzz/yiuvvGXn8NcdcMAB+e1vf5tjjz22tWK2mldffTUrV65stHP7tnzgAx/Ir371qxx++OGtlAwAAAAAAAAAAAAA2p8OpQ6wPR/5yEfSvXv3FAqFFIvFTJw4MS+99FLD+VdeeSWTJk1K8tqu53vttVdOOOGE7V5v5cqVjXYH79u3b4tl31mdOnXKzTffnN/+9rf56Ec/ut11nTt3zte//vU89NBDb1um3x18/vOfz0UXXZSjjz46++6779uu33vvvXPcccflV7/6Vf7yl78omQMAAAAAAAAAAABAC2uzO5rvvffeOeWUU3LDDTekUChk8eLFGTx4cM4444yUlZXllltuyf3339+wm/nIkSPznve8Z7vXu++++xodDxgwoEXzN8VnP/vZfPazn83y5ctz//335+mnn86WLVvy7ne/Ox/60Idy7LHHplOnTk2+brFYbPJMnz59dmmuKQYMGJBvf/vbSV77wMCjjz6av/71r6mtrc3zzz+fLVu2pEuXLunevXv+7u/+LkceeeROFdIBAAAAAKAULrnkkjzzzDMpFAqZOnVqqeMAAAAAADSLNls0T5JJkyblpptuyvPPP58kefjhh/PNb36z0ZpisZgOHTrk0ksv3eG1br311obH73vf+3LAAQc0f+B36H3ve1/e9773lTpGq9prr70yYMCANlX8BwAAAACAppg+fXoeffRRRXMAAAAAYI/Spovm73nPe3LLLbdk7Nixeemllxp2L3/d6ztv/9u//VuOPPLI7V7nueeey6xZsxrmq6qqWiwzAAAAAADQvowfPz5r1qwpdQwAAAAAgGbVpovmSfKJT3wiDz74YP7X//pfmTNnTrZu3dpw7v3vf38uv/zynHLKKTu8xg9+8IPU19cnSQqFQsaMGdOimQEAAAAAgPbj3HPPLXUEAAAAAIBm1+aL5kly2GGHZebMmXn++efz5JNP5oUXXkjPnj3Tu3fvnZovLy/PNddc03D8iU98oqWiAgAAAAAAAAAAAADs9naLovnr3vWud2XgwIFNnnu7Hc8BAAAAAADebPHixZkxY0aWLVuWFStWZOPGjUmSrl27pry8PBUVFRkzZkwGDRpU4qQAAAAAAM1vtyqaAwAAAAAAtLSampqceeaZmTdvXpKkWCy+Zc2iRYsyffr0XHHFFamqqsrUqVPTp0+fVk4KAAAAANByFM0BAAAAAAD+f3V1dRk6dGhWr16dioqKnHzyyRk8eHB69eqVzp07J0k2b96c2traVFdXZ9q0aZk7d26OPvroLFq0KD179izxOwAAAAAAaB6K5gAAAAAAAP+/SZMmZfXq1ZkyZUrOP//87a6rqKjI6NGjM3HixEyZMiUXXnhhLr300vzkJz9pvbAAAAAAAC2oQ6kDAAAAAAAAtBWzZ8/OUUcdtcOS+ZtNmDAhRx11VGbNmtVywQAAAAAAWllJiubjxo3LE088UYqX3qbly5dn3LhxpY4BAAAAAG3KsmXLcu+995Y6BkCrWrduXfr06dPkufLy8qxbt675AwEAAAAAlEhJiubTpk3LgAED8tWvfjWPP/54KSIkSR5//PF85StfyWGHHZbf/va3JcsBAAAAAG3Reeedl49//OOljgHQqnr37p358+envr5+p2fq6+szf/78HHrooS2YDAAAAACgdZWkaJ4kW7duzdSpU/OhD30on/3sZzNnzpxWe+05c+bk05/+dD70oQ/lv//7v/Pyyy+32msDAAAAwO6kWCyWOgJAqxo3blzq6uoycuTILFu27G3XL1u2LCNHjsyqVavyxS9+sRUSAgAAAAC0jr1L8aJnnXVWfvrTn+bVV19NsVjM7373u/zud79LeXl5Tj311HzmM5/JoEGDmvU1q6urM3369PzqV7/KihUrkvzfX5J16NAhZ511VrO+HgAAAAC0Vfvss89OrXvllVfesr5QKOSll15qkVwAbcHFF1+cOXPmZMGCBRk0aFD69euXwYMHp1evXtlvv/2SvLaDeW1tbaqrq/PEE0+kWCxm6NChueiii0qcHgAAAACg+ZSkaP7jH/84//iP/5jzzz8/9913X0Phu6amJt/+9rfz7W9/O+9973szfPjwDBs2LEcccUQ+9KEPpaysbKeuv2XLljz00ENZtGhR7r333sydOzdPP/10krfuwHTsscfmP//zP3P44Yc375sEAAAAkiTr1q3Lfffdl3322SdDhw7Nu971roZz/8//8//ktttuy7PPPpt+/frl9NNP93d0aAVbt25NoVDY6d3Kt27d2sKJANqOTp065Z577snkyZNz/fXXZ/ny5Vm+fHmS1z5skzT+XUO3bt0yfvz4TJw4MR07dixJZgAAAHaee9YAsPNKUjRPkiOOOCJ/+tOf8oc//CGXXnppqqurG84Vi8XU1tbml7/8ZX75y18mSfbaa6+Ul5enV69eOeSQQ9KlS5fsu+++KRaLefHFF7Nx48Y888wzqa2tzcqVKxt2W3r9esn/vQGcJIcffnj+7d/+LSeeeGIrvWMAAABof370ox/lggsuyIsvvpgk2X///XPzzTfn+OOPz9e+9rX8+Mc/blTUuuGGG3LNNdfkn/7pn0oVGdqF/v3759FHH80//uM/5rvf/W66deu2zXXDhw/Pvffe2+heG0B70LFjx1x55ZW57LLLsmDBgixdujQrV67Mpk2bkiRdunRJ7969M3DgwBx77LE7vVEOAAAApeWeNQA0TcmK5q8bPXp0Ro8enTvvvDPXXnttZs2alWKx+JZdQbZu3Zonnngif/3rX3d4vTfvwlQoFBrtzvT3f//3Of/88zNixIgWeDcAAADA6+67776cc8456dChQz7+8Y+nrKwsd999d8aNG5epU6fmRz/6UcaOHZvTTjstPXr0yD333JN///d/z4QJE3Lcccflox/9aKnfAuyxli5dmm9961v57ne/m9tuuy3/8R//kVNOOaXUsQDanLKyslRVVaWqqqrUUQAAAHiH3LMGgKYredH8dccff3yOP/74rFy5MjfddFNuvvnm/OUvf2k4/8bdyHfkzQX1YrGYww47LF/84hdz6qmnpnfv3s0fHgAAAHiLa665JslrXzV60kknJUnuuuuufOITn8hXvvKVjBs3LjfffHPD+qqqqvTv3z9f/OIXc8MNN+RHP/pRSXJDe1BWVpbLL78848aNy1e/+tWcdtppufHGG3PDDTekX79+pY4HAAAAAM3OPWsAaLoOpQ7wZr17985FF12UZcuWpaamJj/84Q9z2mmnpX///g07k+/op1AopH///jnttNPywx/+MDU1Nfmf//mfXHTRRUrmAAAA0Iruu+++VFRUNNywT5IRI0bkiCOOyLp16/K//tf/esvMF77whfTp0yf33ntva0aFdutDH/pQ5s+fn+uvvz4PPPBAPvKRj2Ty5Ml5+eWXSx0NAAAAAJqVe9YA0HRtZkfzbendu3e+8pWv5Ctf+UqSZMuWLVm5cmWeeuqpbNiwIfX19UmS/fbbL+9+97tz6KGH5tBDD80+++xTytgAAABAkjVr1uS44457y/P9+vXLokWL8sEPfnCbcwMGDMg999zTwumAN/ra176WT33qUzn33HNz2WWX5eabb871119f6lgAAAAA0GzcswaApmvTRfM322efffK+970v73vf+0odBQAAAHgbXbp0yYsvvviW5zt16pTktQ+Ob8u73/3uvPrqqy2aDXirgw8+OLfeemtuu+22jB8/Pscff3zD/14BAAAAYHfnnjUANN1uVTQHAAAAdh/vec97Ultb+5bnhw0blr333v4tiVWrVuXAAw9syWjADnzyk5/MiBEjctFFF+X3v/99qeMAAAAAQLNwzxoAmq5DqQMAAAAAe6aBAwfmf/7nf7J58+ZGz59xxhn58Y9/vM2Zl19+OYsWLcoHPvCB1ogIbEeXLl1y3XXX5cknn8yTTz5Z6jgAAAAA8I65Zw0ATadoDgAAALSIUaNGpaKiIg899NBOz/zud7/Lhg0bUlVV1XLBAAAAAABod9yzBoCm2/53fgAAAAC8A6effnpOP/30Js185CMfydy5c3PYYYe1UCrgnViyZEmef/75VFZWljoKAAAAADSJe9YA0HSK5gAAAECb0b9///Tv37/UMYDtOOecc7Jw4cJs3bq11FEAAAAAoMW5Zw1Ae9eh1AEAAAAAgN1HsVgsdQQAAAAAAABagaI5AAAA0KYsWbIk9957b6ljAAAAAACAe9YAtGt7lzoAAAAAwBudc845WbhwYbZu3VrqKLDH6tu37y7N1dXVNXMSgLalzzdnNuv1ar779816PQAAAFqfe9YAtGeK5gAAAECbUywWSx0B9mg1NTUpFAq79L+1QqHQAokAAAAAoO1yzxqA9krRHAAAAADamR49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ty6VlZVNnisvL8+SJUuaPxDQ4OKLL86cOXOyYMGCDBo0KP369Wv4muDXdzivr69v+JrgJ554IsViMUOHDs1FF11U4vQAAAAA0HTuWQNA07XZovmhhx6aAQMG5OGHH06SXHXVVbtcNH/mmWdy3XXXpVAoJEk+9rGPpVOnTs2WFQAAAHir3r17Z/78+amvr28orr6d+vr6zJ8/3zeRQQvr1KlT7rnnnkyePDnXX399li9fnuXLlydJwz20YrHYsL5bt24ZP358Jk6cmI4dO5YkMwAAAAC8E+5ZA0DTdSh1gB35yle+0vALrXvvvTff+ta3mnyNjRs35uSTT8769esbrtWUrz8BAAAAds24ceNSV1eXkSNHZtmyZW+7ftmyZRk5cmRWrVqVL37xi62QENq3jh075sorr8zq1atz991355prrskFF1yQs88+O2effXYuuOCCXHPNNbn77ruzevXqTJ48WckcAAAAgN2We9YA0HRtdkfzJPn617+ea6+9NitWrEixWMyll16aurq6fPvb3063bt3edv6OO+7I+eefn8cee6xhJ6Yjjzwyf//3f9/S0QEAAKDdu/jiizNnzpwsWLAggwYNSr9+/TJ48OD06tWrYbeY+vr61NbWprq6Ok888USKxWKGDh2aiy66qMTpof0oKytLVVVVqqqqSh0FAAAAAFqMe9YA0HRtumheVlaWm2++OR//+Mfz4osvplgs5gc/+EF+/vOfZ8yYMTn88MOTvPY1voVCITNnzkx1dXWWL1+eu+++u+EP+0KhkGKxmP333z8333xzid8VAAAAtA+dOnXKPffck8mTJ+f666/P8uXLs3z58iRp+ED4698+liTdunXL+PHjM3HiRLsmAwAAAADQrNyzBoCma9NF8yQ56qij8utf/zpf+MIX8uKLLyZJNm/enN/85jf5zW9+07CuWCzmP//zPxsdJ2komXfr1i2//e1v83d/93etmh8AAADas44dO+bKK6/MZZddlgULFmTp0qVZuXJlNm3alCTp0qVLevfunYEDB+bYY49NWVlZiRMDAAAAALCncs8aAJqmzRfNk2TMmDF54IEH8oUvfCH/5//8n4ZPkCVp9PiN5fI3fsrssMMOy6233poPfOADrRscAAAASPLat5ZVVVWlqqqq1FEAAAAAAGjn3LMGgJ3TodQBdtZhhx2WJUuW5Fe/+lWGDBmS5LUS+Rt/Xvf68WGHHZaf/exnWbp0qZI5AAAAAAAAAAAAAMBO2i12NH/dXnvtlS984Qv5whe+kHXr1uVPf/pTHn744axduzbPPfdc9ttvv/To0SN/93d/l+HDh6dnz56ljgwAAAAAAAAAAAAAsNvZrYrmb7T//vtn7NixGTt2bKmjAAAAAAAAAAAAAADsUTqUOgAAAAAAAAAAAAAAAG2LojkAAAAAAAAAAAAAAI0omgMAAAAAAAAAAAAA0IiiOQAAAAAAAAAAAAAAjexd6gBN8corr+TBBx/M4sWLs3Llyjz//PN54YUXUiwWm3SdQqGQqVOntlBKAAAAAAAAAAAAAIDd225RNN+wYUOuvPLK/OIXv8izzz77jq5VLBYVzQEAAABo3y7v1szX29C81wMAAAAAAKDk2nzR/M9//nM+/elP59lnn220c3mhUChhKgAAAAAAAAAAAACAPVebLpr/n//zfzJy5Mhs2rQpyWvl8tfL5m8snQMAAABtTHPvlpzYMRkAAAAAgF3jG/4AYJe06aL517/+9WzatKlh9/JisZgTTjghn/zkJ/ORj3wkBxxwQPbbb78SpwQAAAAAAAAAAKAlPPXUU6mrq8vBBx+c8vLyHa597LHHsmrVqlRWVrZSOgDYs7XZovkTTzyR+fPnN+xi3r1799x6662pqqoqdTQAAAAAAAAAAABa0OOPP54vf/nL+fOf/9zwXEVFRa666qqccMIJ25z5zne+k5///Od55ZVXWismAOzROpQ6wPYsWLAgyWu7mBcKhfzwhz9UMgcAAAAAAAAAANjDrVmzJsOGDct9992XYrGYHj16ZK+99srSpUtz4okn5sILLyx1RABoF9ps0XzVqlUNj7t3757PfvazJUwDAAAAAAAAAABAa7jqqquyatWqjBo1Kk8//XT+9re/5dlnn83kyZPTsWPHXHPNNTnllFOydevWUkcFgD1amy2a77XXXkmSQqGQvn37plAolDgRAAAAAAAAAAAALW3mzJk58MAD85vf/CaHHHJIkqRbt2655JJLsmDBgvTu3Tu33HJLxo4dmxdeeKHEaQFgz9Vmi+a9e/duePziiy+WMAkAAAAAAAAAAACtpaamJkcffXS6du36lnODBg3K/fffn49+9KOZPXt2Ro4c2JiBLgABAABJREFUmY0bN5YgJQDs+dps0fyYY45JoVBIsVhMTU2NrzkBAAAAAAAAAABoBwqFQsrKyrZ7/qCDDsq8efMybNiw/OlPf8rw4cOzdu3aVkwIAO1Dmy2av/e9783xxx+fJNm8eXP+8Ic/lDgRAAAAAAAAAAAALa1v376prq7e4ZouXbpk9uzZGTNmTKqrq1NZWZm6urpWSggA7UObLZonyVVXXdXwybR//dd/zebNm0ucCAAAAAAAAAAAgJY0bNiw1NTUZNGiRTtc17Fjx0yfPj2nnnpqHn744dx5552tlBAA2oc2XTT/6Ec/mhtuuCFJ8thjj+Wkk07K6tWrS5wKAAAAAAAAAACAlvLJT34yxWIxV1999duu3WuvvfKLX/wi//RP/5RisdgK6QCg/di71AHezllnnZX99tsvX/nKVzJv3rwcdthhOffcc/PZz342H/7wh1MoFEodEQB26KmnnkpdXV0OPvjglJeX73DtY489llWrVqWysrKV0gEAAAAAAABA2zJ8+PDMmTMnHTrs/D6q1157bUaMGJH169e3YDIAaF/afNE8SU455ZQcddRRGTNmTB5++OFMnjw5kydPTllZWfbff/906tSpSdcrFAp54oknWigtALzm8ccfz5e//OX8+c9/bniuoqIiV111VU444YRtznznO9/Jz3/+87zyyiutFRMAAAAAAAAA2pS99947I0aMaPLc2LFjWyANALRfu0XRfMGCBZkwYUIeeeSRFAqFhq842bJlS1atWtXk69kFHYCWtmbNmgwbNqzhz6kDDzww69evz9KlS3PiiSfmggsu2Kmv+AIAAAAAAAAAAIBS2PnvFimR733ve6mqqsqDDz7YUDAvFAq7/AMAreGqq67KqlWrMmrUqDz99NP529/+lmeffTaTJ09Ox44dc8011+SUU07J1q1bSx0VAAAAAAAAAPYIS5Ysyb333lvqGACwx2jTO5rPnDkz5513XorFYkNR/PWy+T777JNu3bplv/32K3FKAHirmTNn5sADD8xvfvObdO3aNUnSrVu3XHLJJRk9enQ+85nP5JZbbsmGDRty6623Zt999y1xYgAAAAAAAADYvZ1zzjlZuHChTd8AoJm06aL5+eef31AyLxaLOeiggzJhwoSMHTs2H/jAB9KhQ5vfkB2AdqqmpiYnnHBCQ8n8jQYNGpT7778/J554YmbPnp2RI0dm5syZ21wLAAAAAAAAAOy81zcyBQDe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fecefPDBfOhDH8rJJ5+cG2+8MdXV1Vm7dm22bNmSLVu2ZO3atamurs6NN96Yz372sxkwYEAefPDBUscGAADaATuaAwAAAAAAAABtynnnnZf58+fnd7/7XT71qU9l3333zYc//OH06tUr++23X5Kkvr4+tbW1+ctf/pIXXnghxWIxn/nMZ3LeeeeVOP3Oe+SRR1JVVZX6+vqMHTs2J598cgYPHpxevXqlc+fOSZLNmzentrY21dXVmTZtWmbMmJHhw4dn4cKF6d+/f4nfAQAAsCdTNAcAAAAAAAAA2pQOHTrk1ltvzdSpUzNlypQ88sgjeeCBB/LAAw9sc/2HPvShTJgwIWeeeWYKhUIrp911l112WV588cXceuut+fSnP73NNe9617syYMCADBgwIKeddlqmT5+ez33uc7n88svz61//upUTAwAA7YmiOQAAAAAAAADQ5hQKhZx99tk5++yzU1NTk6VLl2blypXZtGlTkqRLly7p3bt3Bg4cmD59+pQ27C6aO3duKisrt1sy35bPfOYzGTZsWO6+++4WTAYAAKBoDgAAAAAAAAC0cX369Nlty+Q7smnTpvTo0aPJcz169MjmzZtbIBEAAMD/1aHUAQAAAAAAAAAA2qP3ve99ueuuu7JmzZqdnnn22Wdz1113pV+/fi2YDAAAQNEcAAAAAAAAANhDLFmyJPfee2+pY+y0L3/5y1m/fn2OO+64zJgxI6+88sp2177yyiu5/fbbc9xxx+W5557LmWee2YpJAQCA9mjvUgcAAAAAAAAAAGgO55xzThYuXJitW7eWOspOOe+88zJ//vz87ne/y6c+9ansu++++fCHP5xevXplv/32S5LU19entrY2f/nLX/LCCy+kWCzmM5/5TM4777wSpwcAAPZ0iuYAAAAAAAAAwB6jWCyWOsJO69ChQ2699dZMnTo1U6ZMySOPPJIHHnggDzzwwDbXf+hDH8qECRNy5plnplAotHJaAACgvVE0BwAAAAAAAAAokUKhkLPPPjtnn312ampqsnTp0qxcuTKbNm1KknTp0iW9e/fOwIED06dPn9KGBQAA2hVFcwAAAAAAAACgTenbt+8uzdXV1TVzktbVp08fZXIAAKDNUDQHAAAAAAAAANqUmpqaFAqFFIvFJs8WCoUWSAQAvFOvvvpqbrvttsyYMSPLli3LihUrsnHjxiRJ165d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V1eDE/dcQUGBJk6c2GXJ/GoJCQnKycnR3r17+y4YAA0bNkxnzpzR+++/r5tvvrlbc2w2m375y19+q0ItAABAf0TR3M4OHz6sTz75pPPxqFGjFBMT0625Cxcu7CyaS9Lrr7/e60Vze7h48aLeeuutK44tWLCgW3MXLFhwRdF87969unTp0jfuhA4AAAAAAADH8pe//EVz5szR+++/f90dwz7//HM1NjZq//79SktL0+rVq5WUlGS39QAAANB7uFZDd7m6uiomJqbbv1t3JGfPnlV0dHSP5wUFBen48eO9HwhAp3vuuUd79+5VQ0ODxo0b1+15jvihFwAAgG9C0dzO9uzZc8Xjf/7nf+727XKu3rm7sLBQbW1t8vT07LV89vBV7q/cfvvtCgoK6tbc4OBgjR07Vh9++KGkyzu7FxUVsas5AAAAAACAE6itrVVUVJQ+++wz3XvvvZo8ebJ8fX116tQp/elPf9LZs2f1wgsvaMKECSopKVFWVpZSUlJUW1t73dvF9/Z6AAAA6D1cqwGXBQYGqri4WFarVR4eHt2aY7VaVVxcrJEjR/ZxOmBgu+eee5Sfn69jx47ppz/9qdFxAAAADOFidICB5upPFN97773dnuvv76/g4ODOx5cuXdL777/fS8ns57t8DSQpMjKyy/UAAAAAAADgmNLS0vTZZ59py5Yteuedd7R27VotW7ZMGRkZqqmp0b333quUlBTdeeedSk5O1smTJzV16lRt375df/7zn/t8PQAAAPQertWAy2bNmqXGxkbFxsbKYrHccLzFYlFsbKyampo0Z84cOyQEBq6YmBiFhITo/PnzPZr3xBNPKDk5uY9SAQPH6tWrtWDBAi1cuNDoKAAwoLGjuZ198MEHVzy+8847ezT/zjvvVG1t7RXr3X333b0RzW5642vQ1XoAAAAAAABwTPv27dNdd92lxYsXX/PcTTfdpM2bNys0NFSvvPKKnn76ad100036wx/+oODgYP32t7/VAw880KfrAQAAoPdwrQZclpiYqP3796ukpEShoaEaPXq0wsLCFBAQ0LnDudVqVUNDg8rLy1VdXS2bzabw8HCtWrXK4PSAc4uOjlZFRUWP51GKBXpHbm6uKisrZTKZlJWVZXQcABiwKJrb0eeff676+vorjvX0VlZXj6+srPzOuezt6swD8WsAAAAAAICjstlsevPNN/XGG2/oxIkTqqur04ULF+Ti4qKbb75Z48eP1+TJk/Xoo4/K39/f6LhwMGfOnOny7nejR4+WJFVVVXUe+/73v6+oqCgdPXq0z9cDAABA7+FaDbhs8ODBKiws1Nq1a5WZmamqqqrO/+9NJpOky/8W/4q3t7fi4+OVlJQkd3d3QzIDAGAP8fHxamlpMToGAAx4FM3tqKWl5Yp/ALq6uuqWW27p0Ro/+MEPrnjc3NzcK9ns6erMAQEBPZrvDF8DAAAA4Nui4AnASH/5y180Z84cvf/++1f8jOMrn3/+uRobG7V//36lpaVp9erVSkpKMiApHNWIESNUXl6ujo4Oubi4XPP8sWPHJF0uVnydt7e3Wltb+3w9AAAA9B6u1YD/5e7urnXr1iklJUUlJSU6ceKE6uvrO/9f9/LyUmBgoEJCQhQZGSlXV1eDEwMA0Peud+cbAID9UTS3o6t/4OHh4dH5CeTu8vT07HJNR3B15qtf04305degublZn3zySY/mfH0XBQAAAKAvUfAEYKTa2lpFRUXps88+07333qvJkyfL19dXp06d0p/+9CedPXtWL7zwgiZMmKCSkhJlZWUpJSVFtbW12rp1q9Hx4SB+/vOf6/e//73+7d/+TZs3b+68TbwknTx5Ur/61a9kMpkUExNzxby//e1v193QobfXAwAAQO/hWg24lqurq2JiYq75/x4AAAAAjELR3I6uLkQPHjy4x2vcdNNNXa7pCL7r16EvvwYvvvii0tLSem09AAAAoLdQ8ARgtLS0NH322WfasmXLNTvJ/Od//qemTp2qlJQUffDBB/rJT36iFStW6F//9V+1fft2PfDAA3rggQcMSg5HsmbNGu3atUtZWVnavXu3/umf/kk333yz6urqdOzYMbW3t+u+++7TlClTOudcuHBBx44du+JYX60HAACA3sO1GgDAGa1evVqnT5+WyWRSVlaW0XGAfqmiokJ5eXmyWCydd+6VpCFDhigoKEhms1lxcXEKDQ01OCkAQKJobld///vfr3js5ubW4zXc3d2vePz5559/p0xG+K5fB2f4GgAAAAA9RcETgNH27dunu+6667q3K73pppu0efNmhYaG6pVXXtHTTz+tm266SX/4wx8UHBys3/72t5yH0C0/+MEPdOjQIc2ZM0fvvfee9u3bd8XzDz744DW/pG1qatIzzzyj+++/v8/XAwAA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bFBoDgAAAAAAAAAAAAAAAAAAAACwQaE5AAAAAAAAAAAAAAAAAAAAAMAGheYAAAAAAAAAAAAAAAAAAAAAABsUmgMAAAAAAAAAAAAAAAAAAAAAbFBoDgAAAAAAAAAAAAAAAAAAAACwQaE5AAAAAAAAAAAAAAAAAAAAAMAGheYAAAAAAAAAAAAAAAAAAAAAABsUmgMAAAAAAAAAAAAAAAAAAAAAbFBoDgAAAAAAAAAAAAAAAAAAAACwQaE5AAAAAAAAAAAAAAAAAAAAAMAGheYAAAAAAAAAAAAAAAAAAAAAABsUmgMAAAAAAAAAAAAAAAAAAAAAbFBoDgAAAAAAAAAAAAAAAAAAAACwQaE5AAAAAAAAAAAAAAAAAAAAAMAGheYAAAAAAAAAAAAAAAAAAAAAABsUmgMAAAAAAAAAAAAAAAAAAAAAbFBoDgAAAAAAAAAAAAAAAAAAAACwQaE5AAAAAAAAAAAAAAAAAAAAAMAGheYAAAAAAAAAAAAAAAAAAAAAABsUmgMAAAAAAAAAAAAAAAAAAAAAbFBoDgAAAAAAAAAAAAAAAAAAAACwQaE5AAAAAAAAAAAAAAAAAAAAAMAGheYAAAAAAAAAAAAAAAAAAAAAABsUmgMAAAAAAAAAAAAAAAAAAAAAbFBoDgAAAAAAAAAAAAAAAAAAAACwQaE5AAAAAAAAAAAAAAAAAAAAAMAGheYAAAAAAAAAAAAAAAAAAAAAABsUmgMAAAAAAAAAAAAAAAAAAAAAbFBoDgAAAAAAAAAAAAAAAAAAAACwQaE5AAAAAAAAAAAAAAAAAAAAAMAGheYAAAAAAAAAAAAAAAAAAAAAABsUmgMAAAAAAAAAAAAAAAAAAAAAbFBoDgAAAAAAAAAAAAAAAAAAAACwQaE5AAAAAAAAAAAAAAAAAAAAAMAGheYAAAAAAAAAAAAAAAAAAAAAABsUmgMAAAAAAAAAAAAAAAAAAAAAbFBoDgAAAAAAAAAAAAAAAAAAAACwQaE5AAAAAAAAAAAAAAAAAAAAAMAGheYAAAAAAAAAAAAAAAAAAAAAABsUmgMAAAAAAAAAAAAAAAAAAAAAbFBoDgAAAAAAAAAAAAAAAAAAAACwQaE5AAAAAAAAAAAAAAAAAAAAAMAGheYAAAAAAAAAAAAAAAAAAAAAABsUmgMAAAAAAAAAAAAAAAAAAAAAbFBoDgAAAAAA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7Ky+vl7bt2/Xpk2b9N5776mioqLN27j++usVHR2tyZMn66677lK3bq4zAcW//vUvvfXWW9blxYsXm5im45w/f16VlZXW5aCgIBPTSMePH9fBgwdVXV0tf39/3X777erbt2+z7evr6/WXv/xFf/nLX/Tpp5/qwoULkiRPT0/deuut+uUvf6nf/e53LW6jq2ks0HBzc9O2bducqtC8pKREH3zwgUpLS/X111/rwoULCggI0IABAzR+/Hj97Gc/69KvQwUFBXr22We1bdu2K7YdOHCgnn76ac2YMcO0opw777xTXl5eio6O1q9//Wtdd911puRwpPr6em3YsEHZ2dkqKyvTqVOn1KdPH/3bv/2bHnvsMd16661NrpeXl6dZs2bpwIEDzW57/Pjx+o//+A+NGDGio+K3y3fffaetW7fq73//u/bu3at//vOfOnfuXIvruLm56cc//rFGjBihu+++W7/61a+6xJdLlZWV2rx5s/bt22e9+a7xteZS3bp1U0BAgPXmu9tuu0333HOPAgMDTUgOtI5hGPrwww9VVFSkyspKeXp6ql+/frJYLLrrrrvk7e1tdkS7cnd3txYiO9s5UaOGhgadOHHC5rwoMDBQPj4+Zke7ajt37tSrr76q/Px8lZeXX/bzHj166Gc/+5liYmL00EMPWW+2NMNHH30kLy8v/du//ZvLFUuXlZXZnBONGDHiijf1btiwQa+99poKCwt19uxZST+cOwQHB2v8+PH6zW9+o5/97GcOSN8+R44c0d69e3Xw4EEdPHiwxZvvBg0apBEjRmjEiBEaOHCg2dFb7fvvv1d+fr7NOVFrByS47bbbFBkZ2aU/l8E1HDp0qMlzoiFDhpgdze5c4Zyo0alTp3ThwgWnuoHp2LFjev3115Wfn6/du3frzJkz1p95eHjoxz/+sSIjI/Xggw9qzJgxJiaVjh49Ki8vL5f8XFxXV6ejR49az4lac5Pr7t279dprrzU7IMGvf/1r3XTTTQ5I3z7nzp2zng+19pzotttu6xLfDzXatWuX3nvvPes50ZEjR9TQ0NBse3d3dwUHB1vPiaKjozVy5EgHJu4cOts1JTSvpqZGGzZsaPKc6N5779WAAQPMjmh3zn5e9PXXX+uf//znZdfPQkNDzY52VRoaGrR+/Xq9+uqr2rVrl7777rsm2/3kJz9RTEyM4uLidO211zo45f9588035eXlpQkTJrjEdbNGFy5cUH5+/mXXziwWS7PrnD9/Xn/+85/12muvqayszOZn3t7e+tnPfqbp06froYce6uj47dLQ0KCCgoJ2fU/005/+tMt8h8u1MwBdjgEAsIuGhgbjL3/5i3HTTTcZ7u7uhru7u+Hm5tbkv8aft6bNTTfdZLzxxhtGfX292V10iO3bt9v030xffPGFkZCQYNxxxx1Gv379DB8fH+OGG24wxo0bZyxbtsw4fvx4u7e9fft2ax89PDzsmLptcnNzjfDwcJtjsvHfpEmTjIMHD162Tnl5uXH77be3eAy7u7sb/v7+xiuvvGJCrzrGxcfljh07zI5jF++9954xbNiwJvf/xf8CAgKMtLQ04/z586bmffvtt42IiAgjIiLCGDVqlHHq1KkW23///ffGvHnzDA8Pj8uO1Uv7eOnPIiMjjRMnTjioZ7Yuzuft7W386le/MrKzs532fWDPnj3G0KFDL9sXF79Gzp4922hoaLBZ76WXXrps3zb3utStWzfj5ZdfNqmHto4fP278/ve/N3x9fa94LnClc4TevXsbc+bMMb7++muzu3WZ+vp6Y/Xq1UZ4eLh1P7Wlvxe39/DwMEaOHGm89tprxvfff2921xyms5wrNKqtrTU2b95svPLKK8af/vQn47XXXjPy8/Ovep8cOHDAeOyxx4zHHnvMmDFjhp3Stk9OTo7x29/+1hg1apRx8803GyNHjjRmzpxp7Nq1q9l13nnnHSMkJKTZ91A/Pz/jmWeeMWprax3Yk4518d+ps5wTNcrKyjLuu+8+o1evXpftSy8vL2Ps2LHGypUrjbNnz5qas6Kiwnj//fet/1pzfH355ZfG+PHjW/Va3NgmJCTE+OCDDxzQo6Y1ZgkMDDTmzZtn/OMf/zAti6P893//tzF48ODLjr9u3boZDzzwgFFeXn7ZOtXV1cadd955xc9n7u7uxr333mucPHnShJ41rby83EhKSjIsFkuzr6MtncO7u7sbN998s7Fs2TLjq6++Mrs7zdq+fbsxderUJl9bWns+5O7ubvTq1cuIiYkx9e/SDIWFhcZNN91k3HTTTcbAgQPNjmMYhmF89tlnxtatW41169YZ27Zta/Jvs60OHz5sJCcnW/+Z6eDBg0ZKSorx8MMPGxMnTjRiYmKMF154wTh27Fiz6+zatcv42c9+1uzfcmhoqPGf//mfDuxFx3Pmc6Li4mJj7ty5xpAhQwwvLy+bzyU33nijMW3aNGPjxo1mxzROnz5tlJaWWv+dO3euVes8/vjjNv260uvwqFGjTD0PacwyfPhw46WXXjK++eYb07I4SmFhoREVFWV4e3vbvJb07t3bmD9/vlFTU3PZOmfPnjWmT5/e7H69+Lu2P/7xj606Xhzl9OnTxl/+8hfj3nvvNa655porflfb1GeVCRMmGJmZmaZ/f9ucU6dOGQkJCUb//v3b/B1RU+dG119/vbFo0SLj22+/NbtrDtPZvic6dOiQkZ6ebjz99NPGE088YSxatMj461//etXn5cXFxca4ceOMcePGGXfeeaed0rbd+fPnjf/8z/807rrrLuOGG24wvL29jX79+hmTJk0y1q9f3+x6y5cvN3r06NHi3+zUqVNbPK/qipzxvOjcuXNGamqqERYWdtn3243/goODjTlz5ph2LanRwYMHjf/6r/+y/mvqffJSe/bsMW6++eZWvx67u7sbPXr0MFavXu2AHjWtMYcrXDczDMO4cOGC8R//8R9Nfpfg7u5u3HHHHcYnn3xy2XplZWXGT37yk1ad59522212+TxrL0VFRcb06dON3r17t/v7k2uvvdaIjY019u7da3Z3msS1s6vX2c6JXOHaGdCIQnMAsINDhw4Zw4cPtzkBbMvJ75XWcXd3N8LCwoyysjKzu9rhGgvNG/tthvr6emP+/PnWL7Jb+lL6ySefNM6cOdPm5+gM/Vy6dOkVj09fX19j+/bt1nW++uorIygoyLrOlYoB3N3djaSkJFP6Z28X97czfVF28YXof/3rX61ap76+3pg5c2aT+6uloo6f/vSnpl7MmjhxojXL3XfffcX2jz76aJP9u9JrcONyaGioUVVV5YCe2WrMcmkuZyyy+vTTT41rr732isehu7u7MX36dOt677333hX3a1PbePPNN03ra0NDg5GUlGS9YNhSwVRT2Vt6ne3du7eRkZFhWt8utXHjRuNHP/rRFV9jWvPv0n06aNAg45133jG7iw7RGc4VDMMwTpw4YUyfPt3o3r17k/vI39/fiIuLa/cFlc5wk+GXX35pjBs3rsW/vRkzZlx2wT4xMbHJ47S5Y/fo0aOm9M/eOus50dUoLS017rjjjlafK9xwww3Gu+++a1reWbNm2WS50kW1wsJC6wWatrz/uLm5GR4eHsaf/vQnB/XMVlO/e2ctsKqvrzd+85vfXPH48/f3N3bu3Gldr6amxhgyZEibPp/95Cc/MSorK03srWFUVVUZs2bNavYzd2u/K7n4597e3kZiYmKnKhr79NNPjcjIyGbfG9p7PuTu/sONsU1dUHZGneWc6OzZs0ZSUpIxYMCAJvfTkCFDjOXLlxt1dXXt2n5nOCeqqamxKdK89J+Xl5fx7//+75ett3r1asPT0/OKf8/u7j98r+AsRYHOeE5UVVVlTJkypdXnRMOHDzf1tejpp5+2ZrnuuuuM7777rsX2n3/+uREaGtrqc6KL+3zNNdcYb7/9toN6Zqup9zxnLq5avHhxk4NGXPw7CAkJMb744gvrOufOnbO+57b2nGjMmDHG6dOnTezpD7lffPFFIyAg4Ip/d5f+Dpr7u+zbt2+n+o7IMAxjxYoVl33/Z6/via699lrjxRdfNLuLDtFZzon27dtnc4576T8PDw/jnnvuMfbv39+u7XeGfu7fv9/mBuCmjtvx48dfNhDOtGnTWnyPufjxgIAAY9++fab0ryN01vOiI0eOWP+15bNiQUGB9by/Na/Jvr6+xqpVqzqwJy17/PHHrb//H/3oR1dsv3HjRsPHx6fZ980rHb9PPPGEA3p1uYvfAxtzOeN1M8MwjLq6OuOuu+664jHo7e1t8x1lRUWF0b9//zad6wYGBppeg3Lw4EEjOjq6xfOh9nx38uijj3aqgZq4dmYfneFcwTBc49oZcCk3wzAMs0dVB4Cu7MCBA7rzzjv19ddfyzAM69RgjS+v3t7eCg0N1YABA3TDDTfI19dX3bt3l7e3t86dO6ezZ8+qtrZWx48f19GjR3X48GGdO3dOki7bVt++ffXhhx/qlltuMaGnjrFjxw79/Oc/l/RD/+vr6x36/BcuXNCDDz6ov//979bfe+N+uNjFPwsJCdHbb7+t8PDwVj+P2f38r//6L/3hD3+wPn+ji4/hxuWePXuqpKREQUFBuu+++/Tuu+9edmxe6uKfu7m5acOGDbrvvvs6qjtNsvfUfHl5edZ+WSyWZqeHc3Nz044dO+z63C1xb8eUhA899JD+9re/NfmadalLf37LLbfok08+0TXXXGOP+K1WX1+vXr16qa6uTm5ubnr11Vf1+OOPN9t+xYoVevLJJy/Lf/PNN2vMmDG6+eab1bNnT3333XeqqqpScXGxPvzwQ507d05ubm7W9qNGjVJBQUHHd/AiF+/TRpe+HoWFhemxxx7TQw89ZOpUhVfju+++k8ViUVlZWYvHYeP+cHNzU2ZmpqKjozVw4EAdP37c+jN/f3+NGzdON910kzw9PXX8+HHl5eXp2LFjNtvu2bOnDhw4oP79+zu0r+fOndMDDzygzZs3t+nvTpK6d++u7t2768yZM9bzg0vbNW7zV7/6ldasWWPqdMlPPvmkVq5cedkxezUfOy/dhpubm/74xz9qxYoVV5m2czP7XEGS/ud//kfR0dH63//93xb3oZubm3x9ffWnP/1JM2fObNNzmN3PY8eOKTIyUv/617+aPfdr/BubPHmysrKyJElvv/22Hn30UZv2l/6OLn08JCREn376qXr37t1xHWrCRx99ZNftRUZGWvu2fPlyDR8+vNm2Y8aMsetzX4mHh4ekH373H3zwQavOiwoKCvTLX/5Sp06davH8v1FjGw8PD6WlpbX5mLeHH/3oRzp06JDc3Nw0b948Pf/88822/eKLLxQREaGTJ09Kks15jiT5+flZz4lqamqsf4OXvsesXr1ajz32WAf26nIXnxNdnNnNzU2enp665557NH36dE2aNEnu7u4OzWZv8fHxWrlypaQrfz4LCAhQSUmJ+vXrp2nTpumtt95q8+eziRMnasuWLR3Um5Z99NFHevDBB63foVycryXNnSde/DM3NzcNGjRIb7/9tkaMGGHH1G330ksv6cknn9T333/f5H5sq6bW79atm5YtW6bZs2dffeBOzOxzBUkqLS1VVFSUjh49esVzohtuuEGvvPKKfvGLX7TpOczuZ01Nje666y7t2bOnyb/Nix/7wx/+oJdeekmS9MEHH+juu+9u8Ti/9G/19ttv10cffeTw7xWOHj1q1+2FhIRY+7ZmzRqNGjWq2bZBQUF2fe4rGThwoKQffvdr1qxRRETEFdc5ePCgfvGLX+jIkSNXfH2+eP92795d//3f/63JkyfbIXnb3Hrrrfrss88uOy6b8tVXXyk8PFxHjhyR1PrPqhe369atm959913dfffddupB6zSeEzX1d9W3b1898sgjmjZtmoYOHerQXB3hhRde0DPPPGNdbul7+YEDB2rfvn3y8/PTk08+qRUrVrT5nOiRRx7RX//6V3t3o1U+//xz3X///SotLb2qc6LmXqtHjx6tN954QzfddJMdU7fNhQsX9NBDDykrK+uK3xN169bN+h3YxdfOzp49q++//96mbVPngL/85S+1bt06eXp6dnS3TGP2uYIkrV+/Xr/5zW904cKFy16TLl12d3fX3Llz9eyzz7Zpv5jdz88++0yRkZE6efLkZec3jRofj4iIUH5+vjw8PJSamqp58+ZZcze2u9ilj1933XUqLi5WcHBwR3apSW+++aZdtzd9+nRr/+bPn9/idezf/OY3dn3ulrTn+tmGDRv06KOPXnatvlFz572t+Y6mowwYMMB6vWTx4sVasmRJs20//fRTjR07Vt99991lx2T37t0VGhpqc+3s2LFjki5/D01OTlZCQkIH98xWS98TSf933ezXv/61rrvuOodms7eHH35Ya9euldT0a8rFj/n6+mr//v0aOHCg7rnnHm3ZsuWy/XXttdfK09NT33zzjfV99eLX7jvuuENFRUXW71Yd6W9/+5sef/xxnT17ttnX3aa09nzv2muv1euvv657773Xbpnbg2tn9mP2uYLkGtfOgCa1uiQdAHCZ2tpaIzQ01OZOMjc3NyMkJMRITk42ioqK2jya1rlz54yioiIjOTnZuOmmmy7bdmhoaKumRu+qzL4Dcf78+ZfdPerWwl2zjcteXl5tmgLYzH4eO3bssqn73NzcjH79+hnh4eHGbbfdZnh7e9v085FHHjFKSkps7hbv0aOHsWTJEmP//v3GmTNnjDNnzhifffaZ8dxzzxl9+vSxadu/f/92jfx+NdzaeQdwW+6Ebu4uf0f3s/F5WzNSxEsvvdTkMTx8+HDjqaeeMlatWmX853/+p5GUlGTcddddhqen52WjBJgxPdO+ffts+nrkyJFm2548edI6Sk5j7ltvvdXIz89v8Tm++eYb46mnnjK6detm019Hj1h18e+7pdcjd3d3w8fHx5gyZYrx3nvvdblRrJYvX35Z36KioozXXnvNeP/9941NmzYZCxcuNAICAqx9vu2224w1a9bYrLd48eIm3xcbGhqMv/zlL0bPnj1t9ufChQsd3tff/OY3l4065evra0RFRRlPP/208cILLxjPPvusMXv2bGPUqFGGh4eHtb2Pj4/x1ltvGYbxw3nHp59+arz++uvGr371K6N79+6X/X1GR0ebdiw888wzTR6zfn5+xoQJE4zk5GQjMzPT2Llzp/Hll18aJ0+eNM6ePWs0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nTp1otTUVCIixW0Bhf+/FY5eatasSceOHSNBEOjVV1/V9PY73377LQ0ZMoSI8m9befPmTdXeUzXduXOHxowZQ1988YXilmj16tWjb7/9lu6//37FLdBXr15Nbdu2NbjW+eT1ctask38utW/fnlauXOlWWTNmzKAXXnhBKvf69esUFhbmZo3VMXbsWJo4caL0ml24jZ38/Sm4bMHPbmamF198kb788ku1quwyXz3WtDBgwACaPXu23e/Pgvvs119/pR49etD7779PY8eOVXyOWiwWioqKIn9/f0pNTaXs7GxpG+I269WrRzt27NDtVsGi7t2705IlSxT1JSKKi4ujevXqUVRUFOXm5lJKSgrt3r2bbt68afV+9O7dm+bMmeOwnDfffJM++OADIiKKiopy+zav3po/fz717t1bqrs8a2hoKDVt2pRq165N5cuXp3LlytltE124cIHOnTtHhw4doh07dlBGRoZie8xMFouFfvrpJ3r66ad1zZiZmUkRERGUl5dHzEx169alffv2aVKW2CYiIt3bCvXq1aN//vmHBEGgDh060F9//aXKdvPy8mjAgAE0Z84cq78HI9pEJUqUkG5TPGXKFBo+fLhmZRXcnykpKdLtp33JV199RaNHj5Zu9SsIAsXGxtKnn35KTz31FBH59veUWDdX2gVE/zvuXnzxRfriiy/cKis5OVnKLggCHT9+nOLj4z2qt6cOHjxIHTt2pMuXL1vlLlGiBNWvX5/i4+MpIiKCkpOTac+ePdK6rrSbxG1GR0dTcnKy7rdD9uVjTU03btygOnXq0OXLl4nIfrtW3jbo06cP/fjjj9S6dWvauHGjtE7NmjXpscceo8qVK5O/vz9dunSJkpKSaNOmTYp9GhAQQPv27aOaNWvqljM1NZWqVq0qfe4yM/n5+VGnTp2oa9euVL9+fUWbaMeOHfTLL7/Qrl27FHUvXbo0nTp1yuFtjn/66Sd69tlniYjIz8+P0tLSKDw8XJecRPm3th4+fLjNNm6NGjWoRYsWbreJ/v77bzp27BgRWR8jWn+H2XLz5k3FLYObNGlC27dv16QsI9tE1atXpxMnTpAgCPTEE0/QwoULVdnunTt3KCEhgdauXesTbaLw8HC6c+cOERF98cUX9OKLL2pW1qZNm6hVq1ZElL8/L1y4QHFxcZqV54msrCwaN24cffLJJ1K7XxAE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", + "image/png": "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1Wj+119/2VWHn5+fsWjRolx4RTKXm43mhmEYs2bNsnqsERER2Y599dVXDV9fX4ebdkqVKmX89ddfNtWZm43ma9asMUqXLu3wvJ6ensZbb71lpKam2vPSG4bh2kbzxYsXGwULFnSosap58+Y2NUxm9mjatKlDjb6ZNZWdPn3aaNSokV1/e9b+xjds2GDTBRM3Ho0aNTIuX75s93HcsGfPHqNt27Z2v34eHh7GM888YyQmJjqc217ObjS31hh99OhRu+f566+/jHr16tn9Gvr4+BijRo2y63ObVaP5F198Ydf5sFy5csa///5r9/HeEB0dbTz++OM2XRRj7REUFJTl/Fk1K//888/ZXhRx86NQoULGpk2b7Dq+zBqbr1y5Ytx///025w4JCTH++OMPi/n/+ecfo2bNmjbPU6lSJbsvNps7d65RuHBhh94f6b8LA7744gu7chpG1u/d2LFjs/2bcXajeWpqqjFs2DCLPAULFjTWrVtn9/HZylmN5lOnTrX692CPlJQUY/z48XZ9bm48ypcvb6xZs8aufImJicbTTz9t9YJZWx+NGjXKNk/GMXdqo3l4eLhRvnz5HM3/+++/2//CAQAAAADgIO5nBgAAAAAAbhvFihWziM2bNy/P8i9evNgi1q9fP/n6+jo1z4ABA+Tp6WmKxcTEaP369U7Nc6sYO3asHn74YZ0+fdrusfv27VP79u01Z86cHNexZMkS3XvvvXbVce3aNfXs2VPLly/Pcf5bRd++fVWkSBGL+JIlS7Idu3XrViUmJjqc+9SpU2rXrp2+//57h+dwhmPHjunkyZMOj09JSdG4cePUrVs3paSkOLGy3DN37lx169ZNly5dcmj8+vXrZRiGw/k3btyoBg0aKCIiwuE5bjhz5oyaNm2qLVu22Dzm1KlT6tChg+l9X7lype69916dOHHC5nm2bNmiTp06OfS+L168WE2aNNGff/5p99jU1FR9/fXXat26taKiouwe72rnzp3T4cOHTbGQkBCVK1fOrnmmTp2qtm3baufOnXbXcP36dY0dO1YPPvig4uPj7R5/szfeeEMvvPCCXefD48ePq3nz5g59F+7Zs0cNGzbUzJkzHT7nxMXFOTRuypQpeuihhxQTE2PzmIsXL+ree+/V7t27Hcp5Q1xcnNq0aaOlS5faPObKlSvq2rWrKffu3bvVokUL7d271+Z5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AMhN+eO/0AAAAAAAANjoRhNV165dbdo/MTFRW7du1eeff66HHnpIxYsXV+vWrTV9+nRdv37d5ryXLl2yiOWkYSg71uZOTk7OUbPqreSLL76wiH3yyScKCAiweY7y5cvr9ddfN8UMw9CXX35pdz3u7u766KOP7BrTv39/i9iOHTvszn0rythEd0NsbGyu5n3sscdM2xs2bMjVfLmlc+fOpqbflJQUbdmyxeH5IiIiHHqcO3fO5hzvvvuuTY3ZucHX19fiwo3169c7PN9LL72UbdPfzXr27Gk1/v7779vcBFmiRAk1bdrUFNu5c2e24z788EPTduvWrS1eC1uEhIRo6NChptiCBQvsnsdVmjdvrl9//VXHjh1T9+7dbR6XlJSkiRMnmmKPPfaYGjdubHcNFSpUsGiYduQ1rFChggYPHmzz/l5eXurTp48pdurUqUwbR2/4+OOPlZaWZoqNHj3aoSZzRwUHB1s0vWYn43dnSkqK9uzZ41D+Rx991K7jzeyz/vbbb9vcROvr66suXbqYYhEREXlyIWD//v1NF0FFRUXp33//dWgud3d3ffLJJ84qzapx48apf//+SkpKSo/5+/vrl19+sThf3WrS0tIUExOjiIgIffHFF6pbt65effVVi/e5Xr16VpvPM1q6dKn27dtnin322WcOXdz18ssvKygoKH07MTEx04sd4uLiTNshISE2XVABx2R8vQsVKuSiSgAAAAAAsA+N5gAAAAAA4LZToEABLVq0SN99950qVapk11jDMLR27Vo98cQTqlKlimbPnm3TuGvXrlmtI7dkNre1OvKbpKQkrV271hQrVqyYHnzwQbvnevrpp+Xh4WGKrVq1yu552rZtq4oVK9o1JuOqrJIcXk39VhMaGmo1ntt/f5UrVzZtnzlzRidOnMjVnLnB3d3d4u9p8+bNLqome8HBwQ41NztTxvc+J6/XE088Ydf+devWtYhVq1bNonHc3nmyawA9fvy4xcUpTz75pF05b3b//fdbzB8ZGenwfHlp/fr1ev755zV27FhdvHjR5nEbN27UmTNnTDFnvoabN2+266I0SRo0aJDdqzQ78n2yePFi03ZgYKCee+45u/LmVO/evRUcHGzXGGd+dzrjsx4UFGT3+S/jPHFxcTp9+rRdczgiJCTE4o4jjp4r27Zt6/Aq9tlJSUnRE088oVGjRpniYWFh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Yr9p06Zp3759LqgQAAAAAHAnotEcAAAAAAAgE9aaR62t4nfDY489ZrFC76VLlzR37lyn1ZSamqpvv/3WIn7ffffJ39/faXlcqV69ehax7du3Ozzftm3bTNtubm5WcyB7aWlpmjBhgkW8Xr16qlGjRqbjTp48adquXLmy1caq7GzatMnuMc6U8TgkqUWLFnbPs2vXLiUmJjqjpFtextfMkddLcv177wqNGjWyiP31118uqOTWceXKFYuYh4dHpvvfqa9hkyZNLGIbNmxwQSWwhbO+W/LLeXLIkCGaNm2axWf39ddfz7ZR+Vbn7++vMWPGWMTfffddJSUlWR1TqVIlizvtbNy4MctV0F2pUKFCeu2117R582YFBQWZnluyZEmWF9hmvFgoNjbWoRoOHz7s0Lj8qHXr1lqxYoWefvppU9wwDC1YsMBFVQEAAAAA7jQ0mgMAAAAAAGTi/PnzFrGsmmPLlSunbt26WcRHjBhhtTnOERMmTNDBgwct4sOHD3fK/LeCevXqydfX1xRbuHChQw0358+f17p160yxqlWrWjT0wDajR4+2unrisGHDshyXccVhR17/5ORkLVy40O5xkvULRBz5e7K2crIjx+LMi09udc547//+++8c3dUgv2rfvr1F7Ndff3VBJbeOAwcOWMSsrd59w536GlavXt3i98rixYud9lsEznUnfrcMHDhQP/74o8Wq7ePGjdNLL73koqqcY8CAAapUqZIpduLECasXikqSu7u72rVrZ4pdvXpVK1euzLUanaFq1ap64oknTLGEhAQdOXIk0zEZV0F35G4lp0+fzjJHbsh4UYQrLgJ4//33LergThUAAAAAgLxCozkAAAAAAEAm/vzzT4tYxYoVsxwzZswYiyaAs2fP6uWXX85xPYcPH9bo0aMt4m3btlXjxo1zPP+twsvLS23atDHFzp0751CT8dSpU5WSkmKKWbv9PLK3cOFCvffeexbxOnXqqF+/flmODQgIMG1ba6rLzo8//qizZ8/aPU6SxYqb0n9NXPbKeByS/ccSExOj6dOn2507v3LGe//pp586q5x8pUaNGqpcubIptnXrVqvfTXeCy5cvW12Vu3r16pmOadWqlcXdSX755RcdOnTI6fXdarp3727avnr1qiZPnuyaYpAlZ3y3HDlyRIsWLXJWSXmid+/eWrBggcXFhRMnTtTTTz+ttLQ0F1WWM56ennr77bct4u+//36mq31bu1B1/PjxTq/N2apVq2YRy+qClqpVq5q2t2/fbvf7PHXqVLv2d4aMvyMd+Q2ZU4UKFVKRIkVMMS4eAgAAAADkFRrNAQAAAADAbWPx4sU6duyYU+Y6cuSI5s2bZxG///77sxx39913W12Jcfr06VabTmx14sQJtW/fXgkJCaa4j4+PJk2a5PC8t6rBgwdbxIYPH25x/FmJjIzUBx98YIq5ubnphRdeyHF9d5K0tDSNGzdOvXr1kmEYpud8fHz07bffyt096//MWLx4cdP2v//+q+PHj9tcw/nz53O0an9oaKhFzJFVNDMehyS7Vxx94YUXFBMTY3fu/Crja7Z69Wq7mspWr16tWbNmObusfOPNN9+0iD355JO6dOmSC6pxrbFjxyoxMdEi/sADD2Q6JiAgwOI7OTU1Vf3798+04fN2MXz4cIsL38aMGaO///7bRRUhMzn9bklLS9OgQYNcsspyTt1///1atmyZAgMDTfFvvvlGjz76qMXFgvnFI488YtFUffr0aX399ddW9+/Tp4/FKujr1q3ThAkTcq1GZ7B2AWDGZuib1a9f37QdFRWlP/74w+Z8J06ccMm/ezL+jnTkN2ROJSYm6vLly6ZYVq81AAAAAADORKM5AAAAAAC4bSxdulRVqlTRwIEDdeDAAYfnOXPmjB588EGLpuYiRYqoffv22Y4fO3asGjRoYDX+8ssvW22Uy8rOnTvVunVrq42548aN01133WXXfPnBfffdZ7FK4vHjx/XII4/Y1HR0+fJldevWzeI97Nq1q8UKwbAuLS1NixYtUsuWLTVq1CiLBjY3Nzd99dVXFk1D1rRo0cIi9vrrr9tUx8WLF9WlSxeHVsK+4e6777aILVu2zO556tata9EM99lnn+nUqVM2jR8zZoxmz55td978LON7f/ToUU2ZMsWmsTt37lTfvn0tLnC4k/Tv39/iXHjs2DHdd999OnPmjENzxsbG6qOPPtIPP/zgjBLzxMSJE602XLZt29aiOTOjl156SYULFzbFtm7dql69ejm8GmxUVJTeeustrVq1yqHxeaFSpUp65JFHTLHExETdd9992rt3r93z2XNxEOxj7Tty3Lhxio2NzXZsWlqannnmGf3111+5UVqeaNOmjVatWqUCBQqY4j/++KN69eqVLy8K8fDwsHqB6QcffKBr165ZxD09PfXuu+9axF977bVMm9NtsXHjRovzwM0mTJjg8HksNjZWM2fONMUKFCigsmXLZjqmc+fOFrERI0YoOTk523yXL19Wr169XHKxXsbfkWvXrlV8fLxdcxw+fFhjx45VdHS0QzV8/fXXFp+F2rVrOzQXAAAAAAD2otEcAAAAAADcVlJSUjRz5kxVr15djRs31hdffGF1tT1rEhISNGXKFNWtW9fqip8ff/yxfH19s53H19dXCxcuVLly5SyemzBhgmrWrKkFCxZk21Rx8uRJDRs2TPfcc4/VldoHDBigV155Jdt68iM3NzdNmzbNYjXWRYsWqUOHDjp8+HCmY7ds2aLmzZsrIiLCFC9QoIA+//zzXKn3dmAYho4ePao5c+bopZdeUsWKFdW9e3dt2LDBYl8PDw9NmTJFAwcOtGnuTp06KSgoyBSbN2+ennzyySwbdVauXKkmTZpo+/btkqTg4GA7juj/1KxZ02Ls+PHjNXPmTKsNX5nx8vJS9+7dTbHLly+rXbt22rNnT6bjzpw5o0ceeUSjR49Ojzl6LPlN7969LWJDhw7V5MmTM20gT01N1Zdffqk2bdqkX2Bwp7xeGXl4eGj+/PkWn58tW7aobt26mjx5sk0XL6WkpGj16tV6+umnVaZMGb3++us6d+5cbpXtFGfPntUPP/ygZs2aWb1TiJeXl03n9ODgYP3000/y9PQ0xZcsWaL69etr9uzZNl3AlJiYqEWLFql///4qW7as3nvvPYcb1fPKpEmTVKFCBVPs1KlTatasmT788MNs7xKSmpqq8PBw9e/fn4u0clHx4sXVvHlzU+zw4cPq2LGjIiMjMx138OBBderUSd9++62k/5qV/f39c7XW3NK4cWOFh4dbrNC8aNEiPfDAA3bd0eZW8fDDD6tGjRqm2NmzZ/XVV19Z3f+RRx6x+F2VkpKiZ599Vj179szyd8bNTp06pc8++0yNGzdWs2bN9Ntvv2W679q1a9WhQwfVrFlT77//vs0X6u7bt0/33nuvxd9n79695eXllem4pk2bqnr16qbYzp071aNHjyzv1BEeHq4mTZpo27ZtkmTTv8ecqWnTpqbtK1euqE+fPtq/f7/Nc1y9elVvv/22ypQpo/79+2vBggU2/QZNSkrSJ598oldffdUU9/Dw0MMPP2xzfgAAAAAAcsIz+10AAAAAAADypy1btmjLli0aMmSIypUrp0aNGqlGjRoqXLiwChUqJDc3N8XGxioyMlIRERH6888/M2167d27twYMGGBz7pIlS2rt2rVq3769/v33X9NzR44cUY8ePVSgQAHdf//9ql69uooXL67AwECdP39eZ86cUXh4uLZu3ZppI2afPn00bdo0ubm52f6CWPHbb7+pTp06OZpDkl599VX169cvx/PcrGnTpho9erTFipDh4eGqUaOG2rVrp7Zt26pkyZJKTU3VyZMntWzZMm3cuNHidXNzc9PXX3+tMmXKOLXG/GLKlClauHChRTwtLU1xcXGKiYlRbGys0tLSsp2rTJky+v7779WyZUub84eGhuqll17SmDFjTPFp06Zp4cKFeuihh1SvXj2FhoYqJiZGR48e1ZIlS0wXfHh4eOizzz6zubn9Zl5eXurfv78mT56cHouPj9fAgQP15JNPqnTp0goKCpK7u3ldjjFjxuiBBx4wxUaNGqW5c+eaLhT5999/VbduXXXq1Elt27ZVqVKllJKSorNnz2rNmjVavXq1aRXKQYMG6ciRI1q7dq3dx5LftGvXTi1btjSttpuSkqLBgwfrs88+04MPPqgaNWrIz89P0dHR2rt3rxYtWmRarbto0aJ65ZVX9Nprr7niEFyuZs2amj17tnr06GFqiI6KitLgwYP15ptvqlWrVmrUqJHCwsIUEhKi+Ph4xcTE6MSJE9qxY4d27dpl0+rIuW379u3ZfufEx8fr0qVLWTYdenp6avbs2RZNnJlp166dJk2apOeff94UP3LkiPr3769XXnlFrVu3Vv369VWkSBEFBgamnxuPHj2qHTt2aPfu3XZdmHIrKFCggH755Re1bNlScXFx6fHY2FiNGDFC77//vtq1a6fGjRsrLCxMgYGBunLlis6cOaNdu3Zpw4YNioqKcuER3DneffddtWvXzhTbvHmzqlSpom7duql58+YqVqyYEhMTdfr0aa1atUrr1q0znRPefvttTZs2Lcvm9FtZnTp19Ndff+nee+/V6dOn0+MrV65Up06dtGTJknx10ZG7u7tGjx6tPn36mOIffvihnn32WasXBUyZMkWHDx/WunXrTPFff/1Vv/76q2rXrq1WrVqpcuXKKlSokNzd3RUTE6OLFy9q79692rFjhw4dOmT3nUD27dunN998U2+++abKlSununXrqnbt2ipatKgKFCggT09PxcbGpte2YcMGixyFChWyuip7Ru+//74efPBBU2zJkiWqWLGievXqpYYNGyo0NDQ934oVK7Rr1670fZs3b66yZcvm6R1iHnvsMb311lumz9vSpUu1dOlShYaGqmjRovLx8TGNKVGihNW75yQmJmr27NmaPXu2/Pz8VKdOHdWtW1eVK1dWgQIFFBQUpOvXr+vcuXOKiIjQ8uXLrZ6HR4wYodKlSzv/YAEAAAAAsIJGcwAAAAAAcEc4fvy4jh8/7tDYAQMGaNq0aXaPK1OmjLZu3apBgwbp119/tXg+JibG7iYJT09PjR07Vq+//nqOm8yl/1Zjvnz5co7ncfQ28NkZNWqUDMMwrQQtScnJyVq+fLmWL1+e7RxeXl6aMWOG1ZWV7xTnz5/X+fPnczRHwYIF9eKLL+q1116Tn5+f3ePfeustrVmzxtRwLEkXL17UlClTshzr5uamyZMnq3Xr1nbnvWHUqFH69ddfLVZxTk1NzfTcYK3RtUqVKvr888/17LPPmuJpaWlatmyZ1aaim7Vt21aTJ09Wx44d7TuAfOz777/XPffcY/E3+O+//+rDDz/McmxwcLCWLl1q9S4Td5KuXbvqjz/+UJ8+fSz+hmNiYrRo0SItWrTIRdXZLj4+3uJuE/YqVqyYvvnmG3Xp0sWucc8995zCwsI0cOBAU9O19N85cu7cuZo7d26OarsV1alTRxs2bFDXrl0tGpBjY2O1YMECLViwwEXV4Ya2bdtqxIgR+uCDD0zxpKQkzZ8/X/Pnz89yfP/+/fXWW2859Hv1VlKtWjWtX79e7dq109GjR9Pj69atU7t27bRixQoVLFjQhRXa56GHHtLYsWO1d+/e9FhUVJS++OILqxdPeXt7a+XKlRo8eLCmT59u8XxERESOz6HZufFvJnvOCwUKFNCvv/6qYsWKZbtv9+7dNXDgQM2YMcMUj4mJ0bfffpu+Qr811atX14IFCzR8+HCba3OG4sWL66233tI777xj8Vxm/5aKiYnJdt5r165p06ZN2rRpk1319OnTx+LfRgAAAAAA5Cb37HcBAAAAAADIHx599FH169dPBQoUcMp8FSpU0KJFizRz5kx5eHg4NEdISIh++eUX/frrrxa3irdXs2bNtH79eo0YMcIpTeb5xdtvv605c+aoRIkSdo+tUaOGVq1a5fTV1u8UPj4+6tSpk6ZPn66TJ09q9OjRDjWZS/81/P/22292N4cWKFBA8+bN09NPP+1Q3huKFSumP//8U/Xr18/RPJL0zDPPaPLkyfL29rZr3KBBg7Rs2TKLVS9vd2XKlNGff/6pqlWr2jWuatWq2rhxo1Pes9tBy5YttXPnTvXv39/h7yTpvws32rRpoxYtWjixutxXuHBhDR8+XAcOHLD7PHJDz549tX37dofH3+Dp6akuXbqoVq1aOZonr9x9993aunWr+vfvb3HnBluFhYU5uSpk9P777+utt96y6zeeh4eH3njjDc2aNeu2+W1Yrlw5rVu3zuJ38/bt29WqVSuLi21uZW5ublabkz/++GNdvXrV6hhfX19NmzZNP/zwgypUqJCj/GFhYRZ3criZLY3h2WnevLk2bNhg151uvvnmGz311FN25Wnfvr3Wr1+vwoUL21uiU4waNUrvvfee3b/9bvD391dQUFCOaggMDNT48eM1Z84ceXl55WguAAAAAADsQaM5AAAAAAC4bTRr1kw//PCDoqKi9Mcff+jtt99W27ZtFRgYaPMcRYsWVb9+/bR06VIdPHhQDzzwgFNqe/DBB7Vv3z4tXbpUjzzyiN2rMb7zzjtav369GjVq5JR68puHH35Yhw8f1kcffaS6detm2Uzl6emp5s2b69tvv9WePXvUqlWrPKw0f/H09FRAQICKFCmiGjVqqE2bNnryySf1v//9T2vXrlVMTIx+//13DRw4UP7+/jnOFxISot9++02zZ8/OtkEzLCxMr776qg4ePKhevXrlOLf030qY27Zt09q1azVs2DC1adNGpUqVUnBwsN2Nu88995x27typPn36ZNns4+3tra5du+qvv/7StGnT7rgm8xtq1Kih7du367333su2sa169eqaNGmS9uzZo7vuuiuPKswfihcvru+//16HDh3SsGHDbL6AKSgoSF26dNHEiRN17Ngx/fnnn7fs94m3t7cKFy6sihUrqmPHjho5cqQWL16sM2fO6OOPP1ZISEiO5q9SpYoWL16siIgIPfXUUypfvrxN4woVKqRevXrp66+/1unTp7V48WJVqVIlR7XkpbCwMH3//ffau3evnnrqKZUuXTrbMSEhIerRo4fmzJmjkydP5kGVdzY3NzeNHTtW69evV+fOnbO8KMDf31+PPPKIduzYoffee8/hCwhuVSVKlNBff/2l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/vtv/f777+nP33PPPXr88cf1+OOPy8/PL9fqSElJ0aVLl3Tp0iX9+++/+vnnn/Xaa69p0KBB+vDDDxUaGppruW837q4uAAAAAI4pWbKk3nzzTf36669asWKFfvjhBz399NMWTeYAAAAAAAAAAAAAAAC3u5iYGE2fPl1169bVQw89pNOnT7u6JGSwdetWPf/88ypfvry+++67PM2dmpqqb775Rg0bNtTJkyfzNHd+xormAAAAAAAAAAAAAAAAAAAAuKV88sknql27timWnJysy5cvKyYmRpGRkdq0aZO2b9+ua9eumfb7+eeftWbNGs2fP1+tW7fOw6rvHLVq1dL//vc/i3hsbKxiYmJ06dIl7dy5U5s3b9axY8dM+5w/f14DBgzQihUrNH36dPn4+Nidv2jRovrhhx+sPpeYmKgLFy5o586d+vnnn3X27Nn0544cOaIHHnhA27dvl4eHh9157zQ0mgMAAAAAAAAAAAAAAAAAAOCWUr9+fZuaxK9du6bvv/9eEydO1P79+9PjFy5c0H333afff/9drVq1ysVK70yhoaG69957bdr377//1oQJEzR79mwlJSWlx3/88UfFxcVpwYIFdjd9+/r6Zpv/8ccf10cffaRXXnlFkydPTo/v3r1b3333nQYOHGhXzjuRu6sLAAAAQO578803NWjQID3xxBOuLgUAAAAAAAAAAAAAAMBp/Pz89PTTT2vPnj166aWXTM9du3ZNDz30kGlFa+S9u+++W9OnT9emTZtUrlw503OLFy/WO++8k2u5fX199eWXX6pdu3am+Lx583It5+2ERnMAAIA7wK+//qqZM2dq5syZri4FAAAAAAAAAAAAAADA6Tw9PfXpp5/q008/NcWjo6P16quvuqgq3KxevXravn27ypcvb4p/8MEHOnDgQK7mfuaZZ0zbe/bsydV8twtPVxcAAACA3PfCCy/owoULri4DAAAAAAAAAAAAAAAgV7300ktat26dFixYkB778ccfNWrUKFWtWtWFlWUuKSlJW7ZsUWRkpKKjo5WQkKCgoCCVLVtWNWvWVMWKFV1dotMUKlRI8+bNU7NmzZSUlCRJSklJ0ZgxY/Tjjz/mWt4aNWqYtqOjo3Mt1+2EFc0BAADuAIMHD9bo0aM1evRoV5cCAAAAAAAAAAAAAACQqz755BO5u/9fi6xhGPr666+t7jtz5ky5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188//6ywsLBMx3t4eKhjx47p29euXdNrr72WZc4jR46od+/edjVoFyhQQEOHDjXFXnjhBf300082jU9OTta6detszmdNu3bt9PvvvyswMDA9Nnv2bPXt21cpKSk5mjsrf//9t5544gk1adLEosm8R48eevPNN3MttyRFRESoU6dOio+PN8VfeeWVXM17O/B0dQEAAAAAAAAAAAAAAAAAAADAzXbs2GHR/JycnKyYmBjFxMTo+PHj2rx5s7Zv366EhASL8UWLFtXPP/+sZs2aZZvrqaeeMq1O/s033yglJUXjxo1TiRIl0uOXLl3Sd999p7Fjx+rSpUuqWLGijhw5YvMxvf3221q9erU2b94sSUpKSlLfvn01f/58vfzyy2rcuLE8PDzS909JSVFERIQWLFig7777ThUqVNCaNWtszmdNy5YttXLlSnXq1EmxsbGSpPnz5ys5OVlz586Vt7e3TfNcvnxZq1evtojHxcUpJiZGFy9e1K5du7R582YdPXrU6hwDBw7U119/LXd3+9fNTkxMtJpfktLS0hQXF6fDhw/rzz//1OrVq5WWlmba54knnlCrVq3sznunodEcAAAAAAAAAAAAAAAAAAAAt5Thw4c7PPbhhx/WhAkTVKxYMZv279y5s7p06aIlS5akx2bMmKGZM2eqcuXKKlCggC5duqSjR4+mNywHBARo3rx5ql+/vs11eXl56eeff1bHjh21b9++9Pivv/6qX3/9VUFBQSpdurSCgoJ05coVHT9+XImJien7VahQweZcWWnSpIn++OMPdejQQZcvX5YkLVy4UA8++KB+/fVX+fj4ZDvHnj171L59e4fyFy9eXP/73//Ut29fh8ZL0vnz5x3O//DDD+vrr792OPedxP5LAAAAAAAAAAAAAAAAAAAAAIBbSMGCBfXUU0/p77//1pw5c2xuMr9h1qxZatiwoSlmGIb+/fdfbd26VYcPH05vMi9YsKCWLVumevXq2V1nyZIltWHDBj3wwAMWz8XFxemff/7Rli1bdODAAVOTubM1aNBAf/75pwoXLpweW7Zsmbp27apr167lSs5GjRrp66+/1tGjR3PUZO6oUqVKadasWZozZ45p5XhkjhXNAQAAAAAAAAAAAAAAAAAAcMvz9vaWr6+vChUqpGLFiqly5cqqWbOmmjVrpoYNG8rLy8vhuQsWLKjw8HB98MEH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+LXPZjKZLE6yZSoqKpJ1q1atauQ7bdu2jaeffjoOOuigqKqqioiIp59+Ot566y2NzU5OaA4A7DCWL18e11xzTfzhD3+ItWvXbvB7JpOJvLy8iIg46KCD4n/+53/iiCOOqO0xAQAAAAAAAAD4fyorK5N1tm7t3hGUlpYm63322afGvtWxY8c45phj4qWXXqree+ihh4TmOzmhOQCwQ1i5cmUcfvjhMXHixCgqKorOnTtHs2bNYubMmfGPf/wjCgoK4qqrroo6derEuHHj4s0334xvf/vbcf/998d5552X6/EBAAAAAAAAAHZKjRo1StbLly/P0STbl9mzZ8e//vWvZK9bt241+s2SkpIkNB83blyNfo/tn9AcANgh/OY3v4kPP/wwTj/99Lj77rujadOm1b+9//77ccopp8TTTz8df//736N+/foxceLEGDBgQFx00UXRo0eP6Ny5cw6nBwAAAAAAAADYOe22227JuqKiIkeTbF+eeuqpDfb69u1bo99s2bJlsv7kk09q9Hts//JzPQAAQDaMGDEi2rVrFw8//HASmUdE9OjRI+6///6YNm1a/OlPf4qIiM6dO8df/vKXqKqqittvvz0XIwMAAAAAAAAA7PT222+/ZP3+++/naJLtR1VVVQwbNizZO+SQQ6J169Y1+t01a9Yk61WrVtXo99j+Cc0BgB1CeXl5HHzwwVG37sb/wZaSkpKIiJgwYUL1XseOHaNXr17xxhtv1MqMAAAAAAAAAACkDj/88GT94osv5miS7cfdd98dM2fOTPYuvPDCGv9ueXl5sl7/hnN2PkJzAGCHUFRUFLNnz97k71/+VqdOnWS/bdu2sWDBghqdDQAAAAAAAACAjTvkkENit912q15/9NFH8de//jWHE+XW22+/Hddcc02yt//++8fZZ59d499++eWXN/guOzehOQCwQygpKYnS0tJ4+OGHN/ht7dq1cfXVV0deXl507949+W3BggXRpEmTWpoSAAAAAAAAAID/VFBQEBdffHGyd+GFF8aKFStyNFHuPPbYY3HkkUfG6tWrq/fy8/Pjvvvui4KCghr99ogRI2LixInJ3ne+850a/SbbP6E5ALBDuO666yI/Pz/OO++8OO644+J3v/td3HfffTFo0KDYb7/94pVXXok2bdrEwIEDq8+sW7cuPvzww+jUqVMOJwcAAAAAAAAA2Ln9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AAAAAAAAAICE0BwAAAAAAAAAAAAAgITQHAAAAAAAAAAAAACAhNAcAAAAAAAAAAAAAICE0BwAAAAAAAAAAAAAgITQHAAAAAAAAAAAAACAhNAcAAAAAAAAAAAAAICE0BwAAAAAAAAAAAAAgITQHAAAAAAAAAAAAACAhNAcAAAAAAAAAAAAAICE0BwAAAAAAAAAAAAAgITQHAAAAAAAAAAAAACAhNAcAAAAAAAAAAAAAICE0BwAAAAAAAAAAAAAgITQHAAAAAAAAAAAAACAhNAcAAAAAAAAAAAAAICE0BwAAAAAAAAAAAAAgITQHAAAAAAAAAAAAACAhNAcAAAAAAAAAAAAAICE0BwAAAAAAAAAAAAAgITQHAAAAAAAAAAAAACAhNAcAAAAAAAAAAAAAICE0BwAAAAAAAAAAAAAgITQHAAAAAAAAAAAAACAhNAcAAAAAAAAAAAAAICE0BwAAAAAAAAAAAAAgITQHAAAAAAAAAAAAACAhNAcAAAAAAAAAAAAAICE0BwAAAAAAAAAAAAAgITQHAAAAAAAAAAAAACAhNAcAAAAAAAAAAAAAICE0BwAAAAAAAAAAAAAgITQHAAAAAAAAAAAAACAhNAcAAAAAAAAAAAAAICE0BwAAAAAAAAAAAAAgITQHAAAAAAAAAAAAACAhNAcAAAAAAAAAAAAAICE0BwAAAAAAAAAAAAAgITQHAAAAAAAAAAAAACAhNAcAAAAAAAAAAAAAICE0BwAAAAAAAAAAAAAgITQHAAAAAAAAAAAAACAhNAcAAAAAAAAAAAAAICE0BwAAAAAAAAAAAAAgITQHAAAAAAAAAAAAACAhNAcAAAAAAAAAAAAAICE0BwAAAAAAAAAAAAAgITQHAAAAAAAAAAAAACAhNAcAAAAAAAAAAAAAICE0BwAAAAAAAAAAAAAgITQHAAAAAAAAAAAAACAhNAcAAAAAAAAAAAAAICE0BwAAAAAAAAAAAAAgITQHAAAAAAAAAAAAACAhNAcAAAAAAAAAAAAAICE0BwAAAAAAAAAAAAAgITQHAAAAAAAAAAAAACAhNAcAAAAAAAAAAAAAICE0BwAAAAAAAAAAAAAgITQHAAAAAAAAAAAAACAhNAcAAAAAAAAAAAAAICE0BwAAAAAAAAAAAAAgITQHAAAAAAAAAAAAACAhNAcAAAAAAAAAAAAAICE0BwAAAAAAAAA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vgjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAAAAAAAABICM0BAAAAAAAAAAAAAEgIzQEAAAAAAAAAAAAASAjNAQAAAAAA2EBlZWUMHjw4jj/++DjnnHPizTffrP5t2rRpcfrpp0fr1q2jQYMG0alTp7jpppti5cqVOZwYAAAAAMimurkeAAAAAAAAgO3L8uXLo6SkJCZPnhyZTCYiIh577LH44x//GN26dYtvfetbsWjRournP/744xgyZEi8+OKLMXbs2KhXr16uRgcAAAAAssSN5gAAAAAAACRuv/32mDRpUhx22GExcuTIGDlyZBx66KFx1VVXxQ033BArV66MO+64I8rLy2PZsmXx6quvxoEHHhgTJkyI//7v/871+AAAAABAFrjRHAAAAAAAgMSf//znaNq0abz88svRqFGjiIjo27dv7LXXXjFy5Mi466674rLLLqt+/sgjj4yXXnopOnbsGH/605/i5z//ea5GBwAAAACyxI3mAAAAAAAAJMrKyqKkpKQ6Mo+IaNy4cfTu3TsiIk455ZQNzrRq1Sp69eoV06ZNq7U5AQAAAICaIzQHAAAAAAAgsW7duigsLNxg/8u9hg0bbvRc/fr1Y/Xq1TU6GwAAAABQO4TmAAAAAAAAJNq2bRulpaWRyWSq96qqqmLChAkRETF27NgNzqxevTref//92H333WttTgAAAACg5gjNAQAAAAAASPTr1y9mzZoVl19+eVRUVERFRUVcfvnlMXv27Dj66KPjsssuiw8//LD6+RUrVsRPfvKTmDdvXhxxxBE5nBwAAAAAyJa6uR4AAAAAAACA7cv1118fTz75ZAwbNiyGDRsWERGZTCY6d+4cTzzxRHTu3Dl69OgRe+21VzRu3DimTp0aK1asiLp168bVV1+d4+kBAAAAgGxwozkAAAAAAACJPffcM8aPHx8nnnhi7LbbbrHnnnvGueeeGy+//HI0bdo0nn/++dhrr72irKwsJkyYEMuXL48WLVrEk08+GV26dMn1+AAAAABAFrjRHAAAAAAAgA3su+++MXLkyI3+1rlz55g8eXK8/fbbMWfOnNhjjz2iV69eUa9evVqeEgAAAACoKUJzAAAAAAAAtlrdunXjW9/6Vq7HAAAAAABqSH6uBwAAAAAAAAAAAAAAYPviRnMAAAAAAAC22Pz58+Oee+6JMWPGREVFRRQVFUW3bt3iggsuiB49euR6PAAAAAAgS9xoDgAAAAAAQOL222+P/fffP0pLS5P90aNHx4EHHhi/+c1v4m9/+1v885//jNLS0njwwQejZ8+eceutt+ZoYgAAAAAg29xoDgAAAAAAQGLkyJGxYsWK6N69e/Xe0qVL45RTTomlS5fGIYccEj/84Q+jffv2sXjx4hg9enQ8/PDDMWjQoOjcuXMcd9xxOZweAAAAAMgGoTkAAAAAAACJadOmxcEHH5zs/elPf4rFixfH2WefHQ8//HDy2xlnnBEDBw6M4447Lu68806hOQAAAADsAPJzPQAAAAAAAADbl8rKymjWrFmy99FHH0VeXl7ceOONGz1z1FFHRc+ePeO9996rjREBAAAAgBomNAcAAAAAACDRqlWrmDZtWrJXp06diIho0aLFJs81b948Vq9eXaOzAQAAAAC1Q2gOAAAAAABA4phjjonS0tJ45513qvdKSkoik8nEyy+/vNEzlZWV8fbbb8c+++xTW2MCAAAAADVIaA4AAAAAAEDiuuuui8LCwjjppJOqw/IBAwZEz54946KLLoqnn346eX7atGkxYMCAqKioiB/84Ae5GBkAAAAAyLK6uR4AAAAAAACA7Uu7du1ixIgRMWDAgOjfv3/svffeUVJSEl27do33338/Bg4cGEVFRVFcXBxLliyJTz/9NKqqquLoo4+On/3sZ7keHwAAAADIAqE5AAAAAAAAGzjuuOOitLQ0rrzyynjllVdi+vTpkZeXF5lMJiIiKisrY9KkSRER0axZs7jyyivjmmuuiTp16uRybAAAAAAgS4TmAAAAAAAAbFSHDh3ihRdeiDlz5sTo0aNj8uTJsWTJkqiqqoqioqJo165ddOvWLUpKSgTmAAAAALCDEZoDAAAAAACwWW3atImzzjor12MAAAAAALUoP9cDAAAAAAAAAAAAAACwfRGaAwAAAAAAAAAAAACQqJvrAQAAAAAAAPjmu/7662P+/PmRl5cXDz74YK7HAQAAAAC2kdAcAAAAAACAbTZy5MiYOnWq0BwAAAAAdhBCcwAAAAAAALbZpZdeGgsXLsz1GAAAAABAlgjNAQAAAAAA2GaXXHJJrkcAAAAAALIoP9cDAAAAAAAAAAAAAACwfXGjOQAAAAAAAJv0wQcfxKhRo2LixIkxe/bsqKysjIiIRo0aRbt27aJz585xwgknRLdu3XI8KQAAAACQTUJzAAAAAAAANjBr1qw477zzYsyYMRERkclkNnhmwoQJMXLkyBg8eHD06dMnHnzwwWjfvn0tTwoAAAAA1AShOQAAAAAAAIl58+ZFz549o6KiIjp37hynnHJKdO/ePdq0aRMNGzaMiIgVK1bEnDlzorS0NEaMGBFvvPFG9OrVKyZMmBCtWrXK8Z8AAAAAANhWQnMAAAAAAAASN954Y1RUVMTQoUPjiiuu2ORznTt3jv79+8cNN9wQQ4cOjauvvjp++ctfxgMPPFB7wwIAAAAANSI/1wMAAAAAAACwfXnppZfisMMO22xkvr4rr7wyDjvssHjxxRdrbjAAAAAAoNYIzQEAAAAAAEgsXrw42rdvv9Xn2rVrF4sXL87+QAAAAABArROaAwAAAAAAkCguLo6xY8fGypUrt/jMypUrY+zYsdG2bdsanAwAAAAAqC1CcwAAAAAAABKnnnpqzJs3L/r16xcTJ078yucnTpwY/fr1i08//TTOOOOMWpgQAAAAAKhpdXM9AAAAAAAAANuXQYMGxauvvhrjxo2Lbt26xT777BPdu3ePNm3aRIMGDSLi3zeYz5kzJ0pLS2P69OmRyWSiZ8+ecd111+V4egAAAAAgG4TmAAAAAAAAJAoLC2P06NFx8803x7Bhw6KsrCzKysoiIiIvLy8iIjKZTPXzjRs3jksvvTRuuOGGqFevXk5mBgAAAACyS2gOAAAAAADABurVqxdDhgyJm266KcaNGxcffvhhlJeXx/LlyyMioqioKIqLi6NLly7Ru3fvKCgoyPHEAAAAAEA2Cc0BAAAAAADYpIKCgujTp0/06dMn16MAAAAAALUoP9cDAAAAAAAAAAAAAACwfRGaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQqJvrAQAAAAAAANiO/KpxDbxzWfbfCQAAAADUKDeaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJAQmgMAAAAAAAAAAAAAkBCaAwAAAAAAAAAAAACQEJoDAAAAAAAAAAAAAJCom+sBSE2fPj3efffdmDNnTqxevTqaNm0aHTp0iJKSkigsLMz1eLFu3bqYMGFCTJ48OSoqKmLNmjVRVFQUbdq0iY4dO0aHDh0iP9//fgEAAAAAAAAAAAAAvsmE5tuJZ555Jm6++eYoLS3d6O9FRUVx7rnnxk033RTNmzev5ekiZs6cGbfddls88cQTsXTp0k0+t+uuu0bfvn3jJz/5SfTv37/2BgQAAAAAAAAAAAAAssbV0zm2atWqOOuss+Lkk0/eZGQeEbF8+fK4++67o1OnTvHmm2/W2nxVVVXx29/+Njp27Bj33nvvZiPziIjPPvssnn322XjkkUdqZ0AAAAAAAAAAAAAAIOvcaJ5DVVVVceqpp8azzz6b7NepUyeKi4ujcePGMXPmzFi2bFn1bwsWLIjjjjsuXnvttejVq1eNzrdmzZo488wzY8SIERv81rhx49hzzz1j1113jcrKypg9e3asXLmyRucBAAAAAAAAAAAAAGqHG81z6LbbbtsgMr/wwgujvLw8ZsyYER988EEsXrw4Ro4cGcXFxdXPrFy5MgYOHJgE6DXhRz/6URKZ161bNy655JJ49913Y8mSJTFlypR45513YvLkyVFZWRlTpkyJu+66K0pKSiIvL69GZwMAAAAAAAAAAAAAao4bzXNk0aJFccsttyR7v/3tb+MXv/hFspefnx8nn3xyHHroofGtb30rZs2aFRERc+bMiaFDh8bgwYNrZL7HHnssHn300ep1q1at4sUXX4zOnTtv9Pn8/Pzo0KFDdOjQIS6//PJYsmRJjcwFAAAAAAAAAAAAANQ8N5rnyO9///uorKysXh9xxBFx7bXXbvL51q1bxwMPPJDs3XnnnbFo0aKsz7Zw4cL42c9+Vr1u3LhxjBkzZpOR+cY0bdo063MBAAAAAAAAAAAAALVDaJ4DVVVV8dBDDyV7v/rVryIvL2+z54488sg4/PDDq9eVlZXx5JNPZn2+W265JRYuXFi9/s1vfhP77rtv1r8DAAAAAAAAAAAAAGyfhOY5MH78+FiwYEH1eu+9944+ffps0dkf/ehHyfqZZ57J4mQRq1atikceeaR6vccee8QFF1yQ1W8AAAAAAAAAAAAAANs3oXkOPP/888n66KOP/srbzP/z2f80evToWLFiRdZm+/Of/xyLFy+uXp922mlRp06drL0fAAAAAAAAAAAAANj+Cc1z4O9//3uyLikp2eKzrVq1ivbt21evV69eHZMnT87SZBtG8H379s3auwEAAAAAAAAAAACAbwaheQ5MmTIlWXfq1Gmrzq///Prv2xbvvfdesu7SpUtERKxbty5efPHFOO200+KAAw6Ihg0bRpMmTWK//faLgQMHxkMPPRQrV67M2hwAAAAAAAAAAAAAQO7UzfUAO5vPP/88ysvLk722bdtu1TvWf37q1KnbPFdExLJly+Kf//xn9bpOnTrRrl27mDFjRpx11lnx1ltvbfRMWVlZjBgxIm644Yb43e9+F2effXZW5gEAAAAAAAAAAAAAcsON5rVs4cKFkclkqtcFBQXRsmXLrXpH69atk3VFRUVWZpsxY0YyW6NGjWLy5MnRvXv3jUbm65s3b1784Ac/iF/84hdZmQcAAAAAAAAAAAAAyA03mtey5cuXJ+sGDRpEXl7eVr2jYcOGm33n17V06dJknZeXF8cff3wsW7YsIv496xlnnBFHHHFENGvWLBYtWhRjxoyJxx9/PD7//PPqc7feemu0bt06LrvssqzMVVFREQsWLNiqM2VlZVn5NgAAAAAAAAAAAADsjITmtWz9KLywsHCr31G/fv3NvvPrWj80X7JkSSxZsiQiIg4++OAYOXJkFBcXJ8+cffbZccMNN8SJJ54YEydOrN6/5pprol+/frH//vtv81z33HNPDB48eJvfAwAAAAAAAAAAAABsmfxcD7Cz+eKLL5L1LrvsstXvqFevXrL+z9vEt8WmgvU2bdrEq6++ukFk/qX27dvH66+/HnvssUf13qpVq+L222/PylwAAAAAAAAAAAAAQO0Smtey9W8wX7169Va/Y9WqVZt959e1qffcdttt0bRp082ebd68efzud79L9h599NGsRfAAAAAAAAAAAAAAQO2pm+sBdjZFRUXJev0bzrfE+vH2+u/8ujb2nt122y0GDBiwRedPPfXUuPzyy2PZsmUR8e8/27vvvhv/9V//tU1zXXzxxfH9739/q86UlZXFSSedtE3f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AABACUVzAAAAAAAAAAAAAABKKJoDAAAAAAAAAAAAAFBC0RwAAAAAAAAAAAAAgBKK5gAAAAAAAAAAAAAAlFA0BwAAAAAAAAAAAACghKI5AAAAAAAAAAAAAAAlFM0BAAAAAAAAAAAAACihaA4AAAAAAAAAAAAAQAlFcwAAAAAAAAAAAAAASiiaAwAAAAAAAAAAAABQQtEcAAAAAAAAAAAAAIASiuYAAAAAAAAAAAAAAJRQNAcAAAAAAAAAAAAAoESLcgeoqWeffTazZs1KZWVlnn/++axYsSKrV69OkrRv3z4VFRXp0aNHevXqlb59+2b33Xcvc2IAAAAAAAAAAAAAgMapwRbNn3/++dx///158MEHM3Xq1Lz66qtbtH777bfPkUcemUGDBmXw4MHp2bNn3QQFAAAAAAAAAAAAAGhiGlTRfPXq1bnrrrvy05/+NNOnT0+xWEyS6v++qVAovO36/573yiuvZOLEiZk4cWKS5PDDD8///M//5JOf/GQ6dOhQR18AAAAAAAAAAAAAAND4NSt3gCRZuHBhLrnkknTr1i2f//znM23atGzYsKG6OP7WYnmxWHzbn//25po3n/3hD3/IBRdckG7duuWSSy7JggUL6ufjAAAAAAAAAAAAAAAambKeaL548eJ87Wtfy2233ZZ///vfKRaLb1sq7969e973vvdl7733TpcuXbLrrrumQ4cOadeuXYrFYtauXZtVq1ZlyZIlWbJkSf7xj3/kr3/9axYtWrTRO1euXJnvfve7GTt2bM4666xcddVV6dq1a319MgAAAAAAAAAAAABAg1eWovlrr72Wb37zm/n2t7+d1157raRgXiwW061btwwdOjQDBw7MUUcdlY4dO76r9yxbtixTpkzJ5MmT8+tf/7qkeL5u3br84Ac/yI9//ONcdtllueKKK9KmTZta+T4AAAAAAAAAAAAAgMasLEXzvfbaK4sXL06xWKwe23777fPJT34yZ555Zg4++OBaeU+nTp1yyimn5JRTTslNN92UP//5z/nJT36Su+++O8uXL68+DX306NG54447UllZWSvvBQAAAAAAAAAAAABozJqV46X/fbJ4nz59cscdd2TJkiX53ve+V2sl87dz8MEH53vf+16WLFmSO+64I+973/uS/OcU9eeff77O3gsAAAAAAAAAAAAA0JiUpWieJPvvv38mTpyY2bNn58wzz0zr1q3r7d2tWrXKmWeemVmzZmXixInp169fvb0bAAAAAAAAAAAAAKCha1GOl95zzz059dRTy/HqjZx44ok58cQT8/Of/7zcUQAAAAAAAAAAAAAAGoSynGjeUErm/60hZgIAAAAAAAAAAAAAKIeyFM0BAAAAAAAAAAAAAGi4FM0BAAAAAAAAAAAAACihaA4AAAAAAAAAAAAAQAlFcwAAAAAAAAAAAAAASjS5ovmTTz6Z008/Pd27d0/btm3TpUuXDBkyJBMnTix3NAAAAAAAAAAAAACARqFBF80feuihHHXUUdU///znPzc7/4YbbsgRRxyR8ePHZ/HixXn99dezdOnS/Pa3v81JJ52UT33qU9mwYUM9pQcAAAAAAAAAAAAAaJxalDvA5tx22215/PHHUygU8r73vS977bXXJuc+/PDD+fKXv5xisZgkKRQKJc+LxWLuueeebLfddvn+979fp7kBAAAAAAAAAAAAABqzBn2i+e9///vq69NOO22zcy+55JIUi8XqgnmxWEynTp3Spk2b6vFisZgf/vCHmT59ep3mBgAAAAAAAAAAAABozBps0fzZZ5/NSy+9VH1/wgknbHLuo48+mr/97W/VJfNDDjkkzzzzTF544YW8+uqr+c53vpPk/59yfv3119dhcgAAAAAAAAAAAACAxq3BFs3/+c9/Vl+3bNkyffr02eTcn/3sZ0n+c4p5y5Yt84tf/CK9e/euXvulL30pn//851MsFlMsFnP//fdn7dq1dfsBAAAAAAAAAAAAAACNVIMtmi9YsCDJf04h79mzZ5o3b77JuQ899FAKhUIKhUKGDh2a7t27bzTni1/8YvX166+/nlmzZtV+aAAAAAAAAAAAAACAJqDBFs2rqqqqrysqKjY5b+HChdWl9CQ56aST3nbennvumY4dO1bf/+Mf/9j6kAAAAAAAAAAAAAAATVCDLZq//vrr1debO818+vTpSZJisZgkOeaYYzY5979POn/llVe2NiIAAAAAAAAAAAAAQJPUYIvm7du3r75esWLFJuc99thj1de77757OnfuvMm5rVq1qr5es2bNViYEAAAAAAAAAAAAAGiaGmzRfKeddkryn5PKKysrs379+red97vf/S5JUigUctRRR212z1dffbX6ul27drUTFAAAAAAAAAAAAACgiWmwRfM+ffpUX7/++ut5+OGHN5rzhz/8IZWVlSkUCkmSAQMGbHbPpUuXVl/vuOOOtRMUAAAAAAAAAAAAAKCJabBF8/e9733ZYYcdUigUUiwWM3z48Lz++uvVz994442MGDEiyX9OPW/evHmOO+64Te63cOHCkhPNd9999zrLDgAAAAAAAAAAAADQmLUod4BNadGiRU4//fSMHTs2hUIhTz31VA488MB85jOfScuWLTN+/Pg88cQT1aeZDxo0KLvssssm95s+fXrJ/b777lun+QEAAAAAAAAAAAAAGqsGWzRPkhEjRuSuu+7KypUrkyRz587NFVdcUTKnWCymWbNmufrqqze713333Vd9vccee2SnnXaq/cAAAAAAAAAAAAAAAE1As3IH2Jxddtkl48ePT6tWrVIsFqtPL39TsVhMknz1q1/NIYccssl9Xn311TzwwAMpFAopFAoZMGBAXcYGAAAAAAAAAAAAAGjUGnTRPEk+9KEP5c9//nNOOOGENG/ePMVisfpnzz33zF133ZUrr7xys3vccsstWbNmTXUxfciQIfURHQAAAAAAAAAAAACgUWpR7gA1sd9+++X+++/PypUr89xzz2Xt2rXp0qVLevToUaP1PXv2zPXXX199/6EPfaiuogIAAAAAAAAAAAAANHqNomj+pve85z3Zf//9t3jd6aefXgdpAAAAAAAAAAAAAACapmblDgAAAAAAAAAAAAAAQMOiaA4AAAAAAAAAAAAAQAlFcwAAAAAAAAAAAAAASiiaAwAAAAAAAAAAAABQoixF81NPPTXz588vx6vf1rx583LqqaeWOwYAAAAAAAAAAAAAQINQlqL5vffem3333TfnnXdennnmmXJESJI888wzOffcc7PffvvlF7/4RdlyAAAAAAAAAAAAAAA0JGUpmifJ+vXrM27cuOyzzz752Mc+lkmTJtXbuydNmpSTTz45++yzT2677bb8+9//rrd3AwAAAAAAAAAAAAA0dGUpmp999tkpFAopFovZsGFDfvnLX+b444/P7rvvnhEjRuSpp56q9XfOnDkzw4cPz+67757jjz8+v/71r7Nhw4YUi8U0a9Ys55xzTq2/EwAAAAAAAAAAAACgMWpRjpf+6Ec/yuc+97lcfPHFmT59eorFYpKksrIyX//61/P1r389Xbt2zcCBA3P00Ufn4IMPzj777JOWLVvWaP9169Zlzpw5mTFjRqZMmZJHH300ixcvTpLqd72pf//+ueGGG3LQQQfV7kcCAAAAAAAAAAAAADRSZSmaJ8nBBx+cxx9/PL/97W9z9dVXZ+bMmdXPisViFi1alJ/+9Kf56U9/miRp3rx5evbsmW7dumXXXXdNhw4d0rZt2xSLxbz22mupqqrKCy+8kEWLFmXhwoV54403SvZLkkKhUD120EEH5atf/WpOOOGEevpiAAAAAAAAAAAAAIDGoWxF8zcNHjw4gwcPzsMPP5zvfve7eeCBB1IsFqtL4W+WxNevX5/58+fn2Wef3ex+bz2xvFAopFAoVI+feOKJufjii3PsscfWwdcAAAAAAAAAAAAAADR+ZS+av+mDH/xgPvjBD2bhwoW56667cs899+Rvf/tb9fP/Po18c95aUC8Wi9lvv/1yxhln5JOf/GR69OhR++EBAAAAAAAAAAAAAJqQBlM0f1OPHj0ybNiwDBs2LAsXLszvfve7TJ06NTNmzMjTTz+dDRs2bHZ9s2bN8t73vjcHHXRQjjzyyAwaNEi5HAAAAAAAAAAAAABgCzS4ovl/69GjR84999yce+65SZJ169Zl4cKFef7557NixYqsWbMmSdKuXbtsv/326d69e7p3755WrVqVMzYAAAAAAAAAAAAAQKPWoIvmb9WqVavsscce2WOPPcodBQAAAAAAAAAAAACgyWpW7gAAAAAAAAAAAAAAADQsiuYAAAAAAAAAAAAAAJRQNAcAAAAAAAAAAAAAoISiOQAAAAAAAAAAAAAAJRTNAQAAAAAAAAAAAAAooWgOAAAAAAAAAAAAAEAJRXMAAAAAAAAAAAAAAEoomgMAAAAAAAAAAAAAUELRHAAAAAAAAAAAAACAEormAAAAAAAAAAAAAACUUDQHAAAAAAAAAAAAAKCEojkAAAAAAAAAAAAAACUUzQEAAAAAAAAAAAAAKKFoDgAAAAAAAAAAAABACUVzAAAAAAAAAAAAAABKKJoDAAAAAAAAAAAAAFBC0RwAAAAAAAAAAAAAgBItyh3g3SgWi3nqqacyd+7cLF++PCtWrMiGDRty5plnplevXuWOBwAAAAAAAAAAAADQqDWqovmsWbPyne98J7/61a+yatWqjZ5/4AMfeNui+be+9a384x//SJL06NEj11xzTR0nBQAAAAAAAAAAAABovBpF0XzdunX50pe+lFtuuSXJf040f6tCobDJ9Z07d84VV1yRQqGQQqGQz3zmM04+BwAAAAAAAAAAAADYhGblDvBO1qxZk6OPPjq33HLLFhfM33TGGWekY8eOKRaLKRaLueuuu+oiKgAAAAAAAAAAAABAk9Dgi+ann356nnjiier7QqGQk08+Od///vfzm9/85m3L52/VokWLnHzyydX3DzzwQJ1kBQAAAAAAAAAAAABoClqUO8DmTJw4MRMnTqw+tXzPPffMfffdlz59+pTMq8mp5kOGDMkPf/jDFIvFPPnkk1m7dm3atm1bJ7kBAAAAAAAAAAAAABqzBn2i+ejRo5MkxWIxu+yySyZPnrxRybymDjnkkOrrN954I3Pnzq2VjAAAAAAAAAAAAAAATU2DLZr/61//yowZM1IoFFIoFDJ69Ojsuuuu73q/Tp06pWPHjtX3Tz/9dG3EBAAAAAAAAAAAAABochps0XzatGkpFospFotp0aJFTjvttK3ec+edd66+fumll7Z6PwAAAAAAAAAAAACApqjBFs2XLl2aJCkUCtljjz3Svn37rd7zPe95T/X1qlWrtno/AAAAAAAAAAAAAICmqMEWzVesWFF9/d8F8a2xevXq6uu2bdvWyp4AAAAAAAAAAAAAAE1Ngy2a77DDDtXX/1063xpvnpKeJDvttFOt7AkAAAAAAAAAAAAA0NQ02KL5LrvskiQpFot57rnnsm7duq3a75lnnslLL71Ufd+9e/et2g8AAAAAAAAAAAAAoKlqsEXzgw8+uPp63bp1+f3vf79V+911113V161atcphhx22VfsBAAAAAAAAAAAAADRVDbZo3r179+y7774pFApJkmuvvfZd7/XCCy/kxhtvTKFQSKFQyAc+8IG0adOmtqICAAAAAAAAAAAAADQpDbZoniTnnntuisVikmTKlCn52te+tsV7VFVV5ZRTTskrr7xSvdfFF19cmzEBAAAAAAAAAAAAAJqUBl00v+CCC9KrV68kSbFYzNVXX50LL7wwK1asqNH63/3ud3n/+9+fP/7xj9WnmR9yyCE58cQT6zA1AAAAAAAAAAAAAEDj1qLcATanZcuWueeee3LMMcfktddeS7FYzC233JKf/OQnGTJkSA466KAk/ymhFwqF3H///Zk5c2bmzZuX3//+95k/f371s2KxmB133DH33HNPmb8KAAAAAAAAAAAAAKBha9BF8yQ59NBD87Of/SynnXZa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Mq1atdpo/M1TzHfccce3Xde5c+esXbu2TrMBAABAU9ai3AEoNX/+/Dz55JNZtGhR1q1blx122CF77713jjjiiLRp06bc8QAAAAAAAADqVceOHbNkyZKNxjt16pTdd999k+tWrFixyRI6AAAA8M4UzRuIX/7ylxk9enRmzpz5ts87dOiQz3zmMxk5cmR23nnnek63sTVr1qRv376ZP39+yfinP/3p3HHHHeUJBQAAAAAAADQ5++yzT6ZOnZoNGzakWbP//0e7r7322lx77bWbXPeXv/wlPXv2rI+IAAAA0CQ1e+cp1KXXX389n/rUp3LyySdvsmSeJKtWrcpNN92UfffdN1OmTKnHhG9v+PDhG5XMAQAAAAAAAGrbwQcfnKqqqjzxxBM1XvOHP/whixcvzpFHHlmHyQAAAKBpUzQvow0bNuTUU0/NXXfdVTLevHnz7LbbbunXr18qKipKnr344os54YQT8oc//KE+o5Z48skn893vfrds7wcAAAAAAAC2HSNGjEhVVVXe//7313jNK6+8kpEjR+bTn/50HSYDAACApk3RvIy+/e1v51e/+lXJ2Pnnn5+FCxfm2WefzVNPPZXly5dnwoQJ6dGjR/WcNWvW5BOf+ERWrFhR35Gzbt26nH322dmwYUOSpH379vWeAQAAAAAAANh2NG/ePO3bt0/z5s1rvGbw4MEZOXJk+vTpU4fJAAAAoGlTNC+Tl19+OV/72tdKxr7xjW/k+9//frp06VI91qxZs5x88smZPn16evXqVT2+aNGiXHfddfUVt9rXv/71/O1vf0uSdO3aNZ/73OfqPQMAAAAAAAAAAAAAULcUzcvkW9/6VqqqqqrvjzrqqFx++eWbnN+1a9fceuutJWPXX399Xn755TrL+FZ///vf841vfKP6/qabbsp2221Xb+8HAAAAAAAAAAAAAOqHonkZbNiwIbfffnvJ2DXXXJNCobDZdccee2yOPPLI6vuqqqqMHz++TjK+1YYNG3L22Wdn3bp1SZKTTz45J510Ur28GwAAAAAAAGBLXHXVVTnrrLNy9tlnlzsKAAAANFqK5mUwffr0vPjii9X3u+++ewYMGFCjtW/9h5Bf/vKXtZhs02644YY88cQTSZL3vOc9uemmm+rlvQAAAAAAAABbasKECbnjjjtyxx13lDsKAAAANFotyh1gW3T//feX3H/oQx96x9PM/3vuf5s8eXJWr16d9u3b11q+t3r22WczYsSI6vtvfOMb6dKlS529DwAAAAAAAGBrXHTRRXnppZfKHQMAAAAaNUXzMvjLX/5Scn/EEUfUeG2XLl3Sq1evVFZWJknWrVuXOXPm5JBDDqnFhKXOPffcrFmzJkly+OGH5/Of/3ydvQsAAAAAAABga1144YXljgAAAACNXrNyB9gWzZ07t+R+33333aL1b53/1v1q06233prf//73SZKWLVvmRz/6UY1PXwcAAAAAAAAAAAAAGicnmteztWvXZuHChSVj3bt336I93jr/6aef3upcb+eFF17IZZddVn3/la98Jfvtt1+dvAsAAAAAAADgnTz11FOZOHFiZs+enQULFqSqqipJst1226Vnz57p27dvhgwZkgMOOKDMSQEAAKDxUzSvZy+99FKKxWL1fcuWLdOpU6ct2qNr164l98uWLauVbG91wQUX5NVXX02S7Lnnnhk+fHidvAcAAAAAAABgcyorK3PWWWflscceS5KS37m+acaMGZkwYUJGjRqVAQMGZNy4cenVq1c9JwUAAICmQ9G8nq1atarkvl27dikUClu0R/v27Te7Z20YP358fvnLX1bf/+AHP0ibNm1q/T01sWzZsrz44otbtGbevHl1lAYAAAAAAACoT0uWLMlhhx2WZcuWpW/fvjnllFNy4IEHplu3btW/O129enUWLVqUmTNn5t57782jjz6aww8/PDNmzEiXLl3K/AUAAADQOCma17O3lsLfTXm7bdu2m91za7388sv5whe+UH3/2c9+NgMHDqzVd2yJsWPHZtSoUWV7PwAAAAAAAFA+I0aMyLJly3Ldddfl4osv3uS8vn37ZvDgwRk+fHiuu+66XHrppbn66qtz66231l9YAAAAaEKalTvAtua1114ruW/VqtUW79G6deuS+7Vr125Vpre6+OKLs2zZsiRJp06d8r//+7+1uj8AAAAAAABATT344IM59NBDN1syf6tLLrkkhx56aB544IG6CwYAAABNnKJ5PXvrCebr1q3b4j1ef/31ze65NR544IH89Kc/rb6//vrrs+OOO9ba/gAAAAAAAABbYvny5enVq9cWr+vZs2eWL19e+4EAAABgG9Gi3AG2NR06dCi5f+sJ5zXx1hPM37rnu1VVVZXzzz+/+v7444/PGWecUSt7b40LLrggH//4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HAAAAChx22235bOf/Ww6d+6cT33qU3nwwQezYcOGcscCAAAAAOrRoYcemr/85S9ZtGjRZufttttumTp1avbbb7+MHz8+48ePr6eEAADUNUVzAAAAYCOtW7fOmjVrcvfdd+fEE09M165dc8kll2TmzJnljgYAAAAA1IMhQ4Zkw4YNufnmm99x7q677popU6bk0EMPzfr16+shHQAA9UHRHAAAANjIaaedljlz5mTYsGHp2bNn/vWvf+W73/1uDjnkkOy333659tpr8/zzz5c7JgAAAABQR0488cRcddVVqaioqNH87bffPo888ki++MUv5swzz6zjdAAA1AdFcwAAAOBt7b333vna176WZ599NlOmTMk555yT7bffPnPnzs2VV16Z3XbbLcccc0xuv/32VFVVlTsuAAAAAFCLKioqMnr06FxxxRU1XtO2bdtcf/31uf322+swGQAA9UXRHAAAAHhHH/jAB/KDH/wgL7zwQu6777585CMfScuWLTN58uScc8456dy5c04//fTcf//95Y4KAAAAAAAAQC1QNAcAAABqrFWrVjn55JMzYcKELF26NLfcckv69++f1157LT//+c/zkY98pNwRAQAAAAAAAKgFLcodAAAAAGicKioqct555+W8887LwoUL89Of/jR33313uWMBAAAAAGVy1VVX5YUXXkihUMi4cePKHQcAgK3kRHMAAABgq/Xo0SNXXnll/va3v5U7CgAAAABQJhMmTMgdd9yRO+64o9xRAACoBU40BwAAAAAAAAAAttpFF12Ul156qdwxAACoJYrmAAAAQInnnnsuHTp0KHcMAAAAAKCRufDCC8sdAQCAWqRoDgAAAJTo2bNnuSMAAAAAAAAAUGaK5gAAAAAAAAAAwCY99dRTmThxYmbPnp0FCxakqqoqSbLddtulZ8+e6du3b4YMGZIDDjigzEkBAKhNiuYAAAAAAAAAAMBGKisrc9ZZZ+Wxxx5LkhSLxY3mzJgxIxMmTMioUaMyYMCAjBs3Lr169arnpAAA1AVFcwAAAGAjr732WsaMGZN77rknS5YsSefOnXPSSSfl8ssvT+fOnd92zWc/+9nceeedWb9+fT2nBQAAAABq25IlS3LYYYdl2bJl6du3b0455ZQceOCB6datW9q3b58kWb16dRYtWpSZM2fm3nvvzaOPPprDDz88M2bMSJcuXcr8BQAAbC1FcwAAAKDE+vXrM2jQoDz++OPVJxQtWLAg3/ve93LnnXfmtttuy9ChQ9927dudaAQAAAAAND4jRozIsmXLct111+Xiiy/e5Ly+fftm8ODBGT58eK677rpceumlufrqq3PrrbfWX1gAAOpEs3IHAAAAABqWsWPHZurUqenevXvuvvvu/P3vf8/EiRNzzDHHZPny5fnoRz+asWPHljsmAAAAAFCHHnzwwRx66KGbLZm/1SWXXJJDDz00DzzwQN0FAwCg3iiaAwAAACXuvvvutGnTJo888khOO+207LPPPjnxxBMzadKkjB07Ni1atMgXvvCFjBkzptxRAQAAAGhE1q1bl6VLl2bVqlXljkINLF++PL169dridT179szy5ctrPxAAAPVO0RwAAAAoMWfOnPTv3z+9e/fe6Nn555+fSZMmpaKiIiNHjsyXv/zlMiQEAAAAoKFZs2ZNlixZktdee22jZw888ECOPPLIdOjQIV27dk1FRUX23HPPXHfddSkWi2VIS0306NEjU6dOzZo1a2q8Zs2aNdV/LREAgMZP0RwAAAAo8frrr6djx46bfH7kkUdmypQp2WWXXXLDDTfk3HPP9QtBAAAAgG3cV77ylXTv3j3PPvtsyfh1112XD3/4w5k2bVrWr1+fYrGYYrGY+fPn57LLLsvQoUOzYcOGMqVmc0499dQsWbIkgwYNyuzZs99x/uzZszNo0KAsXbo0Z5xxRj0kBACgrrUodwAAAACgYenatWv++c9/bnZOnz59Mm3atHzoQx/KbbfdllWrVqV58+b1lBAAAACAhuaxxx7LXnvtlX333bd6bP78+bniiivSvHnzfOlLX8pnP/vZ9OrVK8uXL8/kyZMzYsSI/Pa3v83NN9+cL3zhC2VMz9u58sorM2nSpEybNi0HHHBAevfunQMPPDDdunVLu3btkvznBPNFixZl5syZmT9/forFYg477LAMGzaszOkBAKgNiuYAAABAiUMPPTT33ntvFi1alG7dum1y3m677ZapU6dm0KBBGT9+vKI5AAAAwDbs+eefz4ABA0rG7rvvvqxfvz7f+ta3cumll1aPd+nSJWeccUYOP/zw9OvXL3fccYeieQPUpk2bTJ48OaNHj87NN9+cefPmZd68eUmSQqGQJCV/6bCioiIXXXRRhg8fntatW5clMwAAtUvRHAAAACgxZMiQ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rilduVWrVmno0KG68847my2/cOGCnnzySf3617++5N7ULbfcog0bNigsLMydUQEAXqiL0QEAAAAAoCOaNGmSPv30U61evbppWUJCghwOh9asWdPinIs3kG655RY3pQQAwPmmTJmi2tpaxcXFqbKy8lvHV1ZWKi4uTnV1dZo6daobEgIAAACA+yxYsEAhISGaPXu2Fi5cqM8++0wxMTGaPXu2Fi9erDlz5qi0tFRHjhxRVVWVVq9erbFjx+qLL77QvHnzjI4PoAMaOXKkJMlms+l73/tem/7169fP5U/f45rSlZs1a5Z++9vfXrL85z//uZYtWyaTyaQf/vCHeuaZZ/TYY48pKChI5eXluvvuu3X8OE/EAwBcHm3yAAAAAMAFFixYoN/+9reaPXu29u/fr6SkpGY3kP71r3/pkUceUWhoqI4ePart27crIyODG0gAAK+XnJysbdu2qaSkRBEREQoLC1NkZKSCgoKaulHZ7XbZbDaVlZVp//79cjgcio6O1sKFCw1ODwAAAADO5e/vr8LCQt1///164YUX9OKLLyooKEiBgYEymUzKyclRTk5OszkOh0Pp6emaOHGiMaEBdGgjR47U22+/rV27dmns2LFGx2nCNSXn2rt3r1555RVde+21Ki4u1o033ti07ty5c5oyZYreeustrVixQmlpaQYmBQB4OgrNAQAAAMAFuIEEAOis/Pz8mr5AlZ2draqqKlVVVUmSTCaTpK9+510UEBCgpKQkpaamytfX15DMAFzvs88+U2FhoQ4dOiR/f39FRkbq9ttvNzoWAACAWwwaNEiVlZVavny5Xn31Ve3fv1///Oc/Lxnn5+enuLg4PfXUUxo1apQBSQF0BhaLReHh4e3uZD1z5kzdd999LkrFNSVn27x5sxwOhzIzM5sVmUtSt27d9Oqrr+q9997TW2+9RaE5AOCyKDQHAAAAABfhBhIAwChGF3T6+voqMzNT6enpKikp0e7du3Xw4EGdOnVKktSzZ08FBwcrPDxcMTExLn/0MgDXW7VqlYYOHao777yz2fILFy7oySef1K9//Ws1NjY2W3fLLbdow4YNCgsLc2dUAAAAQ3Tr1k1PPfWUnnrqKdlsNu3Zs0dHjx7VhQsX1LNnT4WEhGjYsGHq1q2b0VEBdHCxsbEqLy9v97xHH33UBWma45qS8xw4cEAmk0n3339/i+v79OmjW2+9VaWlpW5OBgDwNhSaAwAAAIALcQMJAOAK3lLQ6ePjI4vFIovF4rb3BGCMWbNm6ZFHHrnk59LPf/5z5eTkqFu3bvrhD3+oG264QUePHtWWLVtUXl6uu+++W7t371ZAQIBByQEAANwvKChIQUFBRscAAI/FNaXvrmvXrpKkfv36tTomMDBQH3zwgbsiAQC8FIXmAAAAAOAm3EACADgLBZ0AvMHevXv1yiuv6Nprr1VxcXGzR3WfO3dOU6ZM0VtvvaUVK1bwmG4AAAAAAL6Duro6FRcXN702mUySJJvN1mrjic8//1zXXXedW/IBALwXheYAAAAAAAAt+Oyzz1RYWKhDhw7J399fkZGRuv32242OBbSKgk4Anmbz5s1yOBzKzMxs9jNJ+urJP6+++qree+89vfXWW/xcAgAA+IaKigqdOHFCsbGxRkcBAHiBd955R++8884ly997770WC83PnTunjz76SMOGDXNHPACAF6PQHAAAAAA8CDeQAPdZtWqVhg4deklH6AsXLujJJ5/Ur3/9azU2NjZbd8stt2jDhg2tdoABjERBJwBPc+DAAZlMJt1///0tru/Tp49uvfVWlZaWujkZAACA53v88ce1a9euS65NAIARUlJSdOjQIZlMJuXm5hodB9/w8MMPt7ruzJkzLS7fsGGDjh49qujoaFfFAgB0EBSaAwAAAIAH4QYS4D6zZs3SI488ckmh+c9//nPl5OSoW7du+uEPf6gbbrhBR48e1ZYtW1ReXq67775bu3fvVkBAgEHJgZZR0AnA03Tt2lWS1K9fv1bHBAYG6oMPPnBXJAAAAK/icDiMjgAAkqT8/Hzt3buXQnMP9dprr7V7zm233aaioiINGTLEBYkAAB0JheYAAAAA4GG4gQQYZ+/evXrllVd07bXXqri4uFlX6HPnzmnKlCl66623tGLFCjpCw+NQ0AnAaHV1dSouLm56bTKZJEk2m63Vp4F8/vnnuu6669ySDwAAAABwZZKSknT48GGjY8CJhg4dqqFDhxodAwDgBSg0BwAAAAAA+P9t3rxZDodDmZmZzYrMJalbt2569dVX9d577+mtt96i0ByGo6ATgKd555139M4771yy/L333mvx59K5c+f00UcfadiwYe6IBwAAYIjBgwdf0bza2lonJwGAK5eYmGh0BAAAYBAKzQEAAADABbiBBHin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8jYcaE5ERJRP+fn5oVWrVmjVqpXRVSEiIiIiIiIiIiIiIiIiIiIiIiKTsRhdASIiIiIiIiIiIiIiIiIiIiIiIiIiIiLKXzjQnIiIiIiIiIiIiIiIiIiIiIiIiIiIiIg0ONCciIiIiIiIiIiIiIiIiIiIiIiIiIiIiDQ40JyIiIiIiIiIiIiIiIiIiIiIiIiIiIiINDjQnIiIiIiIiIiIiIiIiIiIiIiIiIiIiIg0fI2uABERuabC68vcvs1TgW7fpFu4O2t+zUl0LzPTexIRERERERERERERERERERERkRlwRnMiIiIiIiIiIiIiIiIiIiIiIiIiIiIi0uBAcyIiIiIiIiIiIiIiIiIiIiIiIiIiIiLS4EBzIiIiIiIiIiIiIiIiIiIiIiIiIiIiItLgQHMiIiIiIiIiIiIiIiIiIiIiIiIiIiIi0uBAcyIiIiIiIiIiIiIiIiIiIiIiIiIiIiLS8DW6AkRERHRXhdeXuX2bpwLdvkkiIiIiIiIiIiIiIiIiIiIiIiIyAc5oTkREREREREREREREREREREREREREREQaHGhORERERERERERERERERERERERERERERBocaE5EREREREREREREREREREREREREREREGhxoTkREREREREREREREREREREREREREREQaHGhORERERERERERERERERERERERERERERBocaE5EREREREREREREREREREREREREREREGhxoTkREREREREREREREREREREREREREREQaHGhORERERERERERERERERERERERERERERBocaE5EREREREREREREREREREREREREREREGhxoTkREREREREREREREREREREREREREREQaHGhORERERERERERERERERERERERERERERBocaE5EREREREREREREREREREREREREREREGhxoTkREREREREREREREREREREREREREREQaHGhORERERERERERERERERERERERERERERBocaE5EREREREREREREREREREREREREREREGhxoTkREREREREREREREREREREREREREREQaHGhORERERERERERERERERERERERERERERBocaE5EREREREREREREREREREREREREREREGhxoTkREREREREREREREREREREREREREREQaHGhORERERERERERERERERERERERERERERBocaE5EREREREREREREREREREREREREREREGr5GV4C0jh8/ju3bt+Ps2bO4c+cOChcujGrVqqFZs2YIDAw0rF4igl27dmHPnj2Ii4sDABQvXhx16tRB/fr1oSiKYXUjIiIiIiIiIiIiIiIiIiIiIiIiIiIi9+JA83xi8eLFePvtt7Fr165s/z8kJATR0dEYP348wsPDPVav1NRUfPrpp5g6dSrOnTuX7TJlypTB0KFD8fLLL8PPz89jdSMiIiIiIiIiIiIiIiIiIiIiIiIiIiJ9WIyugNmlpKSgf//+6NGjR46DzAEgPj4eX3zxBWrUqIENGzZ4pG5nzpxB48aN8dprr+U4yBwAzp49ixEjRqBp06a5LkdERERERERERERERERERERERERERET3Bg40N1BGRgZ69+6Nn376SfN7Hx8fVKxYEXXr1kWhQoU0/3f58mU8/PDD+Oeff3StW1xcHFq3bo3du3drfh8UFISaNWuievXqCAwM1Pzfzp070bp1a1y5ckXXuhEREREREREREREREREREREREREREZG+ONDcQJMnT8bvv/+u+d2QIUMQGxuLEydOYPfu3bh27RoWLVqEcuXKqcskJiaiV69euHnzpm51i46OxvHjx9XngYGBmDp1Kq5cuYL//vsPBw8exJUrV/Dxxx9rBpwfPXoUTz31lG71IiIiIiIiIiIiIiIiIiIiIiIiIiIiIv1xoLlBrl69infffVfzu/feew9ff/01SpUqpf7OYrGgR48e2LJlCypUqKD+/uzZs/j44491qduKFSvw119/qc/9/PywfPlyvPLKKyhQoID6++DgYAwbNgx///03/Pz81N8vXboUa9eu1aVuREREREREREREREREREREREREREREpD8ONDfIhx9+iNu3b6vPW7ZsiVGjRuW4fOnSpTFjxgzN7z755BNcvXrV7XUbO3as5vnrr7+Oli1b5rj8gw8+mKXub775ptvrRURERERERERERERERERERERERERERJ7BgeYGyMjIwA8//KD53YQJE6AoSq7rtW3bFi1atFCf3759G/PmzXNr3fbv34/t27erz4ODg/Haa6/ZXW/kyJEIDg5Wn2/ZsgUxMTFurRsRERERERERERERERERERERERERERF5BgeaG2DLli24fPmy+jwyMhKtWrVyaN3Bgwdrni9evNiNNQN+//13zfNevXohNDTU7nqhoaF4/PHHNb9zd92IiIiIiIiIiIiIiIiIiIiIiIiIiIjIMzjQ3ADLli3TPG/fvr3d2cxtl7W1bt06JCQk6Fa3Dh06OLxu5rr98ccfbqkTEREREREREREREREREREREREREREReRYHmhtgz549mufNmjVzeN1SpUqhQoUK6vM7d+7g4MGDbqmXiGDfvn0u16158+aa53v37oWIuKVuRERERERERERERERERERERERERERE5DkcaG6AmJgYzfMaNWo4tX7m5TNvz1WnT59GYmKi+jw4OBjlypVzeP3y5cujQIEC6vOEhAScOXPGLXUjIiIiIiIiIiIiIiIiIiIiIiIiIiIiz+FAcw9LSkpCbGys5ndly5Z1ahuZlz98+HCe65XddpytV3bruKtuRERERERERERERERERERERERERERE5DkcaO5hV65cgYioz/38/BAREeHUNkqXLq15HhcX55a6Zd5OmTJlnN6GXnUjIiIiIiIiIiIiIiIiIiIiIiIiIiIiz/E1ugJmEx8fr3leoEABKIri1DaCg4Nz3aarMm8nczmO0KNucXFxuHz5slPrHDx4UPP82LFjea4H3RvuXD7t9m0eCEh3+zZx4ECeN3FPZHVDTsD9WblP87pRk2Tl8euUe2KfAubJyuPXaWbJyuPXdfl1nwLmycrj13X5dZ8C5snK49d1+XWfAubJyuPXdfl1nwLmycrj13X5dZ8C5snK49d1+XWfAubJyuPXdfl1nwLmycrj13X5dZ8C5snK4zdvzJKVx29eNpg/9ylgnqw8fvOywfy5TwHzZM2vxy/dGzKPf01JSfFo+YrYTq9NutuxYwcaNWqkPi9evDguXrzo1Da+/vprPP/88+rzzp07Y+nSpXmu2+TJkzFy5Ej1ee/evTF37lynttG7d2/MmzdPfT5lyhQMHz48T/WaMGECJk6cmKdtEBERERERERERERERERERERERERER3csWL16Mbt26eaw8i8dKIgBAcnKy5rm/v7/T2wgICNA8T0pKylOdrPJz3YiIiIiIiIiIiIiIiIiIiIiIiIiIiMhzONDcwwIDAzXP79y54/Q2Mk97n3mbrsrPdSMiIiIiIiIiIiIiIiIiIiIiIiIiIiLP8TW6AmYTEhKieZ55FnFHZJ4lPPM2XZVf6/b888/j8ccfd2qdW7du4d9//0XBggURFhaGsmXLZpltncieY8eOoXv37urzxYsXo1KlSsZVSEdmyWqWnACzemNWs+QEmNUbs5olJ8Cs3pjVLDkBZvXGrGbJCTCrN2Y1S06AWb0xq1lyAszqjVnNkhNgVm/MapacALN6Y1az5ASY1RuzmiUnwKzMem8zS06AWb0xq1lyAszqjVnNkpP0lZKSgjNnzqjPH3zwQY+Wz4HmHpZ54HViYiJEBIqiOLyNhISEXLfprrplLscRetQtIiICERERTq/XtGnTPJdNZKtSpUqoWbOm0dXwCLNkNUtOgFm9kVlyAszqjcySE2BWb2SWnACzeiOz5ASY1RuZJSfArN7ILDkBZvVGZskJMKs3MktOgFm9kVlyAszqjcySE2BWb2WWrGbJCTCrNzJLToBZvZFZcpL71a9f37CyLYaVbFLh4eGaQeWpqamIi4tzahvnzp3TPHdlEHZ2Mm/n7NmzTm9Dr7oRERERERERERERERERERERERERERGR53CguYcFBQWhXLlymt/FxsY6tY3My1erVi3P9QKAqlWrap7bTrXvqMzruKtuRERERERERERERERERERERERERERE5DkcaG6AzIOvDx486NT6MTExuW7PVeXLl0dQUJD6PCEhAadPn3Z4/dOnTyMxMVF9HhwcjLJly7qlbkREREREREREREREREREREREREREROQ5HGhugLp162qeb9myxeF1L1y4gFOnTqnP/fz8UKNGDbfUS1EU1K5d2+W6bd68WfO8du3aUBTFLXUjIiIiIiIiIiIiIiIiIiIiIiIiIiIiz+FAcwN07txZ83zVqlUQEYfWXbFiheZ569atERISolvdVq5c6fC6mZft0qWLW+pEREREREREREREREREREREREREREREnsWB5gZo1qwZwsPD1ecnTpzAunXrHFr3u+++0zzv1q2bO6uGrl27ap7Pnz8f8fHxdte7ffs25s+fr2vdiIiIiIiIiIiIiIiIiIiIiIiIiIiIyDM40NwAFosF0dHRmt9NnDjR7qzmq1evxsaNG9XnoaGh6NWrl1vrVrt2bdx///3q8/j4eHz44Yd21/vwww+RkJCgPm/SpAlq1Kjh1roRERERERERERERERERERERERERERGRZ3CguUFGjRqFkJAQ9fn69evxwQcf5Lj8uXPn8PTTT2t+98orr2hm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7LPP4quvvnKonF9++QX9+vVT123RogXWrVuXt8o7aPLkyRg1ahQURUG9evXw77//5rhs06ZNsW3bNoeWzcnixYvx6KOPAri7T//55x80atTI5fo7K6d9euvWLfz666+YNWuW+j3Etg87c1upfv36GDRoEPr06YPChQt7rP6O2rVrFxo2bKjW98cff0S/fv1yXF5EUK1aNRw7dkxtKw0dOhQfffSRQ+XNnz8fvXv3BnD3Ndq8eTOaNGmS9yB2iAhKlSqFuLg4iAgqVaqEbdu2ObxP9u7di6ZNmyI5OTnXNmVycjK6deuGlStXAribcd68eWrfnSecPHkSUVFRLr3HuGLIkCH49ttvAdzNe/ToUURGRupWXmY//vijx8o6ePAgPvzwQwCe/6ypWLGieo4pODgY//zzD+67774clxcRTJ48GW+++aamvyU4OBi//fab+j00O0b2KV2/fh1FixZVj9/+/ftj1qxZOS5/7tw5VKlSRT03CQC1a9fGnj17HCrvkUcewV9//QUAKFSoEK5fv563AE7KfP6tQYMGedre+vXr1deuVq1aub7HudKH4Spn2kl9+vTBr7/+CuDu8Tdt2jT873//c6icPXv2oGnTprhz5w5EBNWrV8eBAwfyHsBB77//PsaMGQNFUXD//fdj69atOS5bu3Zt/Pfff1AUBY888giWLFnidHn//vuv2jZSFAXLly/P9W/b3XLbr0ePHlXPvZ05c0atI5D9ubfOnTsjOjoaDz/8cL459wbc/Ztq3bo1gLt1XbNmDR588MFc12nVqpXah6AoCj744AP1nIQ9mzdvVvsFFUXB33//rb4f6y05ORlFixZFcnIyAKBt27ZYsWKFw+tfv34d9913Hy5cuABFUfDZZ5/hhRdeyHbZMWPG4P333wdwN+fkyZPx6quv5j2Eg3j+TR88/0aUD+g6jJ2IyCDWGcIURZHQ0FDdZ21LTU2V0NBQ9Yqyb775RtfyMst8xa4nHp6+em779u2aq/b++OMPh9dNTEyUnj17ZpmFqlevXjkeG0ZeJWid5cBadm63T7caPny4Zh1Hrr632rNnj2ZdR2accCfrlefWY6tgwYLy2Wefubw92205cos8T3G0XikpKRIUFKQu279/f6fLmjZtmmafOjJzjrtMmTJFLbdq1aq5Lmv7vjl37lyXy7TewtJiscgXX3zh8nZc4eh+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Bw5oLto6evQo2rVrh0GDBjl8p657Ueb3Vdv+PmfYrufp9u+rr74KAOpdZ3r27JntIPJevXqpec+ePev0Rfm7d+/GuHHj1OM+KirKY5+perGee1u7di1OnDiB8ePHo2LFiprJDDytYcOGAP7v/eXTTz/Ndfm4uDj1vKjVt99+63B51j4rIy4eqFOnDoC7WVNSUvDzzz87vY3vvvtO/dnX1xdly5bNdXnbvw1P9v/y/Js+8kufkreffyPKlRAReanvvvtOFEURi8Wi/hsdHS0nT550y/ZPnjwpAwcOFIvFoiljxowZbtm+M+bOnauWb7FYZNy4cbqVtWrVKlEURS3PU44cOaIpd+3atW7Z7sqVKyU4OFizHytWrCjTpk0zJKeIyK5duzRlnz171u46+/btk+7du6sPZ6Snp0uBAgXU8pYsWeJq1XVx48YNGTRoUJa/5/bt28uJEyeyLG/7t7B69WoDapw923r9/PPPcvr06RwftWvXVpffuHGj02VlZGRISEiIuo158+bpkCh3md+D/f395fXXX5fr169rlouLi5Ny5cqpx3yhQoXkww8/lCtXruS47dWrV0vr1q01f7c+Pj6yfft2nVNl5cnjbcOGDTJ48GApWLCgx9+XunbtqsnarVs3uXDhQpbl5s6dKwULFlSXtf3b7dq1qyQnJ+dazttvv60p5/7779crUo6aNWumea+ZOnWqQ+ulpaXJk08+qal/v379cl0nNTVVAgIC1HUWLVrkjggO69+/v6a+TZo0kcOHD7u1jEOHDknjxo01n2v9+/d3axn2fPTRR5ryv/nmG93KMqqdJCKyceNGTdnuaPMmJSXJww8/nOUz+K233jI065o1a9SyfXx8JCkpye46ea1vqVKl1HV//PFHV6rtdmlpafLee+9JUFCQJluNGjVybD/k13aSiHN1s90frr5vlSlTxtDvcO3bt9dk7t69u1y8eDHLcj///LNmuZdfflkSExPtbn/dunVSvnx5zd/upEmT9IiSI08cbwkJCTJr1ixp06aNJqunlStXTi2/QIECsnnz5myXS0tLk8cee0ytZ9myZdX3sr/++stuObGxsRIeHq6WFRYW5u4oucrIyNCUX758eYmLi3N4/X/++Uf8/f3V46JRo0Z21ylRooT6en3//fd5qb5TMrd/u3fvnut3FFdcuXJFunXrpimnS5cubi3D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OCCwtLju/ljnxId7ERfNAQAAmjk+Ps4jjzySjY3/+RVsr7/+eul5r7322n0fiFy+fDl37twpO7dLZ6K1kv36TM9Sl9YunYnWSvbrMz1LXVq7dCZaK9mvz/QsdWnt0plorWS/PtOz1KW1S2eitZL9+kzPUpfWLp1Jr1Y4jYvmAAAAzXz55ZeLb97fvn279Lzbt2+vzzp5IPLcc8/lhx9+KD23S2eitZL9+kzPUpfWLp2J1kr26zM9S11au3QmWivZr8/0LHVp7dKZaK1kvz7Ts9SltUtnorWS/fpMz1KX1i6dSa9WOI2L5gAAAM18+OGH64ciOzs7OT4+Lj3v+Pg4Ozs764cie3t7uXv3bumZSZ/ORGsl+62ntY791tNax37raa1jv/W01rHfelrr2G89rXXst57WOvZbT2sd+62ntY791uvUCqfZGAAAALTy66+/rl8/9dRTY3Nzs/S8zc3N8fTTT48kY4wxXn311fHEE0+UnjlGn84xtFay33pa69hvPa117Lee1jr2W09rHfutp7WO/dbTWsd+62mtY7/1tNax33pa69hvvU6tcBoXzQEAAJo5OjoaY4yxWq3Gk08++UDOfPzxx9evV6vVAzmzS+cYWqvZby2ttey3ltZa9ltLay37raW1lv3W0lrLfmtprWW/tbTWst9aWmvZby2ttey3VqdWOI2L5gAAAM3s7OysXx8cHDyQMw8PD9evH3744QdyZpfOMbRWs99aWmvZby2ttey3ltZa9ltLay37raW1lv3W0lrLfmtprWW/tbTWst9aWmvZb61OrXAaF80BAACaOfkVa0nGL7/8sv71a1X+/PPP8fPPP6+/df+gfsVbl85/Pkvr2bPfelrr2G89rXXst57WOvZbT2sd+62ntY791tNax37raa1jv/W01rHfelrr2G+9Tq1wGhfNAQAAmnn++efXr4+OjsYnn3xSet6nn346jo6O1g9f/vn8Sl06/3qW1rNlv/W01rHfelrr2G89rXXst57WOvZbT2sd+62ntY791tNax37raa1jv/W01rHfep1a4TQumgMAADSzt7c3Lly4sP42/AcffFB63vvvv79+vb29Pfb390vPO9Glcwytley3ntY69ltPax37rae1jv3W01rHfutprWO/9bTWsd96WuvYbz2tdey3ntY69luvUyucKgAAALTzyiuvZLVaZbVa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", "text/plain": [ "
" ] From c2b120283886c51f4608c6fef743ec2d0e0febca Mon Sep 17 00:00:00 2001 From: auxten Date: Tue, 18 Jun 2024 20:07:02 +0800 Subject: [PATCH 07/21] Add submodule utf8proc --- .gitmodules | 3 +++ contrib/utf8proc | 1 + contrib/utf8proc-cmake/CMakeLists.txt | 9 +++++++++ 3 files changed, 13 insertions(+) create mode 160000 contrib/utf8proc create mode 100644 contrib/utf8proc-cmake/CMakeLists.txt diff --git a/.gitmodules b/.gitmodules index ce07c55c3b8..31814326a2b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -372,3 +372,6 @@ [submodule "contrib/arrow"] path = contrib/arrow url = https://github.com/auxten/arrow +[submodule "contrib/utf8proc"] + path = contrib/utf8proc + url = https://github.com/JuliaStrings/utf8proc.git diff --git a/contrib/utf8proc b/contrib/utf8proc new file mode 160000 index 00000000000..dce38103bed --- /dev/null +++ b/contrib/utf8proc @@ -0,0 +1 @@ +Subproject commit dce38103bed462c4f87bfcdb80172ec22312e595 diff --git a/contrib/utf8proc-cmake/CMakeLists.txt b/contrib/utf8proc-cmake/CMakeLists.txt new file mode 100644 index 00000000000..aa385f36140 --- /dev/null +++ b/contrib/utf8proc-cmake/CMakeLists.txt @@ -0,0 +1,9 @@ +set(LIBRARY_DIR "${ClickHouse_SOURCE_DIR}/contrib/utf8proc") + +set(SRCS + "${LIBRARY_DIR}/utf8proc.c" +) + +add_library(utf8proc ${SRCS}) +target_include_directories(utf8proc SYSTEM PUBLIC "${LIBRARY_DIR}") +add_library(ch_contrib::utf8proc ALIAS utf8proc) From 5a6263c2f73a91dc48a3da8cdceef387dc7d4917 Mon Sep 17 00:00:00 2001 From: auxten Date: Tue, 18 Jun 2024 20:11:48 +0800 Subject: [PATCH 08/21] Use llvm 18 --- .github/workflows/build_arm_wheels.yml | 10 +++++----- .github/workflows/build_wheels.yml | 14 +++++++------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build_arm_wheels.yml b/.github/workflows/build_arm_wheels.yml index a674665eedf..8e3c77d6f86 100644 --- a/.github/workflows/build_arm_wheels.yml +++ b/.github/workflows/build_arm_wheels.yml @@ -33,13 +33,13 @@ jobs: - name: Restore submodules cache run: | cp -a /builder_cache/contrib ./ - - name: remove old clang and link clang-17 to clang + - name: remove old clang and link clang-18 to clang if: matrix.os == 'ubuntu-22.04' run: | sudo rm -f /usr/bin/clang || true - sudo ln -s /usr/bin/clang-17 /usr/bin/clang + sudo ln -s /usr/bin/clang-18 /usr/bin/clang sudo rm -f /usr/bin/clang++ || true - sudo ln -s /usr/bin/clang++-17 /usr/bin/clang++ + sudo ln -s /usr/bin/clang++-18 /usr/bin/clang++ which clang++ clang++ --version - name: Make linux-arm64 @@ -65,11 +65,11 @@ jobs: eval "$(pyenv init -)" pyenv local "${{ matrix.python-version }}" python3 -m pip install auditwheel - auditwheel -v repair -w dist/ --plat manylinux_2_17_aarch64 dist/*.whl + auditwheel -v repair -w dist/ --plat manylinux_2_18_aarch64 dist/*.whl continue-on-error: false - name: Show files run: | - # e.g: remove chdb-0.11.4-cp310-cp310-linux_aarch64.whl, keep chdb-0.11.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl + # e.g: remove chdb-0.11.4-cp310-cp310-linux_aarch64.whl, keep chdb-0.11.4-cp310-cp310-manylinux_2_18_aarch64.manylinux2014_aarch64.whl sudo rm -f dist/*linux_aarch64.whl ls -lh dist shell: bash diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 991853399a2..96ddbcdec2e 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -45,9 +45,9 @@ jobs: uname -a wget https://apt.llvm.org/llvm.sh chmod +x llvm.sh - sudo ./llvm.sh 17 - which clang++-17 - clang++-17 --version + sudo ./llvm.sh 18 + which clang++-18 + clang++-18 --version sudo apt-get install -y make cmake ccache ninja-build yasm gawk wget ccache -s - name: Update git @@ -85,13 +85,13 @@ jobs: key: ${{ matrix.os }} max-size: 5G append-timestamp: true - - name: remove old clang and link clang-17 to clang + - name: remove old clang and link clang-18 to clang if: matrix.os == 'ubuntu-20.04' run: | sudo rm -f /usr/bin/clang || true - sudo ln -s /usr/bin/clang-17 /usr/bin/clang + sudo ln -s /usr/bin/clang-18 /usr/bin/clang sudo rm -f /usr/bin/clang++ || true - sudo ln -s /usr/bin/clang++-17 /usr/bin/clang++ + sudo ln -s /usr/bin/clang++-18 /usr/bin/clang++ which clang++ clang++ --version - name: Run chdb/build.sh @@ -120,7 +120,7 @@ jobs: make wheel - name: Install patchelf from github run: | - wget https://github.com/NixOS/patchelf/releases/download/0.17.2/patchelf-0.17.2-x86_64.tar.gz -O patchelf.tar.gz + wget https://github.com/NixOS/patchelf/releases/download/0.18.2/patchelf-0.18.2-x86_64.tar.gz -O patchelf.tar.gz tar -xvf patchelf.tar.gz sudo cp bin/patchelf /usr/bin/ sudo chmod +x /usr/bin/patchelf From fdb135eae38a9fb2a47c0d0182d5144014bdf42f Mon Sep 17 00:00:00 2001 From: auxten Date: Tue, 18 Jun 2024 20:12:16 +0800 Subject: [PATCH 09/21] Fix some indent --- src/Common/PythonUtils.cpp | 6 +++--- src/Common/PythonUtils.h | 7 ------- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/src/Common/PythonUtils.cpp b/src/Common/PythonUtils.cpp index cd2d77ae39d..7003a8ba1ac 100644 --- a/src/Common/PythonUtils.cpp +++ b/src/Common/PythonUtils.cpp @@ -1,13 +1,13 @@ #include #if USE_PYTHON + #include #include #include -#include -#include #include -#include "Columns/ColumnString.h" +#include +#include namespace DB { diff --git a/src/Common/PythonUtils.h b/src/Common/PythonUtils.h index 2082812adc9..75d6b00f8a3 100644 --- a/src/Common/PythonUtils.h +++ b/src/Common/PythonUtils.h @@ -4,8 +4,6 @@ #if USE_PYTHON #include -#include -// #include #include #include #include @@ -13,11 +11,6 @@ #include #include #include -#include -#include -#include -#include -#include #include namespace DB From 368a9f72eff9ada08a35a6645bad7000ca17849e Mon Sep 17 00:00:00 2001 From: auxten Date: Tue, 18 Jun 2024 20:12:43 +0800 Subject: [PATCH 10/21] Add utf8proc --- chdb/build.sh | 2 +- programs/local/CMakeLists.txt | 3 +++ src/CMakeLists.txt | 3 +++ src/Functions/CMakeLists.txt | 4 ++++ src/TableFunctions/CMakeLists.txt | 4 ++++ src/configure_config.cmake | 3 +++ 6 files changed, 18 insertions(+), 1 deletion(-) diff --git a/chdb/build.sh b/chdb/build.sh index 03b862ef6ab..9857786e097 100755 --- a/chdb/build.sh +++ b/chdb/build.sh @@ -55,7 +55,7 @@ elif [ "$(uname)" == "Linux" ]; then UNWIND="-DUSE_UNWIND=1" JEMALLOC="-DENABLE_JEMALLOC=1" PYINIT_ENTRY="-Wl,-ePyInit_${CHDB_PY_MOD}" - ICU="-DENABLE_ICU=1" + ICU="-DENABLE_ICU=0" SED_INPLACE="sed -i" # only x86_64, enable AVX and AVX2, enable embedded compiler if [ "$(uname -m)" == "x86_64" ]; then diff --git a/programs/local/CMakeLists.txt b/programs/local/CMakeLists.txt index 38ce74ed37c..1e903d89dde 100644 --- a/programs/local/CMakeLists.txt +++ b/programs/local/CMakeLists.txt @@ -83,6 +83,9 @@ endif() if (TARGET ch_contrib::azure_sdk) target_link_libraries(clickhouse-local-lib PRIVATE ch_contrib::azure_sdk) endif() +if (TARGET ch_contrib::utf8proc) + target_link_libraries(clickhouse-local-lib PRIVATE ch_contrib::utf8proc) +endif() # Always use internal readpassphrase target_link_libraries(clickhouse-local-lib PRIVATE readpassphrase) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c9097cdee1f..26a812a48d1 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -281,6 +281,9 @@ target_link_libraries (dbms PRIVATE ch_contrib::libdivide) if (TARGET ch_contrib::jemalloc) target_link_libraries (dbms PRIVATE ch_contrib::jemalloc) endif() +if (TARGET ch_contrib::utf8proc) + target_link_libraries (dbms PRIVATE ch_contrib::utf8proc) +endif() if (USE_PYTHON) # Include path from shell cmd "python3 -m pybind11 --includes" diff --git a/src/Functions/CMakeLists.txt b/src/Functions/CMakeLists.txt index 21cb0067901..5645a447928 100644 --- a/src/Functions/CMakeLists.txt +++ b/src/Functions/CMakeLists.txt @@ -101,6 +101,10 @@ if (TARGET ch_contrib::h3) list (APPEND PRIVATE_LIBS ch_contrib::h3) endif() +if (TARGET ch_contrib::utf8proc) + list (APPEND PRIVATE_LIBS ch_contrib::utf8proc) +endif() + if (TARGET ch_contrib::vectorscan) list (APPEND PRIVATE_LIBS ch_contrib::vectorscan) endif() diff --git a/src/TableFunctions/CMakeLists.txt b/src/TableFunctions/CMakeLists.txt index bc8b455ba13..92fa95c4f4f 100644 --- a/src/TableFunctions/CMakeLists.txt +++ b/src/TableFunctions/CMakeLists.txt @@ -70,6 +70,10 @@ if (TARGET ch_contrib::simdjson) target_link_libraries(clickhouse_table_functions PRIVATE ch_contrib::simdjson) endif () +if (TARGET ch_contrib::utf8proc) + target_link_libraries(clickhouse_table_functions PRIVATE ch_contrib::utf8proc) +endif () + if (TARGET ch_contrib::rapidjson) target_link_libraries(clickhouse_table_functions PRIVATE ch_contrib::rapidjson) endif () diff --git a/src/configure_config.cmake b/src/configure_config.cmake index b7c15e3bc7f..922b6b9121b 100644 --- a/src/configure_config.cmake +++ b/src/configure_config.cmake @@ -97,6 +97,9 @@ endif() if (ENABLE_PYTHON) set(USE_PYTHON 1) endif() +if (TARGET ch_contrib::utf8proc) + set(USE_UTF8PROC 1) +endif() if (TARGET ch_contrib::ulid) set(USE_ULID 1) endif() From 909ab0e0b76f720c83206eeaa6dfb378e7813043 Mon Sep 17 00:00:00 2001 From: auxten Date: Wed, 19 Jun 2024 12:55:49 +0800 Subject: [PATCH 11/21] Disable annoying cassandra for default --- contrib/cassandra-cmake/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/cassandra-cmake/CMakeLists.txt b/contrib/cassandra-cmake/CMakeLists.txt index 0082364c130..ca285cc335d 100644 --- a/contrib/cassandra-cmake/CMakeLists.txt +++ b/contrib/cassandra-cmake/CMakeLists.txt @@ -1,4 +1,4 @@ -option(ENABLE_CASSANDRA "Enable Cassandra" ${ENABLE_LIBRARIES}) +option(ENABLE_CASSANDRA "Enable Cassandra" 0) if (NOT ENABLE_CASSANDRA) message(STATUS "Not using cassandra") From 2e5c410a67b3205b8d23f1007dc4c2e45769559d Mon Sep 17 00:00:00 2001 From: auxten Date: Wed, 19 Jun 2024 12:56:26 +0800 Subject: [PATCH 12/21] Fix if no response file used in linking --- chdb/build.sh | 58 +++++++++++++++++++++++++++++++++------------------ 1 file changed, 38 insertions(+), 20 deletions(-) diff --git a/chdb/build.sh b/chdb/build.sh index 9857786e097..a0967ff8029 100755 --- a/chdb/build.sh +++ b/chdb/build.sh @@ -55,7 +55,7 @@ elif [ "$(uname)" == "Linux" ]; then UNWIND="-DUSE_UNWIND=1" JEMALLOC="-DENABLE_JEMALLOC=1" PYINIT_ENTRY="-Wl,-ePyInit_${CHDB_PY_MOD}" - ICU="-DENABLE_ICU=0" + ICU="-DENABLE_ICU=1" SED_INPLACE="sed -i" # only x86_64, enable AVX and AVX2, enable embedded compiler if [ "$(uname -m)" == "x86_64" ]; then @@ -88,7 +88,7 @@ CMAKE_ARGS="-DCMAKE_BUILD_TYPE=${build_type} -DENABLE_THINLTO=0 -DENABLE_TESTS=0 -DENABLE_LIBRARIES=0 -DENABLE_RUST=0 \ ${GLIBC_COMPATIBILITY} \ -DENABLE_UTILS=0 ${LLVM} ${UNWIND} \ - ${ICU} ${JEMALLOC} \ + ${ICU} -DENABLE_UTF8PROC=1 ${JEMALLOC} \ -DENABLE_PARQUET=1 -DENABLE_ROCKSDB=1 -DENABLE_SQLITE=1 -DENABLE_VECTORSCAN=1 \ -DENABLE_PROTOBUF=1 -DENABLE_THRIFT=1 \ -DENABLE_RAPIDJSON=1 \ @@ -161,12 +161,7 @@ LIBCHDB_SO="libchdb.so" # Build libchdb.so cmake ${CMAKE_ARGS} -DENABLE_PYTHON=0 .. ninja -d keeprsp -if [ ! -f CMakeFiles/clickhouse.rsp ]; then - echo "CMakeFiles/clickhouse.rsp not found" - exit 1 -fi -cp -a CMakeFiles/clickhouse.rsp CMakeFiles/libchdb.rsp BINARY=${BUILD_DIR}/programs/clickhouse echo -e "\nBINARY: ${BINARY}" @@ -175,6 +170,18 @@ echo -e "\nldd ${BINARY}" ${LDD} ${BINARY} rm -f ${BINARY} +cd ${BUILD_DIR} +ninja -d keeprsp -v > build.log || true +USING_RESPONSE_FILE=$(grep -m 1 'clang++.*-o programs/clickhouse .*' build.log | grep '@CMakeFiles/clickhouse.rsp' || true) + +if [ ! "${USING_RESPONSE_FILE}" == "" ]; then + if [ -f CMakeFiles/clickhouse.rsp ]; then + cp -a CMakeFiles/clickhouse.rsp CMakeFiles/pychdb.rsp + else + echo "CMakeFiles/clickhouse.rsp not found" + exit 1 + fi +fi LIBCHDB_CMD=$(grep -m 1 'clang++.*-o programs/clickhouse .*' build.log \ | sed "s/-o programs\/clickhouse/-fPIC -shared -o ${LIBCHDB_SO}/" \ @@ -186,11 +193,16 @@ LIBCHDB_CMD=$(grep -m 1 'clang++.*-o programs/clickhouse .*' build.log \ # generate the command to generate libchdb.so LIBCHDB_CMD=$(echo ${LIBCHDB_CMD} | sed 's/ '${CHDB_PY_MODULE}'/ '${LIBCHDB_SO}'/g') -${SED_INPLACE} 's/ '${CHDB_PY_MODULE}'/ '${LIBCHDB_SO}'/g' CMakeFiles/libchdb.rsp + +if [ ! "${USING_RESPONSE_FILE}" == "" ]; then + ${SED_INPLACE} 's/ '${CHDB_PY_MODULE}'/ '${LIBCHDB_SO}'/g' CMakeFiles/libchdb.rsp +fi if [ "$(uname)" == "Linux" ]; then LIBCHDB_CMD=$(echo ${LIBCHDB_CMD} | sed 's/ '${PYINIT_ENTRY}'/ /g') - ${SED_INPLACE} 's/ '${PYINIT_ENTRY}'/ /g' CMakeFiles/libchdb.rsp + if [ ! "${USING_RESPONSE_FILE}" == "" ]; then + ${SED_INPLACE} 's/ '${PYINIT_ENTRY}'/ /g' CMakeFiles/libchdb.rsp + fi fi if [ "$(uname)" == "Darwin" ]; then @@ -220,12 +232,16 @@ ninja -d keeprsp || true cd ${BUILD_DIR} ninja -d keeprsp -v > build.log || true -if [ ! -f CMakeFiles/clickhouse.rsp ]; then - echo "CMakeFiles/clickhouse.rsp not found" - exit 1 -fi +USING_RESPONSE_FILE=$(grep -m 1 'clang++.*-o programs/clickhouse .*' build.log | grep '@CMakeFiles/clickhouse.rsp' || true) -cp -a CMakeFiles/clickhouse.rsp CMakeFiles/pychdb.rsp +if [ ! "${USING_RESPONSE_FILE}" == "" ]; then + if [ -f CMakeFiles/clickhouse.rsp ]; then + cp -a CMakeFiles/clickhouse.rsp CMakeFiles/pychdb.rsp + else + echo "CMakeFiles/clickhouse.rsp not found" + exit 1 + fi +fi # extract the command to generate CHDB_PY_MODULE PYCHDB_CMD=$(grep -m 1 'clang++.*-o programs/clickhouse .*' build.log \ @@ -237,19 +253,21 @@ PYCHDB_CMD=$(grep -m 1 'clang++.*-o programs/clickhouse .*' build.log \ ) -# inplace modify the CMakeFiles/pychdb.rsp -${SED_INPLACE} 's/-o programs\/clickhouse/-fPIC -Wl,-undefined,dynamic_lookup -shared ${PYINIT_ENTRY} -o ${CHDB_PY_MODULE}/' CMakeFiles/pychdb.rsp -${SED_INPLACE} 's/ -Wl,-undefined,error/ -Wl,-undefined,dynamic_lookup/g' CMakeFiles/pychdb.rsp -${SED_INPLACE} 's/ -Xlinker --no-undefined//g' CMakeFiles/pychdb.rsp +# # inplace modify the CMakeFiles/pychdb.rsp +# ${SED_INPLACE} 's/-o programs\/clickhouse/-fPIC -Wl,-undefined,dynamic_lookup -shared ${PYINIT_ENTRY} -o ${CHDB_PY_MODULE}/' CMakeFiles/pychdb.rsp +# ${SED_INPLACE} 's/ -Wl,-undefined,error/ -Wl,-undefined,dynamic_lookup/g' CMakeFiles/pychdb.rsp +# ${SED_INPLACE} 's/ -Xlinker --no-undefined//g' CMakeFiles/pychdb.rsp if [ "$(uname)" == "Linux" ]; then # remove src/CMakeFiles/clickhouse_malloc.dir/Common/stubFree.c.o PYCHDB_CMD=$(echo ${PYCHDB_CMD} | sed 's/ src\/CMakeFiles\/clickhouse_malloc.dir\/Common\/stubFree.c.o//g') - ${SED_INPLACE} 's/ src\/CMakeFiles\/clickhouse_malloc.dir\/Common\/stubFree.c.o//g' CMakeFiles/pychdb.rsp # put -Wl,-wrap,malloc ... after -DUSE_JEMALLOC=1 PYCHDB_CMD=$(echo ${PYCHDB_CMD} | sed 's/ -DUSE_JEMALLOC=1/ -DUSE_JEMALLOC=1 -Wl,-wrap,malloc -Wl,-wrap,valloc -Wl,-wrap,pvalloc -Wl,-wrap,calloc -Wl,-wrap,realloc -Wl,-wrap,memalign -Wl,-wrap,aligned_alloc -Wl,-wrap,posix_memalign -Wl,-wrap,free/g') - ${SED_INPLACE} 's/ -DUSE_JEMALLOC=1/ -DUSE_JEMALLOC=1 -Wl,-wrap,malloc -Wl,-wrap,valloc -Wl,-wrap,pvalloc -Wl,-wrap,calloc -Wl,-wrap,realloc -Wl,-wrap,memalign -Wl,-wrap,aligned_alloc -Wl,-wrap,posix_memalign -Wl,-wrap,free/g' CMakeFiles/pychdb.rsp + if [ ! "${USING_RESPONSE_FILE}" == "" ]; then + ${SED_INPLACE} 's/ src\/CMakeFiles\/clickhouse_malloc.dir\/Common\/stubFree.c.o//g' CMakeFiles/pychdb.rsp + ${SED_INPLACE} 's/ -DUSE_JEMALLOC=1/ -DUSE_JEMALLOC=1 -Wl,-wrap,malloc -Wl,-wrap,valloc -Wl,-wrap,pvalloc -Wl,-wrap,calloc -Wl,-wrap,realloc -Wl,-wrap,memalign -Wl,-wrap,aligned_alloc -Wl,-wrap,posix_memalign -Wl,-wrap,free/g' CMakeFiles/pychdb.rsp + fi fi # save the command to a file for debug From 433477147bacc9e716f4c5d8261a464a2e969fae Mon Sep 17 00:00:00 2001 From: auxten Date: Wed, 19 Jun 2024 12:57:16 +0800 Subject: [PATCH 13/21] Fix je_malloc_stats_print --- src/Coordination/FourLetterCommand.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Coordination/FourLetterCommand.cpp b/src/Coordination/FourLetterCommand.cpp index 28902bc8591..5b3c9ea0053 100644 --- a/src/Coordination/FourLetterCommand.cpp +++ b/src/Coordination/FourLetterCommand.cpp @@ -637,7 +637,7 @@ void printToString(void * output, const char * data) String JemallocDumpStats::run() { std::string output; - malloc_stats_print(printToString, &output, nullptr); + je_malloc_stats_print(printToString, &output, nullptr); return output; } From 94f1112b22e05919f06ab0e4a87f7cff053a2c4d Mon Sep 17 00:00:00 2001 From: auxten Date: Wed, 19 Jun 2024 15:54:21 +0800 Subject: [PATCH 14/21] Enable utf8proc --- CMakeLists.txt | 1 + chdb/build.sh | 4 ++-- contrib/CMakeLists.txt | 1 + contrib/utf8proc-cmake/CMakeLists.txt | 12 ++++++++++-- src/CMakeLists.txt | 9 ++++++--- src/Common/config.h.in | 1 + src/Storages/System/StorageSystemBuildOptions.cpp.in | 1 + src/TableFunctions/CMakeLists.txt | 9 +++++---- src/configure_config.cmake | 4 ++++ 9 files changed, 31 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fe105e89c42..58c8a4a66b6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -116,6 +116,7 @@ endif() if (ENABLE_PYTHON) set(USE_PYTHON 1) + set(USE_UTF8PROC 1) endif() # Global libraries diff --git a/chdb/build.sh b/chdb/build.sh index a0967ff8029..6bf9b82b04d 100755 --- a/chdb/build.sh +++ b/chdb/build.sh @@ -176,7 +176,7 @@ USING_RESPONSE_FILE=$(grep -m 1 'clang++.*-o programs/clickhouse .*' build.log | if [ ! "${USING_RESPONSE_FILE}" == "" ]; then if [ -f CMakeFiles/clickhouse.rsp ]; then - cp -a CMakeFiles/clickhouse.rsp CMakeFiles/pychdb.rsp + cp -a CMakeFiles/clickhouse.rsp CMakeFiles/libchdb.rsp else echo "CMakeFiles/clickhouse.rsp not found" exit 1 @@ -207,7 +207,7 @@ fi if [ "$(uname)" == "Darwin" ]; then LIBCHDB_CMD=$(echo ${LIBCHDB_CMD} | sed 's/ '${PYINIT_ENTRY}'/ -Wl,-exported_symbol,_query_stable -Wl,-exported_symbol,_free_result -Wl,-exported_symbol,_query_stable_v2 -Wl,-exported_symbol,_free_result_v2/g') - ${SED_INPLACE} 's/ '${PYINIT_ENTRY}'/ -Wl,-exported_symbol,_query_stable -Wl,-exported_symbol,_free_result -Wl,-exported_symbol,_query_stable_v2 -Wl,-exported_symbol,_free_result_v2/g' CMakeFiles/libchdb.rsp + # ${SED_INPLACE} 's/ '${PYINIT_ENTRY}'/ -Wl,-exported_symbol,_query_stable -Wl,-exported_symbol,_free_result -Wl,-exported_symbol,_query_stable_v2 -Wl,-exported_symbol,_free_result_v2/g' CMakeFiles/libchdb.rsp fi LIBCHDB_CMD=$(echo ${LIBCHDB_CMD} | sed 's/@CMakeFiles\/clickhouse.rsp/@CMakeFiles\/libchdb.rsp/g') diff --git a/contrib/CMakeLists.txt b/contrib/CMakeLists.txt index 08f58335d16..b0bfbb6260a 100644 --- a/contrib/CMakeLists.txt +++ b/contrib/CMakeLists.txt @@ -92,6 +92,7 @@ add_contrib (wyhash-cmake wyhash) add_contrib (cityhash102) add_contrib (libfarmhash) add_contrib (icu-cmake icu) +add_contrib (utf8proc-cmake utf8proc) add_contrib (h3-cmake h3) add_contrib (mariadb-connector-c-cmake mariadb-connector-c) add_contrib (libfiu-cmake libfiu) diff --git a/contrib/utf8proc-cmake/CMakeLists.txt b/contrib/utf8proc-cmake/CMakeLists.txt index aa385f36140..072d1fc7675 100644 --- a/contrib/utf8proc-cmake/CMakeLists.txt +++ b/contrib/utf8proc-cmake/CMakeLists.txt @@ -1,9 +1,17 @@ -set(LIBRARY_DIR "${ClickHouse_SOURCE_DIR}/contrib/utf8proc") +option(ENABLE_UTF8PROC "Enable UTF8PROC" 1) +if (NOT ENABLE_UTF8PROC) + message(STATUS "Not using utf8proc") + return() +endif() + +set(LIBRARY_DIR "${ClickHouse_SOURCE_DIR}/contrib/utf8proc/") +set(UTF8PROC_INCLUDE_DIR "${LIBRARY_DIR}" CACHE STRING "Path to utf8proc") +message(STATUS "Using utf8proc from ${LIBRARY_DIR}") set(SRCS "${LIBRARY_DIR}/utf8proc.c" ) add_library(utf8proc ${SRCS}) -target_include_directories(utf8proc SYSTEM PUBLIC "${LIBRARY_DIR}") add_library(ch_contrib::utf8proc ALIAS utf8proc) +target_include_directories(utf8proc PRIVATE "${LIBRARY_DIR}") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 26a812a48d1..6ec6efdd234 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -281,9 +281,6 @@ target_link_libraries (dbms PRIVATE ch_contrib::libdivide) if (TARGET ch_contrib::jemalloc) target_link_libraries (dbms PRIVATE ch_contrib::jemalloc) endif() -if (TARGET ch_contrib::utf8proc) - target_link_libraries (dbms PRIVATE ch_contrib::utf8proc) -endif() if (USE_PYTHON) # Include path from shell cmd "python3 -m pybind11 --includes" @@ -643,6 +640,12 @@ if (USE_ORC) dbms_target_include_directories(SYSTEM BEFORE PUBLIC ${ORC_INCLUDE_DIR} "${PROJECT_BINARY_DIR}/contrib/orc/c++/include") endif () +if (USE_UTF8PROC) + dbms_target_link_libraries(PUBLIC ch_contrib::utf8proc) + target_include_directories (clickhouse_common_io SYSTEM BEFORE PUBLIC ${UTF8PROC_INCLUDE_DIR}) + message(STATUS "UTF8PROC_INCLUDE_DIR: ${UTF8PROC_INCLUDE_DIR}") +endif() + if (TARGET ch_contrib::rocksdb) dbms_target_link_libraries(PUBLIC ch_contrib::rocksdb) endif() diff --git a/src/Common/config.h.in b/src/Common/config.h.in index 509ba60cba0..9819d5f23f5 100644 --- a/src/Common/config.h.in +++ b/src/Common/config.h.in @@ -42,6 +42,7 @@ #cmakedefine01 USE_PROTOBUF #cmakedefine01 USE_MSGPACK #cmakedefine01 USE_ICU +#cmakedefine01 USE_UTF8PROC #cmakedefine01 USE_MYSQL #cmakedefine01 USE_RDKAFKA #cmakedefine01 USE_AMQPCPP diff --git a/src/Storages/System/StorageSystemBuildOptions.cpp.in b/src/Storages/System/StorageSystemBuildOptions.cpp.in index 521756e1e4c..11236817603 100644 --- a/src/Storages/System/StorageSystemBuildOptions.cpp.in +++ b/src/Storages/System/StorageSystemBuildOptions.cpp.in @@ -23,6 +23,7 @@ const char * auto_config_build[] "USE_GLIBC_COMPATIBILITY", "@GLIBC_COMPATIBILITY@", "USE_JEMALLOC", "@ENABLE_JEMALLOC@", "USE_ICU", "@USE_ICU@", + "USE_UTF8PROC", "@USE_UTF8PROC@", "USE_H3", "@USE_H3@", "USE_MYSQL", "@USE_MYSQL@", "USE_RDKAFKA", "@USE_RDKAFKA@", diff --git a/src/TableFunctions/CMakeLists.txt b/src/TableFunctions/CMakeLists.txt index 92fa95c4f4f..42a9fd7842b 100644 --- a/src/TableFunctions/CMakeLists.txt +++ b/src/TableFunctions/CMakeLists.txt @@ -17,6 +17,10 @@ extract_into_parent_list(clickhouse_table_functions_headers dbms_headers TableFunctionFactory.h ) +add_library(clickhouse_table_functions ${clickhouse_table_functions_headers} ${clickhouse_table_functions_sources}) + +target_link_libraries(clickhouse_table_functions PRIVATE clickhouse_parsers clickhouse_storages_system dbms) + if (USE_PYTHON) # Include path from shell cmd "python3 -m pybind11 --includes" execute_process(COMMAND python3 -m pybind11 --includes @@ -54,10 +58,6 @@ if (USE_PYTHON) endif() endif() -add_library(clickhouse_table_functions ${clickhouse_table_functions_headers} ${clickhouse_table_functions_sources}) - -target_link_libraries(clickhouse_table_functions PRIVATE clickhouse_parsers clickhouse_storages_system dbms) - if (TARGET ch_contrib::hivemetastore) target_link_libraries(clickhouse_table_functions PRIVATE ch_contrib::hivemetastore ch_contrib::hdfs ch_contrib::parquet) endif () @@ -72,6 +72,7 @@ endif () if (TARGET ch_contrib::utf8proc) target_link_libraries(clickhouse_table_functions PRIVATE ch_contrib::utf8proc) + target_include_directories(clickhouse_table_functions PRIVATE ${UTF8PROC_INCLUDE_DIR}) endif () if (TARGET ch_contrib::rapidjson) diff --git a/src/configure_config.cmake b/src/configure_config.cmake index 922b6b9121b..d85f6f07e8d 100644 --- a/src/configure_config.cmake +++ b/src/configure_config.cmake @@ -96,6 +96,10 @@ if (ENABLE_NLP) endif() if (ENABLE_PYTHON) set(USE_PYTHON 1) + set(USE_UTF8PROC 1) +endif() +if (ENABLE_UTF8PROC) + set(USE_UTF8PROC 1) endif() if (TARGET ch_contrib::utf8proc) set(USE_UTF8PROC 1) From dab2442392c252902e0d53ea84e9eeede2785bb9 Mon Sep 17 00:00:00 2001 From: auxten Date: Wed, 19 Jun 2024 15:55:54 +0800 Subject: [PATCH 15/21] Replace icu with utf8proc in Python str transcode --- src/Common/PythonUtils.cpp | 133 +++++++++++++++---------------------- 1 file changed, 54 insertions(+), 79 deletions(-) diff --git a/src/Common/PythonUtils.cpp b/src/Common/PythonUtils.cpp index 7003a8ba1ac..65f293498ad 100644 --- a/src/Common/PythonUtils.cpp +++ b/src/Common/PythonUtils.cpp @@ -1,4 +1,5 @@ #include +#include "config.h" #if USE_PYTHON @@ -15,71 +16,51 @@ namespace DB const char * ConvertPyUnicodeToUtf8(const void * input, int kind, size_t codepoint_cnt, size_t & output_size) { if (input == nullptr) + { return nullptr; + } - char * output_buffer = new char[4 * codepoint_cnt]; // Allocate buffer for UTF-8 output - - size_t real_size = 0; + char * output_buffer = new char[codepoint_cnt * 4 + 1]; // Allocate buffer based on calculated size + char * target = output_buffer; + size_t total_size = 0; + // Encode each Unicode codepoint to UTF-8 using utf8proc switch (kind) { - case 1: { // Handle 1-byte characters (Latin1/ASCII equivalent in ICU) - const char * start = (const char *)input; - const char * end = start + codepoint_cnt; - char code_unit; - char * target = output_buffer; - int32_t append_size = 0; - - while (start < end) + case 1: { + const auto * start = static_cast(input); + for (size_t i = 0; i < codepoint_cnt; ++i) { - code_unit = *start++; - U8_APPEND_UNSAFE(target, append_size, code_unit); + int sz = utf8proc_encode_char(start[i], reinterpret_cast(target)); + target += sz; + total_size += sz; } - real_size += append_size; - output_buffer[real_size] = '\0'; // Null terminate the output string - // LOG_DEBUG(&Poco::Logger::get("PythonUtils"), "Coverted 1byte String: {}", output_buffer); break; } - case 2: { // Handle 2-byte characters (UTF-16 equivalent) - const UChar * start = (const UChar *)input; - const UChar * end = start + codepoint_cnt; - UChar code_unit; - char * target = output_buffer; - int32_t append_size = 0; - - while (start < end) + case 2: { + const auto * start = static_cast(input); + for (size_t i = 0; i < codepoint_cnt; ++i) { - code_unit = *start++; - U8_APPEND_UNSAFE(target, append_size, code_unit); + int sz = utf8proc_encode_char(start[i], reinterpret_cast(target)); + target += sz; + total_size += sz; } - real_size += append_size; - output_buffer[real_size] = '\0'; // Null terminate the output string - // LOG_DEBUG(&Poco::Logger::get("PythonUtils"), "Coverted 2byte String: {}", output_buffer); break; } - case 4: { // Handle 4-byte characters (Assume UCS-4/UTF-32) - const UInt32 * start = (const UInt32 *)input; - const UInt32 * end = start + codepoint_cnt; - UInt32 code_unit; - char * target = output_buffer; - int32_t append_size = 0; - - while (start < end) + case 4: { + const auto * start = static_cast(input); + for (size_t i = 0; i < codepoint_cnt; ++i) { - code_unit = *start++; - U8_APPEND_UNSAFE(target, append_size, code_unit); + int sz = utf8proc_encode_char(start[i], reinterpret_cast(target)); + target += sz; + total_size += sz; } - real_size += append_size; - output_buffer[real_size] = '\0'; // Null terminate the output string - // LOG_DEBUG(&Poco::Logger::get("PythonUtils"), "Coverted 4byte String: {}", output_buffer); break; } - default: - delete[] output_buffer; // Clean up memory allocation if kind is unsupported - throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Unsupported unicode kind {}", kind); } - output_size = real_size; + output_buffer[total_size] = '\0'; // Null-terminate the output string + output_size = total_size; return output_buffer; } @@ -87,63 +68,57 @@ size_t ConvertPyUnicodeToUtf8(const void * input, int kind, size_t codepoint_cnt, ColumnString::Offsets & offsets, ColumnString::Chars & chars) { if (input == nullptr) + { return 0; + } + // Estimate the maximum buffer size required for the UTF-8 output + // Buffers is reserved from the caller, so we can safely resize it and memory will not be wasted size_t estimated_size = codepoint_cnt * 4 + 1; // Allocate buffer for UTF-8 output size_t chars_cursor = chars.size(); size_t target_size = chars_cursor + estimated_size; chars.resize(target_size); + // Resize the character buffer to accommodate the UTF-8 string + chars.resize(chars_cursor + estimated_size + 1); // +1 for null terminator + + size_t offset = chars_cursor; switch (kind) { - case 1: { // Handle 1-byte characters (Latin1/ASCII equivalent in ICU) - const char * start = (const char *)input; - const char * end = start + codepoint_cnt; - char code_unit; - int32_t append_size = 0; - - while (start < end) + case 1: { // Latin1/ASCII + const auto * start = static_cast(input); + for (size_t i = 0; i < codepoint_cnt; ++i) { - code_unit = *start++; - U8_APPEND_UNSAFE(chars.data(), chars_cursor, code_unit); + auto sz = utf8proc_encode_char(start[i], reinterpret_cast(&chars[offset])); + offset += sz; } break; } - case 2: { // Handle 2-byte characters (UTF-16 equivalent) - const UChar * start = (const UChar *)input; - const UChar * end = start + codepoint_cnt; - UChar code_unit; - int32_t append_size = 0; - - while (start < end) + case 2: { // UTF-16 + const auto * start = static_cast(input); + for (size_t i = 0; i < codepoint_cnt; ++i) { - code_unit = *start++; - U8_APPEND_UNSAFE(chars.data(), chars_cursor, code_unit); + auto sz = utf8proc_encode_char(start[i], reinterpret_cast(&chars[offset])); + offset += sz; } break; } - case 4: { // Handle 4-byte characters (Assume UCS-4/UTF-32) - const UInt32 * start = (const UInt32 *)input; - const UInt32 * end = start + codepoint_cnt; - UInt32 code_unit; - int32_t append_size = 0; - - while (start < end) + case 4: { // UTF-32 + const auto * start = static_cast(input); + for (size_t i = 0; i < codepoint_cnt; ++i) { - code_unit = *start++; - U8_APPEND_UNSAFE(chars.data(), chars_cursor, code_unit); + auto sz = utf8proc_encode_char(start[i], reinterpret_cast(&chars[offset])); + offset += sz; } break; } - default: - throw Exception(ErrorCodes::NOT_IMPLEMENTED, "Unsupported unicode kind {}", kind); } - chars[chars_cursor++] = '\0'; // Null terminate the output string and increase the cursor - offsets.push_back(chars_cursor); - chars.resize_assume_reserved(chars_cursor); + chars[offset++] = '\0'; // Null terminate the output string + offsets.push_back(offset); // Include the null terminator in the offset + chars.resize(offset); // Resize to the actual used size, including null terminator - return chars_cursor; + return offset; // Return the number of bytes written, not including the null terminator } void FillColumnString(PyObject * obj, ColumnString * column) From 3860a95663390cad92d0678b4b7715ea5f571bf2 Mon Sep 17 00:00:00 2001 From: auxten Date: Wed, 19 Jun 2024 17:14:50 +0800 Subject: [PATCH 16/21] Strip so --- chdb/build.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/chdb/build.sh b/chdb/build.sh index 6bf9b82b04d..101f024be2a 100755 --- a/chdb/build.sh +++ b/chdb/build.sh @@ -282,6 +282,16 @@ LIBCHDB_DIR=${BUILD_DIR}/ PYCHDB=${LIBCHDB_DIR}/${CHDB_PY_MODULE} LIBCHDB=${LIBCHDB_DIR}/${LIBCHDB_SO} + +if [ ${build_type} == "Debug" ]; then + echo -e "\nDebug build, skip strip" +else + echo -e "\nStrip the binary:" + llvm-strip --strip-debug --remove-section=.comment --remove-section=.note ${PYCHDB} + llvm-strip --strip-debug --remove-section=.comment --remove-section=.note ${LIBCHDB} +fi +echo -e "\nStripe the binary:" + echo -e "\nPYCHDB: ${PYCHDB}" ls -lh ${PYCHDB} echo -e "\nLIBCHDB: ${LIBCHDB}" From 7a0c3dc165a50256b9d4fac5cc9eba39ebd2b4c9 Mon Sep 17 00:00:00 2001 From: auxten Date: Wed, 19 Jun 2024 17:15:06 +0800 Subject: [PATCH 17/21] Set pandas output width --- tests/test_on_df.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/test_on_df.py b/tests/test_on_df.py index a3a1a82ccd8..ac5f6f8bc23 100644 --- a/tests/test_on_df.py +++ b/tests/test_on_df.py @@ -1,10 +1,10 @@ import atexit import io import os.path -import sys import time import unittest +import pandas as pd from chdb.dataframe import Table, pandas_read_parquet from utils import current_dir @@ -40,6 +40,8 @@ # run print at exit atexit.register(lambda: print("\n" + output.getvalue())) +pd.set_option("display.max_columns", 10) +pd.set_option("display.width", 200) class TestRunOnDf(unittest.TestCase): From 6b727aca27b120d72cccdf159cbd576dd098ecc9 Mon Sep 17 00:00:00 2001 From: auxten Date: Thu, 20 Jun 2024 16:50:52 +0800 Subject: [PATCH 18/21] Use latest llvm-strip --- chdb/build.sh | 4 ++-- chdb/vars.sh | 24 ++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/chdb/build.sh b/chdb/build.sh index 101f024be2a..a19fea2d1bc 100755 --- a/chdb/build.sh +++ b/chdb/build.sh @@ -287,8 +287,8 @@ if [ ${build_type} == "Debug" ]; then echo -e "\nDebug build, skip strip" else echo -e "\nStrip the binary:" - llvm-strip --strip-debug --remove-section=.comment --remove-section=.note ${PYCHDB} - llvm-strip --strip-debug --remove-section=.comment --remove-section=.note ${LIBCHDB} + ${STRIP} --strip-debug --remove-section=.comment --remove-section=.note ${PYCHDB} + ${STRIP} --strip-debug --remove-section=.comment --remove-section=.note ${LIBCHDB} fi echo -e "\nStripe the binary:" diff --git a/chdb/vars.sh b/chdb/vars.sh index afc47ce0366..9ed300bb98d 100755 --- a/chdb/vars.sh +++ b/chdb/vars.sh @@ -9,6 +9,30 @@ pushd ${PROJ_DIR} CHDB_VERSION=$(python3 -c 'import setup; print(setup.get_latest_git_tag())') popd +# try to use largest llvm-strip version +# if none of them are found, use llvm-strip or strip +if [ -z "$STRIP" ]; then + STRIP=$(ls -1 /usr/bin/llvm-strip* | sort -V | tail -n 1) +fi +if [ -z "$STRIP" ]; then + STRIP=$(ls -1 /usr/local/bin/llvm-strip* | sort -V | tail -n 1) +fi +# on macOS +if [ -z "$STRIP" ]; then + STRIP=$(ls -1 /usr/local/Cellar/llvm/*/bin/llvm-strip* | sort -V | tail -n 1) +fi +if [ -z "$STRIP" ]; then + STRIP=$(ls -1 /usr/local/opt/llvm/bin/llvm-strip* | sort -V | tail -n 1) +fi + +# if none of them are found, use llvm-strip or strip +if [ -z "$STRIP" ]; then + STRIP=$(which llvm-strip) +fi +if [ -z "$STRIP" ]; then + STRIP=$(which strip) +fi + # check current os type, and make ldd command if [ "$(uname)" == "Darwin" ]; then LDD="otool -L" From 6347bf4ba1c4dfe888ce621c15c4481884bdf0ec Mon Sep 17 00:00:00 2001 From: auxten Date: Thu, 20 Jun 2024 16:52:12 +0800 Subject: [PATCH 19/21] Cleanup --- programs/local/CMakeLists.txt | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/programs/local/CMakeLists.txt b/programs/local/CMakeLists.txt index 1e903d89dde..46605dccd20 100644 --- a/programs/local/CMakeLists.txt +++ b/programs/local/CMakeLists.txt @@ -47,20 +47,6 @@ if (USE_PYTHON) endif() endif() -# add_library(clickhouse-local-lib SHARED ${CLICKHOUSE_LOCAL_SOURCES}) - -# target_link_libraries(clickhouse-local-lib -# PRIVATE -# boost::program_options -# clickhouse_aggregate_functions -# clickhouse_common_config -# clickhouse_common_io -# clickhouse_functions -# clickhouse_parsers -# clickhouse_storages_system -# clickhouse_table_functions -# ) - set (CLICKHOUSE_LOCAL_LINK PRIVATE boost::program_options From 4c26d2dd493b688e4b83ad25c582a835e280547e Mon Sep 17 00:00:00 2001 From: auxten Date: Thu, 20 Jun 2024 19:33:50 +0800 Subject: [PATCH 20/21] Fix bug of PyReader --- src/Storages/StoragePython.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/Storages/StoragePython.cpp b/src/Storages/StoragePython.cpp index 183d5bfa4fa..8a65484d774 100644 --- a/src/Storages/StoragePython.cpp +++ b/src/Storages/StoragePython.cpp @@ -68,16 +68,15 @@ Pipe StoragePython::read( Block sample_block = prepareSampleBlock(column_names, storage_snapshot); - // num_streams = 3; // for chdb testing - - prepareColumnCache(column_names, sample_block.getColumns(), sample_block); - if (isInheritsFromPyReader(data_source)) { return Pipe(std::make_shared(data_source, sample_block, column_cache, data_source_row_count, max_block_size, 0, 1)); } + prepareColumnCache(column_names, sample_block.getColumns(), sample_block); + Pipes pipes; + // num_streams = 32; // for chdb testing for (size_t stream = 0; stream < num_streams; ++stream) pipes.emplace_back(std::make_shared( data_source, sample_block, column_cache, data_source_row_count, max_block_size, stream, num_streams)); From 8ce69697ab6192daad1ac566433ca247f443ac69 Mon Sep 17 00:00:00 2001 From: auxten Date: Thu, 20 Jun 2024 19:34:34 +0800 Subject: [PATCH 21/21] Run 5 times to get accurate time --- tests/arrow_table.py | 66 ++++++++++++++++++++++++++++---------------- 1 file changed, 42 insertions(+), 24 deletions(-) diff --git a/tests/arrow_table.py b/tests/arrow_table.py index e7a4a753ddf..66663b1fc2a 100644 --- a/tests/arrow_table.py +++ b/tests/arrow_table.py @@ -22,18 +22,20 @@ # os.path.join(current_dir, "hits_0.parquet")) # 122MB parquet file -hits_0 = os.path.join(current_dir, "hits_0.parquet") +# hits_0 = os.path.join(current_dir, "hits_0.parquet") # 14GB parquet file # hits_0 = os.path.join(current_dir, "hits.parquet") # 1.3G parquet file -# hits_0 = os.path.join(current_dir, "hits1.parquet") +hits_0 = os.path.join(current_dir, "hits1.parquet") # sql = """SELECT RegionID, SUM(AdvEngineID), COUNT(*) AS c, AVG(ResolutionWidth), COUNT(DISTINCT UserID) # FROM __table__ GROUP BY RegionID ORDER BY c DESC LIMIT 10""" -sql = "SELECT * FROM hits WHERE URL LIKE '%google%' ORDER BY EventTime LIMIT 10;" +# sql = "SELECT * FROM hits WHERE URL LIKE '%google%' ORDER BY EventTime LIMIT 10;" + +sql = "SELECT COUNT(DISTINCT UserID) FROM hits;" t = time.time() # read parquet file into memory @@ -50,23 +52,23 @@ print("Dataframe size:", df_old.memory_usage().sum(), "bytes") hits = df_old -# print(hits["EventTime"][0:10]) -hits["EventTime"] = pd.to_datetime(hits["EventTime"], unit="s") -# print(hits["EventTime"][0:10]) +# # print(hits["EventTime"][0:10]) +# hits["EventTime"] = pd.to_datetime(hits["EventTime"], unit="s") +# # print(hits["EventTime"][0:10]) -hits["EventDate"] = pd.to_datetime(hits["EventDate"], unit="D") -# print(hits["EventDate"][0:10]) +# hits["EventDate"] = pd.to_datetime(hits["EventDate"], unit="D") +# # print(hits["EventDate"][0:10]) -# fix all object columns to string -for col in hits.columns: - if hits[col].dtype == "O": - # hits[col] = hits[col].astype('string') - hits[col] = hits[col].astype(str) +# # fix all object columns to string +# for col in hits.columns: +# if hits[col].dtype == "O": +# # hits[col] = hits[col].astype('string') +# hits[col] = hits[col].astype(str) # title = hits["Title"] # title.values.data -hits.dtypes +# hits.dtypes # # read parquet file as pandas dataframe # t = time.time() @@ -214,16 +216,32 @@ def read(self, col_names, count): reader = myReader(df_old) -t = time.time() -ret = chdb.query( - # """ SELECT RegionID, SUM(AdvEngineID), COUNT(*) AS c, AVG(ResolutionWidth), COUNT(DISTINCT UserID) - # FROM Python(reader) GROUP BY RegionID ORDER BY c DESC LIMIT 10""", - # "SELECT COUNT(DISTINCT Title) FROM Python(reader);", - sql.replace("hits", "Python(hits)"), - "Dataframe", -) -print("Run with new chDB on dataframe. Time cost:", time.time() - t, "s") -print(ret) + +def bench_chdb(i): + if i == 0: + format = "Debug" + else: + format = "DataFrame" + ret = chdb.query( + # """ SELECT RegionID, SUM(AdvEngineID), COUNT(*) AS c, AVG(ResolutionWidth), COUNT(DISTINCT UserID) + # FROM Python(reader) GROUP BY RegionID ORDER BY c DESC LIMIT 10""", + # "SELECT COUNT(DISTINCT Title) FROM Python(reader);", + sql.replace("hits", "Python(hits)"), + format, + ) + return ret + + +# run 5 times, remove the fastest and slowest, then calculate the average +times = [] +for i in range(5): + t = time.time() + ret = bench_chdb(i) + times.append(time.time() - t) + print(ret) +times.remove(max(times)) +times.remove(min(times)) +print("Run with new chDB on dataframe. Time cost:", sum(times) / len(times), "s") # t = time.time() # df_arr_reader = myReader(df)