gitextract_gasud238/ ├── .cursor/ │ ├── rules/ │ │ ├── C/ │ │ │ ├── core.mdc │ │ │ └── plugins/ │ │ │ ├── filter.mdc │ │ │ ├── north.mdc │ │ │ └── south.mdc │ │ ├── README.md │ │ ├── docs.mdc │ │ ├── python/ │ │ │ ├── api.mdc │ │ │ ├── config.mdc │ │ │ ├── core.mdc │ │ │ └── quality.mdc │ │ └── tests/ │ │ └── python/ │ │ ├── api.mdc │ │ └── unit.mdc │ └── services/ │ ├── notification.mdc │ └── notification_code_review.mdc ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ ├── doc_issue.yml │ │ └── feature_request.yml │ └── workflows/ │ └── checker.yml ├── .gitignore ├── .readthedocs.yaml ├── ADOPTERS.MD ├── C/ │ ├── common/ │ │ ├── CMakeLists.txt │ │ ├── JSONPath.cpp │ │ ├── acl.cpp │ │ ├── aggregate.cpp │ │ ├── asset_tracking.cpp │ │ ├── audit_logger.cpp │ │ ├── base64databuffer.cpp │ │ ├── base64image.cpp │ │ ├── bearer_token.cpp │ │ ├── config_category.cpp │ │ ├── cryptography_utils.cpp │ │ ├── databuffer.cpp │ │ ├── datapoint.cpp │ │ ├── datapoint_utility.cpp │ │ ├── file_utils.cpp │ │ ├── filter_pipeline.cpp │ │ ├── filter_plugin.cpp │ │ ├── form_data.cpp │ │ ├── image.cpp │ │ ├── include/ │ │ │ ├── JSONPath.h │ │ │ ├── acl.h │ │ │ ├── aggregate.h │ │ │ ├── asset_tracking.h │ │ │ ├── audit_logger.h │ │ │ ├── base64.h │ │ │ ├── base64databuffer.h │ │ │ ├── base64dpimage.h │ │ │ ├── bearer_token.h │ │ │ ├── config_category.h │ │ │ ├── cryptography_utils.h │ │ │ ├── databuffer.h │ │ │ ├── datapoint.h │ │ │ ├── datapoint_utility.h │ │ │ ├── dpimage.h │ │ │ ├── expression.h │ │ │ ├── exprtk.hpp │ │ │ ├── file_utils.h │ │ │ ├── filter_pipeline.h │ │ │ ├── filter_plugin.h │ │ │ ├── form_data.h │ │ │ ├── insert.h │ │ │ ├── join.h │ │ │ ├── json_properties.h │ │ │ ├── json_provider.h │ │ │ ├── json_utils.h │ │ │ ├── logger.h │ │ │ ├── management_client.h │ │ │ ├── pipeline_debugger.h │ │ │ ├── pipeline_element.h │ │ │ ├── plugin_data.h │ │ │ ├── process.h │ │ │ ├── purge_result.h │ │ │ ├── pyruntime.h │ │ │ ├── pythonconfigcategory.h │ │ │ ├── pythonreading.h │ │ │ ├── pythonreadingset.h │ │ │ ├── query.h │ │ │ ├── reading.h │ │ │ ├── reading_circularbuffer.h │ │ │ ├── reading_set.h │ │ │ ├── reading_stream.h │ │ │ ├── readingset_circularbuffer.h │ │ │ ├── resultset.h │ │ │ ├── returns.h │ │ │ ├── service_record.h │ │ │ ├── sort.h │ │ │ ├── storage_client.h │ │ │ ├── string_utils.h │ │ │ ├── timebucket.h │ │ │ ├── update_modifier.h │ │ │ ├── utils.h │ │ │ ├── value.h │ │ │ └── where.h │ │ ├── join.cpp │ │ ├── json_utils.cpp │ │ ├── logger.cpp │ │ ├── management_client.cpp │ │ ├── pipeline_branch.cpp │ │ ├── pipeline_debugger.cpp │ │ ├── pipeline_element.cpp │ │ ├── pipeline_filter.cpp │ │ ├── pipeline_writer.cpp │ │ ├── plugin_data.cpp │ │ ├── process.cpp │ │ ├── purge_result.cpp │ │ ├── pyexception.cpp │ │ ├── pyruntime.cpp │ │ ├── pythonconfigcategory.cpp │ │ ├── pythonreading.cpp │ │ ├── pythonreadingset.cpp │ │ ├── query.cpp │ │ ├── reading.cpp │ │ ├── reading_circularbuffer.cpp │ │ ├── reading_set.cpp │ │ ├── readingset_circularbuffer.cpp │ │ ├── result_set.cpp │ │ ├── service_record.cpp │ │ ├── storage_client.cpp │ │ ├── string_utils.cpp │ │ └── where.cpp │ ├── plugins/ │ │ ├── common/ │ │ │ ├── CMakeLists.txt │ │ │ ├── http_sender.cpp │ │ │ ├── include/ │ │ │ │ ├── http_sender.h │ │ │ │ ├── libcurl_https.h │ │ │ │ ├── piwebapi.h │ │ │ │ ├── simple_http.h │ │ │ │ └── simple_https.h │ │ │ ├── libcurl_https.cpp │ │ │ ├── piwebapi.cpp │ │ │ ├── simple_http.cpp │ │ │ └── simple_https.cpp │ │ ├── filter/ │ │ │ └── common/ │ │ │ ├── CMakeLists.txt │ │ │ ├── filter.cpp │ │ │ └── include/ │ │ │ └── filter.h │ │ ├── north/ │ │ │ └── OMF/ │ │ │ ├── CMakeLists.txt │ │ │ ├── OMFError.cpp │ │ │ ├── include/ │ │ │ │ ├── OMFHint.h │ │ │ │ ├── basetypes.h │ │ │ │ ├── linkedlookup.h │ │ │ │ ├── ocs.h │ │ │ │ ├── omf.h │ │ │ │ ├── omfbuffer.h │ │ │ │ ├── omferror.h │ │ │ │ ├── omfinfo.h │ │ │ │ └── omflinkeddata.h │ │ │ ├── linkdata.cpp │ │ │ ├── ocs.cpp │ │ │ ├── omf.cpp │ │ │ ├── omfbuffer.cpp │ │ │ ├── omfhints.cpp │ │ │ ├── omfinfo.cpp │ │ │ └── plugin.cpp │ │ ├── storage/ │ │ │ ├── CMakeLists.txt │ │ │ ├── README.rst │ │ │ ├── common/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── disk_monitor.cpp │ │ │ │ ├── include/ │ │ │ │ │ ├── disk_monitor.h │ │ │ │ │ └── sql_buffer.h │ │ │ │ └── sql_buffer.cpp │ │ │ ├── postgres/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── CheckRhPg.cmake │ │ │ │ ├── README.rst │ │ │ │ ├── connection.cpp │ │ │ │ ├── connection_manager.cpp │ │ │ │ ├── include/ │ │ │ │ │ ├── connection.h │ │ │ │ │ └── connection_manager.h │ │ │ │ └── plugin.cpp │ │ │ ├── sqlite/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── Findsqlite3.cmake │ │ │ │ ├── common/ │ │ │ │ │ ├── connection.cpp │ │ │ │ │ ├── connection_manager.cpp │ │ │ │ │ ├── include/ │ │ │ │ │ │ ├── connection.h │ │ │ │ │ │ ├── connection_manager.h │ │ │ │ │ │ ├── purge_configuration.h │ │ │ │ │ │ ├── readings_catalogue.h │ │ │ │ │ │ └── sqlite_common.h │ │ │ │ │ ├── purge_configuration.cpp │ │ │ │ │ ├── readings.cpp │ │ │ │ │ └── readings_catalogue.cpp │ │ │ │ ├── include/ │ │ │ │ │ ├── common.h │ │ │ │ │ └── profile.h │ │ │ │ ├── plugin.cpp │ │ │ │ └── schema/ │ │ │ │ ├── include/ │ │ │ │ │ └── schema.h │ │ │ │ └── schema.cpp │ │ │ ├── sqlitelb/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── Findsqlite3.cmake │ │ │ │ ├── common/ │ │ │ │ │ ├── connection.cpp │ │ │ │ │ ├── connection_manager.cpp │ │ │ │ │ ├── include/ │ │ │ │ │ │ ├── connection.h │ │ │ │ │ │ └── connection_manager.h │ │ │ │ │ └── readings.cpp │ │ │ │ ├── include/ │ │ │ │ │ ├── common.h │ │ │ │ │ └── profile.h │ │ │ │ └── plugin.cpp │ │ │ └── sqlitememory/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Findsqlite3.cmake │ │ │ ├── connection.cpp │ │ │ ├── include/ │ │ │ │ ├── connection.h │ │ │ │ └── connection_manager.h │ │ │ └── plugin.cpp │ │ └── utils/ │ │ ├── CMakeLists.txt │ │ ├── cmdutil.cpp │ │ └── get_plugin_info.cpp │ ├── services/ │ │ ├── common/ │ │ │ ├── CMakeLists.txt │ │ │ ├── README.rst │ │ │ ├── config_handler.cpp │ │ │ ├── filter_python_plugin_handle.cpp │ │ │ ├── include/ │ │ │ │ ├── binary_plugin_handle.h │ │ │ │ ├── config_handler.h │ │ │ │ ├── filter_python_plugin_handle.h │ │ │ │ ├── management_api.h │ │ │ │ ├── north_python_plugin_handle.h │ │ │ │ ├── notification_python_plugin_handle.h │ │ │ │ ├── perfmonitors.h │ │ │ │ ├── plugin.h │ │ │ │ ├── plugin_api.h │ │ │ │ ├── plugin_exception.h │ │ │ │ ├── plugin_handle.h │ │ │ │ ├── plugin_manager.h │ │ │ │ ├── python_plugin_handle.h │ │ │ │ ├── service_handler.h │ │ │ │ └── south_python_plugin_handle.h │ │ │ ├── management_api.cpp │ │ │ ├── north_python_plugin_handle.cpp │ │ │ ├── notification_python_plugin_handle.cpp │ │ │ ├── perfmonitor.cpp │ │ │ ├── plugin.cpp │ │ │ ├── plugin_manager.cpp │ │ │ ├── service_security.cpp │ │ │ └── south_python_plugin_handle.cpp │ │ ├── common-plugin-interfaces/ │ │ │ └── python/ │ │ │ └── include/ │ │ │ └── python_plugin_common_interface.h │ │ ├── core/ │ │ │ ├── CMakeLists.txt │ │ │ ├── configuration_manager.cpp │ │ │ ├── core_management_api.cpp │ │ │ ├── include/ │ │ │ │ ├── configuration_manager.h │ │ │ │ ├── core_management_api.h │ │ │ │ └── service_registry.h │ │ │ └── service_registry.cpp │ │ ├── filter-plugin-interfaces/ │ │ │ └── python/ │ │ │ ├── CMakeLists.txt │ │ │ ├── filter_ingest_pymodule/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── ingest_callback_pymodule.cpp │ │ │ └── python_plugin_interface.cpp │ │ ├── north/ │ │ │ ├── CMakeLists.txt │ │ │ ├── README.rst │ │ │ ├── data_load.cpp │ │ │ ├── data_send.cpp │ │ │ ├── include/ │ │ │ │ ├── data_load.h │ │ │ │ ├── data_sender.h │ │ │ │ ├── defaults.h │ │ │ │ ├── north_api.h │ │ │ │ ├── north_plugin.h │ │ │ │ └── north_service.h │ │ │ ├── north.cpp │ │ │ ├── north_api.cpp │ │ │ └── north_plugin.cpp │ │ ├── north-plugin-interfaces/ │ │ │ └── python/ │ │ │ ├── CMakeLists.txt │ │ │ └── python_plugin_interface.cpp │ │ ├── notification-plugin-interfaces/ │ │ │ └── python/ │ │ │ ├── CMakeLists.txt │ │ │ └── python_plugin_interface.cpp │ │ ├── south/ │ │ │ ├── CMakeLists.txt │ │ │ ├── README.rst │ │ │ ├── include/ │ │ │ │ ├── defaults.h │ │ │ │ ├── ingest.h │ │ │ │ ├── ingest_rate.h │ │ │ │ ├── south_api.h │ │ │ │ ├── south_plugin.h │ │ │ │ └── south_service.h │ │ │ ├── ingest.cpp │ │ │ ├── ingestRate.cpp │ │ │ ├── south.cpp │ │ │ ├── south_api.cpp │ │ │ └── south_plugin.cpp │ │ ├── south-plugin-interfaces/ │ │ │ └── python/ │ │ │ ├── CMakeLists.txt │ │ │ ├── async_ingest_pymodule/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── ingest_callback_pymodule.cpp │ │ │ └── python_plugin_interface.cpp │ │ └── storage/ │ │ ├── CMakeLists.txt │ │ ├── README.rst │ │ ├── configuration.cpp │ │ ├── include/ │ │ │ ├── configuration.h │ │ │ ├── plugin_configuration.h │ │ │ ├── storage_api.h │ │ │ ├── storage_plugin.h │ │ │ ├── storage_registry.h │ │ │ ├── storage_service.h │ │ │ ├── storage_stats.h │ │ │ └── stream_handler.h │ │ ├── pluginconfiguration.cpp │ │ ├── storage │ │ ├── storage.cpp │ │ ├── storage_api.cpp │ │ ├── storage_plugin.cpp │ │ ├── storage_registry.cpp │ │ ├── storage_stats.cpp │ │ └── stream_handler.cpp │ ├── tasks/ │ │ ├── check_updates/ │ │ │ ├── CMakeLists.txt │ │ │ ├── check_updates.cpp │ │ │ ├── include/ │ │ │ │ └── check_updates.h │ │ │ └── main.cpp │ │ ├── north/ │ │ │ ├── CMakeLists.txt │ │ │ └── sending_process/ │ │ │ ├── CMakeLists.txt │ │ │ ├── include/ │ │ │ │ ├── north_filter_pipeline.h │ │ │ │ ├── north_plugin.h │ │ │ │ └── sending.h │ │ │ ├── north_filter_pipeline.cpp │ │ │ ├── north_plugin.cpp │ │ │ ├── sending.cpp │ │ │ └── sending_process.cpp │ │ ├── purge_system/ │ │ │ ├── CMakeLists.txt │ │ │ ├── include/ │ │ │ │ └── purge_system.h │ │ │ ├── main.cpp │ │ │ └── purge_system.cpp │ │ └── statistics_history/ │ │ ├── CMakeLists.txt │ │ ├── include/ │ │ │ └── stats_history.h │ │ ├── main.cpp │ │ └── stats_history.cpp │ └── thirdparty/ │ ├── Simple-Web-Server/ │ │ ├── CMakeLists.txt │ │ ├── LICENSE │ │ ├── README.md │ │ ├── asio_compatibility.hpp │ │ ├── client_http.hpp │ │ ├── client_https.hpp │ │ ├── crypto.hpp │ │ ├── docs/ │ │ │ ├── Doxyfile │ │ │ └── benchmarks.md │ │ ├── http_examples.cpp │ │ ├── https_examples.cpp │ │ ├── mutex.hpp │ │ ├── server_http.hpp │ │ ├── server_https.hpp │ │ ├── status_code.hpp │ │ ├── tests/ │ │ │ ├── CMakeLists.txt │ │ │ ├── assert.hpp │ │ │ ├── crypto_test.cpp │ │ │ ├── io_test.cpp │ │ │ ├── parse_test.cpp │ │ │ └── status_code_test.cpp │ │ ├── utility.hpp │ │ └── web/ │ │ ├── index.html │ │ └── test.html │ └── rapidjson/ │ ├── .gitattributes │ ├── .gitignore │ ├── .gitmodules │ ├── .travis.yml │ ├── CHANGELOG.md │ ├── CMakeLists.txt │ ├── CMakeModules/ │ │ └── FindGTestSrc.cmake │ ├── RapidJSON.pc.in │ ├── RapidJSONConfig.cmake.in │ ├── RapidJSONConfigVersion.cmake.in │ ├── appveyor.yml │ ├── bin/ │ │ ├── data/ │ │ │ ├── glossary.json │ │ │ ├── menu.json │ │ │ ├── readme.txt │ │ │ ├── sample.json │ │ │ ├── webapp.json │ │ │ └── widget.json │ │ ├── encodings/ │ │ │ ├── utf16be.json │ │ │ ├── utf16bebom.json │ │ │ ├── utf16le.json │ │ │ ├── utf16lebom.json │ │ │ ├── utf32be.json │ │ │ ├── utf32bebom.json │ │ │ ├── utf32le.json │ │ │ ├── utf32lebom.json │ │ │ ├── utf8.json │ │ │ └── utf8bom.json │ │ ├── jsonchecker/ │ │ │ ├── fail1.json │ │ │ ├── fail10.json │ │ │ ├── fail11.json │ │ │ ├── fail12.json │ │ │ ├── fail13.json │ │ │ ├── fail14.json │ │ │ ├── fail15.json │ │ │ ├── fail16.json │ │ │ ├── fail17.json │ │ │ ├── fail18.json │ │ │ ├── fail19.json │ │ │ ├── fail2.json │ │ │ ├── fail20.json │ │ │ ├── fail21.json │ │ │ ├── fail22.json │ │ │ ├── fail23.json │ │ │ ├── fail24.json │ │ │ ├── fail25.json │ │ │ ├── fail26.json │ │ │ ├── fail27.json │ │ │ ├── fail28.json │ │ │ ├── fail29.json │ │ │ ├── fail3.json │ │ │ ├── fail30.json │ │ │ ├── fail31.json │ │ │ ├── fail32.json │ │ │ ├── fail33.json │ │ │ ├── fail4.json │ │ │ ├── fail5.json │ │ │ ├── fail6.json │ │ │ ├── fail7.json │ │ │ ├── fail8.json │ │ │ ├── fail9.json │ │ │ ├── pass1.json │ │ │ ├── pass2.json │ │ │ ├── pass3.json │ │ │ └── readme.txt │ │ └── types/ │ │ ├── booleans.json │ │ ├── floats.json │ │ ├── guids.json │ │ ├── integers.json │ │ ├── mixed.json │ │ ├── nulls.json │ │ ├── paragraphs.json │ │ └── readme.txt │ ├── contrib/ │ │ └── natvis/ │ │ ├── LICENSE │ │ ├── README.md │ │ └── rapidjson.natvis │ ├── doc/ │ │ ├── CMakeLists.txt │ │ ├── Doxyfile.in │ │ ├── Doxyfile.zh-cn.in │ │ ├── diagram/ │ │ │ ├── architecture.dot │ │ │ ├── insituparsing.dot │ │ │ ├── iterative-parser-states-diagram.dot │ │ │ ├── move1.dot │ │ │ ├── move2.dot │ │ │ ├── move3.dot │ │ │ ├── normalparsing.dot │ │ │ ├── simpledom.dot │ │ │ ├── tutorial.dot │ │ │ └── utilityclass.dot │ │ ├── dom.md │ │ ├── dom.zh-cn.md │ │ ├── encoding.md │ │ ├── encoding.zh-cn.md │ │ ├── faq.md │ │ ├── faq.zh-cn.md │ │ ├── features.md │ │ ├── features.zh-cn.md │ │ ├── internals.md │ │ ├── internals.zh-cn.md │ │ ├── misc/ │ │ │ ├── DoxygenLayout.xml │ │ │ ├── doxygenextra.css │ │ │ ├── footer.html │ │ │ └── header.html │ │ ├── npm.md │ │ ├── performance.md │ │ ├── performance.zh-cn.md │ │ ├── pointer.md │ │ ├── pointer.zh-cn.md │ │ ├── sax.md │ │ ├── sax.zh-cn.md │ │ ├── schema.md │ │ ├── schema.zh-cn.md │ │ ├── stream.md │ │ ├── stream.zh-cn.md │ │ ├── tutorial.md │ │ └── tutorial.zh-cn.md │ ├── example/ │ │ ├── CMakeLists.txt │ │ ├── capitalize/ │ │ │ └── capitalize.cpp │ │ ├── condense/ │ │ │ └── condense.cpp │ │ ├── filterkey/ │ │ │ └── filterkey.cpp │ │ ├── filterkeydom/ │ │ │ └── filterkeydom.cpp │ │ ├── jsonx/ │ │ │ └── jsonx.cpp │ │ ├── lookaheadparser/ │ │ │ └── lookaheadparser.cpp │ │ ├── messagereader/ │ │ │ └── messagereader.cpp │ │ ├── parsebyparts/ │ │ │ └── parsebyparts.cpp │ │ ├── pretty/ │ │ │ └── pretty.cpp │ │ ├── prettyauto/ │ │ │ └── prettyauto.cpp │ │ ├── schemavalidator/ │ │ │ └── schemavalidator.cpp │ │ ├── serialize/ │ │ │ └── serialize.cpp │ │ ├── simpledom/ │ │ │ └── simpledom.cpp │ │ ├── simplepullreader/ │ │ │ └── simplepullreader.cpp │ │ ├── simplereader/ │ │ │ └── simplereader.cpp │ │ ├── simplewriter/ │ │ │ └── simplewriter.cpp │ │ └── tutorial/ │ │ └── tutorial.cpp │ ├── include/ │ │ └── rapidjson/ │ │ ├── allocators.h │ │ ├── cursorstreamwrapper.h │ │ ├── document.h │ │ ├── encodedstream.h │ │ ├── encodings.h │ │ ├── error/ │ │ │ ├── en.h │ │ │ └── error.h │ │ ├── filereadstream.h │ │ ├── filewritestream.h │ │ ├── fwd.h │ │ ├── internal/ │ │ │ ├── biginteger.h │ │ │ ├── clzll.h │ │ │ ├── diyfp.h │ │ │ ├── dtoa.h │ │ │ ├── ieee754.h │ │ │ ├── itoa.h │ │ │ ├── meta.h │ │ │ ├── pow10.h │ │ │ ├── regex.h │ │ │ ├── stack.h │ │ │ ├── strfunc.h │ │ │ ├── strtod.h │ │ │ └── swap.h │ │ ├── istreamwrapper.h │ │ ├── memorybuffer.h │ │ ├── memorystream.h │ │ ├── msinttypes/ │ │ │ ├── inttypes.h │ │ │ └── stdint.h │ │ ├── ostreamwrapper.h │ │ ├── pointer.h │ │ ├── prettywriter.h │ │ ├── rapidjson.h │ │ ├── reader.h │ │ ├── schema.h │ │ ├── stream.h │ │ ├── stringbuffer.h │ │ ├── uri.h │ │ └── writer.h │ ├── include_dirs.js │ ├── library.json │ ├── license.txt │ ├── package.json │ ├── rapidjson.autopkg │ ├── readme.md │ ├── readme.zh-cn.md │ ├── test/ │ │ ├── CMakeLists.txt │ │ ├── perftest/ │ │ │ ├── CMakeLists.txt │ │ │ ├── misctest.cpp │ │ │ ├── perftest.cpp │ │ │ ├── perftest.h │ │ │ ├── platformtest.cpp │ │ │ ├── rapidjsontest.cpp │ │ │ └── schematest.cpp │ │ ├── unittest/ │ │ │ ├── CMakeLists.txt │ │ │ ├── allocatorstest.cpp │ │ │ ├── bigintegertest.cpp │ │ │ ├── documenttest.cpp │ │ │ ├── dtoatest.cpp │ │ │ ├── encodedstreamtest.cpp │ │ │ ├── encodingstest.cpp │ │ │ ├── filestreamtest.cpp │ │ │ ├── fwdtest.cpp │ │ │ ├── istreamwrappertest.cpp │ │ │ ├── itoatest.cpp │ │ │ ├── jsoncheckertest.cpp │ │ │ ├── namespacetest.cpp │ │ │ ├── ostreamwrappertest.cpp │ │ │ ├── pointertest.cpp │ │ │ ├── prettywritertest.cpp │ │ │ ├── readertest.cpp │ │ │ ├── regextest.cpp │ │ │ ├── schematest.cpp │ │ │ ├── simdtest.cpp │ │ │ ├── strfunctest.cpp │ │ │ ├── stringbuffertest.cpp │ │ │ ├── strtodtest.cpp │ │ │ ├── unittest.cpp │ │ │ ├── unittest.h │ │ │ ├── valuetest.cpp │ │ │ └── writertest.cpp │ │ └── valgrind.supp │ └── travis-doxygen.sh ├── CMakeLists.txt ├── CONTRIBUTING.md ├── GOVERNANCE.MD ├── LICENSE ├── Makefile ├── README.rst ├── SECURITY.MD ├── VERSION ├── contrib/ │ └── .gitkeep ├── data/ │ ├── etc/ │ │ └── kerberos/ │ │ └── README.rst │ └── extras/ │ └── fogbench/ │ └── fogbench_sensor_coap.template.json ├── dco-signoffs/ │ ├── AmandeepSinghArora-dco-signoff.txt │ ├── AshishJabble-dco-signoff.txt │ ├── AshwinGopalakrishnan-dco-signoff.txt │ ├── BillHunt-dco-signoff.txt │ ├── MarkRiddoch-dco-signoff.txt │ ├── MassimilianoPinto-dco-signoff.txt │ ├── MohdShariq-dco-signoff.txt │ ├── MonikaSharma-dco-signoff.txt │ ├── OriShadmon-dco-signoff.txt │ ├── PraveenGarg-dco-signoff.txt │ ├── StefanoSimonelli-dco-signoff.txt │ ├── YashTatkondawar-dco-signoff.txt │ └── other-dco-signoff.txt ├── docs/ │ ├── 91_version_history.rst │ ├── 92_downloads.rst │ ├── KERBEROS.rst │ ├── Makefile │ ├── OMF.rst │ ├── RASPBIAN.rst │ ├── _static/ │ │ ├── .gitkeep │ │ ├── theme_overrides.css │ │ └── version_menu.css │ ├── _templates/ │ │ └── breadcrumbs.html │ ├── acl.rst │ ├── build_index.rst │ ├── building_fledge/ │ │ ├── 01_introduction.rst │ │ ├── 04_installation.rst │ │ ├── 04_utilities.rst │ │ ├── 05_tasks.rst │ │ ├── 06_testing.rst │ │ ├── building_fledge.rst │ │ └── index.rst │ ├── building_pipelines.rst │ ├── check-sphinx.py │ ├── conf.py │ ├── control.rst │ ├── control_scripts.rst │ ├── fledge-north-OMF.rst │ ├── fledge-rule-DataAvailability/ │ │ └── index.rst │ ├── fledge-rule-Threshold/ │ │ └── index.rst │ ├── fledge_architecture.rst │ ├── glossary.rst │ ├── index.rst │ ├── introduction.rst │ ├── keywords/ │ │ ├── Augmentation │ │ ├── Cleansing │ │ ├── Cloud │ │ ├── Compression │ │ ├── Governance │ │ ├── Image │ │ ├── Labelling │ │ ├── MQTT │ │ ├── Mathematical │ │ ├── ModelExecution │ │ ├── Namespace │ │ ├── PLC │ │ ├── README.rst │ │ ├── Scripted │ │ ├── Signal Processing │ │ ├── Simulation │ │ ├── Structure │ │ ├── Textual │ │ └── Vibration │ ├── make.bat │ ├── monitoring/ │ │ ├── configuration.rst │ │ ├── flow.rst │ │ ├── index.rst │ │ ├── introduction.rst │ │ ├── quality.rst │ │ ├── resources.rst │ │ └── service.rst │ ├── plugin_developers_guide/ │ │ ├── 00_source_code_doc.rst │ │ ├── 01_01_Data.rst │ │ ├── 01_Fledge_plugins.rst │ │ ├── 02_persisting_data.rst │ │ ├── 02_writing_plugins.rst │ │ ├── 035_CPP.rst │ │ ├── 037_hybrid_plugins.rst │ │ ├── 03_01_DHT11.rst │ │ ├── 03_02_Control.rst │ │ ├── 03_02_DHT11_C.rst │ │ ├── 03_02_south_python_Control.rst │ │ ├── 03_south_C_plugins.rst │ │ ├── 03_south_plugins.rst │ │ ├── 04_north_plugins.rst │ │ ├── 05_storage_plugins.rst │ │ ├── 06_filter_plugins.rst │ │ ├── 07_rules_plugins.rst │ │ ├── 08_notify_plugins.rst │ │ ├── 08_storage.rst │ │ ├── 09_packaging.rst │ │ ├── 10_testing.rst │ │ ├── 11_WSL2.rst │ │ └── index.rst │ ├── plugin_index.rst │ ├── processing_data.rst │ ├── quick_start/ │ │ ├── backup.rst │ │ ├── datasources.rst │ │ ├── gui.rst │ │ ├── index.rst │ │ ├── installing.rst │ │ ├── instructions.txt │ │ ├── north.rst │ │ ├── platforms.rst │ │ ├── starting.rst │ │ ├── support.rst │ │ ├── troubleshooting.rst │ │ ├── uninstalling.rst │ │ ├── update.rst │ │ └── viewing.rst │ ├── requirements.txt │ ├── rest_api_guide/ │ │ ├── 01_REST.rst │ │ ├── 02_RESTauthentication.rst │ │ ├── 03_RESTadmin.rst │ │ ├── 03_RESTassetTracker.rst │ │ ├── 03_RESTservices.rst │ │ ├── 03_RESTstatistics.rst │ │ ├── 03_RESTupdate.rst │ │ ├── 04_RESTuser.rst │ │ ├── 05_RESTdeveloper.rst │ │ ├── 06_GrafanaExamples.rst │ │ └── index.rst │ ├── scripts/ │ │ ├── fledge_plugin_list │ │ └── plugin_and_service_documentation │ ├── securing_fledge.rst │ ├── storage.rst │ ├── troubleshooting_pi-server_integration.rst │ └── tuning_fledge.rst ├── doxy.config ├── extras/ │ ├── python/ │ │ ├── .gitignore │ │ └── fogbench/ │ │ ├── __init__.py │ │ ├── __main__.py │ │ └── exceptions.py │ └── scripts/ │ ├── fledge.service │ └── setenv.sh ├── mkversion ├── python/ │ ├── .gitignore │ ├── .pylintrc │ ├── __init__.py │ ├── __template__.py │ ├── fledge/ │ │ ├── __init__.py │ │ ├── apps/ │ │ │ ├── __init__.py │ │ │ └── common/ │ │ │ ├── README.rst │ │ │ └── __init__.py │ │ ├── common/ │ │ │ ├── README.rst │ │ │ ├── __init__.py │ │ │ ├── acl_manager.py │ │ │ ├── alert_manager.py │ │ │ ├── audit_logger.py │ │ │ ├── common.py │ │ │ ├── configuration_manager.py │ │ │ ├── iprpc.py │ │ │ ├── logger.py │ │ │ ├── microservice_management_client/ │ │ │ │ ├── __init__.py │ │ │ │ ├── exceptions.py │ │ │ │ └── microservice_management_client.py │ │ │ ├── parser.py │ │ │ ├── plugin_discovery.py │ │ │ ├── plugin_helpers.py │ │ │ ├── process.py │ │ │ ├── service_record.py │ │ │ ├── statistics.py │ │ │ ├── storage_client/ │ │ │ │ ├── __init__.py │ │ │ │ ├── exceptions.py │ │ │ │ ├── payload_builder.py │ │ │ │ ├── storage_client.py │ │ │ │ └── utils.py │ │ │ ├── utils.py │ │ │ └── web/ │ │ │ ├── __init__.py │ │ │ ├── middleware.py │ │ │ └── ssl_wrapper.py │ │ ├── plugins/ │ │ │ ├── __init__.py │ │ │ ├── common/ │ │ │ │ ├── __init__.py │ │ │ │ ├── shim/ │ │ │ │ │ └── __init__.py │ │ │ │ └── utils.py │ │ │ ├── north/ │ │ │ │ ├── README.rst │ │ │ │ ├── __init__.py │ │ │ │ ├── common/ │ │ │ │ │ ├── README.rst │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── common.py │ │ │ │ │ └── exceptions.py │ │ │ │ └── empty/ │ │ │ │ ├── README.rst │ │ │ │ ├── __init__.py │ │ │ │ └── empty.py │ │ │ └── storage/ │ │ │ ├── __init__.py │ │ │ ├── common/ │ │ │ │ ├── __init__.py │ │ │ │ ├── backup.py │ │ │ │ ├── exceptions.py │ │ │ │ ├── lib.py │ │ │ │ └── restore.py │ │ │ ├── postgres/ │ │ │ │ ├── __init__.py │ │ │ │ └── backup_restore/ │ │ │ │ ├── __init__.py │ │ │ │ ├── backup_postgres.py │ │ │ │ ├── exceptions.py │ │ │ │ ├── lib.py │ │ │ │ └── restore_postgres.py │ │ │ └── sqlite/ │ │ │ ├── __init__.py │ │ │ └── backup_restore/ │ │ │ ├── __init__.py │ │ │ ├── backup_sqlite.py │ │ │ └── restore_sqlite.py │ │ ├── services/ │ │ │ ├── __init__.py │ │ │ ├── common/ │ │ │ │ ├── README.rst │ │ │ │ ├── __init__.py │ │ │ │ ├── microservice.py │ │ │ │ ├── microservice_management/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── routes.py │ │ │ │ ├── service_announcer.py │ │ │ │ └── utils.py │ │ │ ├── core/ │ │ │ │ ├── README.rst │ │ │ │ ├── __init__.py │ │ │ │ ├── __main__.py │ │ │ │ ├── api/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── alerts.py │ │ │ │ │ ├── asset_tracker.py │ │ │ │ │ ├── audit.py │ │ │ │ │ ├── auth.py │ │ │ │ │ ├── backup_restore.py │ │ │ │ │ ├── browser.py │ │ │ │ │ ├── certificate_store.py │ │ │ │ │ ├── common.py │ │ │ │ │ ├── configuration.py │ │ │ │ │ ├── control_service/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── acl_management.py │ │ │ │ │ │ ├── entrypoint.py │ │ │ │ │ │ ├── exceptions.py │ │ │ │ │ │ ├── pipeline.py │ │ │ │ │ │ └── script_management.py │ │ │ │ │ ├── exceptions.py │ │ │ │ │ ├── filters.py │ │ │ │ │ ├── health.py │ │ │ │ │ ├── north.py │ │ │ │ │ ├── notification.py │ │ │ │ │ ├── package_log.py │ │ │ │ │ ├── performance_monitor.py │ │ │ │ │ ├── pipeline_debugger.py │ │ │ │ │ ├── plugins/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── common.py │ │ │ │ │ │ ├── config_validator.py │ │ │ │ │ │ ├── data.py │ │ │ │ │ │ ├── discovery.py │ │ │ │ │ │ ├── exceptions.py │ │ │ │ │ │ ├── install.py │ │ │ │ │ │ ├── remove.py │ │ │ │ │ │ └── update.py │ │ │ │ │ ├── python_packages.py │ │ │ │ │ ├── repos/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── configure.py │ │ │ │ │ ├── scheduler.py │ │ │ │ │ ├── service.py │ │ │ │ │ ├── snapshot/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── plugins.py │ │ │ │ │ │ └── table.py │ │ │ │ │ ├── south.py │ │ │ │ │ ├── statistics.py │ │ │ │ │ ├── support.py │ │ │ │ │ ├── task.py │ │ │ │ │ ├── update.py │ │ │ │ │ └── utils.py │ │ │ │ ├── asset_tracker/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── asset_tracker.py │ │ │ │ ├── connect.py │ │ │ │ ├── firewall.py │ │ │ │ ├── interest_registry/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── change_callback.py │ │ │ │ │ ├── exceptions.py │ │ │ │ │ ├── interest_record.py │ │ │ │ │ └── interest_registry.py │ │ │ │ ├── proxy.py │ │ │ │ ├── routes.py │ │ │ │ ├── scheduler/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── entities.py │ │ │ │ │ ├── exceptions.py │ │ │ │ │ └── scheduler.py │ │ │ │ ├── server.py │ │ │ │ ├── service_registry/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── exceptions.py │ │ │ │ │ ├── monitor.py │ │ │ │ │ └── service_registry.py │ │ │ │ ├── snapshot.py │ │ │ │ ├── support.py │ │ │ │ └── user_model.py │ │ │ └── south/ │ │ │ ├── __init__.py │ │ │ └── exceptions.py │ │ └── tasks/ │ │ ├── README.rst │ │ ├── __init__.py │ │ ├── automation_script/ │ │ │ ├── __init__.py │ │ │ └── __main__.py │ │ ├── common/ │ │ │ ├── README.rst │ │ │ └── __init__.py │ │ ├── purge/ │ │ │ ├── README.rst │ │ │ ├── __init__.py │ │ │ ├── __main__.py │ │ │ └── purge.py │ │ └── statistics/ │ │ ├── README.rst │ │ ├── __init__.py │ │ ├── __main__.py │ │ └── statistics_history.py │ ├── requirements-dev.txt │ ├── requirements-test.txt │ ├── requirements.txt │ ├── setup.py │ └── thirdparty/ │ └── README.rst ├── requirements.sh ├── scripts/ │ ├── __template__.sh │ ├── auth_certificates │ ├── certificates │ ├── common/ │ │ ├── README.rst │ │ ├── audittime.py │ │ ├── check_schema_update.sh │ │ ├── disk_usage.py │ │ ├── get_engine_management.sh │ │ ├── get_logs.sh │ │ ├── get_platform.sh │ │ ├── get_readings_plugin.sh │ │ ├── get_storage_plugin.sh │ │ ├── json_parse.py │ │ ├── loglevel.py │ │ ├── service_status.py │ │ ├── try_catch.sh │ │ └── write_log.sh │ ├── debug/ │ │ ├── .debugrc │ │ ├── README.rst │ │ ├── attach │ │ ├── buffer │ │ ├── commands │ │ ├── debug │ │ ├── detach │ │ ├── isolate │ │ ├── replay │ │ ├── resumeIngest │ │ ├── setBuffer │ │ ├── state │ │ ├── step │ │ ├── store │ │ └── suspendIngest │ ├── extras/ │ │ ├── fledge.sudoers │ │ ├── fledge.sudoers_rh │ │ ├── fledge_update │ │ ├── fogbench │ │ ├── update_task.apt │ │ ├── update_task.snappy │ │ └── update_task.yum │ ├── fledge │ ├── fledge_mnt │ ├── package/ │ │ └── debian/ │ │ ├── package_update.sh │ │ └── upgrade/ │ │ ├── 1.4.sh │ │ ├── 1.5.sh │ │ └── 1.8.sh │ ├── plugins/ │ │ └── storage/ │ │ ├── postgres/ │ │ │ ├── downgrade/ │ │ │ │ ├── 1.sql │ │ │ │ ├── 10.sql │ │ │ │ ├── 11.sql │ │ │ │ ├── 12.sql │ │ │ │ ├── 13.sql │ │ │ │ ├── 14.sql │ │ │ │ ├── 15.sql │ │ │ │ ├── 16.sql │ │ │ │ ├── 17.sql │ │ │ │ ├── 18.sql │ │ │ │ ├── 19.sql │ │ │ │ ├── 2.sql │ │ │ │ ├── 20.sql │ │ │ │ ├── 21.sql │ │ │ │ ├── 22.sql │ │ │ │ ├── 23.sql │ │ │ │ ├── 24.sql │ │ │ │ ├── 25.sql │ │ │ │ ├── 26.sql │ │ │ │ ├── 27.sql │ │ │ │ ├── 28.sql │ │ │ │ ├── 29.sql │ │ │ │ ├── 3.sql │ │ │ │ ├── 30.sql │ │ │ │ ├── 31.sql │ │ │ │ ├── 32.sql │ │ │ │ ├── 33.sql │ │ │ │ ├── 34.sql │ │ │ │ ├── 35.sql │ │ │ │ ├── 36.sql │ │ │ │ ├── 37.sql │ │ │ │ ├── 38.sql │ │ │ │ ├── 39.sql │ │ │ │ ├── 4.sql │ │ │ │ ├── 40.sql │ │ │ │ ├── 41.sql │ │ │ │ ├── 42.sql │ │ │ │ ├── 43.sql │ │ │ │ ├── 44.sql │ │ │ │ ├── 45.sql │ │ │ │ ├── 46.sql │ │ │ │ ├── 47.sql │ │ │ │ ├── 48.sql │ │ │ │ ├── 49.sql │ │ │ │ ├── 5.sql │ │ │ │ ├── 50.sql │ │ │ │ ├── 51.sql │ │ │ │ ├── 52.sql │ │ │ │ ├── 53.sql │ │ │ │ ├── 54.sql │ │ │ │ ├── 55.sql │ │ │ │ ├── 56.sql │ │ │ │ ├── 57.sql │ │ │ │ ├── 58.sql │ │ │ │ ├── 59.sql │ │ │ │ ├── 6.sql │ │ │ │ ├── 60.sql │ │ │ │ ├── 61.sql │ │ │ │ ├── 62.sql │ │ │ │ ├── 63.sql │ │ │ │ ├── 64.sql │ │ │ │ ├── 65.sql │ │ │ │ ├── 66.sql │ │ │ │ ├── 67.sql │ │ │ │ ├── 68.sql │ │ │ │ ├── 69.sql │ │ │ │ ├── 7.sql │ │ │ │ ├── 70.sql │ │ │ │ ├── 71.sql │ │ │ │ ├── 72.sql │ │ │ │ ├── 73.sql │ │ │ │ ├── 74.sql │ │ │ │ ├── 75.sql │ │ │ │ ├── 8.sql │ │ │ │ ├── 9.sql │ │ │ │ └── README │ │ │ ├── init.sql │ │ │ ├── schema_update.sh │ │ │ └── upgrade/ │ │ │ ├── 10.sql │ │ │ ├── 11.sql │ │ │ ├── 12.sql │ │ │ ├── 13.sql │ │ │ ├── 14.sql │ │ │ ├── 15.sql │ │ │ ├── 16.sql │ │ │ ├── 17.sql │ │ │ ├── 18.sql │ │ │ ├── 19.sql │ │ │ ├── 2.sql │ │ │ ├── 20.sql │ │ │ ├── 21.sql │ │ │ ├── 22.sql │ │ │ ├── 23.sql │ │ │ ├── 24.sql │ │ │ ├── 25.sql │ │ │ ├── 26.sql │ │ │ ├── 27.sql │ │ │ ├── 28.sql │ │ │ ├── 29.sql │ │ │ ├── 3.sql │ │ │ ├── 30.sql │ │ │ ├── 31.sql │ │ │ ├── 32.sql │ │ │ ├── 33.sql │ │ │ ├── 34.sql │ │ │ ├── 35.sql │ │ │ ├── 36.sql │ │ │ ├── 37.sql │ │ │ ├── 38.sql │ │ │ ├── 39.sql │ │ │ ├── 4.sql │ │ │ ├── 40.sql │ │ │ ├── 41.sql │ │ │ ├── 42.sql │ │ │ ├── 43.sql │ │ │ ├── 44.sql │ │ │ ├── 45.sql │ │ │ ├── 46.sql │ │ │ ├── 47.sql │ │ │ ├── 48.sql │ │ │ ├── 49.sql │ │ │ ├── 5.sql │ │ │ ├── 50.sql │ │ │ ├── 51.sql │ │ │ ├── 52.sql │ │ │ ├── 53.sql │ │ │ ├── 54.sql │ │ │ ├── 55.sql │ │ │ ├── 56.sql │ │ │ ├── 57.sql │ │ │ ├── 58.sql │ │ │ ├── 59.sql │ │ │ ├── 6.sql │ │ │ ├── 60.sql │ │ │ ├── 61.sql │ │ │ ├── 62.sql │ │ │ ├── 63.sql │ │ │ ├── 64.sql │ │ │ ├── 65.sql │ │ │ ├── 66.sql │ │ │ ├── 67.sql │ │ │ ├── 68.sql │ │ │ ├── 69.sql │ │ │ ├── 7.sql │ │ │ ├── 70.sql │ │ │ ├── 71.sql │ │ │ ├── 72.sql │ │ │ ├── 73.sql │ │ │ ├── 74.sql │ │ │ ├── 75.sql │ │ │ ├── 76.sql │ │ │ ├── 8.sql │ │ │ ├── 9.sql │ │ │ └── README │ │ ├── postgres.sh │ │ ├── sqlite/ │ │ │ ├── downgrade/ │ │ │ │ ├── 1.sql │ │ │ │ ├── 10.sql │ │ │ │ ├── 11.sql │ │ │ │ ├── 12.sql │ │ │ │ ├── 13.sql │ │ │ │ ├── 14.sql │ │ │ │ ├── 15.sql │ │ │ │ ├── 16.sql │ │ │ │ ├── 17.sql │ │ │ │ ├── 18.sql │ │ │ │ ├── 19.sql │ │ │ │ ├── 2.sql │ │ │ │ ├── 20.sql │ │ │ │ ├── 21.sql │ │ │ │ ├── 22.sql │ │ │ │ ├── 23.sql │ │ │ │ ├── 24.sql │ │ │ │ ├── 25.sql │ │ │ │ ├── 26.sql │ │ │ │ ├── 27.sql │ │ │ │ ├── 28.sql │ │ │ │ ├── 29.sql │ │ │ │ ├── 3.sql │ │ │ │ ├── 30.sql │ │ │ │ ├── 31.sql │ │ │ │ ├── 32.sql │ │ │ │ ├── 33.sql │ │ │ │ ├── 34.sh │ │ │ │ ├── 34.sql │ │ │ │ ├── 35.sql │ │ │ │ ├── 36.sql │ │ │ │ ├── 37.sh │ │ │ │ ├── 37.sql │ │ │ │ ├── 38.sql │ │ │ │ ├── 39.sql │ │ │ │ ├── 4.sql │ │ │ │ ├── 40.sql │ │ │ │ ├── 41.sql │ │ │ │ ├── 42.sql │ │ │ │ ├── 43.sql │ │ │ │ ├── 44.sql │ │ │ │ ├── 45.sql │ │ │ │ ├── 46.sql │ │ │ │ ├── 47.sql │ │ │ │ ├── 48.sql │ │ │ │ ├── 49.sql │ │ │ │ ├── 5.sql │ │ │ │ ├── 50.sql │ │ │ │ ├── 51.sql │ │ │ │ ├── 52.sql │ │ │ │ ├── 53.sql │ │ │ │ ├── 54.sql │ │ │ │ ├── 55.sql │ │ │ │ ├── 56.sql │ │ │ │ ├── 57.sql │ │ │ │ ├── 58.sql │ │ │ │ ├── 59.sql │ │ │ │ ├── 6.sql │ │ │ │ ├── 60.sql │ │ │ │ ├── 61.sql │ │ │ │ ├── 62.sql │ │ │ │ ├── 63.sql │ │ │ │ ├── 64.sql │ │ │ │ ├── 65.sql │ │ │ │ ├── 66.sql │ │ │ │ ├── 67.sql │ │ │ │ ├── 68.sql │ │ │ │ ├── 69.sql │ │ │ │ ├── 7.sql │ │ │ │ ├── 70.sql │ │ │ │ ├── 71.sql │ │ │ │ ├── 72.sql │ │ │ │ ├── 73.sql │ │ │ │ ├── 74.sql │ │ │ │ ├── 75.sql │ │ │ │ ├── 8.sql │ │ │ │ ├── 9.sql │ │ │ │ └── README │ │ │ ├── init.sql │ │ │ ├── init_readings.sql │ │ │ ├── schema_update.sh │ │ │ └── upgrade/ │ │ │ ├── 10.sql │ │ │ ├── 11.sql │ │ │ ├── 12.sql │ │ │ ├── 13.sql │ │ │ ├── 14.sql │ │ │ ├── 15.sql │ │ │ ├── 16.sql │ │ │ ├── 17.sql │ │ │ ├── 18.sql │ │ │ ├── 19.sql │ │ │ ├── 2.sql │ │ │ ├── 20.sql │ │ │ ├── 21.sql │ │ │ ├── 22.sql │ │ │ ├── 23.sql │ │ │ ├── 24.sql │ │ │ ├── 25.sql │ │ │ ├── 26.sql │ │ │ ├── 27.sql │ │ │ ├── 28.sql │ │ │ ├── 29.sql │ │ │ ├── 3.sql │ │ │ ├── 30.sql │ │ │ ├── 31.sql │ │ │ ├── 32.sql │ │ │ ├── 33.sql │ │ │ ├── 34.sql │ │ │ ├── 35.sh │ │ │ ├── 35.sql │ │ │ ├── 36.sql │ │ │ ├── 37.sql │ │ │ ├── 38.sh │ │ │ ├── 38.sql │ │ │ ├── 39.sql │ │ │ ├── 4.sql │ │ │ ├── 40.sql │ │ │ ├── 41.sql │ │ │ ├── 42.sql │ │ │ ├── 43.sql │ │ │ ├── 44.sql │ │ │ ├── 45.sql │ │ │ ├── 46.sql │ │ │ ├── 47.sql │ │ │ ├── 48.sql │ │ │ ├── 49.sql │ │ │ ├── 5.sql │ │ │ ├── 50.sql │ │ │ ├── 51.sql │ │ │ ├── 52.sql │ │ │ ├── 53.sql │ │ │ ├── 54.sql │ │ │ ├── 55.sql │ │ │ ├── 56.sql │ │ │ ├── 57.sql │ │ │ ├── 58.sql │ │ │ ├── 59.sql │ │ │ ├── 6.sql │ │ │ ├── 60.sql │ │ │ ├── 61.sql │ │ │ ├── 62.sql │ │ │ ├── 63.sql │ │ │ ├── 64.sql │ │ │ ├── 65.sql │ │ │ ├── 66.sql │ │ │ ├── 67.sql │ │ │ ├── 68.sql │ │ │ ├── 69.sql │ │ │ ├── 7.sql │ │ │ ├── 70.sql │ │ │ ├── 71.sql │ │ │ ├── 72.sql │ │ │ ├── 73.sql │ │ │ ├── 74.sql │ │ │ ├── 75.sql │ │ │ ├── 76.sql │ │ │ ├── 8.sql │ │ │ ├── 9.sql │ │ │ └── README │ │ ├── sqlite.sh │ │ ├── sqlitelb/ │ │ │ ├── downgrade/ │ │ │ │ ├── 42.sql │ │ │ │ ├── 43.sql │ │ │ │ ├── 44.sql │ │ │ │ ├── 45.sql │ │ │ │ ├── 46.sql │ │ │ │ ├── 47.sql │ │ │ │ ├── 48.sql │ │ │ │ ├── 49.sql │ │ │ │ ├── 50.sql │ │ │ │ ├── 51.sql │ │ │ │ ├── 52.sql │ │ │ │ ├── 53.sql │ │ │ │ ├── 54.sql │ │ │ │ ├── 55.sql │ │ │ │ ├── 56.sql │ │ │ │ ├── 57.sql │ │ │ │ ├── 58.sql │ │ │ │ ├── 59.sql │ │ │ │ ├── 60.sql │ │ │ │ ├── 61.sql │ │ │ │ ├── 62.sql │ │ │ │ ├── 63.sql │ │ │ │ ├── 64.sql │ │ │ │ ├── 65.sql │ │ │ │ ├── 66.sql │ │ │ │ ├── 67.sql │ │ │ │ ├── 68.sql │ │ │ │ ├── 69.sql │ │ │ │ ├── 70.sql │ │ │ │ ├── 71.sql │ │ │ │ ├── 72.sql │ │ │ │ ├── 73.sql │ │ │ │ ├── 74.sql │ │ │ │ ├── 75.sql │ │ │ │ └── README │ │ │ ├── init.sql │ │ │ ├── init_readings.sql │ │ │ ├── schema_update.sh │ │ │ └── upgrade/ │ │ │ ├── 43.sql │ │ │ ├── 44.sql │ │ │ ├── 45.sql │ │ │ ├── 46.sql │ │ │ ├── 47.sql │ │ │ ├── 48.sql │ │ │ ├── 49.sql │ │ │ ├── 50.sql │ │ │ ├── 51.sql │ │ │ ├── 52.sql │ │ │ ├── 53.sql │ │ │ ├── 54.sql │ │ │ ├── 55.sql │ │ │ ├── 56.sql │ │ │ ├── 57.sql │ │ │ ├── 58.sql │ │ │ ├── 59.sql │ │ │ ├── 60.sql │ │ │ ├── 61.sql │ │ │ ├── 62.sql │ │ │ ├── 63.sql │ │ │ ├── 64.sql │ │ │ ├── 65.sql │ │ │ ├── 66.sql │ │ │ ├── 67.sql │ │ │ ├── 68.sql │ │ │ ├── 69.sql │ │ │ ├── 70.sql │ │ │ ├── 71.sql │ │ │ ├── 72.sql │ │ │ ├── 73.sql │ │ │ ├── 74.sql │ │ │ ├── 75.sql │ │ │ ├── 76.sql │ │ │ └── README │ │ └── sqlitelb.sh │ ├── services/ │ │ ├── README.rst │ │ ├── bucket_storage_c │ │ ├── dispatcher_c │ │ ├── north_C │ │ ├── notification_c │ │ ├── pipeline_c │ │ ├── south_c │ │ └── storage │ ├── storage │ └── tasks/ │ ├── README.rst │ ├── automation_script │ ├── backup │ ├── check_certs │ ├── check_updates │ ├── north_c │ ├── purge │ ├── purge_system │ ├── restore │ └── statistics ├── tests/ │ ├── .gitignore │ ├── README.rst │ ├── __init__.py │ ├── system/ │ │ ├── __init__.py │ │ ├── common/ │ │ │ ├── clean_pi_system.py │ │ │ └── scripts/ │ │ │ └── reset_user_authentication │ │ ├── lab/ │ │ │ ├── README.rst │ │ │ ├── check_env │ │ │ ├── install │ │ │ ├── remove │ │ │ ├── reset │ │ │ ├── run │ │ │ ├── run_until_fails │ │ │ ├── scripts/ │ │ │ │ ├── ema.py │ │ │ │ ├── flash_leds.py │ │ │ │ ├── trendc.py │ │ │ │ └── write_out.py │ │ │ ├── test │ │ │ ├── test.config │ │ │ └── verify_clean_pi.py │ │ ├── memory_leak/ │ │ │ ├── config.sh │ │ │ ├── scripts/ │ │ │ │ ├── log_analyzer │ │ │ │ ├── reset │ │ │ │ └── setup │ │ │ ├── test_memcheck.sh │ │ │ └── valgrind-python.supp │ │ ├── plugins/ │ │ │ ├── README.rst │ │ │ └── south/ │ │ │ └── fledge-south-testcard/ │ │ │ ├── .gitignore │ │ │ ├── CMakeLists.txt │ │ │ ├── Description │ │ │ ├── FindFledge.cmake │ │ │ ├── LICENSE │ │ │ ├── Package │ │ │ ├── README.rst │ │ │ ├── VERSION │ │ │ ├── fledge.version │ │ │ ├── mkversion │ │ │ ├── plugin.cpp │ │ │ └── requirements.sh │ │ └── python/ │ │ ├── README.rst │ │ ├── api/ │ │ │ ├── control_service/ │ │ │ │ ├── test_entrypoint.py │ │ │ │ └── test_pipeline.py │ │ │ ├── test_alerts.py │ │ │ ├── test_audit.py │ │ │ ├── test_authentication.py │ │ │ ├── test_browser_assets.py │ │ │ ├── test_common.py │ │ │ ├── test_configuration.py │ │ │ ├── test_endpoints_with_different_user_types.py │ │ │ ├── test_notification.py │ │ │ ├── test_passwords.py │ │ │ ├── test_plugin_discovery.py │ │ │ ├── test_service.py │ │ │ └── test_statistics.py │ │ ├── conftest.py │ │ ├── data/ │ │ │ ├── dummyplugin.py │ │ │ ├── notify35.py │ │ │ ├── vibration.csv │ │ │ └── wind-data.csv │ │ ├── e2e/ │ │ │ ├── docs/ │ │ │ │ ├── test_e2e_coap_PI.rst │ │ │ │ ├── test_e2e_csv_PI.rst │ │ │ │ ├── test_e2e_csv_multi_filter_pi.rst │ │ │ │ ├── test_e2e_expr_pi.rst │ │ │ │ ├── test_e2e_filter_fft_threshold.rst │ │ │ │ ├── test_e2e_kafka.rst │ │ │ │ ├── test_e2e_modbus_c_pi.rst │ │ │ │ ├── test_e2e_notification_service_with_plugins.rst │ │ │ │ └── test_south_service_tuning.rst │ │ │ ├── test_e2e_coap_OCS.py │ │ │ ├── test_e2e_coap_PI.py │ │ │ ├── test_e2e_csv_PI.py │ │ │ ├── test_e2e_csv_multi_filter_pi.py │ │ │ ├── test_e2e_expr_pi.py │ │ │ ├── test_e2e_filter_fft_threshold.py │ │ │ ├── test_e2e_kafka.py │ │ │ ├── test_e2e_modbus_c_pi.py │ │ │ ├── test_e2e_modbus_c_rtu_pi.py │ │ │ ├── test_e2e_notification_service_with_plugins.py │ │ │ ├── test_e2e_pi_scaleset.py │ │ │ ├── test_e2e_vary_asset_http_pi.py │ │ │ └── test_south_service_tuning.py │ │ ├── fledge/ │ │ │ └── plugins/ │ │ │ ├── filter/ │ │ │ │ └── imageblock/ │ │ │ │ ├── README.rst │ │ │ │ ├── __init__.py │ │ │ │ └── imageblock.py │ │ │ └── south/ │ │ │ └── imagetest/ │ │ │ ├── __init__.py │ │ │ ├── imagetest.py │ │ │ └── readme.rst │ │ ├── helpers/ │ │ │ └── utils.py │ │ ├── iprpc/ │ │ │ ├── README.rst │ │ │ └── test_iprpc.py │ │ ├── packages/ │ │ │ ├── README.rst │ │ │ ├── data/ │ │ │ │ ├── package_list.json │ │ │ │ ├── readings35.py │ │ │ │ └── set_id.py │ │ │ ├── docs/ │ │ │ │ ├── test_authentication.rst │ │ │ │ ├── test_filters.rst │ │ │ │ ├── test_multiple_assets.rst │ │ │ │ ├── test_north_azure.rst │ │ │ │ ├── test_north_pi_webapi_nw_throttle.rst │ │ │ │ ├── test_omf_naming_scheme.rst │ │ │ │ ├── test_omf_north_service.rst │ │ │ │ ├── test_pi_webapi.rst │ │ │ │ ├── test_pi_webapi_linked_data_type.rst │ │ │ │ ├── test_rule_data_availability.rst │ │ │ │ └── test_statistics_history_notification_rule.rst │ │ │ ├── network_impairment.py │ │ │ ├── test_authentication.py │ │ │ ├── test_available_and_install_api.py │ │ │ ├── test_eds.py │ │ │ ├── test_filters.py │ │ │ ├── test_lab.py │ │ │ ├── test_multiple_assets.py │ │ │ ├── test_north_azure.py │ │ │ ├── test_north_pi_webapi_nw_throttle.py │ │ │ ├── test_omf_naming_scheme.py │ │ │ ├── test_omf_north_service.py │ │ │ ├── test_opcua.py │ │ │ ├── test_pi_webapi.py │ │ │ ├── test_pi_webapi_linked_data_type.py │ │ │ ├── test_rule_data_availability.py │ │ │ └── test_statistics_history_notification_rule.py │ │ ├── pair/ │ │ │ ├── docs/ │ │ │ │ ├── test_c_north_service_pair.rst │ │ │ │ ├── test_e2e_fledge_pair.rst │ │ │ │ └── test_python_north_service_pair.rst │ │ │ ├── test_c_north_service_pair.py │ │ │ ├── test_e2e_fledge_pair.py │ │ │ └── test_python_north_service_pair.py │ │ ├── plugin_and_service.py │ │ ├── plugins/ │ │ │ ├── dummy/ │ │ │ │ └── iprpc/ │ │ │ │ ├── filter/ │ │ │ │ │ ├── numpy_filter/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── numpy_filter.py │ │ │ │ │ └── numpy_iprpc_filter/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── np_server.py │ │ │ │ │ └── numpy_iprpc_filter.py │ │ │ │ └── south/ │ │ │ │ └── numpy_south/ │ │ │ │ ├── __init__.py │ │ │ │ └── numpy_south.py │ │ │ ├── notificationDelivery/ │ │ │ │ └── send/ │ │ │ │ └── send.py │ │ │ └── notificationRule/ │ │ │ └── numpy_image/ │ │ │ └── numpy_image.py │ │ ├── pytest.ini │ │ ├── rpi/ │ │ │ └── test_e2e_rpi_ephat.py │ │ ├── scripts/ │ │ │ ├── install_c_plugin │ │ │ ├── install_c_service │ │ │ ├── install_python_plugin │ │ │ ├── package/ │ │ │ │ ├── remove │ │ │ │ ├── reset │ │ │ │ └── setup │ │ │ └── reset_plugins │ │ └── smoke/ │ │ └── test_smoke.py │ └── unit/ │ ├── C/ │ │ ├── CMakeLists.txt │ │ ├── CodeCoverage.cmake │ │ ├── README.rst │ │ ├── cmake_pg/ │ │ │ ├── CMakeLists.txt │ │ │ └── CheckRhPg.cmake │ │ ├── cmake_sqlite/ │ │ │ ├── CMakeLists.txt │ │ │ └── Findsqlite3.cmake │ │ ├── cmake_sqliteM/ │ │ │ ├── CMakeLists.txt │ │ │ └── Findsqlite3.cmake │ │ ├── cmake_sqlitelb/ │ │ │ ├── CMakeLists.txt │ │ │ └── Findsqlite3.cmake │ │ ├── common/ │ │ │ ├── CMakeLists.txt │ │ │ ├── main.cpp │ │ │ ├── test_JSONPath.cpp │ │ │ ├── test_circular_buffer.cpp │ │ │ ├── test_config_category.cpp │ │ │ ├── test_createDirectory.cpp │ │ │ ├── test_default_config_category.cpp │ │ │ ├── test_expression.cpp │ │ │ ├── test_imageencode.cpp │ │ │ ├── test_insert_value.cpp │ │ │ ├── test_json_reading.cpp │ │ │ ├── test_json_utils.cpp │ │ │ ├── test_log_interceptor.cpp │ │ │ ├── test_purge_result.cpp │ │ │ ├── test_python_reading.cpp │ │ │ ├── test_python_reading_set.cpp │ │ │ ├── test_python_readingnumpy.cpp │ │ │ ├── test_query.cpp │ │ │ ├── test_reading.cpp │ │ │ ├── test_reading_array.cpp │ │ │ ├── test_reading_set.cpp │ │ │ ├── test_readingset_merge.cpp │ │ │ ├── test_resultset.cpp │ │ │ ├── test_service_record.cpp │ │ │ └── test_string_utils.cpp │ │ ├── plugins/ │ │ │ ├── common/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── main.cpp │ │ │ │ ├── test_omf_translation.cpp │ │ │ │ └── test_omf_translation_piwebapi.cpp │ │ │ └── storage/ │ │ │ ├── common/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── README.rst │ │ │ │ └── tests.cpp │ │ │ ├── postgres/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── CheckRhPg.cmake │ │ │ │ ├── README.rst │ │ │ │ └── tests.cpp │ │ │ ├── sqlite/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── README.rst │ │ │ │ └── tests.cpp │ │ │ ├── sqlitelb/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── README.rst │ │ │ │ └── tests.cpp │ │ │ └── sqlitememory/ │ │ │ ├── CMakeLists.txt │ │ │ ├── README.rst │ │ │ └── sqlmem_tests.cpp │ │ ├── requirements.sh │ │ ├── scripts/ │ │ │ └── RunAllTests.sh │ │ └── services/ │ │ ├── core/ │ │ │ ├── CMakeLists.txt │ │ │ ├── main.cpp │ │ │ ├── reading_set_copy.cpp │ │ │ └── test_service_regsitery.cpp │ │ └── storage/ │ │ ├── postgres/ │ │ │ ├── CMakeLists.txt │ │ │ ├── DeleteRows.json │ │ │ ├── GetTable.json │ │ │ ├── PostStorageSchema.json │ │ │ ├── PostTable.json │ │ │ ├── PutQuery.json │ │ │ ├── PutTable.json │ │ │ ├── PutTableExpression.json │ │ │ ├── README.rst │ │ │ ├── expected_ETC_UTC/ │ │ │ │ ├── 1 │ │ │ │ ├── 10 │ │ │ │ ├── 100 │ │ │ │ ├── 101 │ │ │ │ ├── 102 │ │ │ │ ├── 103 │ │ │ │ ├── 104 │ │ │ │ ├── 105 │ │ │ │ ├── 106 │ │ │ │ ├── 107 │ │ │ │ ├── 108 │ │ │ │ ├── 109 │ │ │ │ ├── 11 │ │ │ │ ├── 110 │ │ │ │ ├── 111 │ │ │ │ ├── 112 │ │ │ │ ├── 113 │ │ │ │ ├── 115 │ │ │ │ ├── 116 │ │ │ │ ├── 12 │ │ │ │ ├── 13 │ │ │ │ ├── 14 │ │ │ │ ├── 15 │ │ │ │ ├── 16 │ │ │ │ ├── 17 │ │ │ │ ├── 18 │ │ │ │ ├── 19 │ │ │ │ ├── 2 │ │ │ │ ├── 20 │ │ │ │ ├── 21 │ │ │ │ ├── 22 │ │ │ │ ├── 23 │ │ │ │ ├── 24 │ │ │ │ ├── 25 │ │ │ │ ├── 26 │ │ │ │ ├── 27 │ │ │ │ ├── 28 │ │ │ │ ├── 29 │ │ │ │ ├── 3 │ │ │ │ ├── 30 │ │ │ │ ├── 31 │ │ │ │ ├── 32 │ │ │ │ ├── 33 │ │ │ │ ├── 34 │ │ │ │ ├── 35 │ │ │ │ ├── 37 │ │ │ │ ├── 38 │ │ │ │ ├── 39 │ │ │ │ ├── 4 │ │ │ │ ├── 40 │ │ │ │ ├── 41 │ │ │ │ ├── 42 │ │ │ │ ├── 43 │ │ │ │ ├── 44 │ │ │ │ ├── 45 │ │ │ │ ├── 46 │ │ │ │ ├── 47 │ │ │ │ ├── 48 │ │ │ │ ├── 49 │ │ │ │ ├── 5 │ │ │ │ ├── 50 │ │ │ │ ├── 51 │ │ │ │ ├── 52 │ │ │ │ ├── 53 │ │ │ │ ├── 54 │ │ │ │ ├── 55 │ │ │ │ ├── 56 │ │ │ │ ├── 57 │ │ │ │ ├── 58 │ │ │ │ ├── 59 │ │ │ │ ├── 6 │ │ │ │ ├── 60 │ │ │ │ ├── 61 │ │ │ │ ├── 62 │ │ │ │ ├── 63 │ │ │ │ ├── 64 │ │ │ │ ├── 65 │ │ │ │ ├── 66 │ │ │ │ ├── 67 │ │ │ │ ├── 68 │ │ │ │ ├── 69 │ │ │ │ ├── 7 │ │ │ │ ├── 70 │ │ │ │ ├── 71 │ │ │ │ ├── 72 │ │ │ │ ├── 73 │ │ │ │ ├── 74 │ │ │ │ ├── 75 │ │ │ │ ├── 76 │ │ │ │ ├── 77 │ │ │ │ ├── 78 │ │ │ │ ├── 79 │ │ │ │ ├── 8 │ │ │ │ ├── 80 │ │ │ │ ├── 81 │ │ │ │ ├── 82 │ │ │ │ ├── 83 │ │ │ │ ├── 84 │ │ │ │ ├── 85 │ │ │ │ ├── 86 │ │ │ │ ├── 87 │ │ │ │ ├── 88 │ │ │ │ ├── 89 │ │ │ │ ├── 9 │ │ │ │ ├── 90 │ │ │ │ ├── 91 │ │ │ │ ├── 92 │ │ │ │ ├── 93 │ │ │ │ ├── 94 │ │ │ │ ├── 95 │ │ │ │ ├── 96 │ │ │ │ ├── 97 │ │ │ │ ├── 98 │ │ │ │ └── 99 │ │ │ ├── expected_ETC_UTC_PG12/ │ │ │ │ ├── 1 │ │ │ │ ├── 10 │ │ │ │ ├── 100 │ │ │ │ ├── 101 │ │ │ │ ├── 102 │ │ │ │ ├── 103 │ │ │ │ ├── 104 │ │ │ │ ├── 105 │ │ │ │ ├── 106 │ │ │ │ ├── 107 │ │ │ │ ├── 108 │ │ │ │ ├── 109 │ │ │ │ ├── 11 │ │ │ │ ├── 110 │ │ │ │ ├── 111 │ │ │ │ ├── 112 │ │ │ │ ├── 113 │ │ │ │ ├── 115 │ │ │ │ ├── 116 │ │ │ │ ├── 12 │ │ │ │ ├── 13 │ │ │ │ ├── 14 │ │ │ │ ├── 15 │ │ │ │ ├── 16 │ │ │ │ ├── 17 │ │ │ │ ├── 18 │ │ │ │ ├── 19 │ │ │ │ ├── 2 │ │ │ │ ├── 20 │ │ │ │ ├── 21 │ │ │ │ ├── 22 │ │ │ │ ├── 23 │ │ │ │ ├── 24 │ │ │ │ ├── 25 │ │ │ │ ├── 26 │ │ │ │ ├── 27 │ │ │ │ ├── 28 │ │ │ │ ├── 29 │ │ │ │ ├── 3 │ │ │ │ ├── 30 │ │ │ │ ├── 31 │ │ │ │ ├── 32 │ │ │ │ ├── 33 │ │ │ │ ├── 34 │ │ │ │ ├── 35 │ │ │ │ ├── 37 │ │ │ │ ├── 38 │ │ │ │ ├── 39 │ │ │ │ ├── 4 │ │ │ │ ├── 40 │ │ │ │ ├── 41 │ │ │ │ ├── 42 │ │ │ │ ├── 43 │ │ │ │ ├── 44 │ │ │ │ ├── 45 │ │ │ │ ├── 46 │ │ │ │ ├── 47 │ │ │ │ ├── 48 │ │ │ │ ├── 49 │ │ │ │ ├── 5 │ │ │ │ ├── 50 │ │ │ │ ├── 51 │ │ │ │ ├── 52 │ │ │ │ ├── 53 │ │ │ │ ├── 54 │ │ │ │ ├── 55 │ │ │ │ ├── 56 │ │ │ │ ├── 57 │ │ │ │ ├── 58 │ │ │ │ ├── 59 │ │ │ │ ├── 6 │ │ │ │ ├── 60 │ │ │ │ ├── 61 │ │ │ │ ├── 62 │ │ │ │ ├── 63 │ │ │ │ ├── 64 │ │ │ │ ├── 65 │ │ │ │ ├── 66 │ │ │ │ ├── 67 │ │ │ │ ├── 68 │ │ │ │ ├── 69 │ │ │ │ ├── 7 │ │ │ │ ├── 70 │ │ │ │ ├── 71 │ │ │ │ ├── 72 │ │ │ │ ├── 73 │ │ │ │ ├── 74 │ │ │ │ ├── 75 │ │ │ │ ├── 76 │ │ │ │ ├── 77 │ │ │ │ ├── 78 │ │ │ │ ├── 79 │ │ │ │ ├── 8 │ │ │ │ ├── 80 │ │ │ │ ├── 81 │ │ │ │ ├── 82 │ │ │ │ ├── 83 │ │ │ │ ├── 84 │ │ │ │ ├── 85 │ │ │ │ ├── 86 │ │ │ │ ├── 87 │ │ │ │ ├── 88 │ │ │ │ ├── 89 │ │ │ │ ├── 9 │ │ │ │ ├── 90 │ │ │ │ ├── 91 │ │ │ │ ├── 92 │ │ │ │ ├── 93 │ │ │ │ ├── 94 │ │ │ │ ├── 95 │ │ │ │ ├── 96 │ │ │ │ ├── 97 │ │ │ │ ├── 98 │ │ │ │ └── 99 │ │ │ ├── expected_EUROPE_ROME/ │ │ │ │ ├── 1 │ │ │ │ ├── 10 │ │ │ │ ├── 100 │ │ │ │ ├── 101 │ │ │ │ ├── 102 │ │ │ │ ├── 103 │ │ │ │ ├── 104 │ │ │ │ ├── 105 │ │ │ │ ├── 106 │ │ │ │ ├── 107 │ │ │ │ ├── 108 │ │ │ │ ├── 109 │ │ │ │ ├── 11 │ │ │ │ ├── 110 │ │ │ │ ├── 111 │ │ │ │ ├── 112 │ │ │ │ ├── 113 │ │ │ │ ├── 115 │ │ │ │ ├── 116 │ │ │ │ ├── 12 │ │ │ │ ├── 13 │ │ │ │ ├── 14 │ │ │ │ ├── 15 │ │ │ │ ├── 16 │ │ │ │ ├── 17 │ │ │ │ ├── 18 │ │ │ │ ├── 19 │ │ │ │ ├── 2 │ │ │ │ ├── 20 │ │ │ │ ├── 21 │ │ │ │ ├── 22 │ │ │ │ ├── 23 │ │ │ │ ├── 24 │ │ │ │ ├── 25 │ │ │ │ ├── 26 │ │ │ │ ├── 27 │ │ │ │ ├── 28 │ │ │ │ ├── 29 │ │ │ │ ├── 3 │ │ │ │ ├── 30 │ │ │ │ ├── 31 │ │ │ │ ├── 32 │ │ │ │ ├── 33 │ │ │ │ ├── 34 │ │ │ │ ├── 35 │ │ │ │ ├── 37 │ │ │ │ ├── 38 │ │ │ │ ├── 39 │ │ │ │ ├── 4 │ │ │ │ ├── 40 │ │ │ │ ├── 41 │ │ │ │ ├── 42 │ │ │ │ ├── 43 │ │ │ │ ├── 44 │ │ │ │ ├── 45 │ │ │ │ ├── 46 │ │ │ │ ├── 47 │ │ │ │ ├── 48 │ │ │ │ ├── 49 │ │ │ │ ├── 5 │ │ │ │ ├── 50 │ │ │ │ ├── 51 │ │ │ │ ├── 52 │ │ │ │ ├── 53 │ │ │ │ ├── 54 │ │ │ │ ├── 55 │ │ │ │ ├── 56 │ │ │ │ ├── 57 │ │ │ │ ├── 58 │ │ │ │ ├── 59 │ │ │ │ ├── 6 │ │ │ │ ├── 60 │ │ │ │ ├── 61 │ │ │ │ ├── 62 │ │ │ │ ├── 63 │ │ │ │ ├── 64 │ │ │ │ ├── 65 │ │ │ │ ├── 66 │ │ │ │ ├── 67 │ │ │ │ ├── 68 │ │ │ │ ├── 69 │ │ │ │ ├── 7 │ │ │ │ ├── 70 │ │ │ │ ├── 71 │ │ │ │ ├── 72 │ │ │ │ ├── 73 │ │ │ │ ├── 74 │ │ │ │ ├── 75 │ │ │ │ ├── 76 │ │ │ │ ├── 77 │ │ │ │ ├── 78 │ │ │ │ ├── 79 │ │ │ │ ├── 8 │ │ │ │ ├── 80 │ │ │ │ ├── 81 │ │ │ │ ├── 82 │ │ │ │ ├── 83 │ │ │ │ ├── 84 │ │ │ │ ├── 85 │ │ │ │ ├── 86 │ │ │ │ ├── 87 │ │ │ │ ├── 88 │ │ │ │ ├── 89 │ │ │ │ ├── 9 │ │ │ │ ├── 90 │ │ │ │ ├── 91 │ │ │ │ ├── 92 │ │ │ │ ├── 93 │ │ │ │ ├── 94 │ │ │ │ ├── 95 │ │ │ │ ├── 96 │ │ │ │ ├── 97 │ │ │ │ ├── 98 │ │ │ │ └── 99 │ │ │ ├── expected_EUROPE_ROME_PG12/ │ │ │ │ ├── 1 │ │ │ │ ├── 10 │ │ │ │ ├── 100 │ │ │ │ ├── 101 │ │ │ │ ├── 102 │ │ │ │ ├── 103 │ │ │ │ ├── 104 │ │ │ │ ├── 105 │ │ │ │ ├── 106 │ │ │ │ ├── 107 │ │ │ │ ├── 108 │ │ │ │ ├── 109 │ │ │ │ ├── 11 │ │ │ │ ├── 110 │ │ │ │ ├── 111 │ │ │ │ ├── 112 │ │ │ │ ├── 113 │ │ │ │ ├── 115 │ │ │ │ ├── 116 │ │ │ │ ├── 12 │ │ │ │ ├── 13 │ │ │ │ ├── 14 │ │ │ │ ├── 15 │ │ │ │ ├── 16 │ │ │ │ ├── 17 │ │ │ │ ├── 18 │ │ │ │ ├── 19 │ │ │ │ ├── 2 │ │ │ │ ├── 20 │ │ │ │ ├── 21 │ │ │ │ ├── 22 │ │ │ │ ├── 23 │ │ │ │ ├── 24 │ │ │ │ ├── 25 │ │ │ │ ├── 26 │ │ │ │ ├── 27 │ │ │ │ ├── 28 │ │ │ │ ├── 29 │ │ │ │ ├── 3 │ │ │ │ ├── 30 │ │ │ │ ├── 31 │ │ │ │ ├── 32 │ │ │ │ ├── 33 │ │ │ │ ├── 34 │ │ │ │ ├── 35 │ │ │ │ ├── 37 │ │ │ │ ├── 38 │ │ │ │ ├── 39 │ │ │ │ ├── 4 │ │ │ │ ├── 40 │ │ │ │ ├── 41 │ │ │ │ ├── 42 │ │ │ │ ├── 43 │ │ │ │ ├── 44 │ │ │ │ ├── 45 │ │ │ │ ├── 46 │ │ │ │ ├── 47 │ │ │ │ ├── 48 │ │ │ │ ├── 49 │ │ │ │ ├── 5 │ │ │ │ ├── 50 │ │ │ │ ├── 51 │ │ │ │ ├── 52 │ │ │ │ ├── 53 │ │ │ │ ├── 54 │ │ │ │ ├── 55 │ │ │ │ ├── 56 │ │ │ │ ├── 57 │ │ │ │ ├── 58 │ │ │ │ ├── 59 │ │ │ │ ├── 6 │ │ │ │ ├── 60 │ │ │ │ ├── 61 │ │ │ │ ├── 62 │ │ │ │ ├── 63 │ │ │ │ ├── 64 │ │ │ │ ├── 65 │ │ │ │ ├── 66 │ │ │ │ ├── 67 │ │ │ │ ├── 68 │ │ │ │ ├── 69 │ │ │ │ ├── 7 │ │ │ │ ├── 70 │ │ │ │ ├── 71 │ │ │ │ ├── 72 │ │ │ │ ├── 73 │ │ │ │ ├── 74 │ │ │ │ ├── 75 │ │ │ │ ├── 76 │ │ │ │ ├── 77 │ │ │ │ ├── 78 │ │ │ │ ├── 79 │ │ │ │ ├── 8 │ │ │ │ ├── 80 │ │ │ │ ├── 81 │ │ │ │ ├── 82 │ │ │ │ ├── 83 │ │ │ │ ├── 84 │ │ │ │ ├── 85 │ │ │ │ ├── 86 │ │ │ │ ├── 87 │ │ │ │ ├── 88 │ │ │ │ ├── 89 │ │ │ │ ├── 9 │ │ │ │ ├── 90 │ │ │ │ ├── 91 │ │ │ │ ├── 92 │ │ │ │ ├── 93 │ │ │ │ ├── 94 │ │ │ │ ├── 95 │ │ │ │ ├── 96 │ │ │ │ ├── 97 │ │ │ │ ├── 98 │ │ │ │ └── 99 │ │ │ ├── makeReadings.sh │ │ │ ├── payload1.json │ │ │ ├── payload2.json │ │ │ ├── payload3.json │ │ │ ├── payload4.json │ │ │ ├── payload5.json │ │ │ ├── payload6.json │ │ │ ├── payload7.json │ │ │ ├── payload8.json │ │ │ ├── payload9.json │ │ │ ├── payloads/ │ │ │ │ ├── FOGL-983.json │ │ │ │ ├── add_snapshot.json │ │ │ │ ├── addnew.json │ │ │ │ ├── asset.json │ │ │ │ ├── bad_sort_1.json │ │ │ │ ├── bad_sort_2.json │ │ │ │ ├── bad_update.json │ │ │ │ ├── badreadings.json │ │ │ │ ├── count_assets.json │ │ │ │ ├── delete.json │ │ │ │ ├── fogl690-error.json │ │ │ │ ├── fogl690-ok.json │ │ │ │ ├── get-FOGL-983.json │ │ │ │ ├── get_updated_complex_JSON.json │ │ │ │ ├── group.json │ │ │ │ ├── group_time.json │ │ │ │ ├── insert.json │ │ │ │ ├── insert2.json │ │ │ │ ├── insert_bad.json │ │ │ │ ├── insert_bad2.json │ │ │ │ ├── limit.json │ │ │ │ ├── limit_max_int.json │ │ │ │ ├── msec_add_readings_user_ts.json │ │ │ │ ├── msec_query_asset_aggmin.json │ │ │ │ ├── msec_query_asset_aggminarray.json │ │ │ │ ├── msec_query_asset_alias.json │ │ │ │ ├── msec_query_asset_noalias.json │ │ │ │ ├── msec_query_readings.json │ │ │ │ ├── multi_and.json │ │ │ │ ├── multi_mixed.json │ │ │ │ ├── multi_or.json │ │ │ │ ├── newer.json │ │ │ │ ├── newerBad.json │ │ │ │ ├── older.json │ │ │ │ ├── put_function_in_JSON.json │ │ │ │ ├── put_json_in_JSON.json │ │ │ │ ├── query_readings.json │ │ │ │ ├── query_readings_in.json │ │ │ │ ├── query_readings_in_bad_values.json │ │ │ │ ├── query_readings_not_in.json │ │ │ │ ├── query_readings_timebucket.json │ │ │ │ ├── query_readings_timebucket1.json │ │ │ │ ├── query_readings_timebucket_bad.json │ │ │ │ ├── query_timebucket_datapoints.json │ │ │ │ ├── read_id_1xx.json │ │ │ │ ├── reading_property.json │ │ │ │ ├── reading_property_array.json │ │ │ │ ├── reading_property_bad.json │ │ │ │ ├── readings.json │ │ │ │ ├── readings_timebucket.json │ │ │ │ ├── skip.json │ │ │ │ ├── skip_max_int.json │ │ │ │ ├── sort.json │ │ │ │ ├── sort2.json │ │ │ │ ├── timezone.json │ │ │ │ ├── timezone_bad.json │ │ │ │ ├── update.json │ │ │ │ ├── updateKey.json │ │ │ │ ├── update_bad.json │ │ │ │ ├── update_expression.json │ │ │ │ ├── update_json.json │ │ │ │ ├── update_json2.json │ │ │ │ ├── where_avg.json │ │ │ │ ├── where_bad_1.json │ │ │ │ ├── where_bad_2.json │ │ │ │ ├── where_bad_3.json │ │ │ │ ├── where_bad_4.json │ │ │ │ ├── where_bad_format1.json │ │ │ │ ├── where_bad_format2.json │ │ │ │ ├── where_count.json │ │ │ │ ├── where_count_star.json │ │ │ │ ├── where_distinct.json │ │ │ │ ├── where_id_1.json │ │ │ │ ├── where_id_1_r1.json │ │ │ │ ├── where_id_1_r2.json │ │ │ │ ├── where_id_1_r3.json │ │ │ │ ├── where_id_2.json │ │ │ │ ├── where_id_not_1.json │ │ │ │ ├── where_in.json │ │ │ │ ├── where_in_bad_values.json │ │ │ │ ├── where_like.json │ │ │ │ ├── where_max.json │ │ │ │ ├── where_min.json │ │ │ │ ├── where_multi_aggregatee.json │ │ │ │ ├── where_not_in.json │ │ │ │ ├── where_numeric_column.json │ │ │ │ ├── where_sum.json │ │ │ │ ├── where_test2_d1.json │ │ │ │ ├── where_test2_d2.json │ │ │ │ ├── where_test2_d3.json │ │ │ │ ├── where_test2_d4.json │ │ │ │ └── where_test2_d5.json │ │ │ ├── plugins/ │ │ │ │ └── common/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── README.rst │ │ │ │ └── tests.cpp │ │ │ ├── storageSchemaTest.sh │ │ │ ├── test1.sh │ │ │ ├── test2.sh │ │ │ ├── testCleanup.sh │ │ │ ├── testRunner.sh │ │ │ ├── testSetup.sh │ │ │ ├── tests.cpp │ │ │ └── testset │ │ └── sqlite/ │ │ ├── README.rst │ │ ├── expected_ETC_UTC/ │ │ │ ├── 1 │ │ │ ├── 10 │ │ │ ├── 100 │ │ │ ├── 101 │ │ │ ├── 102 │ │ │ ├── 103 │ │ │ ├── 104 │ │ │ ├── 105 │ │ │ ├── 106 │ │ │ ├── 107 │ │ │ ├── 108 │ │ │ ├── 109 │ │ │ ├── 11 │ │ │ ├── 110 │ │ │ ├── 111 │ │ │ ├── 112 │ │ │ ├── 113 │ │ │ ├── 114 │ │ │ ├── 115 │ │ │ ├── 116 │ │ │ ├── 117 │ │ │ ├── 118 │ │ │ ├── 119 │ │ │ ├── 12 │ │ │ ├── 120 │ │ │ ├── 121 │ │ │ ├── 122 │ │ │ ├── 123 │ │ │ ├── 124 │ │ │ ├── 125 │ │ │ ├── 126 │ │ │ ├── 127 │ │ │ ├── 128 │ │ │ ├── 13 │ │ │ ├── 14 │ │ │ ├── 15 │ │ │ ├── 16 │ │ │ ├── 17 │ │ │ ├── 18 │ │ │ ├── 19 │ │ │ ├── 2 │ │ │ ├── 20 │ │ │ ├── 21 │ │ │ ├── 22 │ │ │ ├── 23 │ │ │ ├── 24 │ │ │ ├── 25 │ │ │ ├── 26 │ │ │ ├── 27 │ │ │ ├── 28 │ │ │ ├── 29 │ │ │ ├── 3 │ │ │ ├── 30 │ │ │ ├── 31 │ │ │ ├── 32 │ │ │ ├── 33 │ │ │ ├── 34 │ │ │ ├── 35 │ │ │ ├── 37 │ │ │ ├── 38 │ │ │ ├── 39 │ │ │ ├── 4 │ │ │ ├── 40 │ │ │ ├── 41 │ │ │ ├── 42 │ │ │ ├── 43 │ │ │ ├── 44 │ │ │ ├── 45 │ │ │ ├── 46 │ │ │ ├── 47 │ │ │ ├── 48 │ │ │ ├── 49 │ │ │ ├── 5 │ │ │ ├── 50 │ │ │ ├── 51 │ │ │ ├── 52 │ │ │ ├── 53 │ │ │ ├── 54 │ │ │ ├── 55 │ │ │ ├── 56 │ │ │ ├── 57 │ │ │ ├── 58 │ │ │ ├── 59 │ │ │ ├── 6 │ │ │ ├── 60 │ │ │ ├── 61 │ │ │ ├── 62 │ │ │ ├── 63 │ │ │ ├── 64 │ │ │ ├── 65 │ │ │ ├── 66 │ │ │ ├── 67 │ │ │ ├── 68 │ │ │ ├── 69 │ │ │ ├── 7 │ │ │ ├── 70 │ │ │ ├── 71 │ │ │ ├── 72 │ │ │ ├── 73 │ │ │ ├── 74 │ │ │ ├── 75 │ │ │ ├── 76 │ │ │ ├── 77 │ │ │ ├── 78 │ │ │ ├── 79 │ │ │ ├── 8 │ │ │ ├── 80 │ │ │ ├── 81 │ │ │ ├── 82 │ │ │ ├── 83 │ │ │ ├── 84 │ │ │ ├── 85 │ │ │ ├── 86 │ │ │ ├── 87 │ │ │ ├── 88 │ │ │ ├── 89 │ │ │ ├── 9 │ │ │ ├── 90 │ │ │ ├── 91 │ │ │ ├── 92 │ │ │ ├── 93 │ │ │ ├── 94 │ │ │ ├── 95 │ │ │ ├── 96 │ │ │ ├── 97 │ │ │ ├── 98 │ │ │ └── 99 │ │ ├── expected_EUROPE_ROME/ │ │ │ ├── 1 │ │ │ ├── 10 │ │ │ ├── 100 │ │ │ ├── 101 │ │ │ ├── 102 │ │ │ ├── 103 │ │ │ ├── 104 │ │ │ ├── 105 │ │ │ ├── 106 │ │ │ ├── 107 │ │ │ ├── 108 │ │ │ ├── 109 │ │ │ ├── 11 │ │ │ ├── 110 │ │ │ ├── 111 │ │ │ ├── 112 │ │ │ ├── 113 │ │ │ ├── 114 │ │ │ ├── 115 │ │ │ ├── 116 │ │ │ ├── 117 │ │ │ ├── 118 │ │ │ ├── 119 │ │ │ ├── 12 │ │ │ ├── 120 │ │ │ ├── 121 │ │ │ ├── 122 │ │ │ ├── 123 │ │ │ ├── 124 │ │ │ ├── 125 │ │ │ ├── 126 │ │ │ ├── 127 │ │ │ ├── 128 │ │ │ ├── 13 │ │ │ ├── 14 │ │ │ ├── 15 │ │ │ ├── 16 │ │ │ ├── 17 │ │ │ ├── 18 │ │ │ ├── 19 │ │ │ ├── 2 │ │ │ ├── 20 │ │ │ ├── 21 │ │ │ ├── 22 │ │ │ ├── 23 │ │ │ ├── 24 │ │ │ ├── 25 │ │ │ ├── 26 │ │ │ ├── 27 │ │ │ ├── 28 │ │ │ ├── 29 │ │ │ ├── 3 │ │ │ ├── 30 │ │ │ ├── 31 │ │ │ ├── 32 │ │ │ ├── 33 │ │ │ ├── 34 │ │ │ ├── 35 │ │ │ ├── 37 │ │ │ ├── 38 │ │ │ ├── 39 │ │ │ ├── 4 │ │ │ ├── 40 │ │ │ ├── 41 │ │ │ ├── 42 │ │ │ ├── 43 │ │ │ ├── 44 │ │ │ ├── 45 │ │ │ ├── 46 │ │ │ ├── 47 │ │ │ ├── 48 │ │ │ ├── 49 │ │ │ ├── 5 │ │ │ ├── 50 │ │ │ ├── 51 │ │ │ ├── 52 │ │ │ ├── 53 │ │ │ ├── 54 │ │ │ ├── 55 │ │ │ ├── 56 │ │ │ ├── 57 │ │ │ ├── 58 │ │ │ ├── 59 │ │ │ ├── 6 │ │ │ ├── 60 │ │ │ ├── 61 │ │ │ ├── 62 │ │ │ ├── 63 │ │ │ ├── 64 │ │ │ ├── 65 │ │ │ ├── 66 │ │ │ ├── 67 │ │ │ ├── 68 │ │ │ ├── 69 │ │ │ ├── 7 │ │ │ ├── 70 │ │ │ ├── 71 │ │ │ ├── 72 │ │ │ ├── 73 │ │ │ ├── 74 │ │ │ ├── 75 │ │ │ ├── 76 │ │ │ ├── 77 │ │ │ ├── 78 │ │ │ ├── 79 │ │ │ ├── 8 │ │ │ ├── 80 │ │ │ ├── 81 │ │ │ ├── 82 │ │ │ ├── 83 │ │ │ ├── 84 │ │ │ ├── 85 │ │ │ ├── 86 │ │ │ ├── 87 │ │ │ ├── 88 │ │ │ ├── 89 │ │ │ ├── 9 │ │ │ ├── 90 │ │ │ ├── 91 │ │ │ ├── 92 │ │ │ ├── 93 │ │ │ ├── 94 │ │ │ ├── 95 │ │ │ ├── 96 │ │ │ ├── 97 │ │ │ ├── 98 │ │ │ └── 99 │ │ ├── makeReadings.sh │ │ ├── payloads/ │ │ │ ├── FOGL-983.json │ │ │ ├── add_readings_now.json │ │ │ ├── add_snapshot.json │ │ │ ├── addnew.json │ │ │ ├── asset.json │ │ │ ├── bad_sort_1.json │ │ │ ├── bad_sort_2.json │ │ │ ├── bad_update.json │ │ │ ├── badreadings.json │ │ │ ├── count_assets.json │ │ │ ├── delete.json │ │ │ ├── fogl690-error.json │ │ │ ├── fogl690-ok.json │ │ │ ├── get-FOGL-983.json │ │ │ ├── group.json │ │ │ ├── group_time.json │ │ │ ├── insert.json │ │ │ ├── insert2.json │ │ │ ├── insert_1row.json │ │ │ ├── insert_bad.json │ │ │ ├── insert_bad2.json │ │ │ ├── insert_multi_rows.json │ │ │ ├── limit.json │ │ │ ├── limit_max_int.json │ │ │ ├── msec_add_readings_user_ts.json │ │ │ ├── msec_query_asset_aggmin.json │ │ │ ├── msec_query_asset_aggminarray.json │ │ │ ├── msec_query_asset_alias.json │ │ │ ├── msec_query_asset_noalias.json │ │ │ ├── msec_query_readings.json │ │ │ ├── multi_and.json │ │ │ ├── multi_mixed.json │ │ │ ├── multi_or.json │ │ │ ├── newer.json │ │ │ ├── newerBad.json │ │ │ ├── older.json │ │ │ ├── query_readings.json │ │ │ ├── query_readings_in.json │ │ │ ├── query_readings_in_bad_values.json │ │ │ ├── query_readings_not_in.json │ │ │ ├── query_readings_timebucket.json │ │ │ ├── query_readings_timebucket1.json │ │ │ ├── query_readings_timebucket_bad.json │ │ │ ├── query_timebucket_datapoints.json │ │ │ ├── read_id_1xx.json │ │ │ ├── reading_property.json │ │ │ ├── reading_property_array.json │ │ │ ├── reading_property_bad.json │ │ │ ├── readings.json │ │ │ ├── readings_timebucket.json │ │ │ ├── series_group_by_hours.json │ │ │ ├── series_group_by_minutes.json │ │ │ ├── series_seconds.json │ │ │ ├── series_summary_seconds.json │ │ │ ├── skip.json │ │ │ ├── skip_max_int.json │ │ │ ├── sort.json │ │ │ ├── sort2.json │ │ │ ├── timezone.json │ │ │ ├── timezone_bad.json │ │ │ ├── tz_all_insert.json │ │ │ ├── tz_all_read_2.json │ │ │ ├── tz_all_read_3.json │ │ │ ├── tz_readings_insert.json │ │ │ ├── tz_readings_read_2.json │ │ │ ├── tz_readings_read_3.json │ │ │ ├── tz_readings_read_4.json │ │ │ ├── update.json │ │ │ ├── updateKey.json │ │ │ ├── update_bad.json │ │ │ ├── update_expression.json │ │ │ ├── update_json.json │ │ │ ├── update_json2.json │ │ │ ├── update_multi_rows.json │ │ │ ├── updatenow.json │ │ │ ├── where_avg.json │ │ │ ├── where_bad_1.json │ │ │ ├── where_bad_2.json │ │ │ ├── where_bad_3.json │ │ │ ├── where_bad_4.json │ │ │ ├── where_bad_format1.json │ │ │ ├── where_bad_format2.json │ │ │ ├── where_count.json │ │ │ ├── where_count_star.json │ │ │ ├── where_distinct.json │ │ │ ├── where_id_1.json │ │ │ ├── where_id_1_r1.json │ │ │ ├── where_id_1_r2.json │ │ │ ├── where_id_1_r3.json │ │ │ ├── where_id_2.json │ │ │ ├── where_id_not_1.json │ │ │ ├── where_in.json │ │ │ ├── where_in_bad_values.json │ │ │ ├── where_like.json │ │ │ ├── where_max.json │ │ │ ├── where_min.json │ │ │ ├── where_multi_aggregatee.json │ │ │ ├── where_not_in.json │ │ │ ├── where_sum.json │ │ │ ├── where_test2_d1.json │ │ │ ├── where_test2_d2.json │ │ │ ├── where_test2_d3.json │ │ │ ├── where_test2_d4.json │ │ │ └── where_test2_d5.json │ │ ├── testCleanup.sh │ │ ├── testRunner.sh │ │ ├── testSetup.sh │ │ └── testset │ └── python/ │ ├── .coveragerc │ ├── .pytest.ini │ ├── README.rst │ ├── __template__.py │ └── fledge/ │ ├── common/ │ │ ├── configuration_manager_callback.py │ │ ├── configuration_manager_callback_nonasync.py │ │ ├── configuration_manager_callback_norun.py │ │ ├── microservice_management_client/ │ │ │ └── test_microservice_management_client.py │ │ ├── storage_client/ │ │ │ ├── data/ │ │ │ │ ├── payload_aggregate1.json │ │ │ │ ├── payload_aggregate1_alias.json │ │ │ │ ├── payload_aggregate2.json │ │ │ │ ├── payload_aggregate2_alias.json │ │ │ │ ├── payload_aggregate3.json │ │ │ │ ├── payload_aggregate4.json │ │ │ │ ├── payload_aggregate5.json │ │ │ │ ├── payload_aggregate6.json │ │ │ │ ├── payload_aggregate6_alias.json │ │ │ │ ├── payload_aggregate7_alias.json │ │ │ │ ├── payload_aggregate_all.json │ │ │ │ ├── payload_aggregate_where.json │ │ │ │ ├── payload_and_where1.json │ │ │ │ ├── payload_and_where2.json │ │ │ │ ├── payload_and_where_isnull.json │ │ │ │ ├── payload_and_where_notnull.json │ │ │ │ ├── payload_complex_select1.json │ │ │ │ ├── payload_condition_in.json │ │ │ │ ├── payload_condition_not_in.json │ │ │ │ ├── payload_conditions1.json │ │ │ │ ├── payload_conditions2.json │ │ │ │ ├── payload_conditions3.json │ │ │ │ ├── payload_conditions4.json │ │ │ │ ├── payload_conditions5.json │ │ │ │ ├── payload_conditions6.json │ │ │ │ ├── payload_delete_where1.json │ │ │ │ ├── payload_distinct.json │ │ │ │ ├── payload_expr1.json │ │ │ │ ├── payload_expr2.json │ │ │ │ ├── payload_from1.json │ │ │ │ ├── payload_from2.json │ │ │ │ ├── payload_group_by1.json │ │ │ │ ├── payload_group_by1_alias.json │ │ │ │ ├── payload_group_by2.json │ │ │ │ ├── payload_group_by2_alias.json │ │ │ │ ├── payload_insert1.json │ │ │ │ ├── payload_join_with_query.json │ │ │ │ ├── payload_join_with_query_only_table_name.json │ │ │ │ ├── payload_join_without_query.json │ │ │ │ ├── payload_join_without_query_only_table_name.json │ │ │ │ ├── payload_json_properties1.json │ │ │ │ ├── payload_json_properties2.json │ │ │ │ ├── payload_limit1.json │ │ │ │ ├── payload_limit2.json │ │ │ │ ├── payload_limit_offset1.json │ │ │ │ ├── payload_limit_offset2.json │ │ │ │ ├── payload_modifier_set_where.json │ │ │ │ ├── payload_multiple_and_where_with_isnull.json │ │ │ │ ├── payload_multiple_and_where_with_notnull.json │ │ │ │ ├── payload_multiple_or_where_with_isnull.json │ │ │ │ ├── payload_multiple_or_where_with_notnull.json │ │ │ │ ├── payload_nested_join.json │ │ │ │ ├── payload_newer_condition.json │ │ │ │ ├── payload_offset1.json │ │ │ │ ├── payload_offset2.json │ │ │ │ ├── payload_older_condition.json │ │ │ │ ├── payload_or_where1.json │ │ │ │ ├── payload_or_where2.json │ │ │ │ ├── payload_or_where_isnull.json │ │ │ │ ├── payload_or_where_notnull.json │ │ │ │ ├── payload_order_by1.json │ │ │ │ ├── payload_order_by2.json │ │ │ │ ├── payload_order_by3.json │ │ │ │ ├── payload_select1.json │ │ │ │ ├── payload_select1_alias.json │ │ │ │ ├── payload_select2.json │ │ │ │ ├── payload_select2_alias.json │ │ │ │ ├── payload_select3_alias.json │ │ │ │ ├── payload_select_alias_with_timezone.json │ │ │ │ ├── payload_set1.json │ │ │ │ ├── payload_timebucket1.json │ │ │ │ ├── payload_timebucket2.json │ │ │ │ ├── payload_timebucket3.json │ │ │ │ ├── payload_timebucket4.json │ │ │ │ ├── payload_update_set_where1.json │ │ │ │ ├── payload_where_condition_isnull.json │ │ │ │ └── payload_where_condition_notnull.json │ │ │ ├── test_payload_builder.py │ │ │ ├── test_sc_exceptions.py │ │ │ ├── test_storage_client.py │ │ │ └── test_utils.py │ │ ├── test_alert_manager.py │ │ ├── test_audit_logger.py │ │ ├── test_common_utils.py │ │ ├── test_configuration_cache.py │ │ ├── test_configuration_manager.py │ │ ├── test_configuration_validation_helpers.py │ │ ├── test_logger.py │ │ ├── test_plugin_discovery.py │ │ ├── test_process.py │ │ ├── test_service_record.py │ │ ├── test_statistics.py │ │ └── web/ │ │ ├── test_middleware.py │ │ └── test_ssl_wrapper.py │ ├── plugins/ │ │ ├── common/ │ │ │ └── test_plugins_common_utils.py │ │ └── north/ │ │ └── common/ │ │ └── test_common.py │ ├── services/ │ │ ├── common/ │ │ │ ├── microservice_management/ │ │ │ │ └── test_instance.py │ │ │ ├── test_microservice.py │ │ │ └── test_services_common_utils.py │ │ └── core/ │ │ ├── api/ │ │ │ ├── certs/ │ │ │ │ ├── fledge.pem │ │ │ │ ├── fledge.txt │ │ │ │ ├── json/ │ │ │ │ │ └── test.json │ │ │ │ └── pem/ │ │ │ │ └── fledge.pem │ │ │ ├── control_service/ │ │ │ │ ├── test_acl_management.py │ │ │ │ ├── test_entrypoint.py │ │ │ │ ├── test_pipeline.py │ │ │ │ └── test_script_management.py │ │ │ ├── plugins/ │ │ │ │ ├── test_config_validator.py │ │ │ │ ├── test_discovery.py │ │ │ │ ├── test_install.py │ │ │ │ ├── test_remove.py │ │ │ │ └── test_update.py │ │ │ ├── support/ │ │ │ │ └── .gitkeep │ │ │ ├── test_alerts.py │ │ │ ├── test_api_utils.py │ │ │ ├── test_asset_tracker_api.py │ │ │ ├── test_audit.py │ │ │ ├── test_auth_mandatory.py │ │ │ ├── test_auth_optional.py │ │ │ ├── test_backup_restore.py │ │ │ ├── test_browser_assets.py │ │ │ ├── test_certificate_store.py │ │ │ ├── test_common_ping.py │ │ │ ├── test_configuration.py │ │ │ ├── test_filters.py │ │ │ ├── test_notification.py │ │ │ ├── test_package_log.py │ │ │ ├── test_scheduler_api.py │ │ │ ├── test_service.py │ │ │ ├── test_statistics_api.py │ │ │ ├── test_support.py │ │ │ └── test_task.py │ │ ├── asset_tracker/ │ │ │ └── test_asset_tracker.py │ │ ├── interest_registry/ │ │ │ ├── test_change_callback.py │ │ │ └── test_interest_registry.py │ │ ├── scheduler/ │ │ │ ├── test_scheduler.py │ │ │ ├── test_scheduler_entities.py │ │ │ └── test_scheduler_exceptions.py │ │ ├── service_registry/ │ │ │ ├── test_exceptions.py │ │ │ ├── test_monitor.py │ │ │ └── test_service_registry.py │ │ ├── test_connect.py │ │ ├── test_main.py │ │ ├── test_server.py │ │ └── test_user_model.py │ └── tasks/ │ ├── purge/ │ │ ├── test_purge.py │ │ └── test_purge_main.py │ └── statistics/ │ ├── test_statistics_history.py │ └── test_statistics_main.py └── tests-manual/ ├── C/ │ └── services/ │ └── core/ │ ├── CMakeLists.txt │ ├── README │ ├── core_server.cpp │ ├── expected/ │ │ ├── 1 │ │ ├── 10 │ │ ├── 11 │ │ ├── 12 │ │ ├── 13 │ │ ├── 14 │ │ ├── 15 │ │ ├── 16 │ │ ├── 17 │ │ ├── 18 │ │ ├── 19 │ │ ├── 2 │ │ ├── 20 │ │ ├── 21 │ │ ├── 22 │ │ ├── 23 │ │ ├── 3 │ │ ├── 4 │ │ ├── 5 │ │ ├── 6 │ │ ├── 7 │ │ ├── 8 │ │ └── 9 │ ├── main.cpp │ ├── payloads/ │ │ ├── add_child_categories.json │ │ ├── create_category.json │ │ ├── create_category_a.json │ │ ├── create_category_b.json │ │ ├── create_category_update_b.json │ │ ├── create_category_with_values.json │ │ └── setvalue.json │ ├── testRunner.sh │ ├── testSetup.sh │ ├── test_configuration_manager.cpp │ └── testset └── debugger/ ├── .debugrc ├── README.rst ├── attach ├── buffer ├── commands ├── debug ├── detach ├── isolate ├── replay ├── resumeIngest ├── setBuffer ├── state ├── step ├── store └── suspendIngest