From 6048e1068a37f15b4a09da013ba0b2d16c937cd6 Mon Sep 17 00:00:00 2001 From: Hynek Kydlicek Date: Fri, 12 May 2023 23:41:32 +0200 Subject: [PATCH] added docs --- cmoncrawl/aggregator/index_query.py | 57 +- cmoncrawl/common/types.py | 12 + cmoncrawl/integrations/commands.py | 8 +- cmoncrawl/integrations/download.py | 84 +- cmoncrawl/integrations/extract.py | 70 +- cmoncrawl/middleware/stompware.py | 40 + cmoncrawl/middleware/synchronized.py | 33 +- cmoncrawl/processor/extraction/filters.py | 8 + cmoncrawl/processor/extraction/utils.py | 110 +++ cmoncrawl/processor/pipeline/downloader.py | 27 +- cmoncrawl/processor/pipeline/extractor.py | 28 +- cmoncrawl/processor/pipeline/router.py | 28 + docs/build/_templates/module.rst | 66 -- docs/build/doctrees/api.doctree | Bin 4988 -> 4150 bytes docs/build/doctrees/environment.pickle | Bin 432023 -> 457471 bytes .../doctrees/generated/Aggregator.App.doctree | Bin 6830 -> 0 bytes ...p.index_query.DomainCrawl.__init__.doctree | Bin 7703 -> 0 bytes ...egator.App.index_query.DomainCrawl.doctree | Bin 18142 -> 0 bytes ....index_query.DomainRecord.__init__.doctree | Bin 11535 -> 0 bytes ...gator.App.index_query.DomainRecord.doctree | Bin 28776 -> 0 bytes ...dex_query.IndexAggregator.__init__.doctree | Bin 15987 -> 0 bytes ...index_query.IndexAggregator.aclose.doctree | Bin 9300 -> 0 bytes ....index_query.IndexAggregator.aopen.doctree | Bin 4780 -> 0 bytes ...or.App.index_query.IndexAggregator.doctree | Bin 37306 -> 0 bytes ...IndexAggregator.get_all_CC_indexes.doctree | Bin 6931 -> 0 bytes ...xAggregator.get_captured_responses.doctree | Bin 11573 -> 0 bytes ...ndexAggregator.get_number_of_pages.doctree | Bin 9802 -> 0 bytes ...ex_query.RetrieveResponse.__init__.doctree | Bin 6959 -> 0 bytes ...r.App.index_query.RetrieveResponse.doctree | Bin 16217 -> 0 bytes .../Aggregator.App.index_query.doctree | Bin 12195 -> 0 bytes ...pp.ndjson_decoder.Decoder.__init__.doctree | Bin 13894 -> 0 bytes ....App.ndjson_decoder.Decoder.decode.doctree | Bin 6099 -> 0 bytes ...regator.App.ndjson_decoder.Decoder.doctree | Bin 25669 -> 0 bytes ....ndjson_decoder.Decoder.raw_decode.doctree | Bin 5998 -> 0 bytes .../Aggregator.App.ndjson_decoder.doctree | Bin 5313 -> 0 bytes .../generated/Aggregator.App.utils.doctree | Bin 2836 -> 0 bytes .../generated/Aggregator.aggregator.doctree | Bin 6678 -> 0 bytes .../doctrees/generated/Aggregator.doctree | Bin 5704 -> 0 bytes ...xtractor.ArticleExtractor.__init__.doctree | Bin 23297 -> 0 bytes ...r.ArticleExtractor.article_extract.doctree | Bin 7163 -> 0 bytes ...or.ArticleExtractor.check_required.doctree | Bin 6855 -> 0 bytes ...or.ArticleExtractor.custom_extract.doctree | Bin 7122 -> 0 bytes ...ArticleExtractor.custom_filter_raw.doctree | Bin 6296 -> 0 bytes ...rticleExtractor.custom_filter_soup.doctree | Bin 6365 -> 0 bytes ...article_extractor.ArticleExtractor.doctree | Bin 63109 -> 0 bytes ...extractor.ArticleExtractor.extract.doctree | Bin 7415 -> 0 bytes ...ctor.ArticleExtractor.extract_soup.doctree | Bin 5989 -> 0 bytes ...ractor.ArticleExtractor.filter_raw.doctree | Bin 6188 -> 0 bytes ...actor.ArticleExtractor.filter_soup.doctree | Bin 6257 -> 0 bytes ...ractor.ArticleExtractor.preprocess.doctree | Bin 6156 -> 0 bytes ...App.ArticleUtils.article_extractor.doctree | Bin 5623 -> 0 bytes ...sor.App.ArticleUtils.article_utils.doctree | Bin 22264 -> 0 bytes .../Processor.App.ArticleUtils.doctree | Bin 6230 -> 0 bytes .../Processor.App.Downloader.doctree | Bin 6228 -> 0 bytes ...der.downloader.Downloader.__init__.doctree | Bin 4108 -> 0 bytes ...p.Downloader.downloader.Downloader.doctree | Bin 8687 -> 0 bytes ...der.downloader.Downloader.download.doctree | Bin 6863 -> 0 bytes ...downloader.DownloaderFull.__init__.doctree | Bin 8901 -> 0 bytes ...r.downloader.DownloaderFull.aclose.doctree | Bin 9338 -> 0 bytes ...er.downloader.DownloaderFull.aopen.doctree | Bin 4819 -> 0 bytes ...wnloader.downloader.DownloaderFull.doctree | Bin 21971 -> 0 bytes ...downloader.DownloaderFull.download.doctree | Bin 5334 -> 0 bytes ...r.downloader.DownloaderFull.unwrap.doctree | Bin 7300 -> 0 bytes ...rocessor.App.Downloader.downloader.doctree | Bin 6343 -> 0 bytes ...ownloader.DownloaderDummy.__init__.doctree | Bin 8635 -> 0 bytes ...r.dummy_downloader.DownloaderDummy.doctree | Bin 21634 -> 0 bytes ...ownloader.DownloaderDummy.download.doctree | Bin 5485 -> 0 bytes ...loader.DownloaderDummy.extract_url.doctree | Bin 5156 -> 0 bytes ...oader.DownloaderDummy.extract_year.doctree | Bin 5139 -> 0 bytes ...ader.DownloaderDummy.mine_metadata.doctree | Bin 5784 -> 0 bytes ...or.App.Downloader.dummy_downloader.doctree | Bin 5521 -> 0 bytes .../generated/Processor.App.Extractor.doctree | Bin 7253 -> 0 bytes ...dummy_extractor.Extractor.__init__.doctree | Bin 4131 -> 0 bytes ...xtractor.dummy_extractor.Extractor.doctree | Bin 17494 -> 0 bytes ....dummy_extractor.Extractor.extract.doctree | Bin 7235 -> 0 bytes ...y_extractor.Extractor.extract_soup.doctree | Bin 5817 -> 0 bytes ...mmy_extractor.Extractor.filter_raw.doctree | Bin 5733 -> 0 bytes ...my_extractor.Extractor.filter_soup.doctree | Bin 6077 -> 0 bytes ...mmy_extractor.Extractor.preprocess.doctree | Bin 6001 -> 0 bytes ...ssor.App.Extractor.dummy_extractor.doctree | Bin 5357 -> 0 bytes ...r.extractor.BaseExtractor.__init__.doctree | Bin 4134 -> 0 bytes ....Extractor.extractor.BaseExtractor.doctree | Bin 17329 -> 0 bytes ...or.extractor.BaseExtractor.extract.doctree | Bin 7176 -> 0 bytes ...tractor.BaseExtractor.extract_soup.doctree | Bin 7645 -> 0 bytes ...extractor.BaseExtractor.filter_raw.doctree | Bin 6005 -> 0 bytes ...xtractor.BaseExtractor.filter_soup.doctree | Bin 6074 -> 0 bytes ...extractor.BaseExtractor.preprocess.doctree | Bin 5939 -> 0 bytes .../Processor.App.Extractor.extractor.doctree | Bin 5244 -> 0 bytes ...ssor.App.Extractor.extractor_utils.doctree | Bin 13578 -> 0 bytes .../Processor.App.OutStreamer.doctree | Bin 7331 -> 0 bytes ...my_streamer.DummyStreamer.__init__.doctree | Bin 4214 -> 0 bytes ...my_streamer.DummyStreamer.clean_up.doctree | Bin 4499 -> 0 bytes ...eamer.dummy_streamer.DummyStreamer.doctree | Bin 10160 -> 0 bytes ...ummy_streamer.DummyStreamer.stream.doctree | Bin 6911 -> 0 bytes ...sor.App.OutStreamer.dummy_streamer.doctree | Bin 5407 -> 0 bytes ...r.outstreamer.OutStreamer.__init__.doctree | Bin 4146 -> 0 bytes ...r.outstreamer.OutStreamer.clean_up.doctree | Bin 4966 -> 0 bytes ...utStreamer.outstreamer.OutStreamer.doctree | Bin 9930 -> 0 bytes ...mer.outstreamer.OutStreamer.stream.doctree | Bin 7282 -> 0 bytes ...cessor.App.OutStreamer.outstreamer.doctree | Bin 5296 -> 0 bytes ...le.OutStreamerFileDefault.__init__.doctree | Bin 10859 -> 0 bytes ...le.OutStreamerFileDefault.clean_up.doctree | Bin 4988 -> 0 bytes ...eam_to_file.OutStreamerFileDefault.doctree | Bin 26191 -> 0 bytes ...tStreamerFileDefault.get_file_name.doctree | Bin 5369 -> 0 bytes ...amerFileDefault.metadata_to_string.doctree | Bin 6452 -> 0 bytes ...file.OutStreamerFileDefault.stream.doctree | Bin 7370 -> 0 bytes ...utStreamerFileHTMLContent.__init__.doctree | Bin 7997 -> 0 bytes ...utStreamerFileHTMLContent.clean_up.doctree | Bin 5048 -> 0 bytes ...to_file.OutStreamerFileHTMLContent.doctree | Bin 20487 -> 0 bytes ...eamerFileHTMLContent.get_file_name.doctree | Bin 5429 -> 0 bytes ...FileHTMLContent.metadata_to_string.doctree | Bin 6516 -> 0 bytes ....OutStreamerFileHTMLContent.stream.doctree | Bin 7430 -> 0 bytes ..._file.OutStreamerFileJSON.__init__.doctree | Bin 8146 -> 0 bytes ..._file.OutStreamerFileJSON.clean_up.doctree | Bin 4943 -> 0 bytes ...stream_to_file.OutStreamerFileJSON.doctree | Bin 20720 -> 0 bytes ....OutStreamerFileJSON.get_file_name.doctree | Bin 5324 -> 0 bytes ...treamerFileJSON.metadata_to_string.doctree | Bin 6404 -> 0 bytes ...to_file.OutStreamerFileJSON.stream.doctree | Bin 7325 -> 0 bytes ...sor.App.OutStreamer.stream_to_file.doctree | Bin 8033 -> 0 bytes .../generated/Processor.App.Pipeline.doctree | Bin 5103 -> 0 bytes ...ipeline.ProcessorPipeline.__init__.doctree | Bin 6675 -> 0 bytes ...ipeline.pipeline.ProcessorPipeline.doctree | Bin 14037 -> 0 bytes ...ssorPipeline.process_domain_record.doctree | Bin 5595 -> 0 bytes .../Processor.App.Pipeline.pipeline.doctree | Bin 5338 -> 0 bytes .../generated/Processor.App.Router.doctree | Bin 5045 -> 0 bytes ...r.App.Router.router.Route.__init__.doctree | Bin 7838 -> 0 bytes .../Processor.App.Router.router.Route.doctree | Bin 19442 -> 0 bytes ....App.Router.router.Router.__init__.doctree | Bin 3956 -> 0 bytes ...Processor.App.Router.router.Router.doctree | Bin 12897 -> 0 bytes ...p.Router.router.Router.load_module.doctree | Bin 4819 -> 0 bytes ....Router.router.Router.load_modules.doctree | Bin 4809 -> 0 bytes ...outer.router.Router.register_route.doctree | Bin 9888 -> 0 bytes ...uter.router.Router.register_routes.doctree | Bin 6057 -> 0 bytes ...sor.App.Router.router.Router.route.doctree | Bin 6505 -> 0 bytes .../Processor.App.Router.router.doctree | Bin 6097 -> 0 bytes .../doctrees/generated/Processor.App.doctree | Bin 10563 -> 0 bytes ...cessor_utils.DomainRecord.__init__.doctree | Bin 11571 -> 0 bytes ...r.App.processor_utils.DomainRecord.doctree | Bin 30222 -> 0 bytes ...cessor_utils.PipeMetadata.__init__.doctree | Bin 7292 -> 0 bytes ...r.App.processor_utils.PipeMetadata.doctree | Bin 21042 -> 0 bytes .../Processor.App.processor_utils.doctree | Bin 6542 -> 0 bytes .../doctrees/generated/Processor.doctree | Bin 6611 -> 0 bytes .../Processor.process_article.doctree | Bin 5813 -> 0 bytes ...cessor.processor.Listener.__init__.doctree | Bin 5991 -> 0 bytes .../Processor.processor.Listener.doctree | Bin 29297 -> 0 bytes ...ocessor.Listener.on_before_message.doctree | Bin 5904 -> 0 bytes ...or.processor.Listener.on_connected.doctree | Bin 5697 -> 0 bytes ...r.processor.Listener.on_connecting.doctree | Bin 6832 -> 0 bytes ...processor.Listener.on_disconnected.doctree | Bin 4587 -> 0 bytes ...rocessor.Listener.on_disconnecting.doctree | Bin 4345 -> 0 bytes ...cessor.processor.Listener.on_error.doctree | Bin 5507 -> 0 bytes ...or.processor.Listener.on_heartbeat.doctree | Bin 4265 -> 0 bytes ...ssor.Listener.on_heartbeat_timeout.doctree | Bin 4542 -> 0 bytes ...ssor.processor.Listener.on_message.doctree | Bin 6147 -> 0 bytes ...ssor.processor.Listener.on_receipt.doctree | Bin 5693 -> 0 bytes ...istener.on_receiver_loop_completed.doctree | Bin 4750 -> 0 bytes ...ocessor.processor.Listener.on_send.doctree | Bin 5519 -> 0 bytes ...or.processor.ListnerStats.__init__.doctree | Bin 6915 -> 0 bytes .../Processor.processor.ListnerStats.doctree | Bin 15725 -> 0 bytes ...ocessor.processor.Message.__init__.doctree | Bin 6504 -> 0 bytes .../Processor.processor.Message.doctree | Bin 14780 -> 0 bytes .../generated/Processor.processor.doctree | Bin 12891 -> 0 bytes docs/build/doctrees/index.doctree | Bin 5144 -> 5198 bytes docs/build/doctrees/installation.doctree | Bin 5145 -> 0 bytes .../doctrees/quickstart/artemis-queue.doctree | Bin 5390 -> 0 bytes .../quickstart/download_article.doctree | Bin 2146 -> 0 bytes docs/build/doctrees/quickstart/index.doctree | Bin 2887 -> 0 bytes .../doctrees/quickstart/installation.doctree | Bin 4063 -> 0 bytes .../doctrees/quickstart/middleware.doctree | Bin 2140 -> 0 bytes .../doctrees/quickstart/overview.doctree | Bin 25389 -> 0 bytes .../doctrees/quickstart/quick-start.doctree | Bin 45690 -> 0 bytes docs/build/html/.buildinfo | 2 +- docs/build/html/_sources/api.rst.txt | 3 +- ...p.index_query.DomainCrawl.__init__.rst.txt | 6 - ...egator.App.index_query.DomainCrawl.rst.txt | 32 - ....index_query.DomainRecord.__init__.rst.txt | 6 - ...gator.App.index_query.DomainRecord.rst.txt | 36 - ...dex_query.IndexAggregator.__init__.rst.txt | 6 - ...index_query.IndexAggregator.aclose.rst.txt | 6 - ....index_query.IndexAggregator.aopen.rst.txt | 6 - ...IndexAggregator.get_all_CC_indexes.rst.txt | 6 - ...xAggregator.get_captured_responses.rst.txt | 6 - ...ndexAggregator.get_number_of_pages.rst.txt | 6 - ...or.App.index_query.IndexAggregator.rst.txt | 29 - ...ex_query.RetrieveResponse.__init__.rst.txt | 6 - ...r.App.index_query.RetrieveResponse.rst.txt | 32 - .../Aggregator.App.index_query.rst.txt | 41 - ...pp.ndjson_decoder.Decoder.__init__.rst.txt | 6 - ....App.ndjson_decoder.Decoder.decode.rst.txt | 6 - ....ndjson_decoder.Decoder.raw_decode.rst.txt | 6 - ...regator.App.ndjson_decoder.Decoder.rst.txt | 26 - .../Aggregator.App.ndjson_decoder.rst.txt | 30 - .../_sources/generated/Aggregator.App.rst.txt | 33 - .../generated/Aggregator.App.utils.rst.txt | 23 - .../generated/Aggregator.aggregator.rst.txt | 31 - .../_sources/generated/Aggregator.rst.txt | 32 - ...xtractor.ArticleExtractor.__init__.rst.txt | 6 - ...r.ArticleExtractor.article_extract.rst.txt | 6 - ...or.ArticleExtractor.check_required.rst.txt | 6 - ...or.ArticleExtractor.custom_extract.rst.txt | 6 - ...ArticleExtractor.custom_filter_raw.rst.txt | 6 - ...rticleExtractor.custom_filter_soup.rst.txt | 6 - ...extractor.ArticleExtractor.extract.rst.txt | 6 - ...ctor.ArticleExtractor.extract_soup.rst.txt | 6 - ...ractor.ArticleExtractor.filter_raw.rst.txt | 6 - ...actor.ArticleExtractor.filter_soup.rst.txt | 6 - ...ractor.ArticleExtractor.preprocess.rst.txt | 6 - ...article_extractor.ArticleExtractor.rst.txt | 42 - ...App.ArticleUtils.article_extractor.rst.txt | 30 - ...sor.App.ArticleUtils.article_utils.rst.txt | 45 - .../Processor.App.ArticleUtils.rst.txt | 32 - ...der.downloader.Downloader.__init__.rst.txt | 6 - ...der.downloader.Downloader.download.rst.txt | 6 - ...p.Downloader.downloader.Downloader.rst.txt | 25 - ...downloader.DownloaderFull.__init__.rst.txt | 6 - ...r.downloader.DownloaderFull.aclose.rst.txt | 6 - ...er.downloader.DownloaderFull.aopen.rst.txt | 6 - ...downloader.DownloaderFull.download.rst.txt | 6 - ...wnloader.downloader.DownloaderFull.rst.txt | 28 - ...r.downloader.DownloaderFull.unwrap.rst.txt | 6 - ...rocessor.App.Downloader.downloader.rst.txt | 31 - ...ownloader.DownloaderDummy.__init__.rst.txt | 6 - ...ownloader.DownloaderDummy.download.rst.txt | 6 - ...loader.DownloaderDummy.extract_url.rst.txt | 6 - ...oader.DownloaderDummy.extract_year.rst.txt | 6 - ...ader.DownloaderDummy.mine_metadata.rst.txt | 6 - ...r.dummy_downloader.DownloaderDummy.rst.txt | 28 - ...or.App.Downloader.dummy_downloader.rst.txt | 30 - .../Processor.App.Downloader.rst.txt | 32 - ...dummy_extractor.Extractor.__init__.rst.txt | 6 - ....dummy_extractor.Extractor.extract.rst.txt | 6 - ...y_extractor.Extractor.extract_soup.rst.txt | 6 - ...mmy_extractor.Extractor.filter_raw.rst.txt | 6 - ...my_extractor.Extractor.filter_soup.rst.txt | 6 - ...mmy_extractor.Extractor.preprocess.rst.txt | 6 - ...xtractor.dummy_extractor.Extractor.rst.txt | 37 - ...ssor.App.Extractor.dummy_extractor.rst.txt | 30 - ...r.extractor.BaseExtractor.__init__.rst.txt | 6 - ...or.extractor.BaseExtractor.extract.rst.txt | 6 - ...tractor.BaseExtractor.extract_soup.rst.txt | 6 - ...extractor.BaseExtractor.filter_raw.rst.txt | 6 - ...xtractor.BaseExtractor.filter_soup.rst.txt | 6 - ...extractor.BaseExtractor.preprocess.rst.txt | 6 - ....Extractor.extractor.BaseExtractor.rst.txt | 37 - .../Processor.App.Extractor.extractor.rst.txt | 30 - ...ssor.App.Extractor.extractor_utils.rst.txt | 37 - .../generated/Processor.App.Extractor.rst.txt | 33 - ...my_streamer.DummyStreamer.__init__.rst.txt | 6 - ...my_streamer.DummyStreamer.clean_up.rst.txt | 6 - ...eamer.dummy_streamer.DummyStreamer.rst.txt | 26 - ...ummy_streamer.DummyStreamer.stream.rst.txt | 6 - ...sor.App.OutStreamer.dummy_streamer.rst.txt | 30 - ...r.outstreamer.OutStreamer.__init__.rst.txt | 6 - ...r.outstreamer.OutStreamer.clean_up.rst.txt | 6 - ...utStreamer.outstreamer.OutStreamer.rst.txt | 26 - ...mer.outstreamer.OutStreamer.stream.rst.txt | 6 - ...cessor.App.OutStreamer.outstreamer.rst.txt | 30 - .../Processor.App.OutStreamer.rst.txt | 33 - ...le.OutStreamerFileDefault.__init__.rst.txt | 6 - ...le.OutStreamerFileDefault.clean_up.rst.txt | 6 - ...tStreamerFileDefault.get_file_name.rst.txt | 6 - ...amerFileDefault.metadata_to_string.rst.txt | 6 - ...eam_to_file.OutStreamerFileDefault.rst.txt | 28 - ...file.OutStreamerFileDefault.stream.rst.txt | 6 - ...utStreamerFileHTMLContent.__init__.rst.txt | 6 - ...utStreamerFileHTMLContent.clean_up.rst.txt | 6 - ...eamerFileHTMLContent.get_file_name.rst.txt | 6 - ...FileHTMLContent.metadata_to_string.rst.txt | 6 - ...to_file.OutStreamerFileHTMLContent.rst.txt | 28 - ....OutStreamerFileHTMLContent.stream.rst.txt | 6 - ..._file.OutStreamerFileJSON.__init__.rst.txt | 6 - ..._file.OutStreamerFileJSON.clean_up.rst.txt | 6 - ....OutStreamerFileJSON.get_file_name.rst.txt | 6 - ...treamerFileJSON.metadata_to_string.rst.txt | 6 - ...stream_to_file.OutStreamerFileJSON.rst.txt | 28 - ...to_file.OutStreamerFileJSON.stream.rst.txt | 6 - ...sor.App.OutStreamer.stream_to_file.rst.txt | 32 - ...ipeline.ProcessorPipeline.__init__.rst.txt | 6 - ...ssorPipeline.process_domain_record.rst.txt | 6 - ...ipeline.pipeline.ProcessorPipeline.rst.txt | 25 - .../Processor.App.Pipeline.pipeline.rst.txt | 30 - .../generated/Processor.App.Pipeline.rst.txt | 31 - ...r.App.Router.router.Route.__init__.rst.txt | 6 - .../Processor.App.Router.router.Route.rst.txt | 33 - ....App.Router.router.Router.__init__.rst.txt | 6 - ...p.Router.router.Router.load_module.rst.txt | 6 - ....Router.router.Router.load_modules.rst.txt | 6 - ...outer.router.Router.register_route.rst.txt | 6 - ...uter.router.Router.register_routes.rst.txt | 6 - ...sor.App.Router.router.Router.route.rst.txt | 6 - ...Processor.App.Router.router.Router.rst.txt | 29 - .../Processor.App.Router.router.rst.txt | 31 - .../generated/Processor.App.Router.rst.txt | 31 - ...cessor_utils.DomainRecord.__init__.rst.txt | 6 - ...r.App.processor_utils.DomainRecord.rst.txt | 36 - ...cessor_utils.PipeMetadata.__init__.rst.txt | 6 - ...r.App.processor_utils.PipeMetadata.rst.txt | 35 - .../Processor.App.processor_utils.rst.txt | 31 - .../_sources/generated/Processor.App.rst.txt | 37 - .../Processor.process_article.rst.txt | 30 - ...cessor.processor.Listener.__init__.rst.txt | 6 - ...ocessor.Listener.on_before_message.rst.txt | 6 - ...or.processor.Listener.on_connected.rst.txt | 6 - ...r.processor.Listener.on_connecting.rst.txt | 6 - ...processor.Listener.on_disconnected.rst.txt | 6 - ...rocessor.Listener.on_disconnecting.rst.txt | 6 - ...cessor.processor.Listener.on_error.rst.txt | 6 - ...or.processor.Listener.on_heartbeat.rst.txt | 6 - ...ssor.Listener.on_heartbeat_timeout.rst.txt | 6 - ...ssor.processor.Listener.on_message.rst.txt | 6 - ...ssor.processor.Listener.on_receipt.rst.txt | 6 - ...istener.on_receiver_loop_completed.rst.txt | 6 - ...ocessor.processor.Listener.on_send.rst.txt | 6 - .../Processor.processor.Listener.rst.txt | 36 - ...or.processor.ListnerStats.__init__.rst.txt | 6 - .../Processor.processor.ListnerStats.rst.txt | 31 - ...ocessor.processor.Message.__init__.rst.txt | 6 - .../Processor.processor.Message.rst.txt | 31 - .../generated/Processor.processor.rst.txt | 42 - .../html/_sources/generated/Processor.rst.txt | 33 - docs/build/html/_sources/index.rst.txt | 10 +- docs/build/html/_sources/installation.rst.txt | 17 - .../_sources/quickstart/artemis-queue.rst.txt | 13 - .../quickstart/download_article.rst.txt | 1 - .../html/_sources/quickstart/index.rst.txt | 10 - .../_sources/quickstart/installation.rst.txt | 10 - .../_sources/quickstart/middleware.rst.txt | 0 .../html/_sources/quickstart/overview.rst.txt | 113 --- .../_sources/quickstart/quick-start.rst.txt | 301 ------ .../html/_static/documentation_options.js | 2 +- docs/build/html/api.html | 226 ++--- docs/build/html/generated/Aggregator.App.html | 468 ---------- ....App.index_query.DomainCrawl.__init__.html | 495 ---------- ...ggregator.App.index_query.DomainCrawl.html | 552 ----------- ...App.index_query.DomainRecord.__init__.html | 495 ---------- ...gregator.App.index_query.DomainRecord.html | 564 ----------- ....index_query.IndexAggregator.__init__.html | 495 ---------- ...pp.index_query.IndexAggregator.aclose.html | 495 ---------- ...App.index_query.IndexAggregator.aopen.html | 495 ---------- ...ry.IndexAggregator.get_all_CC_indexes.html | 495 ---------- ...ndexAggregator.get_captured_responses.html | 495 ---------- ...y.IndexAggregator.get_number_of_pages.html | 495 ---------- ...gator.App.index_query.IndexAggregator.html | 549 ----------- ...index_query.RetrieveResponse.__init__.html | 495 ---------- ...ator.App.index_query.RetrieveResponse.html | 552 ----------- .../generated/Aggregator.App.index_query.html | 484 ---------- ...r.App.ndjson_decoder.Decoder.__init__.html | 521 ----------- ...tor.App.ndjson_decoder.Decoder.decode.html | 497 ---------- ...Aggregator.App.ndjson_decoder.Decoder.html | 566 ----------- ...App.ndjson_decoder.Decoder.raw_decode.html | 500 ---------- .../Aggregator.App.ndjson_decoder.html | 457 --------- .../html/generated/Aggregator.App.utils.html | 445 --------- .../html/generated/Aggregator.aggregator.html | 463 --------- docs/build/html/generated/Aggregator.html | 465 ---------- ...e_extractor.ArticleExtractor.__init__.html | 500 ---------- ...ctor.ArticleExtractor.article_extract.html | 500 ---------- ...actor.ArticleExtractor.check_required.html | 500 ---------- ...actor.ArticleExtractor.custom_extract.html | 500 ---------- ...or.ArticleExtractor.custom_filter_raw.html | 500 ---------- ...r.ArticleExtractor.custom_filter_soup.html | 500 ---------- ...le_extractor.ArticleExtractor.extract.html | 500 ---------- ...tractor.ArticleExtractor.extract_soup.html | 500 ---------- ...extractor.ArticleExtractor.filter_raw.html | 500 ---------- ...xtractor.ArticleExtractor.filter_soup.html | 500 ---------- ...ls.article_extractor.ArticleExtractor.html | 587 ------------ ...extractor.ArticleExtractor.preprocess.html | 500 ---------- ...or.App.ArticleUtils.article_extractor.html | 462 --------- ...cessor.App.ArticleUtils.article_utils.html | 510 ---------- .../generated/Processor.App.ArticleUtils.html | 465 ---------- ...loader.downloader.Downloader.__init__.html | 495 ---------- ...loader.downloader.Downloader.download.html | 495 ---------- ....App.Downloader.downloader.Downloader.html | 537 ----------- ...er.downloader.DownloaderFull.__init__.html | 495 ---------- ...ader.downloader.DownloaderFull.aclose.html | 495 ---------- ...oader.downloader.DownloaderFull.aopen.html | 495 ---------- ...er.downloader.DownloaderFull.download.html | 495 ---------- ....Downloader.downloader.DownloaderFull.html | 546 ----------- ...ader.downloader.DownloaderFull.unwrap.html | 495 ---------- .../Processor.App.Downloader.downloader.html | 460 --------- ...y_downloader.DownloaderDummy.__init__.html | 495 ---------- ...y_downloader.DownloaderDummy.download.html | 495 ---------- ...ownloader.DownloaderDummy.extract_url.html | 495 ---------- ...wnloader.DownloaderDummy.extract_year.html | 495 ---------- ...ader.dummy_downloader.DownloaderDummy.html | 546 ----------- ...nloader.DownloaderDummy.mine_metadata.html | 495 ---------- ...essor.App.Downloader.dummy_downloader.html | 457 --------- .../generated/Processor.App.Downloader.html | 460 --------- ...or.dummy_extractor.Extractor.__init__.html | 495 ---------- ...tor.dummy_extractor.Extractor.extract.html | 495 ---------- ...ummy_extractor.Extractor.extract_soup.html | 495 ---------- ....dummy_extractor.Extractor.filter_raw.html | 495 ---------- ...dummy_extractor.Extractor.filter_soup.html | 495 ---------- ...p.Extractor.dummy_extractor.Extractor.html | 567 ----------- ....dummy_extractor.Extractor.preprocess.html | 495 ---------- ...ocessor.App.Extractor.dummy_extractor.html | 457 --------- ...ctor.extractor.BaseExtractor.__init__.html | 495 ---------- ...actor.extractor.BaseExtractor.extract.html | 495 ---------- ....extractor.BaseExtractor.extract_soup.html | 495 ---------- ...or.extractor.BaseExtractor.filter_raw.html | 495 ---------- ...r.extractor.BaseExtractor.filter_soup.html | 495 ---------- ...App.Extractor.extractor.BaseExtractor.html | 567 ----------- ...or.extractor.BaseExtractor.preprocess.html | 495 ---------- .../Processor.App.Extractor.extractor.html | 457 --------- ...ocessor.App.Extractor.extractor_utils.html | 481 ---------- .../generated/Processor.App.Extractor.html | 463 --------- ...dummy_streamer.DummyStreamer.__init__.html | 495 ---------- ...dummy_streamer.DummyStreamer.clean_up.html | 495 ---------- ...Streamer.dummy_streamer.DummyStreamer.html | 540 ----------- ...r.dummy_streamer.DummyStreamer.stream.html | 495 ---------- ...cessor.App.OutStreamer.dummy_streamer.html | 457 --------- .../generated/Processor.App.OutStreamer.html | 463 --------- ...amer.outstreamer.OutStreamer.__init__.html | 495 ---------- ...amer.outstreamer.OutStreamer.clean_up.html | 495 ---------- ...p.OutStreamer.outstreamer.OutStreamer.html | 540 ----------- ...reamer.outstreamer.OutStreamer.stream.html | 495 ---------- ...Processor.App.OutStreamer.outstreamer.html | 457 --------- ..._file.OutStreamerFileDefault.__init__.html | 495 ---------- ..._file.OutStreamerFileDefault.clean_up.html | 495 ---------- ....OutStreamerFileDefault.get_file_name.html | 495 ---------- ...stream_to_file.OutStreamerFileDefault.html | 546 ----------- ...treamerFileDefault.metadata_to_string.html | 495 ---------- ...to_file.OutStreamerFileDefault.stream.html | 495 ---------- ...e.OutStreamerFileHTMLContent.__init__.html | 495 ---------- ...e.OutStreamerFileHTMLContent.clean_up.html | 495 ---------- ...StreamerFileHTMLContent.get_file_name.html | 495 ---------- ...am_to_file.OutStreamerFileHTMLContent.html | 546 ----------- ...merFileHTMLContent.metadata_to_string.html | 495 ---------- ...ile.OutStreamerFileHTMLContent.stream.html | 495 ---------- ..._to_file.OutStreamerFileJSON.__init__.html | 495 ---------- ..._to_file.OutStreamerFileJSON.clean_up.html | 495 ---------- ...ile.OutStreamerFileJSON.get_file_name.html | 495 ---------- ...er.stream_to_file.OutStreamerFileJSON.html | 546 ----------- ...utStreamerFileJSON.metadata_to_string.html | 495 ---------- ...am_to_file.OutStreamerFileJSON.stream.html | 495 ---------- ...cessor.App.OutStreamer.stream_to_file.html | 463 --------- .../generated/Processor.App.Pipeline.html | 457 --------- ...e.pipeline.ProcessorPipeline.__init__.html | 495 ---------- ...p.Pipeline.pipeline.ProcessorPipeline.html | 537 ----------- ...ocessorPipeline.process_domain_record.html | 495 ---------- .../Processor.App.Pipeline.pipeline.html | 457 --------- .../html/generated/Processor.App.Router.html | 457 --------- ...ssor.App.Router.router.Route.__init__.html | 495 ---------- .../Processor.App.Router.router.Route.html | 555 ----------- ...sor.App.Router.router.Router.__init__.html | 495 ---------- .../Processor.App.Router.router.Router.html | 549 ----------- ....App.Router.router.Router.load_module.html | 495 ---------- ...App.Router.router.Router.load_modules.html | 495 ---------- ...p.Router.router.Router.register_route.html | 495 ---------- ....Router.router.Router.register_routes.html | 495 ---------- ...cessor.App.Router.router.Router.route.html | 495 ---------- .../Processor.App.Router.router.html | 460 --------- docs/build/html/generated/Processor.App.html | 480 ---------- ...processor_utils.DomainRecord.__init__.html | 495 ---------- ...ssor.App.processor_utils.DomainRecord.html | 564 ----------- ...processor_utils.PipeMetadata.__init__.html | 495 ---------- ...ssor.App.processor_utils.PipeMetadata.html | 562 ----------- .../Processor.App.processor_utils.html | 460 --------- docs/build/html/generated/Processor.html | 468 ---------- .../generated/Processor.process_article.html | 460 --------- ...Processor.processor.Listener.__init__.html | 495 ---------- .../Processor.processor.Listener.html | 570 ------------ ....processor.Listener.on_before_message.html | 502 ---------- ...essor.processor.Listener.on_connected.html | 503 ---------- ...ssor.processor.Listener.on_connecting.html | 506 ---------- ...or.processor.Listener.on_disconnected.html | 498 ---------- ...r.processor.Listener.on_disconnecting.html | 496 ---------- ...Processor.processor.Listener.on_error.html | 501 ---------- ...essor.processor.Listener.on_heartbeat.html | 496 ---------- ...ocessor.Listener.on_heartbeat_timeout.html | 497 ---------- ...ocessor.processor.Listener.on_message.html | 501 ---------- ...ocessor.processor.Listener.on_receipt.html | 503 ---------- ...r.Listener.on_receiver_loop_completed.html | 496 ---------- .../Processor.processor.Listener.on_send.html | 501 ---------- ...essor.processor.ListnerStats.__init__.html | 495 ---------- .../Processor.processor.ListnerStats.html | 549 ----------- .../Processor.processor.Message.__init__.html | 487 ---------- .../Processor.processor.Message.html | 549 ----------- .../html/generated/Processor.processor.html | 487 ---------- docs/build/html/genindex.html | 878 +++++++++--------- docs/build/html/index.html | 307 +++--- docs/build/html/installation.html | 503 ---------- docs/build/html/objects.inv | Bin 12364 -> 13096 bytes docs/build/html/py-modindex.html | 332 +++---- docs/build/html/quickstart/artemis-queue.html | 466 ---------- .../html/quickstart/download_article.html | 458 --------- docs/build/html/quickstart/index.html | 486 ---------- docs/build/html/quickstart/installation.html | 438 --------- docs/build/html/quickstart/middleware.html | 453 --------- docs/build/html/quickstart/overview.html | 631 ------------- docs/build/html/quickstart/quick-start.html | 819 ---------------- docs/build/html/search.html | 207 +++-- docs/build/html/searchindex.js | 2 +- docs/build/index.html | 1 - docs/source/api.rst | 3 +- docs/source/conf.py | 4 +- ...r.App.index_query.DomainCrawl.__init__.rst | 6 - ...Aggregator.App.index_query.DomainCrawl.rst | 32 - ....App.index_query.DomainRecord.__init__.rst | 6 - ...ggregator.App.index_query.DomainRecord.rst | 36 - ...p.index_query.IndexAggregator.__init__.rst | 6 - ...App.index_query.IndexAggregator.aclose.rst | 6 - ....App.index_query.IndexAggregator.aopen.rst | 6 - ...ery.IndexAggregator.get_all_CC_indexes.rst | 6 - ...IndexAggregator.get_captured_responses.rst | 6 - ...ry.IndexAggregator.get_number_of_pages.rst | 6 - ...egator.App.index_query.IndexAggregator.rst | 29 - ....index_query.RetrieveResponse.__init__.rst | 6 - ...gator.App.index_query.RetrieveResponse.rst | 32 - .../generated/Aggregator.App.index_query.rst | 41 - ...or.App.ndjson_decoder.Decoder.__init__.rst | 6 - ...ator.App.ndjson_decoder.Decoder.decode.rst | 6 - ....App.ndjson_decoder.Decoder.raw_decode.rst | 6 - .../Aggregator.App.ndjson_decoder.Decoder.rst | 26 - .../Aggregator.App.ndjson_decoder.rst | 30 - docs/source/generated/Aggregator.App.rst | 33 - .../source/generated/Aggregator.App.utils.rst | 23 - .../generated/Aggregator.aggregator.rst | 31 - docs/source/generated/Aggregator.rst | 32 - ...le_extractor.ArticleExtractor.__init__.rst | 6 - ...actor.ArticleExtractor.article_extract.rst | 6 - ...ractor.ArticleExtractor.check_required.rst | 6 - ...ractor.ArticleExtractor.custom_extract.rst | 6 - ...tor.ArticleExtractor.custom_filter_raw.rst | 6 - ...or.ArticleExtractor.custom_filter_soup.rst | 6 - ...cle_extractor.ArticleExtractor.extract.rst | 6 - ...xtractor.ArticleExtractor.extract_soup.rst | 6 - ..._extractor.ArticleExtractor.filter_raw.rst | 6 - ...extractor.ArticleExtractor.filter_soup.rst | 6 - ..._extractor.ArticleExtractor.preprocess.rst | 6 - ...ils.article_extractor.ArticleExtractor.rst | 42 - ...sor.App.ArticleUtils.article_extractor.rst | 30 - ...ocessor.App.ArticleUtils.article_utils.rst | 45 - .../generated/Processor.App.ArticleUtils.rst | 32 - ...nloader.downloader.Downloader.__init__.rst | 6 - ...nloader.downloader.Downloader.download.rst | 6 - ...r.App.Downloader.downloader.Downloader.rst | 25 - ...der.downloader.DownloaderFull.__init__.rst | 6 - ...oader.downloader.DownloaderFull.aclose.rst | 6 - ...loader.downloader.DownloaderFull.aopen.rst | 6 - ...der.downloader.DownloaderFull.download.rst | 6 - ...p.Downloader.downloader.DownloaderFull.rst | 28 - ...oader.downloader.DownloaderFull.unwrap.rst | 6 - .../Processor.App.Downloader.downloader.rst | 31 - ...my_downloader.DownloaderDummy.__init__.rst | 6 - ...my_downloader.DownloaderDummy.download.rst | 6 - ...downloader.DownloaderDummy.extract_url.rst | 6 - ...ownloader.DownloaderDummy.extract_year.rst | 6 - ...wnloader.DownloaderDummy.mine_metadata.rst | 6 - ...oader.dummy_downloader.DownloaderDummy.rst | 28 - ...cessor.App.Downloader.dummy_downloader.rst | 30 - .../generated/Processor.App.Downloader.rst | 32 - ...tor.dummy_extractor.Extractor.__init__.rst | 6 - ...ctor.dummy_extractor.Extractor.extract.rst | 6 - ...dummy_extractor.Extractor.extract_soup.rst | 6 - ...r.dummy_extractor.Extractor.filter_raw.rst | 6 - ....dummy_extractor.Extractor.filter_soup.rst | 6 - ...r.dummy_extractor.Extractor.preprocess.rst | 6 - ...pp.Extractor.dummy_extractor.Extractor.rst | 37 - ...rocessor.App.Extractor.dummy_extractor.rst | 30 - ...actor.extractor.BaseExtractor.__init__.rst | 6 - ...ractor.extractor.BaseExtractor.extract.rst | 6 - ...r.extractor.BaseExtractor.extract_soup.rst | 6 - ...tor.extractor.BaseExtractor.filter_raw.rst | 6 - ...or.extractor.BaseExtractor.filter_soup.rst | 6 - ...tor.extractor.BaseExtractor.preprocess.rst | 6 - ....App.Extractor.extractor.BaseExtractor.rst | 37 - .../Processor.App.Extractor.extractor.rst | 30 - ...rocessor.App.Extractor.extractor_utils.rst | 37 - .../generated/Processor.App.Extractor.rst | 33 - ....dummy_streamer.DummyStreamer.__init__.rst | 6 - ....dummy_streamer.DummyStreamer.clean_up.rst | 6 - ...tStreamer.dummy_streamer.DummyStreamer.rst | 26 - ...er.dummy_streamer.DummyStreamer.stream.rst | 6 - ...ocessor.App.OutStreamer.dummy_streamer.rst | 30 - ...eamer.outstreamer.OutStreamer.__init__.rst | 6 - ...eamer.outstreamer.OutStreamer.clean_up.rst | 6 - ...pp.OutStreamer.outstreamer.OutStreamer.rst | 26 - ...treamer.outstreamer.OutStreamer.stream.rst | 6 - .../Processor.App.OutStreamer.outstreamer.rst | 30 - .../generated/Processor.App.OutStreamer.rst | 33 - ...o_file.OutStreamerFileDefault.__init__.rst | 6 - ...o_file.OutStreamerFileDefault.clean_up.rst | 6 - ...e.OutStreamerFileDefault.get_file_name.rst | 6 - ...StreamerFileDefault.metadata_to_string.rst | 6 - ....stream_to_file.OutStreamerFileDefault.rst | 28 - ..._to_file.OutStreamerFileDefault.stream.rst | 6 - ...le.OutStreamerFileHTMLContent.__init__.rst | 6 - ...le.OutStreamerFileHTMLContent.clean_up.rst | 6 - ...tStreamerFileHTMLContent.get_file_name.rst | 6 - ...amerFileHTMLContent.metadata_to_string.rst | 6 - ...eam_to_file.OutStreamerFileHTMLContent.rst | 28 - ...file.OutStreamerFileHTMLContent.stream.rst | 6 - ...m_to_file.OutStreamerFileJSON.__init__.rst | 6 - ...m_to_file.OutStreamerFileJSON.clean_up.rst | 6 - ...file.OutStreamerFileJSON.get_file_name.rst | 6 - ...OutStreamerFileJSON.metadata_to_string.rst | 6 - ...mer.stream_to_file.OutStreamerFileJSON.rst | 28 - ...eam_to_file.OutStreamerFileJSON.stream.rst | 6 - ...ocessor.App.OutStreamer.stream_to_file.rst | 32 - ...ne.pipeline.ProcessorPipeline.__init__.rst | 6 - ...rocessorPipeline.process_domain_record.rst | 6 - ...pp.Pipeline.pipeline.ProcessorPipeline.rst | 25 - .../Processor.App.Pipeline.pipeline.rst | 30 - .../generated/Processor.App.Pipeline.rst | 31 - ...essor.App.Router.router.Route.__init__.rst | 6 - .../Processor.App.Router.router.Route.rst | 33 - ...ssor.App.Router.router.Router.__init__.rst | 6 - ...r.App.Router.router.Router.load_module.rst | 6 - ....App.Router.router.Router.load_modules.rst | 6 - ...pp.Router.router.Router.register_route.rst | 6 - ...p.Router.router.Router.register_routes.rst | 6 - ...ocessor.App.Router.router.Router.route.rst | 6 - .../Processor.App.Router.router.Router.rst | 29 - .../generated/Processor.App.Router.router.rst | 31 - .../source/generated/Processor.App.Router.rst | 31 - ....processor_utils.DomainRecord.__init__.rst | 6 - ...essor.App.processor_utils.DomainRecord.rst | 36 - ....processor_utils.PipeMetadata.__init__.rst | 6 - ...essor.App.processor_utils.PipeMetadata.rst | 35 - .../Processor.App.processor_utils.rst | 31 - docs/source/generated/Processor.App.rst | 37 - .../generated/Processor.process_article.rst | 30 - .../Processor.processor.Listener.__init__.rst | 6 - ...r.processor.Listener.on_before_message.rst | 6 - ...cessor.processor.Listener.on_connected.rst | 6 - ...essor.processor.Listener.on_connecting.rst | 6 - ...sor.processor.Listener.on_disconnected.rst | 6 - ...or.processor.Listener.on_disconnecting.rst | 6 - .../Processor.processor.Listener.on_error.rst | 6 - ...cessor.processor.Listener.on_heartbeat.rst | 6 - ...rocessor.Listener.on_heartbeat_timeout.rst | 6 - ...rocessor.processor.Listener.on_message.rst | 6 - ...rocessor.processor.Listener.on_receipt.rst | 6 - ...or.Listener.on_receiver_loop_completed.rst | 6 - .../Processor.processor.Listener.on_send.rst | 6 - .../Processor.processor.Listener.rst | 36 - ...cessor.processor.ListnerStats.__init__.rst | 6 - .../Processor.processor.ListnerStats.rst | 31 - .../Processor.processor.Message.__init__.rst | 6 - .../generated/Processor.processor.Message.rst | 31 - docs/source/generated/Processor.processor.rst | 42 - docs/source/generated/Processor.rst | 33 - docs/source/index.rst | 10 +- docs/source/installation.rst | 17 - docs/source/quickstart/artemis-queue.rst | 13 - docs/source/quickstart/index.rst | 10 - docs/source/quickstart/overview.rst | 113 --- docs/source/quickstart/quick-start.rst | 301 ------ tests/aggregator_tests.py | 10 +- tests/end_to_end_tests.py | 7 +- 650 files changed, 1448 insertions(+), 84234 deletions(-) delete mode 100644 docs/build/_templates/module.rst delete mode 100644 docs/build/doctrees/generated/Aggregator.App.doctree delete mode 100644 docs/build/doctrees/generated/Aggregator.App.index_query.DomainCrawl.__init__.doctree delete mode 100644 docs/build/doctrees/generated/Aggregator.App.index_query.DomainCrawl.doctree delete mode 100644 docs/build/doctrees/generated/Aggregator.App.index_query.DomainRecord.__init__.doctree delete mode 100644 docs/build/doctrees/generated/Aggregator.App.index_query.DomainRecord.doctree delete mode 100644 docs/build/doctrees/generated/Aggregator.App.index_query.IndexAggregator.__init__.doctree delete mode 100644 docs/build/doctrees/generated/Aggregator.App.index_query.IndexAggregator.aclose.doctree delete mode 100644 docs/build/doctrees/generated/Aggregator.App.index_query.IndexAggregator.aopen.doctree delete mode 100644 docs/build/doctrees/generated/Aggregator.App.index_query.IndexAggregator.doctree delete mode 100644 docs/build/doctrees/generated/Aggregator.App.index_query.IndexAggregator.get_all_CC_indexes.doctree delete mode 100644 docs/build/doctrees/generated/Aggregator.App.index_query.IndexAggregator.get_captured_responses.doctree delete mode 100644 docs/build/doctrees/generated/Aggregator.App.index_query.IndexAggregator.get_number_of_pages.doctree delete mode 100644 docs/build/doctrees/generated/Aggregator.App.index_query.RetrieveResponse.__init__.doctree delete mode 100644 docs/build/doctrees/generated/Aggregator.App.index_query.RetrieveResponse.doctree delete mode 100644 docs/build/doctrees/generated/Aggregator.App.index_query.doctree delete mode 100644 docs/build/doctrees/generated/Aggregator.App.ndjson_decoder.Decoder.__init__.doctree delete mode 100644 docs/build/doctrees/generated/Aggregator.App.ndjson_decoder.Decoder.decode.doctree delete mode 100644 docs/build/doctrees/generated/Aggregator.App.ndjson_decoder.Decoder.doctree delete mode 100644 docs/build/doctrees/generated/Aggregator.App.ndjson_decoder.Decoder.raw_decode.doctree delete mode 100644 docs/build/doctrees/generated/Aggregator.App.ndjson_decoder.doctree delete mode 100644 docs/build/doctrees/generated/Aggregator.App.utils.doctree delete mode 100644 docs/build/doctrees/generated/Aggregator.aggregator.doctree delete mode 100644 docs/build/doctrees/generated/Aggregator.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.__init__.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.article_extract.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.check_required.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.custom_extract.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.custom_filter_raw.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.custom_filter_soup.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.extract.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.extract_soup.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.filter_raw.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.filter_soup.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.preprocess.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.ArticleUtils.article_extractor.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.ArticleUtils.article_utils.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.ArticleUtils.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Downloader.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Downloader.downloader.Downloader.__init__.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Downloader.downloader.Downloader.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Downloader.downloader.Downloader.download.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Downloader.downloader.DownloaderFull.__init__.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Downloader.downloader.DownloaderFull.aclose.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Downloader.downloader.DownloaderFull.aopen.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Downloader.downloader.DownloaderFull.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Downloader.downloader.DownloaderFull.download.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Downloader.downloader.DownloaderFull.unwrap.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Downloader.downloader.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.__init__.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.download.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.extract_url.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.extract_year.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.mine_metadata.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Downloader.dummy_downloader.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Extractor.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Extractor.dummy_extractor.Extractor.__init__.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Extractor.dummy_extractor.Extractor.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Extractor.dummy_extractor.Extractor.extract.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Extractor.dummy_extractor.Extractor.extract_soup.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Extractor.dummy_extractor.Extractor.filter_raw.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Extractor.dummy_extractor.Extractor.filter_soup.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Extractor.dummy_extractor.Extractor.preprocess.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Extractor.dummy_extractor.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Extractor.extractor.BaseExtractor.__init__.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Extractor.extractor.BaseExtractor.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Extractor.extractor.BaseExtractor.extract.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Extractor.extractor.BaseExtractor.extract_soup.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Extractor.extractor.BaseExtractor.filter_raw.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Extractor.extractor.BaseExtractor.filter_soup.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Extractor.extractor.BaseExtractor.preprocess.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Extractor.extractor.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Extractor.extractor_utils.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.dummy_streamer.DummyStreamer.__init__.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.dummy_streamer.DummyStreamer.clean_up.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.dummy_streamer.DummyStreamer.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.dummy_streamer.DummyStreamer.stream.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.dummy_streamer.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.outstreamer.OutStreamer.__init__.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.outstreamer.OutStreamer.clean_up.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.outstreamer.OutStreamer.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.outstreamer.OutStreamer.stream.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.outstreamer.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.__init__.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.clean_up.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.get_file_name.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.metadata_to_string.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.stream.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.__init__.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.clean_up.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.get_file_name.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.metadata_to_string.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.stream.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileJSON.__init__.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileJSON.clean_up.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileJSON.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileJSON.get_file_name.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileJSON.metadata_to_string.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileJSON.stream.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Pipeline.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Pipeline.pipeline.ProcessorPipeline.__init__.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Pipeline.pipeline.ProcessorPipeline.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Pipeline.pipeline.ProcessorPipeline.process_domain_record.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Pipeline.pipeline.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Router.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Router.router.Route.__init__.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Router.router.Route.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Router.router.Router.__init__.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Router.router.Router.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Router.router.Router.load_module.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Router.router.Router.load_modules.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Router.router.Router.register_route.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Router.router.Router.register_routes.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Router.router.Router.route.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.Router.router.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.processor_utils.DomainRecord.__init__.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.processor_utils.DomainRecord.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.processor_utils.PipeMetadata.__init__.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.processor_utils.PipeMetadata.doctree delete mode 100644 docs/build/doctrees/generated/Processor.App.processor_utils.doctree delete mode 100644 docs/build/doctrees/generated/Processor.doctree delete mode 100644 docs/build/doctrees/generated/Processor.process_article.doctree delete mode 100644 docs/build/doctrees/generated/Processor.processor.Listener.__init__.doctree delete mode 100644 docs/build/doctrees/generated/Processor.processor.Listener.doctree delete mode 100644 docs/build/doctrees/generated/Processor.processor.Listener.on_before_message.doctree delete mode 100644 docs/build/doctrees/generated/Processor.processor.Listener.on_connected.doctree delete mode 100644 docs/build/doctrees/generated/Processor.processor.Listener.on_connecting.doctree delete mode 100644 docs/build/doctrees/generated/Processor.processor.Listener.on_disconnected.doctree delete mode 100644 docs/build/doctrees/generated/Processor.processor.Listener.on_disconnecting.doctree delete mode 100644 docs/build/doctrees/generated/Processor.processor.Listener.on_error.doctree delete mode 100644 docs/build/doctrees/generated/Processor.processor.Listener.on_heartbeat.doctree delete mode 100644 docs/build/doctrees/generated/Processor.processor.Listener.on_heartbeat_timeout.doctree delete mode 100644 docs/build/doctrees/generated/Processor.processor.Listener.on_message.doctree delete mode 100644 docs/build/doctrees/generated/Processor.processor.Listener.on_receipt.doctree delete mode 100644 docs/build/doctrees/generated/Processor.processor.Listener.on_receiver_loop_completed.doctree delete mode 100644 docs/build/doctrees/generated/Processor.processor.Listener.on_send.doctree delete mode 100644 docs/build/doctrees/generated/Processor.processor.ListnerStats.__init__.doctree delete mode 100644 docs/build/doctrees/generated/Processor.processor.ListnerStats.doctree delete mode 100644 docs/build/doctrees/generated/Processor.processor.Message.__init__.doctree delete mode 100644 docs/build/doctrees/generated/Processor.processor.Message.doctree delete mode 100644 docs/build/doctrees/generated/Processor.processor.doctree delete mode 100644 docs/build/doctrees/installation.doctree delete mode 100644 docs/build/doctrees/quickstart/artemis-queue.doctree delete mode 100644 docs/build/doctrees/quickstart/download_article.doctree delete mode 100644 docs/build/doctrees/quickstart/index.doctree delete mode 100644 docs/build/doctrees/quickstart/installation.doctree delete mode 100644 docs/build/doctrees/quickstart/middleware.doctree delete mode 100644 docs/build/doctrees/quickstart/overview.doctree delete mode 100644 docs/build/doctrees/quickstart/quick-start.doctree delete mode 100644 docs/build/html/_sources/generated/Aggregator.App.index_query.DomainCrawl.__init__.rst.txt delete mode 100644 docs/build/html/_sources/generated/Aggregator.App.index_query.DomainCrawl.rst.txt delete mode 100644 docs/build/html/_sources/generated/Aggregator.App.index_query.DomainRecord.__init__.rst.txt delete mode 100644 docs/build/html/_sources/generated/Aggregator.App.index_query.DomainRecord.rst.txt delete mode 100644 docs/build/html/_sources/generated/Aggregator.App.index_query.IndexAggregator.__init__.rst.txt delete mode 100644 docs/build/html/_sources/generated/Aggregator.App.index_query.IndexAggregator.aclose.rst.txt delete mode 100644 docs/build/html/_sources/generated/Aggregator.App.index_query.IndexAggregator.aopen.rst.txt delete mode 100644 docs/build/html/_sources/generated/Aggregator.App.index_query.IndexAggregator.get_all_CC_indexes.rst.txt delete mode 100644 docs/build/html/_sources/generated/Aggregator.App.index_query.IndexAggregator.get_captured_responses.rst.txt delete mode 100644 docs/build/html/_sources/generated/Aggregator.App.index_query.IndexAggregator.get_number_of_pages.rst.txt delete mode 100644 docs/build/html/_sources/generated/Aggregator.App.index_query.IndexAggregator.rst.txt delete mode 100644 docs/build/html/_sources/generated/Aggregator.App.index_query.RetrieveResponse.__init__.rst.txt delete mode 100644 docs/build/html/_sources/generated/Aggregator.App.index_query.RetrieveResponse.rst.txt delete mode 100644 docs/build/html/_sources/generated/Aggregator.App.index_query.rst.txt delete mode 100644 docs/build/html/_sources/generated/Aggregator.App.ndjson_decoder.Decoder.__init__.rst.txt delete mode 100644 docs/build/html/_sources/generated/Aggregator.App.ndjson_decoder.Decoder.decode.rst.txt delete mode 100644 docs/build/html/_sources/generated/Aggregator.App.ndjson_decoder.Decoder.raw_decode.rst.txt delete mode 100644 docs/build/html/_sources/generated/Aggregator.App.ndjson_decoder.Decoder.rst.txt delete mode 100644 docs/build/html/_sources/generated/Aggregator.App.ndjson_decoder.rst.txt delete mode 100644 docs/build/html/_sources/generated/Aggregator.App.rst.txt delete mode 100644 docs/build/html/_sources/generated/Aggregator.App.utils.rst.txt delete mode 100644 docs/build/html/_sources/generated/Aggregator.aggregator.rst.txt delete mode 100644 docs/build/html/_sources/generated/Aggregator.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.__init__.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.article_extract.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.check_required.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.custom_extract.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.custom_filter_raw.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.custom_filter_soup.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.extract.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.extract_soup.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.filter_raw.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.filter_soup.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.preprocess.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.ArticleUtils.article_extractor.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.ArticleUtils.article_utils.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.ArticleUtils.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Downloader.downloader.Downloader.__init__.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Downloader.downloader.Downloader.download.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Downloader.downloader.Downloader.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Downloader.downloader.DownloaderFull.__init__.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Downloader.downloader.DownloaderFull.aclose.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Downloader.downloader.DownloaderFull.aopen.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Downloader.downloader.DownloaderFull.download.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Downloader.downloader.DownloaderFull.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Downloader.downloader.DownloaderFull.unwrap.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Downloader.downloader.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.__init__.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.download.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.extract_url.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.extract_year.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.mine_metadata.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Downloader.dummy_downloader.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Downloader.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Extractor.dummy_extractor.Extractor.__init__.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Extractor.dummy_extractor.Extractor.extract.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Extractor.dummy_extractor.Extractor.extract_soup.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Extractor.dummy_extractor.Extractor.filter_raw.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Extractor.dummy_extractor.Extractor.filter_soup.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Extractor.dummy_extractor.Extractor.preprocess.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Extractor.dummy_extractor.Extractor.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Extractor.dummy_extractor.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Extractor.extractor.BaseExtractor.__init__.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Extractor.extractor.BaseExtractor.extract.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Extractor.extractor.BaseExtractor.extract_soup.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Extractor.extractor.BaseExtractor.filter_raw.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Extractor.extractor.BaseExtractor.filter_soup.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Extractor.extractor.BaseExtractor.preprocess.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Extractor.extractor.BaseExtractor.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Extractor.extractor.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Extractor.extractor_utils.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Extractor.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.dummy_streamer.DummyStreamer.__init__.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.dummy_streamer.DummyStreamer.clean_up.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.dummy_streamer.DummyStreamer.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.dummy_streamer.DummyStreamer.stream.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.dummy_streamer.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.outstreamer.OutStreamer.__init__.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.outstreamer.OutStreamer.clean_up.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.outstreamer.OutStreamer.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.outstreamer.OutStreamer.stream.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.outstreamer.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.__init__.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.clean_up.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.get_file_name.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.metadata_to_string.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.stream.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.__init__.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.clean_up.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.get_file_name.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.metadata_to_string.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.stream.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileJSON.__init__.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileJSON.clean_up.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileJSON.get_file_name.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileJSON.metadata_to_string.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileJSON.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileJSON.stream.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.OutStreamer.stream_to_file.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Pipeline.pipeline.ProcessorPipeline.__init__.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Pipeline.pipeline.ProcessorPipeline.process_domain_record.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Pipeline.pipeline.ProcessorPipeline.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Pipeline.pipeline.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Pipeline.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Router.router.Route.__init__.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Router.router.Route.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Router.router.Router.__init__.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Router.router.Router.load_module.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Router.router.Router.load_modules.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Router.router.Router.register_route.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Router.router.Router.register_routes.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Router.router.Router.route.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Router.router.Router.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Router.router.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.Router.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.processor_utils.DomainRecord.__init__.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.processor_utils.DomainRecord.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.processor_utils.PipeMetadata.__init__.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.processor_utils.PipeMetadata.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.processor_utils.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.App.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.process_article.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.processor.Listener.__init__.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.processor.Listener.on_before_message.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.processor.Listener.on_connected.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.processor.Listener.on_connecting.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.processor.Listener.on_disconnected.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.processor.Listener.on_disconnecting.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.processor.Listener.on_error.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.processor.Listener.on_heartbeat.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.processor.Listener.on_heartbeat_timeout.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.processor.Listener.on_message.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.processor.Listener.on_receipt.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.processor.Listener.on_receiver_loop_completed.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.processor.Listener.on_send.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.processor.Listener.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.processor.ListnerStats.__init__.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.processor.ListnerStats.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.processor.Message.__init__.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.processor.Message.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.processor.rst.txt delete mode 100644 docs/build/html/_sources/generated/Processor.rst.txt delete mode 100644 docs/build/html/_sources/installation.rst.txt delete mode 100644 docs/build/html/_sources/quickstart/artemis-queue.rst.txt delete mode 100644 docs/build/html/_sources/quickstart/download_article.rst.txt delete mode 100644 docs/build/html/_sources/quickstart/index.rst.txt delete mode 100644 docs/build/html/_sources/quickstart/installation.rst.txt delete mode 100644 docs/build/html/_sources/quickstart/middleware.rst.txt delete mode 100644 docs/build/html/_sources/quickstart/overview.rst.txt delete mode 100644 docs/build/html/_sources/quickstart/quick-start.rst.txt delete mode 100644 docs/build/html/generated/Aggregator.App.html delete mode 100644 docs/build/html/generated/Aggregator.App.index_query.DomainCrawl.__init__.html delete mode 100644 docs/build/html/generated/Aggregator.App.index_query.DomainCrawl.html delete mode 100644 docs/build/html/generated/Aggregator.App.index_query.DomainRecord.__init__.html delete mode 100644 docs/build/html/generated/Aggregator.App.index_query.DomainRecord.html delete mode 100644 docs/build/html/generated/Aggregator.App.index_query.IndexAggregator.__init__.html delete mode 100644 docs/build/html/generated/Aggregator.App.index_query.IndexAggregator.aclose.html delete mode 100644 docs/build/html/generated/Aggregator.App.index_query.IndexAggregator.aopen.html delete mode 100644 docs/build/html/generated/Aggregator.App.index_query.IndexAggregator.get_all_CC_indexes.html delete mode 100644 docs/build/html/generated/Aggregator.App.index_query.IndexAggregator.get_captured_responses.html delete mode 100644 docs/build/html/generated/Aggregator.App.index_query.IndexAggregator.get_number_of_pages.html delete mode 100644 docs/build/html/generated/Aggregator.App.index_query.IndexAggregator.html delete mode 100644 docs/build/html/generated/Aggregator.App.index_query.RetrieveResponse.__init__.html delete mode 100644 docs/build/html/generated/Aggregator.App.index_query.RetrieveResponse.html delete mode 100644 docs/build/html/generated/Aggregator.App.index_query.html delete mode 100644 docs/build/html/generated/Aggregator.App.ndjson_decoder.Decoder.__init__.html delete mode 100644 docs/build/html/generated/Aggregator.App.ndjson_decoder.Decoder.decode.html delete mode 100644 docs/build/html/generated/Aggregator.App.ndjson_decoder.Decoder.html delete mode 100644 docs/build/html/generated/Aggregator.App.ndjson_decoder.Decoder.raw_decode.html delete mode 100644 docs/build/html/generated/Aggregator.App.ndjson_decoder.html delete mode 100644 docs/build/html/generated/Aggregator.App.utils.html delete mode 100644 docs/build/html/generated/Aggregator.aggregator.html delete mode 100644 docs/build/html/generated/Aggregator.html delete mode 100644 docs/build/html/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.__init__.html delete mode 100644 docs/build/html/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.article_extract.html delete mode 100644 docs/build/html/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.check_required.html delete mode 100644 docs/build/html/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.custom_extract.html delete mode 100644 docs/build/html/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.custom_filter_raw.html delete mode 100644 docs/build/html/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.custom_filter_soup.html delete mode 100644 docs/build/html/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.extract.html delete mode 100644 docs/build/html/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.extract_soup.html delete mode 100644 docs/build/html/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.filter_raw.html delete mode 100644 docs/build/html/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.filter_soup.html delete mode 100644 docs/build/html/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.html delete mode 100644 docs/build/html/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.preprocess.html delete mode 100644 docs/build/html/generated/Processor.App.ArticleUtils.article_extractor.html delete mode 100644 docs/build/html/generated/Processor.App.ArticleUtils.article_utils.html delete mode 100644 docs/build/html/generated/Processor.App.ArticleUtils.html delete mode 100644 docs/build/html/generated/Processor.App.Downloader.downloader.Downloader.__init__.html delete mode 100644 docs/build/html/generated/Processor.App.Downloader.downloader.Downloader.download.html delete mode 100644 docs/build/html/generated/Processor.App.Downloader.downloader.Downloader.html delete mode 100644 docs/build/html/generated/Processor.App.Downloader.downloader.DownloaderFull.__init__.html delete mode 100644 docs/build/html/generated/Processor.App.Downloader.downloader.DownloaderFull.aclose.html delete mode 100644 docs/build/html/generated/Processor.App.Downloader.downloader.DownloaderFull.aopen.html delete mode 100644 docs/build/html/generated/Processor.App.Downloader.downloader.DownloaderFull.download.html delete mode 100644 docs/build/html/generated/Processor.App.Downloader.downloader.DownloaderFull.html delete mode 100644 docs/build/html/generated/Processor.App.Downloader.downloader.DownloaderFull.unwrap.html delete mode 100644 docs/build/html/generated/Processor.App.Downloader.downloader.html delete mode 100644 docs/build/html/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.__init__.html delete mode 100644 docs/build/html/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.download.html delete mode 100644 docs/build/html/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.extract_url.html delete mode 100644 docs/build/html/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.extract_year.html delete mode 100644 docs/build/html/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.html delete mode 100644 docs/build/html/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.mine_metadata.html delete mode 100644 docs/build/html/generated/Processor.App.Downloader.dummy_downloader.html delete mode 100644 docs/build/html/generated/Processor.App.Downloader.html delete mode 100644 docs/build/html/generated/Processor.App.Extractor.dummy_extractor.Extractor.__init__.html delete mode 100644 docs/build/html/generated/Processor.App.Extractor.dummy_extractor.Extractor.extract.html delete mode 100644 docs/build/html/generated/Processor.App.Extractor.dummy_extractor.Extractor.extract_soup.html delete mode 100644 docs/build/html/generated/Processor.App.Extractor.dummy_extractor.Extractor.filter_raw.html delete mode 100644 docs/build/html/generated/Processor.App.Extractor.dummy_extractor.Extractor.filter_soup.html delete mode 100644 docs/build/html/generated/Processor.App.Extractor.dummy_extractor.Extractor.html delete mode 100644 docs/build/html/generated/Processor.App.Extractor.dummy_extractor.Extractor.preprocess.html delete mode 100644 docs/build/html/generated/Processor.App.Extractor.dummy_extractor.html delete mode 100644 docs/build/html/generated/Processor.App.Extractor.extractor.BaseExtractor.__init__.html delete mode 100644 docs/build/html/generated/Processor.App.Extractor.extractor.BaseExtractor.extract.html delete mode 100644 docs/build/html/generated/Processor.App.Extractor.extractor.BaseExtractor.extract_soup.html delete mode 100644 docs/build/html/generated/Processor.App.Extractor.extractor.BaseExtractor.filter_raw.html delete mode 100644 docs/build/html/generated/Processor.App.Extractor.extractor.BaseExtractor.filter_soup.html delete mode 100644 docs/build/html/generated/Processor.App.Extractor.extractor.BaseExtractor.html delete mode 100644 docs/build/html/generated/Processor.App.Extractor.extractor.BaseExtractor.preprocess.html delete mode 100644 docs/build/html/generated/Processor.App.Extractor.extractor.html delete mode 100644 docs/build/html/generated/Processor.App.Extractor.extractor_utils.html delete mode 100644 docs/build/html/generated/Processor.App.Extractor.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.dummy_streamer.DummyStreamer.__init__.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.dummy_streamer.DummyStreamer.clean_up.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.dummy_streamer.DummyStreamer.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.dummy_streamer.DummyStreamer.stream.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.dummy_streamer.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.outstreamer.OutStreamer.__init__.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.outstreamer.OutStreamer.clean_up.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.outstreamer.OutStreamer.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.outstreamer.OutStreamer.stream.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.outstreamer.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.__init__.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.clean_up.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.get_file_name.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.metadata_to_string.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.stream.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.__init__.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.clean_up.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.get_file_name.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.metadata_to_string.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.stream.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileJSON.__init__.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileJSON.clean_up.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileJSON.get_file_name.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileJSON.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileJSON.metadata_to_string.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileJSON.stream.html delete mode 100644 docs/build/html/generated/Processor.App.OutStreamer.stream_to_file.html delete mode 100644 docs/build/html/generated/Processor.App.Pipeline.html delete mode 100644 docs/build/html/generated/Processor.App.Pipeline.pipeline.ProcessorPipeline.__init__.html delete mode 100644 docs/build/html/generated/Processor.App.Pipeline.pipeline.ProcessorPipeline.html delete mode 100644 docs/build/html/generated/Processor.App.Pipeline.pipeline.ProcessorPipeline.process_domain_record.html delete mode 100644 docs/build/html/generated/Processor.App.Pipeline.pipeline.html delete mode 100644 docs/build/html/generated/Processor.App.Router.html delete mode 100644 docs/build/html/generated/Processor.App.Router.router.Route.__init__.html delete mode 100644 docs/build/html/generated/Processor.App.Router.router.Route.html delete mode 100644 docs/build/html/generated/Processor.App.Router.router.Router.__init__.html delete mode 100644 docs/build/html/generated/Processor.App.Router.router.Router.html delete mode 100644 docs/build/html/generated/Processor.App.Router.router.Router.load_module.html delete mode 100644 docs/build/html/generated/Processor.App.Router.router.Router.load_modules.html delete mode 100644 docs/build/html/generated/Processor.App.Router.router.Router.register_route.html delete mode 100644 docs/build/html/generated/Processor.App.Router.router.Router.register_routes.html delete mode 100644 docs/build/html/generated/Processor.App.Router.router.Router.route.html delete mode 100644 docs/build/html/generated/Processor.App.Router.router.html delete mode 100644 docs/build/html/generated/Processor.App.html delete mode 100644 docs/build/html/generated/Processor.App.processor_utils.DomainRecord.__init__.html delete mode 100644 docs/build/html/generated/Processor.App.processor_utils.DomainRecord.html delete mode 100644 docs/build/html/generated/Processor.App.processor_utils.PipeMetadata.__init__.html delete mode 100644 docs/build/html/generated/Processor.App.processor_utils.PipeMetadata.html delete mode 100644 docs/build/html/generated/Processor.App.processor_utils.html delete mode 100644 docs/build/html/generated/Processor.html delete mode 100644 docs/build/html/generated/Processor.process_article.html delete mode 100644 docs/build/html/generated/Processor.processor.Listener.__init__.html delete mode 100644 docs/build/html/generated/Processor.processor.Listener.html delete mode 100644 docs/build/html/generated/Processor.processor.Listener.on_before_message.html delete mode 100644 docs/build/html/generated/Processor.processor.Listener.on_connected.html delete mode 100644 docs/build/html/generated/Processor.processor.Listener.on_connecting.html delete mode 100644 docs/build/html/generated/Processor.processor.Listener.on_disconnected.html delete mode 100644 docs/build/html/generated/Processor.processor.Listener.on_disconnecting.html delete mode 100644 docs/build/html/generated/Processor.processor.Listener.on_error.html delete mode 100644 docs/build/html/generated/Processor.processor.Listener.on_heartbeat.html delete mode 100644 docs/build/html/generated/Processor.processor.Listener.on_heartbeat_timeout.html delete mode 100644 docs/build/html/generated/Processor.processor.Listener.on_message.html delete mode 100644 docs/build/html/generated/Processor.processor.Listener.on_receipt.html delete mode 100644 docs/build/html/generated/Processor.processor.Listener.on_receiver_loop_completed.html delete mode 100644 docs/build/html/generated/Processor.processor.Listener.on_send.html delete mode 100644 docs/build/html/generated/Processor.processor.ListnerStats.__init__.html delete mode 100644 docs/build/html/generated/Processor.processor.ListnerStats.html delete mode 100644 docs/build/html/generated/Processor.processor.Message.__init__.html delete mode 100644 docs/build/html/generated/Processor.processor.Message.html delete mode 100644 docs/build/html/generated/Processor.processor.html delete mode 100644 docs/build/html/installation.html delete mode 100644 docs/build/html/quickstart/artemis-queue.html delete mode 100644 docs/build/html/quickstart/download_article.html delete mode 100644 docs/build/html/quickstart/index.html delete mode 100644 docs/build/html/quickstart/installation.html delete mode 100644 docs/build/html/quickstart/middleware.html delete mode 100644 docs/build/html/quickstart/overview.html delete mode 100644 docs/build/html/quickstart/quick-start.html delete mode 100644 docs/build/index.html delete mode 100644 docs/source/generated/Aggregator.App.index_query.DomainCrawl.__init__.rst delete mode 100644 docs/source/generated/Aggregator.App.index_query.DomainCrawl.rst delete mode 100644 docs/source/generated/Aggregator.App.index_query.DomainRecord.__init__.rst delete mode 100644 docs/source/generated/Aggregator.App.index_query.DomainRecord.rst delete mode 100644 docs/source/generated/Aggregator.App.index_query.IndexAggregator.__init__.rst delete mode 100644 docs/source/generated/Aggregator.App.index_query.IndexAggregator.aclose.rst delete mode 100644 docs/source/generated/Aggregator.App.index_query.IndexAggregator.aopen.rst delete mode 100644 docs/source/generated/Aggregator.App.index_query.IndexAggregator.get_all_CC_indexes.rst delete mode 100644 docs/source/generated/Aggregator.App.index_query.IndexAggregator.get_captured_responses.rst delete mode 100644 docs/source/generated/Aggregator.App.index_query.IndexAggregator.get_number_of_pages.rst delete mode 100644 docs/source/generated/Aggregator.App.index_query.IndexAggregator.rst delete mode 100644 docs/source/generated/Aggregator.App.index_query.RetrieveResponse.__init__.rst delete mode 100644 docs/source/generated/Aggregator.App.index_query.RetrieveResponse.rst delete mode 100644 docs/source/generated/Aggregator.App.index_query.rst delete mode 100644 docs/source/generated/Aggregator.App.ndjson_decoder.Decoder.__init__.rst delete mode 100644 docs/source/generated/Aggregator.App.ndjson_decoder.Decoder.decode.rst delete mode 100644 docs/source/generated/Aggregator.App.ndjson_decoder.Decoder.raw_decode.rst delete mode 100644 docs/source/generated/Aggregator.App.ndjson_decoder.Decoder.rst delete mode 100644 docs/source/generated/Aggregator.App.ndjson_decoder.rst delete mode 100644 docs/source/generated/Aggregator.App.rst delete mode 100644 docs/source/generated/Aggregator.App.utils.rst delete mode 100644 docs/source/generated/Aggregator.aggregator.rst delete mode 100644 docs/source/generated/Aggregator.rst delete mode 100644 docs/source/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.__init__.rst delete mode 100644 docs/source/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.article_extract.rst delete mode 100644 docs/source/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.check_required.rst delete mode 100644 docs/source/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.custom_extract.rst delete mode 100644 docs/source/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.custom_filter_raw.rst delete mode 100644 docs/source/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.custom_filter_soup.rst delete mode 100644 docs/source/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.extract.rst delete mode 100644 docs/source/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.extract_soup.rst delete mode 100644 docs/source/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.filter_raw.rst delete mode 100644 docs/source/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.filter_soup.rst delete mode 100644 docs/source/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.preprocess.rst delete mode 100644 docs/source/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.rst delete mode 100644 docs/source/generated/Processor.App.ArticleUtils.article_extractor.rst delete mode 100644 docs/source/generated/Processor.App.ArticleUtils.article_utils.rst delete mode 100644 docs/source/generated/Processor.App.ArticleUtils.rst delete mode 100644 docs/source/generated/Processor.App.Downloader.downloader.Downloader.__init__.rst delete mode 100644 docs/source/generated/Processor.App.Downloader.downloader.Downloader.download.rst delete mode 100644 docs/source/generated/Processor.App.Downloader.downloader.Downloader.rst delete mode 100644 docs/source/generated/Processor.App.Downloader.downloader.DownloaderFull.__init__.rst delete mode 100644 docs/source/generated/Processor.App.Downloader.downloader.DownloaderFull.aclose.rst delete mode 100644 docs/source/generated/Processor.App.Downloader.downloader.DownloaderFull.aopen.rst delete mode 100644 docs/source/generated/Processor.App.Downloader.downloader.DownloaderFull.download.rst delete mode 100644 docs/source/generated/Processor.App.Downloader.downloader.DownloaderFull.rst delete mode 100644 docs/source/generated/Processor.App.Downloader.downloader.DownloaderFull.unwrap.rst delete mode 100644 docs/source/generated/Processor.App.Downloader.downloader.rst delete mode 100644 docs/source/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.__init__.rst delete mode 100644 docs/source/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.download.rst delete mode 100644 docs/source/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.extract_url.rst delete mode 100644 docs/source/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.extract_year.rst delete mode 100644 docs/source/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.mine_metadata.rst delete mode 100644 docs/source/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.rst delete mode 100644 docs/source/generated/Processor.App.Downloader.dummy_downloader.rst delete mode 100644 docs/source/generated/Processor.App.Downloader.rst delete mode 100644 docs/source/generated/Processor.App.Extractor.dummy_extractor.Extractor.__init__.rst delete mode 100644 docs/source/generated/Processor.App.Extractor.dummy_extractor.Extractor.extract.rst delete mode 100644 docs/source/generated/Processor.App.Extractor.dummy_extractor.Extractor.extract_soup.rst delete mode 100644 docs/source/generated/Processor.App.Extractor.dummy_extractor.Extractor.filter_raw.rst delete mode 100644 docs/source/generated/Processor.App.Extractor.dummy_extractor.Extractor.filter_soup.rst delete mode 100644 docs/source/generated/Processor.App.Extractor.dummy_extractor.Extractor.preprocess.rst delete mode 100644 docs/source/generated/Processor.App.Extractor.dummy_extractor.Extractor.rst delete mode 100644 docs/source/generated/Processor.App.Extractor.dummy_extractor.rst delete mode 100644 docs/source/generated/Processor.App.Extractor.extractor.BaseExtractor.__init__.rst delete mode 100644 docs/source/generated/Processor.App.Extractor.extractor.BaseExtractor.extract.rst delete mode 100644 docs/source/generated/Processor.App.Extractor.extractor.BaseExtractor.extract_soup.rst delete mode 100644 docs/source/generated/Processor.App.Extractor.extractor.BaseExtractor.filter_raw.rst delete mode 100644 docs/source/generated/Processor.App.Extractor.extractor.BaseExtractor.filter_soup.rst delete mode 100644 docs/source/generated/Processor.App.Extractor.extractor.BaseExtractor.preprocess.rst delete mode 100644 docs/source/generated/Processor.App.Extractor.extractor.BaseExtractor.rst delete mode 100644 docs/source/generated/Processor.App.Extractor.extractor.rst delete mode 100644 docs/source/generated/Processor.App.Extractor.extractor_utils.rst delete mode 100644 docs/source/generated/Processor.App.Extractor.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.dummy_streamer.DummyStreamer.__init__.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.dummy_streamer.DummyStreamer.clean_up.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.dummy_streamer.DummyStreamer.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.dummy_streamer.DummyStreamer.stream.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.dummy_streamer.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.outstreamer.OutStreamer.__init__.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.outstreamer.OutStreamer.clean_up.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.outstreamer.OutStreamer.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.outstreamer.OutStreamer.stream.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.outstreamer.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.__init__.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.clean_up.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.get_file_name.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.metadata_to_string.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.stream.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.__init__.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.clean_up.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.get_file_name.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.metadata_to_string.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.stream.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileJSON.__init__.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileJSON.clean_up.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileJSON.get_file_name.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileJSON.metadata_to_string.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileJSON.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileJSON.stream.rst delete mode 100644 docs/source/generated/Processor.App.OutStreamer.stream_to_file.rst delete mode 100644 docs/source/generated/Processor.App.Pipeline.pipeline.ProcessorPipeline.__init__.rst delete mode 100644 docs/source/generated/Processor.App.Pipeline.pipeline.ProcessorPipeline.process_domain_record.rst delete mode 100644 docs/source/generated/Processor.App.Pipeline.pipeline.ProcessorPipeline.rst delete mode 100644 docs/source/generated/Processor.App.Pipeline.pipeline.rst delete mode 100644 docs/source/generated/Processor.App.Pipeline.rst delete mode 100644 docs/source/generated/Processor.App.Router.router.Route.__init__.rst delete mode 100644 docs/source/generated/Processor.App.Router.router.Route.rst delete mode 100644 docs/source/generated/Processor.App.Router.router.Router.__init__.rst delete mode 100644 docs/source/generated/Processor.App.Router.router.Router.load_module.rst delete mode 100644 docs/source/generated/Processor.App.Router.router.Router.load_modules.rst delete mode 100644 docs/source/generated/Processor.App.Router.router.Router.register_route.rst delete mode 100644 docs/source/generated/Processor.App.Router.router.Router.register_routes.rst delete mode 100644 docs/source/generated/Processor.App.Router.router.Router.route.rst delete mode 100644 docs/source/generated/Processor.App.Router.router.Router.rst delete mode 100644 docs/source/generated/Processor.App.Router.router.rst delete mode 100644 docs/source/generated/Processor.App.Router.rst delete mode 100644 docs/source/generated/Processor.App.processor_utils.DomainRecord.__init__.rst delete mode 100644 docs/source/generated/Processor.App.processor_utils.DomainRecord.rst delete mode 100644 docs/source/generated/Processor.App.processor_utils.PipeMetadata.__init__.rst delete mode 100644 docs/source/generated/Processor.App.processor_utils.PipeMetadata.rst delete mode 100644 docs/source/generated/Processor.App.processor_utils.rst delete mode 100644 docs/source/generated/Processor.App.rst delete mode 100644 docs/source/generated/Processor.process_article.rst delete mode 100644 docs/source/generated/Processor.processor.Listener.__init__.rst delete mode 100644 docs/source/generated/Processor.processor.Listener.on_before_message.rst delete mode 100644 docs/source/generated/Processor.processor.Listener.on_connected.rst delete mode 100644 docs/source/generated/Processor.processor.Listener.on_connecting.rst delete mode 100644 docs/source/generated/Processor.processor.Listener.on_disconnected.rst delete mode 100644 docs/source/generated/Processor.processor.Listener.on_disconnecting.rst delete mode 100644 docs/source/generated/Processor.processor.Listener.on_error.rst delete mode 100644 docs/source/generated/Processor.processor.Listener.on_heartbeat.rst delete mode 100644 docs/source/generated/Processor.processor.Listener.on_heartbeat_timeout.rst delete mode 100644 docs/source/generated/Processor.processor.Listener.on_message.rst delete mode 100644 docs/source/generated/Processor.processor.Listener.on_receipt.rst delete mode 100644 docs/source/generated/Processor.processor.Listener.on_receiver_loop_completed.rst delete mode 100644 docs/source/generated/Processor.processor.Listener.on_send.rst delete mode 100644 docs/source/generated/Processor.processor.Listener.rst delete mode 100644 docs/source/generated/Processor.processor.ListnerStats.__init__.rst delete mode 100644 docs/source/generated/Processor.processor.ListnerStats.rst delete mode 100644 docs/source/generated/Processor.processor.Message.__init__.rst delete mode 100644 docs/source/generated/Processor.processor.Message.rst delete mode 100644 docs/source/generated/Processor.processor.rst delete mode 100644 docs/source/generated/Processor.rst delete mode 100644 docs/source/installation.rst delete mode 100644 docs/source/quickstart/artemis-queue.rst delete mode 100644 docs/source/quickstart/index.rst delete mode 100644 docs/source/quickstart/overview.rst delete mode 100644 docs/source/quickstart/quick-start.rst diff --git a/cmoncrawl/aggregator/index_query.py b/cmoncrawl/aggregator/index_query.py index 009d76e7..afc53b1d 100644 --- a/cmoncrawl/aggregator/index_query.py +++ b/cmoncrawl/aggregator/index_query.py @@ -24,7 +24,7 @@ MatchType, ) -from aiohttp import ClientError, ClientSession, ContentTypeError +from aiohttp import ClientError, ClientSession, ContentTypeError, ServerConnectionError import asyncio import random @@ -32,6 +32,33 @@ class IndexAggregator(AsyncIterable[DomainRecord]): + """ + This class is responsible for aggregating the index files from commoncrawl. + It is an async context manager which can then be used as an async iterator + which yields DomainRecord objects, found in the index files of commoncrawl. + + It uses the commoncrawl index server to find the index files. + + + Args: + domains (List[str]): A list of domains to search for. + cc_indexes_server (str, optional): The commoncrawl index server to use. Defaults to "http://index.commoncrawl.org/collinfo.json". + match_type (MatchType, optional): Match type for cdx-api. Defaults to None. + cc_servers (List[str], optional): A list of commoncrawl servers to use. If [], then indexes will be retrieved from the cc_indexes_server. Defaults to []. + since (datetime, optional): The start date for the search. Defaults to datetime.min. + to (datetime, optional): The end date for the search. Defaults to datetime.max. + limit (int, optional): The maximum number of results to return. Defaults to None. + max_retry (int, optional): The maximum number of retries for a single request. Defaults to 5. + prefetch_size (int, optional): The number of indexes to fetch concurrently. Defaults to 3. + sleep_step (int, optional): Sleep increase time between retries. Defaults to 20. + + Examples: + >>> async with IndexAggregator(["example.com"]) as aggregator: + >>> async for domain_record in aggregator: + >>> print(domain_record) + + """ + def __init__( self, domains: List[str], @@ -142,21 +169,20 @@ def should_retry(retry: int, reason: str, status: int, **args: Any): if not should_retry(retry, reason, status, **args): break else: - try: - content = await response.json( - content_type=content_type, loads=Decoder().decode - ) - except ContentTypeError as e: - all_purpose_logger.error(str(e), exc_info=True) - all_purpose_logger.error(e.message, exc_info=True) - all_purpose_logger.error(response.content) - break + content = await response.json( + content_type=content_type, loads=Decoder().decode + ) all_purpose_logger.info( f"Successfully retrieved page of {domain} from {cdx_server} add_info: {args}" ) break - except (ClientError, TimeoutError) as e: + except ( + ClientError, + TimeoutError, + ServerConnectionError, + ContentTypeError, + ) as e: reason = f"{type(e)} {str(e)}" if not should_retry(retry, reason, 500, **args): break @@ -251,6 +277,9 @@ async def get_captured_responses( @staticmethod async def get_all_CC_indexes(client: ClientSession, cdx_server: str) -> List[str]: + """ + Get all CC index servers from a given CDX server + """ for _ in range(3): async with client.get(cdx_server) as response: r_json = await response.json(content_type="application/json") @@ -308,6 +337,9 @@ def init_crawls_queue( ) async def __prefetch_next_crawl(self) -> int: + """ + Prefetch the next index server + """ while len(self.__crawls_remaining) > 0: next_crawl = self.__crawls_remaining.popleft() @@ -333,6 +365,9 @@ async def __prefetch_next_crawl(self) -> int: return 0 async def __await_next_prefetch(self): + """ + Gets the next index retry + """ # Wait for the next prefetch to finish # Don't prefetch if limit is set to avoid overfetching while len(self.__crawls_remaining) > 0 and ( diff --git a/cmoncrawl/common/types.py b/cmoncrawl/common/types.py index 65772fa0..eb0a994a 100644 --- a/cmoncrawl/common/types.py +++ b/cmoncrawl/common/types.py @@ -12,6 +12,10 @@ @dataclass_json @dataclass class DomainRecord: + """ + Domain record. + """ + filename: str url: str | None offset: int @@ -42,6 +46,10 @@ def __post_init__(self): @dataclass class RetrieveResponse: + """ + Response from retrieve. + """ + status: int content: Any reason: None | str @@ -49,6 +57,10 @@ class RetrieveResponse: @dataclass class DomainCrawl: + """ + Domain crawl. + """ + domain: str = "" cdx_server: str = "" page: int = 0 diff --git a/cmoncrawl/integrations/commands.py b/cmoncrawl/integrations/commands.py index d83e8af3..34ac6d6f 100644 --- a/cmoncrawl/integrations/commands.py +++ b/cmoncrawl/integrations/commands.py @@ -10,7 +10,9 @@ def add_args(parser: argparse.ArgumentParser): - parser.add_argument("--debug", action="store_true", default=False) + parser.add_argument( + "--debug", action="store_true", default=False, help="Debug mode" + ) return parser @@ -23,7 +25,9 @@ def add_subparsers(parser: Any): def get_args(): parser = argparse.ArgumentParser() - subparser = parser.add_subparsers(dest="command", required=True) + subparser = parser.add_subparsers( + dest="command", required=True, help="Command to run" + ) add_subparsers(subparser) return parser diff --git a/cmoncrawl/integrations/download.py b/cmoncrawl/integrations/download.py index f1e2dfe2..faeb3e1e 100644 --- a/cmoncrawl/integrations/download.py +++ b/cmoncrawl/integrations/download.py @@ -8,7 +8,7 @@ from cmoncrawl.processor.pipeline.pipeline import ProcessorPipeline from cmoncrawl.processor.pipeline.streamer import StreamerFileHTML from cmoncrawl.processor.pipeline.extractor import HTMLExtractor, DomainRecordExtractor -from cmoncrawl.middleware.synchronized import index_and_extract +from cmoncrawl.middleware.synchronized import query_and_extract import argparse import asyncio from cmoncrawl.processor.pipeline.streamer import ( @@ -24,35 +24,83 @@ class DownloadOutputFormat(Enum): def add_mode_args(subparser: Any): - record_parser = subparser.add_parser(DownloadOutputFormat.RECORD.value) - record_parser.add_argument("--max_crawls_per_file", type=int, default=500_000) - subparser.add_parser(DownloadOutputFormat.HTML.value) + record_parser = subparser.add_parser( + DownloadOutputFormat.RECORD.value, + help="Download record files from Common Crawl", + ) + record_parser.add_argument( + "--max_crawls_per_file", + type=int, + default=500_000, + help="Max number of domain records per file output", + ) + subparser.add_parser( + DownloadOutputFormat.HTML.value, help="Download HTML files from Common Crawl" + ) return subparser def add_args(subparser: Any): - parser = subparser.add_parser("download") - parser.add_argument("url") - parser.add_argument("output", type=Path) - mode_subparser = parser.add_subparsers(dest="mode", required=True) + parser = subparser.add_parser("download", help="Download data from Common Crawl") + parser.add_argument("url", type=str, help="URL to query") + parser.add_argument("output", type=Path, help="Path to output directory") + mode_subparser = parser.add_subparsers( + dest="mode", required=True, help="Download mode" + ) mode_subparser = add_mode_args(mode_subparser) - parser.add_argument("--limit", type=int, default=5) parser.add_argument( - "--since", type=datetime.fromisoformat, default=str(datetime.min) + "--limit", type=int, default=5, help="Max number of urls to download" + ) + parser.add_argument( + "--since", + type=datetime.fromisoformat, + default=str(datetime.min), + help="Start date in ISO format e.g. 2020-01-01", + ) + parser.add_argument( + "--to", + type=datetime.fromisoformat, + default=str(datetime.max), + help="End date in ISO format e.g. 2020-01-01", + ) + parser.add_argument( + "--cc_server", + nargs="+", + type=str, + default=None, + help="Common Crawl indexes to query, must provide whole url e.g. https://index.commoncrawl.org/CC-MAIN-2023-14-index", + ) + parser.add_argument( + "--max_retry", + type=int, + default=30, + help="Max number of retries for a request, when the requests are failing increase this number", + ) + parser.add_argument( + "--sleep_step", + type=int, + default=4, + help="Number of increased second to add to sleep time between each failed download attempt, increase this number if the server tell you to slow down", ) - parser.add_argument("--to", type=datetime.fromisoformat, default=str(datetime.max)) - parser.add_argument("--cc_server", nargs="+", type=str, default=None) - parser.add_argument("--max_retry", type=int, default=30) - parser.add_argument("--sleep_step", type=int, default=4) # Add option to output to either json or html parser.add_argument( "--match_type", type=MatchType, choices=list(MatchType.__members__.values()), - default=MatchType.PREFIX, + help="Match type for the url, see cdx-api for more info", + ) + parser.add_argument( + "--max_directory_size", + type=int, + default=1000, + help="Max number of files per directory", + ) + parser.add_argument( + "--filter_non_200", + action="store_true", + default=True, + help="Filter out non 200 status code", ) - parser.add_argument("--max_directory_size", type=int, default=1000) - parser.add_argument("--filter_non_200", action="store_true", default=True) parser.set_defaults(func=run_download) @@ -123,7 +171,7 @@ async def url_download( max_retry=max_retry, sleep_step=sleep_step, ) - await index_and_extract(index_agg, pipeline) + await query_and_extract(index_agg, pipeline) def run_download(args: argparse.Namespace): diff --git a/cmoncrawl/integrations/extract.py b/cmoncrawl/integrations/extract.py index efadcce5..25bad429 100644 --- a/cmoncrawl/integrations/extract.py +++ b/cmoncrawl/integrations/extract.py @@ -27,30 +27,72 @@ class ExtractMode(Enum): def add_mode_args(subparser: Any): - record_parser = subparser.add_parser(ExtractMode.RECORD.value) - record_parser.add_argument("--max_retry", type=int, default=30) - record_parser.add_argument("--sleep_step", type=int, default=4) + record_parser = subparser.add_parser( + ExtractMode.RECORD.value, help="Extract data from jsonl record files" + ) + record_parser.add_argument( + "--max_retry", type=int, default=30, help="Max number of warc download attempts" + ) + record_parser.add_argument( + "--sleep_step", + type=int, + default=4, + help="Number of increased second to add to sleep time between each failed download attempt", + ) - html_parser = subparser.add_parser(ExtractMode.HTML.value) + html_parser = subparser.add_parser( + ExtractMode.HTML.value, help="Extract data from HTML files" + ) html_parser.add_argument( - "--date", type=datetime.fromisoformat, default=str(datetime.now()) + "--date", + type=datetime.fromisoformat, + default=str(datetime.now()), + help="Date of extraction of HTML files in iso format e.g. 2021-01-01, default is today", + ) + html_parser.add_argument( + "--url", + type=str, + default="", + help="URL from which the HTML files were downloaded, by default it will try to infer from file content", ) - html_parser.add_argument("--url", type=str, default="") return subparser def add_args(subparser: Any): - parser = subparser.add_parser("extract") + parser = subparser.add_parser( + "extract", help="Extract data from records/html files" + ) parser.add_argument( "config_path", type=Path, + help="Path to config file containing extraction rules", + ) + parser.add_argument("output_path", type=Path, help="Path to output directory") + parser.add_argument( + "files", nargs="+", type=Path, help="Files to extract data from" + ) + parser.add_argument( + "--max_crawls_per_file", + type=int, + default=500_000, + help="Max number of extractions per file output", + ) + parser.add_argument( + "--max_directory_size", + type=int, + default=1000, + help="Max number of extraction files per directory", + ) + parser.add_argument( + "--n_proc", + type=int, + default=1, + help="Number of processes to use for extraction. The paralelization is on file level, thus for single file it's useless to use more than one process.", + ) + + mode_subparser = parser.add_subparsers( + dest="mode", required=True, help="Extraction mode" ) - parser.add_argument("output_path", type=Path) - parser.add_argument("files", nargs="+", type=Path) - parser.add_argument("--max_crawls_per_file", type=int, default=500_000) - parser.add_argument("--max_directory_size", type=int, default=1000) - parser.add_argument("--n_proc", type=int, default=1) - mode_subparser = parser.add_subparsers(dest="mode", required=True) mode_subparser = add_mode_args(mode_subparser) parser.set_defaults(func=run_extract) @@ -91,7 +133,7 @@ def get_domain_records_html( url: str | None, date: datetime | None ) -> List[Tuple[DomainRecord, Dict[str, Any]]]: # Just return dummy as correct crawl will be loaded from dummy downloader - return [DomainRecord("", url=url, offset=0, length=0, timestamp=date), {}] + return [(DomainRecord("", url=url, offset=0, length=0, timestamp=date), {})] def load_config(config_path: Path) -> ExtractConfig: diff --git a/cmoncrawl/middleware/stompware.py b/cmoncrawl/middleware/stompware.py index 59140885..0f054fe2 100644 --- a/cmoncrawl/middleware/stompware.py +++ b/cmoncrawl/middleware/stompware.py @@ -35,6 +35,23 @@ class ListnerStats: class ArtemisAggregator: + """ + Aggregator that listens queries the common crawl index and sends the results to a queue + using the stomp protocol. It the creates a queue + with name `queue.{url}` and sends the results to it. + It also creates a topic with name `topic.poisson_pill.{url}` + and sends a message with type `poisson_pill` to it when it finishes. + + Args: + queue_host (str): The host of the queue + queue_port (int): The port of the queue + url (str): The url of the queue + index_agg (IndexAggregator): The index aggregator + heartbeat (int, optional): The heartbeat of the connection. Defaults to 10000. + + + """ + def __init__( self, queue_host: str, @@ -59,6 +76,11 @@ def _init_connection(self): return conn async def aggregate(self, filter_duplicates: bool = True): + """ + Aggregates the results of the index aggregator and sends them to the queue. + If `filter_duplicates` is True, it will use the `DUPL_ID_HEADER` header, + which Artemis uses to filter duplicates. + """ while True: try: conn = self._init_connection() @@ -104,6 +126,24 @@ async def aggregate(self, filter_duplicates: bool = True): class ArtemisProcessor: + """ + Processor that listens to a queues and processes the messages using a pipeline. + When it receives a message with type enough `poisson_pill` messages, it will + stop listening if it doesn't receive any messages for `timeout` minutes. + + + Args: + queue_host (str): The host of the queue + queue_port (int): The port of the queue + pills_to_die (int, optional): The number of `poisson_pill` messages to receive before dying. Defaults to None. + queue_size (int): The size of the queue + timeout (int): The timeout in minutes + addresses (List[str]): The addresses of the queues + pipeline (ProcessorPipeline): The pipeline to use for processing + heartbeat (int, optional): The heartbeat of the connection. Defaults to 10000. + + """ + def __init__( self, queue_host: str, diff --git a/cmoncrawl/middleware/synchronized.py b/cmoncrawl/middleware/synchronized.py index bb300ea1..74db062f 100644 --- a/cmoncrawl/middleware/synchronized.py +++ b/cmoncrawl/middleware/synchronized.py @@ -9,11 +9,22 @@ import asyncio -async def index_and_extract( +async def query_and_extract( index_agg: IndexAggregator, pipeline: ProcessorPipeline, filter_non_unique_url: bool = False, ): + """ + Query the index and extracts the results using the pipeline + + Args: + index_agg (IndexAggregator): Index aggregator + pipeline (ProcessorPipeline): Pipeline to use + filter_non_unique_url (bool, optional): Filter non unique urls. + if True, only first successful extraction of a url will be processed, + the rest will be skipped. Defaults to False. + + """ processed_urls: Set[str] = set() total_extracted: int = 0 @@ -28,6 +39,7 @@ async def index_and_extract( try: await pipeline.process_domain_record(domain_record, {}) total_extracted += 1 + processed_urls.add(unify_url_id(url)) except KeyboardInterrupt as e: break @@ -35,13 +47,12 @@ async def index_and_extract( all_purpose_logger.error( f"Failed to process {domain_record.url} with {e}" ) - continue - processed_urls.add(unify_url_id(url)) finally: if hasattr(pipeline.downloader, "__aexit__"): await pipeline.downloader.__aexit__(None, None, None) all_purpose_logger.info(f"Extracted {total_extracted} urls") + return processed_urls async def _extract_task( @@ -66,8 +77,18 @@ async def extract( records: List[Tuple[DomainRecord, Dict[str, Any]]], pipeline: ProcessorPipeline, concurrent_length: int = 20, - timeout: int = 5, ): + """ + Extracts the records using the pipeline, with at most `concurrent_length` + records being processed at the same time. + + Args: + records (List[Tuple[DomainRecord, Dict[str, Any]]]): List of records to process and additional info + pipeline (ProcessorPipeline): Pipeline to use + concurrent_length (int, optional): Number of concurrent records to process. + Defaults to 20. + + """ domain_records_iterator = iter(tqdm(records)) domains_exausted = False total_extracted: int = 0 @@ -90,9 +111,7 @@ async def extract( ) ) - done, queue = await asyncio.wait( - queue, timeout=timeout, return_when=asyncio.FIRST_COMPLETED - ) + done, queue = await asyncio.wait(queue, return_when=asyncio.FIRST_COMPLETED) for task in done: try: await task diff --git a/cmoncrawl/processor/extraction/filters.py b/cmoncrawl/processor/extraction/filters.py index 5e0e6405..4469c63f 100644 --- a/cmoncrawl/processor/extraction/filters.py +++ b/cmoncrawl/processor/extraction/filters.py @@ -7,6 +7,11 @@ def must_exist_filter(soup: BeautifulSoup, filter_list: List[str]): This function takes in a BeautifulSoup object and a list of CSS selectors. If all selectors are found in the soup, this function returns True. + + Args: + soup (BeautifulSoup): BeautifulSoup object + filter_list (List[str]): List of CSS selectors + """ must_exist = [soup.select_one(css_selector) for css_selector in filter_list] if any(map(lambda x: x is None, must_exist)): @@ -20,6 +25,9 @@ def must_not_exist_filter(soup: BeautifulSoup, filter_list: List[str]): This function takes in a BeautifulSoup object and a list of CSS selectors. If any selector is found in the soup, this function returns False. + Args: + soup (BeautifulSoup): BeautifulSoup object + filter_list (List[str]): List of CSS selectors """ must_not_exist = [soup.select_one(css_selector) for css_selector in filter_list] if any(map(lambda x: x is not None, must_not_exist)): diff --git a/cmoncrawl/processor/extraction/utils.py b/cmoncrawl/processor/extraction/utils.py index 6852308e..b0b4ffc1 100644 --- a/cmoncrawl/processor/extraction/utils.py +++ b/cmoncrawl/processor/extraction/utils.py @@ -18,6 +18,15 @@ def get_tag_transform(tag_desc: str): + """ + Returns a function that takes a bs4 tag and returns the first tag + that matches the tag_desc. + + Args: + tag_desc (str): CSS selector + + """ + def transform(tag: Tag): return tag.select_one(tag_desc) @@ -25,6 +34,15 @@ def transform(tag: Tag): def get_tags_transform(tag_desc: str): + """ + Returns a function that takes a bs4 tag and returns a list of tags + that match the tag_desc. + + Args: + tag_desc (str): CSS selector + + """ + def transform(tag: Tag): return tag.select(tag_desc) @@ -32,6 +50,14 @@ def transform(tag: Tag): def get_attribute_transform(attr_name: str): + """ + Returns a function that takes a bs4 tag and returns the value + of the attribute `attr_name` or None if the attribute doesn't exist. + + Args: + attr_name (str): Name of the attribute to get from the tag + """ + def transform(tag: Tag): return tag.get(attr_name, None) @@ -39,6 +65,17 @@ def transform(tag: Tag): def get_text_transform(tag: Tag, recursive: bool = True): + """ + Returns text from tag. If recursive is True then + all text from all children is returned. + + Args: + tag (Tag): bs4 tag + recursive (bool, optional): If True then all text from all children is returned. Defaults to True. + + + """ + if recursive: return tag.text tag_text = tag.find(text=True, recursive=False) @@ -49,6 +86,14 @@ def get_text_transform(tag: Tag, recursive: bool = True): def get_text_list_transform(sep: str = ""): + """ + Returns a function that takes a list of bs4 tags and returns + a string with all the text from the tags joined with `sep`. + + Args: + sep (str, optional): Separator to use when joining the text. Defaults to "". + """ + def transform(tag: List[Tag]): return sep.join([tag.text for tag in tag]) @@ -58,10 +103,30 @@ def transform(tag: List[Tag]): def all_same_transform( dict: Dict[str, Any], fc: Callable[[Any], Any] | List[Callable[[Any], Any]] ): + """ + Applies `fc` to all values in `dict` and returns a dict with same keys + but with transformed values. + + Args: + dict (Dict[str, Any]): Dict to transform. + fc (Callable[[Any], Any] | List[Callable[[Any], Any]]): Function to apply to all values in dict. + + + """ return {key: fc for key in dict.keys()} def chain_transforms(trans: List[Callable[[Any], Any]]): + """ + Chains transforms together. If any of the transforms returns None + the chain is broken and None is returned. + + Args: + trans (List[Callable[[Any], Any]]): List of transforms to chain together. + + + """ + def inner(initial_value: Any): result = initial_value for fc in trans: @@ -77,6 +142,17 @@ def transform( dict: Dict[str, Any], transforms: Dict[str, Callable[[Any], Any] | List[Callable[[Any], Any]]], ): + """ + Transforms dict using `transforms` dict. `transforms` dict is of format + `{key: [transform1, transform2, ...]}` where transform is a function that takes previous value + + Args: + dict (Dict[str, Any]): Dict to transform. + transforms (Dict[str, Callable[[Any], Any] | List[Callable[[Any], Any]]]): Dict defining + how to transform the dict. Format is "{name: [transform1, transform2, ...]}" where + transform is a function that takes previous value and returns new value. + """ + def transform_fc(key: str, value: Any): key_trans = transforms.get(key, []) if not isinstance(key_trans, list): @@ -97,6 +173,19 @@ def extract_transform( str, Callable[[Any], Any] | List[Callable[[Any], Any]] ], ) -> Dict[str, Any]: + """ + Extracts data from tag using `extract_dict` defining what to extract and how to name it, + and `extract_transform_dict` defining how to transform the extracted data. + + Args: + tag (Tag | None): Tag to extract data from. + extract_dict (Dict[str, str]): Dict defining what to extract and how to name it. format + is `{"name": "css selector"}`. + extract_transform_dict (Dict[str, Callable[[Any], Any] | List[Callable[[Any], Any]]]): Dict + defining how to transform the extracted data. Format is "{name: [transform1, transform2, ...]}" + where transform is a function that takes previous value and returns new value. + """ + if tag is None: return dict() @@ -109,6 +198,13 @@ def extract_transform( def combine_dicts(dicts: List[Dict[str, Any]]): + """ + Combines list of dictioneries into one. If there are multiple values for the same key + then the first one that is not None is chosen. + + Args: + dicts (List[Dict[str, Any]]): List of dicts to combine. + """ # Combines dicts choose the first one that is not None. def recursive_get(key: str, dicts: List[Dict[str, Any]], i: int) -> Any: if i >= len(dicts): @@ -125,6 +221,20 @@ def recursive_get(key: str, dicts: List[Dict[str, Any]], i: int) -> Any: def check_required( required_fields: Dict[str, bool], extractor_name: str, non_empty: bool = False ): + """ + Checks if required fields are present in the extracted dict. + + Args: + required_fields (Dict[str, bool]): Dict of required fields if defining which + fields must be present and which can be None. + + extractor_name (str): Name of the extractor for logging purposes. + + non_empty (bool, optional): If True then empty strings and empty lists are considered + as not present. Defaults to False. + + """ + def inner(extracted_dict: Dict[Any, Any], metadata: PipeMetadata): for key, value in required_fields.items(): if key not in extracted_dict: diff --git a/cmoncrawl/processor/pipeline/downloader.py b/cmoncrawl/processor/pipeline/downloader.py index d11d4f07..3753e65b 100644 --- a/cmoncrawl/processor/pipeline/downloader.py +++ b/cmoncrawl/processor/pipeline/downloader.py @@ -6,7 +6,7 @@ import random import re from types import TracebackType -from aiohttp import ClientError, ClientSession +from aiohttp import ClientError, ClientSession, ContentTypeError, ServerConnectionError from typing import List, Tuple, Type from aiofiles import open as asyncOpen @@ -24,6 +24,10 @@ class IDownloader: + """ + Base class for all downloaders + """ + async def download( self, domain_record: DomainRecord ) -> (List[Tuple[str, PipeMetadata]]): @@ -31,6 +35,18 @@ async def download( class AsyncDownloader(IDownloader): + """ + Downloader which asynchronously downloads the the data for the domain_record + + Args: + base_url (str, optional): Base url where to download data from. Defaults to "https://data.commoncrawl.org/". + digest_verification (bool, optional): Whether to verify the digest of the downloaded data. Defaults to True. + max_retry (int, optional): Maximum number of retries. Defaults to 5. + sleep_step (int, optional): Sleep increase time between retries. Defaults to 10. + encoding: Default encoding to be used + + """ + def __init__( self, base_url: str = "https://data.commoncrawl.org/", @@ -87,8 +103,10 @@ def should_retry(retry: int, reason: str, status: int, **args: str): except ( ClientError, TimeoutError, + ServerConnectionError, + ContentTypeError, ) as e: - if not should_retry(retry, f"{str(e)} {type(e)}", 0): + if not should_retry(retry, f"{str(e)} {type(e)}", 500): raise e await asyncio.sleep(random.randint(0, (retry + 1) * self.__sleep_step)) ret: List[Tuple[str, PipeMetadata]] = [] @@ -138,6 +156,11 @@ class DownloaderDummy(IDownloader): Dummy downloader for testing It doesn't download anything but return files passed in the constructor and extracts metadata from the file + + Args: + files (List[Path]): List of files to return + url (str, optional): Url to use for metadata. Defaults to None. + date (datetime, optional): Date to add to metadata. Defaults to None. """ def __init__( diff --git a/cmoncrawl/processor/pipeline/extractor.py b/cmoncrawl/processor/pipeline/extractor.py index c2b94fbd..4405fb33 100644 --- a/cmoncrawl/processor/pipeline/extractor.py +++ b/cmoncrawl/processor/pipeline/extractor.py @@ -8,12 +8,32 @@ class IExtractor(ABC): + """ + Base class for all extractors + """ + @abstractmethod def extract(self, response: str, metadata: PipeMetadata) -> Dict[str, Any] | None: + """ + Extracts the data from the response, if the extractor fails to extract the data it should return None + return None + + Args: + response (str): response from the downloader + metadata (PipeMetadata): Metadata of the response + """ raise NotImplementedError() class BaseExtractor(IExtractor, ABC): + """ + Base class for all soup extractors + + Args: + encoding (str, optional): Default encoding to be used. Defaults to None. + + """ + def __init__(self, encoding: str | None = None): self.encoding = encoding @@ -85,6 +105,9 @@ def preprocess(self, response: str, metadata: PipeMetadata) -> str: class HTMLExtractor(BaseExtractor): """ Dummy Extractor which simply extracts the html + + Args: + filter_non_ok (bool, optional): If True, only 200 status codes will be extracted. Defaults to True. """ def __init__(self, filter_non_ok: bool = True): @@ -116,7 +139,10 @@ def filter_raw(self, response: str, metadata: PipeMetadata): class DomainRecordExtractor(BaseExtractor): """ - Dummy Extractor which simply extracts the html + Dummy Extractor which simply extracts the domain record + + Args: + filter_non_ok (bool, optional): If True, only 200 status codes will be extracted. Defaults to True. """ def __init__(self, filter_non_ok: bool = True): diff --git a/cmoncrawl/processor/pipeline/router.py b/cmoncrawl/processor/pipeline/router.py index 69445317..d8001ed4 100644 --- a/cmoncrawl/processor/pipeline/router.py +++ b/cmoncrawl/processor/pipeline/router.py @@ -29,10 +29,17 @@ class Route: class IRouter(ABC): + """ + Base class for all routers + """ + @abstractmethod def route( self, url: str | None, time: datetime | None, metadata: PipeMetadata ) -> IExtractor: + """ + Routes the url to the correct extractor + """ raise NotImplementedError() @@ -56,6 +63,9 @@ def load_module(self, module_path: Path): return module, module_name def load_module_as_extractor(self, module_path: Path): + """ + Loads a module and returns its extractor + """ module, module_name = self.load_module(module_path) name: str = getattr(module, "NAME", module_name) extractor: IExtractor | None = getattr(module, "extractor", None) @@ -88,6 +98,16 @@ def register_route( since: datetime | None = None, to: datetime | None = None, ): + """ + Registers a route for a given extractor name and regex + + Args: + name (str): The name of the extractor + regex (Union[str, List[str]]): The regex to match against + since (datetime | None, optional): The earliest time to route to this extractor. Defaults to None. + to (datetime | None, optional): The latest time to route to this extractor. Defaults to None. + + """ if isinstance(regex, str): regex = [regex] regex_compiled = [re.compile(regex) for regex in regex] @@ -121,6 +141,14 @@ def _as_offset_aware(self, time: datetime) -> datetime: def route( self, url: str | None, time: datetime | None, metadata: PipeMetadata ) -> IExtractor: + """ + Routes the url to the correct extractor based on the url and time + + Args: + url (str | None): The url to route + time (datetime | None): The time to route + metadata (PipeMetadata): The metadata for the current pipeline + """ # check if offset naive datetime if so then convert to utc if url is None: raise ValueError("Url must not be None") diff --git a/docs/build/_templates/module.rst b/docs/build/_templates/module.rst deleted file mode 100644 index b10fefa4..00000000 --- a/docs/build/_templates/module.rst +++ /dev/null @@ -1,66 +0,0 @@ -{{ fullname | escape | underline}} - -.. automodule:: {{ fullname }} - - {% block attributes %} - {% if attributes %} - .. rubric:: Module attributes - - .. autosummary:: - :toctree: - {% for item in attributes %} - {{ item }} - {%- endfor %} - {% endif %} - {% endblock %} - - {% block functions %} - {% if functions %} - .. rubric:: {{ _('Functions') }} - - .. autosummary:: - :toctree: - :nosignatures: - {% for item in functions %} - {{ item }} - {%- endfor %} - {% endif %} - {% endblock %} - - {% block classes %} - {% if classes %} - .. rubric:: {{ _('Classes') }} - - .. autosummary:: - :toctree: - :template: class.rst - :nosignatures: - {% for item in classes %} - {{ item }} - {%- endfor %} - {% endif %} - {% endblock %} - - {% block exceptions %} - {% if exceptions %} - .. rubric:: {{ _('Exceptions') }} - - .. autosummary:: - :toctree: - {% for item in exceptions %} - {{ item }} - {%- endfor %} - {% endif %} - {% endblock %} - -{% block modules %} -{% if modules %} -.. autosummary:: - :toctree: - :template: module.rst - :recursive: -{% for item in modules %} - {{ item }} -{%- endfor %} -{% endif %} -{% endblock %} \ No newline at end of file diff --git a/docs/build/doctrees/api.doctree b/docs/build/doctrees/api.doctree index 95fbc4dc33e2ff8248630bab38b5ba43f935d32a..7b41a2df58b3610eb676567b2d4306aefcac5d25 100644 GIT binary patch delta 412 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 Qn`Q8iLBG12yPGHeKORsYk^lez literal 432023 zcmdRX37i~Nwf6ua%aENUguO#ZG6|WUtn9%olZ`BdghgON)6-ou-Ibp1rk6>E5EW4b zEFLHgDz5n4#RUaX6rcO^xhsmIpiiIA1;t&Tis*OFJ-6!C+Eur1cmL+Y_tG_0b-j=6V zW76evW4FJ1~|lFqoS=C0gYOT_{Ys;3) zcl7NoWs3O&rO~lOxl+=#1GPS&QSBSVs_+uYRU5{{Y9+&{Zd9RKE!8U-4X9;G#i9Ig z!_JjPEz7ExrBk5XB zPakSHZl>$C5=hf9=9!v>H}Ph*J~EQ7j5UnoZ4WY7YkC+swcjnK%cX)=DmILhZSOK7 zTBZiP6w-rQpn)qOQ$$tdtH7{Y;tMFOzlvnP|s>8cTKBs@0pll?hcy1ELR^HtR}OAaGmVmm)Zvg z0JY6owk(-1j}-?~nVgn6P%h<>dClm~)kX>=t+1}pK*KoA=3=Q~tq5LK(^BYN2P>ex z#%;z-Mxt6v*YX)*jY%oG(=c|%P>{#X`b=_~F&*uGC*H#tWaB z+tt;*C~ovF$-*7f&U9C zP_4nM*1KD_^uvEgK==*2_ig85CWcCt1h8AK*Af7kprvXeUCbu1X=;Pu`H37f%K|pd zd~w(*Z5rUIcd!62ne43Iyk^xJx3J>1UT`YFG|hZ{)w!!Stv=huJ$t>PWzCm1pR;z; z+H(V5a#P&6YSqToZmTeg!+`RZ@m8$ZuxhPaZQ?aI)fFqwS+nXKKNiNoVM+&0R{Q%m zp1o>g@Oy5$8&{pvzjBq|`-6qL(9()?w`}pHif_4Tu2^yQ+D#k$XpR7g6>DjW*_CIn z*tDj}i*CvrR;*rmp0BksV`)pZK=kZQzUIQW+%#9MJ$K8wTl|}MdEK;j)5?v$ zyt3EaR5z^LaP~%Dy+WH#*9$c$0033hdWS^Q+k*f3apEo`n(GSo-;r);QvD1ppy?!R z2@Pvp#Zs{sLQ%fh3#e4H;S9C9YNAI=4kr_NG*5MD_rOT{fR?TmG(_+2fueTMM$p2c zp>#1bMg)!=Ueuj{|Daiqmh#!e5JZkb0@^(^?1TAQE-_R|k7(IswKkT>4<&{xX-K>> z)kLjSN)$@PVYo;PrAe_w?Sx7O94hS@K+^1sZ!}Uy}^&{y+ zISt`s0L7L!99TL{f)#aKTrAob^p`sj=*v%Em zHPML;3__++fY?wykS{Yxv}71!;R2XG45~Y{Ui@ilg(E%(adPq_i-^b;G!$k?0KkX6 zB*h&xema|lv}&YW8(0siPHoI0lCM;2F)5L?uh1%k5UWSlL#7I#U)QQ8?Opk7807#G zS?)=}w0EY%*$yNwRIm$L591LuXgXM~n!iEo9XOcJ)^Y>uYb9tO1#PGXN%3&LIB>)I z0kkDOWv>pbha`L?U(91$K-o=OuUn}dvi>OKNAfjx2lD7)Ez8o^McqdZ4?r?JP%ol$ z46HZF45bTIZ9pq#1%rS!)YePTEU2l2<5*TE>%twEhdGRYcpyK7t=?N|K!XaYc^rT= zkTn`~^#SWIXjk+clW#8pQMPvgTCeHA7F&!^??ATfePl1nTQGkc|6*JeF~QU-re>+c zP#$ywrYLB|VK9|hB_>IjnN=YZXGsW{hh7n_#P!aR!z;=)J1|%4<#MS~ON^v5l~R=f zGvvqV4D>;V6Q#0N#9vH&GKEqVuNh~EjYXazLPiLzRnw!8FA6I$`*SFVY&T4TvwF?qqS1`@Zp6kvHX!EoI*u| zKG>+1s6wZh$|usb#9#@!VIzss5QFyR3G@p{^?)C!>Yxqpv0_&1;el*^L_1WjtV*tR zVBJ}EM*x=2vRfbiHW?X#rjbcNgoTVBViC6+1R~&Lph`VS2!u>WjQ2zW8fzA;kS^55 zu=!>9wfS^CcHOW=r4y@@Yqdj(f%WA=y_$dq3762w;5xYqS|{`a(}&DbKy#Ey1g+jI z&z~J0*a^*FvpsM~%HP7c3jbM1BFOX(K$l`PtCefH2=Ch34>}A{<^Mtp26fvQxdb^gElZY1}+LY6TFvZ$p?wZD<_?RA&3gEBFkEAg0YtXT;*+u zm+3yT2okg`wgwAc9Bs3kwQ`^KTPmB{Yen+~6SP?>O*A`6$k=Ze9GYD8YlqW4fX$~4ISFA8=V$H^Sx7YqM zR^?Zd2%N#34h-e}JxO>8b_zBZ8KP6ti#`Y41D;D~MIsK#cNK0Y%y4JR?J0L>F3I$3 z`K%{bUX*|+5k$q-gRr~zG7&yq8UB%LR_(vWic!OmFSB&k_15}Q8OH>x5QlgR2XJSh z3Ugmd{}GFF=jA22CFpHHcyG$kX%-!R6PFPS#y zn)0_j+8-0t!S#m_|6!1}0-4T8sWL`thBO1RE^q^_;`WdM+p}w$*_3$@WZo9EpD|!% z*=O`t(?eQfG+oK3A+RCt`}S#_xw!e4*$c10xaL6~6qa!U>mj^RKdD%P@v-%Ve6vFUJn&PMB~*sIuw3fv$$9t)L__8BStK~FGRl2U=je$;KIyUuChri zwjBRCAOE=k|9JuavjG3;!+$Qqe|mwkGg}@S1<)y<5dYU9?rF^S_JBQzsFTm+qNgW>W`g>)4L{ue_X zt6-WYMNe+ze3*a2Tuq(NdU4XWvMbE8{E=1I{`ZYE0F+9DDI4{=F7@NI55mUY9k-^jTe|I~X*6k-s@8{w@-VA(91LOO+F^Q}#QO&gqkA9kDJ;U-Id~0fX&95X#M$>-mZX8emgH#+F>IR<54k*O$o_^=cA2fc5N9 z0hF4A7T=c!3*xj;wU3ue>eaqg$<@g<)(z->z|Dqnl1~+O7ny=x-eH&(fw{QV)m(bj z+OvB%XsfQcp>K`0C%e6V_SIwC`_^8)wR%-?@T`#)7Z)xW*|A5jo&CbA&%5~I0~^+% zWuWs~Ex}Mj9#lIe4P%RABc(dZH*qu#qro`a(UUtZce-&51pUVDS2S{G z-_b#(Y;ulIwskd(3Fr^(%|vcN?hw8?37`#U9viuXtZ44c+#;fJEX*;c$ISc26!vFo zXr$KIO)pF?q>ICK$UmXsXh49~d>orx(^4?K%Di$C{atOO>G^yzZptjn{I>{$VK5tb zxKb+BjwBD8&yE}hKRdz+V|M}lE(IexrGu%V`VBXXr64*Lt1t(IsR>L!P2%sMh(`Aa z3^Qq!6q_hLHebvF3~7rT?YEcZfsG=sMftqAS~4h5R8*M@q}?XBjAsdVnF z+;Vz%CQozh({IMn%a)mpFjC6G z_)QA+Vm+8$D`irpL1tDcRLP4+r+XizsyWaS(Z@EGEsemqG*`f>PE`tE*f5)GgGsnCCKhv}+1AvNWm)hot^i)^Eb)$L zDvWAwac&8@;|z1&HZ=(IHaiKNKyyW6&$>=n3;t`JpfEq@nk=*Y#ykP*&Lbx z&O@i*Jw!Zs&KT|nR7+{)e4#XKnugtihGV-mn<)wx4gmV404bnuZYKy5koH!_z>k<_ zjibxZSXdjF%7$0?lx}19ZuG{PbPpWZoasLTPvF5+7(K#HTs2j%K-(k=lZ*LUIiEQ& z*0_zmG@bv=0}4pNZqISv215>mlkFc+>;ERAjKIEwV2%3Vhlvk01k z7Y3o_Kua@A&%%h7(yj+3nh4HWJ&rx$b#dKv*9z4X084&o%v9HLcq;?mRe@<*UbMRo zo&OZb4(mZoYE{r_?fNM0p&=V{*0qp}WvVf-5Ne8Erccx$%DVMJ1t1!O~6Q5eHRDj@U`Q9`ZfpL0( z&}+^n=4WiZ!)9x_L+&86F?-iU+O6v+vvo0D#ss`iV8z}5Bmf}HJ)e6XOU)MdQnm)e zo^{i+JaoDnxzp+WKpXE1M10n9&x|GIJQaarl zh8H#S7U!{|Svd~(QAV;{!WPMsANC-(J9i0HN}4lQM>t+GNFe~2yagOXL`ivg8w# zi$#Ift2n~Y6vhw$cnJW7u{f388A^}lK~MZ7Ixv17|4tv0+cH}Nx%gDCeFtUR*{VmuVjwv zeu`q+TLRlp8O+6XKBRxxRyk=nkz`*{#;pK@X0|RF+Ub6IpL|NUFjH|5 z0=)*4hc$?0FgM4Db;JB3ytfH5BDPTKU`{J0(lEzS9!rpM6Zt9(c|pns%P$gF;`GKK zPI^?UKm(~30f6BGCg~2Qtv8V-xM01&-YMcZ@gRE}U4%_hav>7sJWPvLaZHOnVuYw< zaS6=(X$fc;SsW9lae{73U8KlO!02T_vjo?~1Ja3#;2HO3TJmD7A){%+5Yl2Xbr$Odly@VDTBpZ21aaP4vZwg!DJZZ z!a)>Vp$r=0R>m#_I4zrsX5?WCugA26>EAd=&FQRT6S`n1Yz0fM?OBpI%h#N6d&$zC zIml9U>*m^=hui zR^0h6a^q}{ix=A~bMt}pZAK#MOdOaJa+3DA4VK0KJmtM2&}22eo^WW1>lTKzt5@c0 zIVL_D#SRZk6N?esc7kT`5p!ab77C2@CHX*1wa4B9c}dd_L>?M3@f%waMkqeEr zEbxIqw>m>qVWZ|kN3ar;0wT>w&(g%Yb?XvKmdH}4)@`BAc3c6#$nvRwj6vi%0F{6~ zL#*||-C{zoLu&;cCupz{rjn5znuIo0Y&EMSt~lu#O{}{p0sjE27zP~e#uj3r_1Lwd z!$KfxXVju0sG=bN!1uD$1tKb>-Fc{e7~u`MK)_71wT`&GMHrX7oscnZ5R#Y z(^fHTHQ_#W#z66mChXbERB>lX&x+-V-j(G2VxUsV_Z;fW;m4`@gRM_kNd`JMAfGkYIKz}Oxa>Tekr*v9B#tR1t=(MqzY z)%uF%kv{(J`qh0}b!{IQrFUec(3?TtaA2M&vQaFYj&XNbr<+yrzPEGc$5l9+hsXdU z;PlcpI6bt#q0vhgAqXolqHXpz&5BoHE-mioF3hdt#LZD`?hfDxci>phO!Gbtmt$Yi zd@$8~P{%Qp+vx4t=1puAe7gr9vpC6mBs!h201WQpfENu#oM65KlUL9k;bZ6}NXt*$ za{11kiQOA^ZBAUcdDn*RJJ)aM@87$5-@c0)RP$U>l*ay{H&BOu7Y|&cIt)7aSDDo}5fi02^Uc z8>&u?z=CqSy;(A^oFPV zZzsz-s5D-5bg{(QI-Ux$XE>k$gR(d*iRE(V=FTJP^XMhp*n>3=#wwV_`D4QdG>Bq~ zeH?#8V|m}khRurbdLd|xU@siql#OMuhg^&FkZ;7IVtkVh7&yabOJQ(?mjKLRNxK-< zrY9#O8qpJT5YO%&o|o8^5I`ABO~PznhHV5g>$WK2z$i8WR`-db2Au1|(fyp3X5+gi zd$a7XKx~HoHVl`u(zZvicv=JaH*IQr0*gjq-4PTz)>8=9^}@IpMgc}{zNm>m5ehMm zzIK7>yQhfv*v>1~{f5Ca;$Z9g%BR@4G7+5up3jGys6jyw-P@p`$!`+l*3Mx&RMx`u zj-#x$GYv@!kK~Si65hp$e$&Nq?vHizt+sGHF0(CYG^}Edk?EIP5n~p#t$cB)gu@DK zqMQxR0|@x@3qQSBpYlsx{dq{O~q73$A?#fqjL2S`E@2m`y}}bH7&DwuFT%tZLI3gW8ICGiNe7Z< zqw>fZBh9CO9LWfc+aH1rf-qK7gK2GEXhtTL&!%Ag1{;EgHUdt=-kpsb03rVSJ)4n-g$!~vHIn0;z32mS7Bip@Sl&}J-6&+y4(5Fs_X8g$NX&(E;w!xT&snn1!|;4+?& zDVJ%S(>s~SD9mCn_^M$JK5C)}cnS$seHb_`9e}9^-l&epV)TId5^h{JpPh(fQsorP zNEg#Ml90k7DVPPX=1hqe(7x6b2BmuOdI*3xX_HOW#>(cTGM9ZWxIZ*Ztx$$EqL}4# z&JfRSsIb|LzPJp*e4Wi&9dG?>ugw>) zaURT>GUKR~;VtRmX3@x^q z(O0il`UdmGzFfXu%NIluo9ZmORA!b{#(W@3B}7G#nzOtGPz09t!n_LXaDzEDq4}BM zaOBk?6STNUfxXEbdKQK#SGf}adpwCK1S*c_tb@ji_)I^DhZwre?j7&F&A1+tC2V*h zEK<*5CV!i)31Q1L%o#5JfMs5=R0EL*g4I~|OEJVtk1uqCV;*phlT(>zzQ>oc!0H0ry=h8zlKD7agrO{$U9+@c zMd=gGS0F|~VVLmYsFD1OQE1N8OblSYkITn$hLL;~^KM=hH{6Nl zxgV+FQVDW$;bEqx=UZ<;9te|$mJ6CMoMydXE`Wo%iyACh}0 zX9mW3OCx6A!CHkSD!?p0l`ev6_=-x-dV;l3=uScU#!iL7J^-$N0c+E`W-dO%CO*(X zFT!dVT4%$#nQ5(?h4tQ@|z3`_DH6 zj75|WN)x9Iecdr8EZbxykDy3p1+!c}r?Z?RcOX}w>qi<)pOky1RKfy}q+G@sg{ zI?FVUx8A7XnKVV{^|I>NL!mI}y@5GlnIWw~uwvdEcJL78VYu8Jx@rX+TwrZ(8hbcA zG~&2BkKKjnhO1&QO|;HeqEg4R=Vl&R9fLJdY;h;R~4upf;2db<*rkQ4yGudMoekEr4Ge#|*)3GyGFQXgtt#aLU(egj6H%c%uuZ*dRNL zJB%e#0n70r+2w;(CO`BL2e1(D&3*`Pa-<3KVYL8#O$?3ZkoD16YOg z*?n{Hf<}oM)|$XHm%YHcE4V}{g*$VhJ@5D;m7mQXSL=f?NmGOLpN|zX+N6AV2DuAg zLjp5tCK{-*Gt9BPh6J}ir{&FNM!^`gKhDBh zd&m~~b5a03&z4}NBreTkL76)qNkNOjAcLZFx_Du-h&kI}<{5_kUJs^B{UvM+mbFFw zCb*`V6aA%dNi#|M&EoQ9;_~Hi$>(qMTWr^_uwCB@*ZOUEgSE!FVy2%@4Y8gXr&6yE z8q;WQgPpwqM(8H(;aAo%Y3A{4 zxhXkVm~TvmFvEI1jXR;8tu<59Y#$WFXjrNwH&Hh8V<3piCH2}qcBT@Lfqn~2ieNLv1UqSav<3d| zr*mnN*xK09U+^CFbQ;E0>f|rpcgb#F+G~PngC$6fDeR?Jll=^u_QG*k71-aiE>5we z(EHw?@;0?Z)R-W8wjWVTjwJ2|!sE%3Fr)_%58erfd%-SqIKs@YpzxlCabEKmT<(Q_ zWA#LgOM}V^HwtyJB)};2$GC4aj3t8RhG96^YB&w+=a|12vw9Wf13Q85HjF;;rf3*G zIuTmDz^?=_YtH^KaIZhOsKB^aeZ&qM%*QoC#L*;~(T&4P!%4A-jtF+F#Oa zl}#!R_9)ndfqb8-!JL*3_4A znIC6pr+Dfj0B;yDQBH>(x?)YkxH{lT(%1P#`{9qRW|ZWeG6)n9wXi=A#@`r3Toe-& zH^MlSxGx&_RLCyz^dnkLU|bSJQV{GoT*{^`3F(rexe^5nx@@2^8VL4veyx3!A7S#dcx9Mf;be-HOSxjeU1kg1`!Ginp^5HfNHD| z#a$@`&0E3phsqew`q=ihhH<)Y5jgvdCm;~aQ{ z{5$e}*9&%U*^b+(ZO?_^k@{JF86G-oGL2`l!JwcGrERq!Oxn3{_EdHT>C@g!LV9>M zfH^aWoZT^-IE#-Jlg?nxt=ljHBcq-3K%EKQ2d3oykrBKFRJ|xjPDi1JacfYD0b0VLN9nCXh7=_f4F}PY-Y~yVaeRvL~F9fVpPF z*df#&>?%pOqhare@5;e7gly0rCWnlrf?9~^O>%a-CqaYrg=aGdnIkF`>^F?{;{O2= z8%akm!xn*@RD~{F2@Y(-_2I-Zq!cO~%fD>0?eU?=^dc*pfTn1=cDIoOCRB z$T@zpmCY`L1F*#)9_xr~6D6By)GY!wb3VgT8iENd+=*>06QqQholKbHLXB1oGq65~ zYdB^m98v@;`0$+8KIZRDYLc}(Z_2zU5!iPNbZXmJps-wE@^1&E=3x`{(5&4%M>muG zG|HKTw4RT62K13#J?W$kavMeq`i!=4AJD&WI*&PM#fQ3>`$lR+&DF;z5t?*c?O9n^ z(rY>iE^xF@urz60do^4VKdSBJ;j&4hV0Q|eIqV%2Sga}9p|jRT@UVJ>48+WZ_LwmAtGCI9vfUx*3UZulHZ zmW$OeY@!G|yD_3!>cpp}Ahz2)0+(5h<~0~$2ps&E#c7^Cj5-Sz<$HXj)?#BoA8^)DEzS7)KrX7V<0ASf1A-7IIuTgMdM^8H56edi0575_o{za{M zB*oE8d(#cX8zHT$*I-Mq9Q}{L(Lo>UHyOx~wFMtVwM^0C5fU*F85r<{rZ^Lx)@oNc zKiJVeIu*^^MK&8aH5R?;vaDWETkv;$iZNchKSf8GS(L{E(t1-0<=a=G6AGV9kfFs7}AY!;(O_CaL z&wL-811B34KV_+SgsFOb0Q@y=b$v5Rt{SS zRpjn9rb7W*R(c560i)7z1vf0tbl#oC*LB1C@xl;W7Yna;=inW}xWhhYV;&$g zu9Cz(m|zV!5CfOrX5lEZFiJgw_?M-efE7J;1|B&)VR3o$A3PyZcN5*3W!ZM_aAiKy5W02xbouL zAMY`uO+V24cfS0~F{WFo?0s*(-oE;*36A%(1$wTbLL%~pQ?8CPcSeQ({r;PjMq-J| z+b2I^pLlH|hr9Pd;GMCJ4U7`CsU zbvXttAD}nC@Y)DVNa)osKKLd7X%l+NFG~h;WfAy!&$&O%9!LJt_W^(43_Mr@G zyv#Oq)*u>>AA7sP@>Z+!K*YX%%I6e_Sseo+_Qd3MM&MvVm~?Cn5z%?_N9VR`sR9xF z{yk%g9R$8cfXMye^7Dh&PDYW_f!IIz&TkZ@b(!I*JDydPmUo9p+NbZD$4A`ze|gsDTQhd+Y6!o&`UkC{>oUf#|MKSGC4Y8b2@&61vdYqW z((G?$J=}(IQBM0ee+!-ukzw1p&47si_D3H#7Ko7qCkk49Rc`R#|8kW*(+qgoy@7xi z{$tM!dukT3u;}e`GJoxzA3SklG3@3+ka1^>e_OsVxJ^W%r_n|U&fedzDcCb9X(=t= zV#~tGM$c{gf!f+j+u#{d{Kw6&wP&XCT-t{%iRAO|P#jXVjmHzkfBx^|a_c2ou^nB< zTxsu91aqL(oII@RRcwYD9A0S$pmMIVURENtVQVJ#K>&Hs2E*xB`kg7CI0IC+%1o?8Fhs zxIyLQfvsxvTuMJ>@4jHji^3mY(MZysI{IWZw|CBua+RO5@AIo4}iPwe`|2Y z5P^)_;dXy`D0pBZ3cWJT>$?_elFWM+_uEIFoe3MQhv8yf`uSqi4NXLP-?96HJC=S+ zZK&9lyZ>mP#eve-v7CZeL^Av0sE#LV&dA{ zei7WO_R(3zzOkpuEtRTF5B6hUBF+_VoXmBPKNCE*9f6F=&fvnI2Ir{$bV|5=jx>@P z`-**1$*I+{xnjl9b=21E4E7*b5g2pD)1vs1EL3IT#82C&Nt;&bDDU=&k%!+Ioe^xw z=4Nazd*$_G(HXIqcQaD!{*HfVnrp*4VuBPRzxu4=)@dZ1%vXQpKd$6Y#$3Qkg>U=eRWgOm{j5~@_Pf6CKf>r=bI=lU zBKFD~N5W3}usZ|W%s?fL%kG!jT}7qtte+9Zc;=ogH-_Bx)ld7!e<8cMewpgK`^mjw z^6>)hsv5U{!M-+VkJU`vYt^Yy)cbz+VgF|3e&4$dlT%pxu7Tj8Fv*3QoaBxjmjrjf zB}uvzRNph<8^Plgvb58#HR8;A^-J%5d2mNrwhH>-h_!T;YS=gObPH>s^EUZdGB?51 zf1MEA-;tJqpXf=)3E^%M5@X=vv)g)R5!JGP*8JdJr>rPWEnU0!s^DH{OwzV_k9w;9 zrQjhuS^Dl-kot9FzcJdfO_}tbzW1rtG4GxssSm#S;o#KRS2eb^K=tA0-Whz37GwYR zJ7)Y3oh^iazOd)_AM98HM3HJnFY;r;zzET4X-;oV=$ zo_+b7KYPx9TNggQ_UNxJtQtY9#n~IX^AkU#&z{iL#r}HX(a#-KH>SdI$N15+Vg^4L zl)KzGjvvnsUzV!DCz$2}|yu7iu(W4iD4xVqhJ(=ut{2yB_+gHdB z_R%uo)yb7B`l@h#crSbf-~jGo?h{L~`pk3`))Y7H(nmPaJr0UcfgDkYP_!|bZyRH@ zi*2M`Y9sA(8);wPM%tA&(yq3VcCC%H>usbx+D6(3+erIR8)=WVk@gL3q02=iBsL7Mm24nen(_q%E@kvLDuRly5jZCoaU8EG%;L@wScZFUdF4qs+Cokiz{Ix z5^E4I??ffHbfS`1bfS`5J5kAPov7sYPE_*BPE=xaqLMp0QOUpYN>VLt@$Pletli() zxvK8!Tve~?Tve~`Tvc~>uBt}os=9|)b%nCCZ#EaFx&r9EyoUWPtiio`oi(P{bfzLh zJ=qYd;)8ZDMZ`pSEf=AURlKhKRovGZL)@jmzEc&wq5VpGWBaRkQ~RrUbNj1!OZ%(1 zzx`Fbwf$B6d;6<+Tl=ecd;6<+2d|=)5y}E~equU<_jmG&UZ@-jZL1w!;r3m;j%!<5 zhjW7k1*>;=tfu#Ltfu#NtfmJ#R@3`|&2$2(TjCpuQs zV;!sMlO3z+KRQ;^r#e>Cr#n{DXF68XXFFEY=Q>u?=Xp(+D<^p7#uHbc;tQ>>plp8g zjAae~+3pIy*zOActKAiRiB}M3E?i8X;#4Q?&TyId%bfhB%09%&S8%%rAJ+UzJBfd_ zoy5P^PU2s0C-HBzllV8=N&H*wB>s3iiGRDD#J|Ids{=sUTzYRGn|h+X$%?RHc?=PKsvSh1ZU@mHa-#h)G+V8~=OJJr zG5jSgh=ixc&Oh zhWRC9cL7#MNSC`%m|KR>ZV_HS4Xz=yrbm3rntcvs}k7%_t zeqw~bIvHLyCh%>Htjt9Ag%I`?4YqxeeM^MQQ-qIlzz)Y_*&DFOap_I$`zljlM>3q{ zS;@c`I}RF?Gr4>LK9N#v>~H8hCnEXFV4Vr>lI#{*f&G!Juzo4NVSivu#1Fa@YYqJp zcvK%u8{O#|e3o($M(XI>9>?UfRUmFm$`sPArHAp6B|?3WZKl+BLro+M<0p4e-wStu|I3lPlLg!2>&0EPYtku)@0$bsP5l}m zrt9zz2&E6eFMOOvzZQO>qU-2qkbbiCGsJ%CdJcZ|Jp2Rv;s(tSewQ@immeC#J~QIv z-M19y-BF6{>2tc1&WRx=r0pNVn0 zp>Ii3GIvR`*#{NnsfNpQu7o^I%;rlbKsZ0keNs` zuP91a50`GGlyvNCzz*Sj%LfX_%9Cv0SCnluT(%7|vcaLZUHDa{F8EwAMue<(2yz04 ztiJSuWCeNyNN)h>VR#^VB>OKEWj`1$d%v{onRK~UuV~pW_&{8>T!K%wxy1J+*;IU! z{$;(A@v>yI7b?p1;&7SVDVD3fm`;?0!3MJt zIla)IfLAaeVBX|Cy&*;E@PvyHi_LLaj1JRs7{>n<(tk~nLp&`bgu}Tu4%61D7)})j zyhA*`RFOwKdLx9#Db}QplP}wS;^i(yUhv3{5MJh6ys$wbaWsdMwcyu?(>Ez{iYI@B zaJn#v)1)}z!^w1{62$)liu~iDA|d=IBk&I+R0oTAsI@yb$rdK59#xd;mT;*qkdvxO ztdgbVGuHJ*MS1Z+l@KeQBPp-xn@-P+O@-|Ggrb~yrb~#NtK{TlU*dGcfj9(6x}Pda zhlk08NcRGH>6&jV%?TZ}~b*7edG`ore%fyG2pj zyTYa28eiHb(I$jyGtvF}`Ijl`;Z@;!*rcEb(@UK=6+*G84lIh~2ZM_8zdBt05R2K{ zu-jS9&+K-wZ#X-eKnT^QI^ZW}3^1yshq9s`?he<(HU&T69CxM0w6ts7E`)3}MKH3Y zi5Dqqq7kl%?FyQ}uVZ(mtOYO*p9rDbR24{fK+q*!7>c^MCtMdNICZhvJlf3J;sf6z zKJQcH^WJbidjj~RPk48wxQCWp-r2m^fUOuw@-9V5UK1{ft7~Ry+#`wj8oARL%?a3K zvJoKZKB6eyYr~~;^~Rz|=Z&`a9Nl$P7ygHfo7m#6=45?k_6xV4Q&hm~!WH1kjUp+4 zJFnBs%?bI7Y!V`Ke@ju?`@*GNAGKKuUlc)=eY@L%pv}oOm3e@^*+G*3x1!{)510I+ z7?RW1KVV`VzP{p+yE!p`xrrD|sRJ>R`ZtPFzad=e=Izi1!!~=HQhUwaoLY0S88wpo zABu9nF~Lpr|;f@J0>BB4;2fSgp-p&Mu03(GVttmLrDlQIr`Ea#*;aC@~&b8X|FE5*y@+wm|1_ zX%#}$hHp@m_8sBU2KF{BX<;O(mM^##6owarp(0j{B)L^l5 z0vd78j5m3Yc)eGVS3Kl3gx95kyqaBV^Y~6@Ob9CnZN-$CWOh+YmYXBiqc$VUv6&jAW3|e&Yn6Qq%w*t{b9(4RJM) zDQM{;;7Hl&&0+Kc#b@*YV9LA~`87q^@wnd**@`D$4eOaM_wTlFdGL z*_xnH3}Qb0tBKuez5EY`OYO>>ZI(+0NgaSdaVgobXO5!04~EO@T2T^3UO&`{Plo*Y z3`I#l6fUW24T4=#lBg?HD|MxykD)mmX=uR#C^$d`NtzXk(tJ2vnkMnhEsed2ZUO1~ zwV`yqP;&|yN>2zGM2}>@NKy8O!e!qbjJgqJZ-P{z#6uO~mqG1R)XKx*TG^qll>j6Q zr5vsjcUE<^qCP$nu8&LA^}#kjA|Q07*ck_oE_f*YaILV-kVt=k=u->IDeC5taNS&? zt{ZdCpHLIpUA{Q%gp|-q!WCpzLT~a)NK2!NTKZ_XmbR&DiSWp&mr%0ddf{YA6E9QL z#K*!lu{pjbwq3Ss=cZDzhR2UM+D|CWU^Uojk`7+2sDnqtb+ET3I%pDkLMw=*5Wnd2 z7DerRJX|}Mv_?At5h#>;G}XAH(EAnj@`-T0T;3YJG>t@|bwtySe>D1pqK+O5*U{Cj z(UBP}f+JFBMbQ*xRzz<*qSBWXwT0iU2pMzO*&1#6MW#^F(e&epPTy11$bW=uq{-j{ zu_AhQ?!L>#`!3n-3`?QJf_1=%Q9SyYqSW}Uj}Siy&B~ig-6Rl&Qf{sSzX|8(Kq%YRnqwHC_YZ$!UuE!Ee%p=qEHE5Ahm~`VNhR(hSiE zr%5_kuBZe2T26=#<~e=D{3?z!LIk};T%NDUvB_z|HH*<5LZDL@n1ngrk&#C&E;vWimUmyJTC zc5U&9B6XR*L4x~?M$-8r9;=lpRkBV?$ESSpKgNhc8j&5WnLT!r{q&946^|O-@FezDfN4n7c}8F$@J^wI>P(J z`x_K_$1hKX@Gh{-<_%oe#CwzWAEB^Mdw-9jRQSoO5UI`xwTNrOQIrB?laDHL|MhV0 zUF(>sg*t3fX=0QprG2dO1x2~O(Hgn%92eNASIXAi)0rs7pPwj7_N{QqTzl4hJ+Yz<;}?i35FugZfoo1$h5&>@Mu6=0 zJ4NXp50`Fr1iQJUbD2(t0vFG;-ai%P`*yf|JyGQI+AMl8veeY6Y9j^T376zFrzB!8l->jZ%OPx>@vTm;222=DrpMmC`p# zKZf*TY>A6o zibX9`gYVin;5Dq^KuQ!OY2KkI4SoPK#7;KMZ!V2z=}}loOB^go@;sy{4}O3%M4sL~ zW`30nkSCk33Ozdv6jm0-z3gR4rq3wK^pkLzY(o{HGI`7tR@g3-u+%pcrNU2VtPE^7!!jhpDn%La zd%z(wB!XlpYL$Jpbj>x;6#hDKzFv`Y{OE89=YbL4xRR}GL!ZXggS#_ zvlmJ4hn(CRalaMGzPV_A=@LG>_}g$PY<}&QBFP68Y=HBI2*hkcdWn&R?_cj2*PPd3ay{S$(b?Y78 zIzFPPmp_Kv{NUn^P?jh+87V@D^{HR?|x|;+U#&;?#ORr>K=b zbwDfiYOOS4L1l}z!iZan6Uw`46 zp$foptg{LKTTwfI3D?d()t2Paj`z@|2sKEl$99I{Zxr?Of8qMsqNpE!h>^1`MIhQ# zB_>fqmVYQ};jiIZaBcaJZbO`5zhl=TkdC4Y=s}jO(^$HvJ4Y{MGnK!EYvf`@zX(K= z2!xyJ!;2#G6}9pAaBW1$uB@=)2Z5$Gyyy{uawK)wykoJVKAsELhihf3bbARp&@BSp zrrNO4CG1$EsEdDu>%um-7o5}k9Pk#QoO4adMnzek50_<{qt!b>-Sv$0yT{2>%X-EC z4CnQj4STjbIb?T;uWXz6`d2t#(`}zS1cz|4=zd7t9%>V}UB`xw^{l>9E5IPDmZ+5y zn@S@irQ#;Y&k6}E-T%o;URO|IaS@}=Ser${TqC@k@mC#j7#Nqtnf)Kj+? zt2OxkHj~FGj`I<5`j$3vdUQCavo5XYGY1kdXj`czw$}4m*EGD(bK?1-Ht~E+IM36G z=SyH5e>AVTPBnKwByPXhCT=H$bKA|h1$U^pW@79Qh|8zi#O3U8RG9`bRvXDz6PMPt zy2}S#&xqIGwUSqT7yBf8-RLfqio>;htpMLY$3vqF$oVDkP#?i79j}UbbqKFYcy$Y2 zmGP>9SJ&g!Tk)!bS0BWyDqejOuWESp6}+nB)%Wpg6t8}PR|oM5zYeb-!Ylkzx;}1QPn~^|6Tfq*vyWBcmmqcaIY<0zqRu{j zh~E*^*~b9!D|z~1= zxFuL;`+9NntIl??;ucVy?c>C4mO9%ji5nMnw)+sb`RQ!09&UZp+5R=$_@%SmTe!hW zXS<|u>yrKztOGX!>0iYw+&rUy4XvnLNjLz1&;8GKv ztrx*%8ai8RfeRXRwkiP^1n6v5A1BmxHY<*k%{rSg#wlB!&AZ|hs7~{kc=c=K0H@^i zXYmTBwDjNL6;2n?+zw8r(2NL9FzCO>r#Q5({{gRXFj@a2Uf}?${wKV`K|}q|c!dLG z`d{!0hl2F~!z&yP(f^89I1Hfw4X>~Ztp6Rau=A%shgaD3(f@&0*m2OG$16*$Ji*I*a)jqIDKeF%0Unu`CNR#)MiaV+#j60iccJ z2H}&IS}j$8<(!SX8%u9u;Q~L~lRK#Ig&&wtVlPg?H&S^BZUL|L7&EHnT)ucHna*a5 zr7T1qV-~IpNM~xPa=MZpuB6MkfWo|viZ-NGv|>gJdhK%Lxm#rJj+{`x8lF;AJ#mI} zy3@r>t^|)pv_|eAO`#c6 z1g})(9O)`KB_Aab#p#TqJ{f*|?J^4<7?Z%LaME?4#s)w-%m5;2U~0aYDb%wXjDmpi z_BVQr`NJB_=ci$TNT1L-ZV_x4r~5v#eK%e+CP7c6k|$ET^$o!7Esfp!M)s>2lSk5r zvRb*8Yh3&<_|KRyTqq4Tb{ms2=`wa-;IbRKID!UOmnE<<5e8E#;48b02?h898_>Q6 zgw+4!&%-QI!N1Zdp7Z|59iuZ4HBLG>xjZR+*HBeo7>AJ`; z`U;E05F-)Xyw<{VKb=ZAgW+vbD}37xjz}>TlZN>w8rH>c7%L@;@O?zann-1~qg92a z8^+p5#rA60u1B@KTD4p%R<(w^t=|Qz!?yk^{`+eFdpG-y-S+jJP+s2!|LoRxvwxZ2 zy%a9vGdrOrCBp1%&$qpSJKWE{@JWBM)z}}E z7T3SAqu61M{SoQ9JdOP!Mj}wZJ$fqA;CLHMZ2tsZMX z-rU-O#*Ps!pN6V@qXe_>Jez%!sZ_q0uccBwOC1r^H1(93F=6aizyeu$qBM!9R$dX& z%9fA~kGYSLXD*_-yQC>|<^*~_FYSw*1g2-Cd~!Oa81fCqh2DGOP6ernZs83jcKt2Wu;Rg?@_yI(5Hk8`AD89xIdwH5}kK(~A67@T* zke-unM*ir5ItUBtnsi+rkRN0u0z>-v1o_+J$}K?t71AUkn#pJZ$iGaUxriWtlQd-y z$iFBq2>~(WbV?ADQsDw1hRxA*4q|%3A;#zM3jOsKto)a>y#D@*a)-gn7o_X*z{+PC zi9lFsZBL~Lt+Y9yZ!mY3a^GOKG>NEoUK!QSmXzMk!3=rsA{uy z9GoxFIiNNxZ0YJ9>;Yx9zIQ;v$IzcJ0Rejq5~6qTDQQ^ZzJy#r=)S(QV|;6) zhVCZagLhkTye8cW`~d`&5EjR;m#)hb$BT?aU>qN(K!0ys!9_s7Tbe{fI~lD2`n%-0 ziwN|0NK^Iz{q1o{2$UhWQ$m>oDqH}{R62_?XEj3^_Y9MLj9Y)i!j|tyi|p^SD0&#S zd`r4654L=rkqE?=PWBOIG}ExzP58gKA`4XclQfBl7BbFimOi?rd+d4T4B8HsTKH1j>_3QKkZa{Ot>%fdOAT)<4XG>M3YGFHjt_}rT~d!l1E zNuIrkATvRlvIk_2ic3O(3^|?>$owR(`}3Tp-dT`YDFretS$AN}k1dSZDXo5g*F^<{ zVa#^vx;z-Og^?Hs7;}OLV^GTh5L1jRxPX`g(j+3~gq%Eg5fMg{rtCqO z!MG#@!jRi3AcR`=N%j(oS5a+iR;=E5<5&oWx3JF7; z_ej^}L7aCo65{}I&UCj$?>I^T{CqvG76kl!MVdrJqZt>;WH?@ty;$^L@~lS0qAy5O z_F&OxB#0{XR)YX8jH+9K|B!B92IoH(eoA@O`jv1{`-42>Ld(~ zj+3s-14ok?iE#i&J$`Ux>RqTk0FqY3)r5egUTG2$4QFhWg(R=oURYWt&u&CmS|Ux^ z150PdB_Uvm98(FFj#c3TVChh2VQHf@EYa*j7fdg7@%aS@C>@7qrm($gC239g`!;GM z43rAeb$LK3&q#~|P+H^%O0GGb07QCKTr~(p`ZsA35v^vtKo*f)GJE0ZmGZnsgri%f zDSP1P<#9;}I3kx+f}D{DDzus5)n;gEN_M~9`U#_#4z)(NG8UMpj7OHywvnJ3R-M8h91P1zGmX2vBUVhOpQ zQY`rydGOjctRONjinQ7#&~x2;lCK1XwSLzDDIkUpg&7F!V~`L_SN>BPqPRaH7ZB2K z=xj(oPbQ={S-Y~titmS|TZ2ECpd!NJ`yuJNxU$8;LUl$WFuspt;D2LW;RW#DCru)v zt&COy|7+wqj0pSoe6g+!V-V4gXy(tgy-}kZKR_{R} z6U4Bha0Ch{F-Qn^JefIy%mKOFqmc_p7>;x{VOSk4VQA8YztqYe9+wu~AHq-tVcEks zr0e2p7G3zSG7^E=!}yCbe~v4&h%$eWCK1s@hI*9wtvqiLqs*_RDSM*KFXNIB;6nbU z1TJ4v;R3+rMV$qg-iYABV~#y_)>9U&tT~}Ioe~s23|3Z3*X4ngBqK2nU}dJ6ypnnY zQr9cuN-RKSpEL=7Q1KYZ=#7}VatGqJ5M7i#@|;D4lwH!4J&5erxDk(S)wZBYYZxbkZ0x;(gYCnGTqaAl5( zDj<{6y0W7bHV)9q?ssVm^Dw6uFGT1ljD*Q)|?-g1h*#p zD5JDBV}Gt_iuFNcXGDLEWx}1(0{J&c6fDey+okLBm~aat5ggIiwqZ?9k8y$+5wsLa zpZi+q_oQ4YWwdHF1)pTiX9{pGt`g4X3em!=Ft;@IEy{I|k>TRrwS$W$3~)QwiQ zlQooL-6j<-Al9*On|7{2&3D)zJ|%FlSSY1Elj(1_+ShBP<@0Y}C}&vvx<|S$Py2c` zBhl&h)$7+j@Y`QPzsamnwXr(N`}L8Lv6QWpyOn(cM8#J282fE?>w14&TZl}OY@yV; z?o{CdS{M6XaOYar!l2e=x4vV@>%&$<`-!xu{tXR94r^#XlCI0s(4Jx>I^EE0vtkic zZEJoFPdi-9NCdXSPOgXP7SYa;t(!|?cE^=g3=Qp& zCgBf~9^=4VmZbY|ONfEzZSuTD92nZ%+{T@owVW#~Y^^s47zaEgtqrbFVeGmziKxat zSJK#)u-GqnQKt=_6u=Ih&V#NrxZsvGA`P*PG&>gur6$B#HV4V=brrF z!yq#z=MS;pR_6z#(HKS%cBQxxgM{#|g(}_!`N1s^Ap-+fAgIM2OS(V~;F~Oe`MQ-X zJSnXLe~3a=ge414NY~{_79M9Lb8*EMf#k2!BqCbLXkj4vvpka# z1IZtxDSHCRZ{v~>fJ45g1UTPN;Q|2X6`ci~b0h)B3MP)8$VNz-FZi7XUW5b{1?_$$19*i0Y!@>7Ifj!Y_ zX{$3C5LbRKtr4zNVf3F$lZa~c3u74F64)DCek{*uMC<=hnzARh{2(p~5nIRym14_- zjEgpnh-{8KB7%)s*wxsiM92K3&qg&W^l2Y8k*qXGQKWkDU?pAl4E3CGG7a@CXg3@;RpOo1~72{8opYL(^$Nz!edO_E+9pCmOI2Kt+oG3^Euw_?r+ z)e)94?U1g^lQC^$Bmy(0aT`U;aYYwVbVQnje-!mt%4l&E)#VwD7)6JrDSM)5HZBPP zKIDT+;ImnU3jm+nI}1MN#Q-0_Px4HfY#z+|0ci#JJ2NUG40axnuFC^E?`9;%0qmUM zO5RD!0jc{p;|eZ7=WEg=BHGC~KThf%^ktqeM`iP#uCAlH@W1^HeF)Aj-`_AIV$T<& zR$)>0V9)2{k`UNKj;Mq^?@-|au;-PX#h!EHV2}4pJ##JSnR!ZUG9J`J81zh&uFC^G z-HgOIfS!47=xOqyo>g(>7Rb{lO~M~}JZ3V^i-kPQrMPv(c+qlsE+gX2QfbN_yjdKV zguol}J|(=Fq{0Q@jnP@Wk(_I1BM(+L-7ze^(1M)nrB&eX%czPl$SF$K<$;_7jKnyA z9QRPAspo)v=kBd37fIb9wEY5nQ)+v93jv?9{5QY%`f!UeRVJ3HHo&X3-TJXUo??p;=^IxMXL|A>H^ z2y0b`r0epusyZVP*s40Yj%7x_1zFT?>>4%~vb-^_$RcLnCru)vg__3fFp%)X?AOS% z88K!zn%lf{GjS)mEN-m>2uRreQ(7fltHSu7lO_?>_?w!HO@$cWlH1!^{Iop35xwA( z(v-O}#YFta5iELh@CFIQ1u3=o#3huN+wMsfuOVuld zhOwuW6vwo5rD0s!3X&uFqLv!bYUymcmiDZMIr=nO4RZ|toxp#O<-ZfzZ>v|skmJSh zUE%%|eq)djjj*E92qERVtFtNB*7zw`lT|U-Sov2HOx=oAF{qZX{Oc^~x;*(;4gA{OtGCgC58J*G0+6N@jF=Qm<3-YQMm6N~%fk`Q1-zNiF7i&VG(FnU#I z!Dy2L7+F!+-c8Z-77*PjtqOndMwNsCks)1|2Z(NCB*r5UnTihR6g(JLb^%21mnIR> zR7yZ(%I)nGyjPyzh(Po%Y04fTdV5?F0*J^Lm4N6L6)pgXUfo$BQpt*V{@%qBcn26A zw7}?h((3T{a8yee7(FXpmj{fVVI;-@7@gYh9Ft1gI!gg~H2ZYf1eA*}@MwlKiHO!R zwkQlz*hKe2(o}htBSO*?Y04f*ni!XafF$xrB}n>t+;)Ln03_YrSxDNZkQ-T$#6|!d znDlZBlP;CEiochmUcxYGw{%?|OxnRni~~$MEeMlP*#V$bjVr$ZrLr`Mh~_f3wg8lv zqj8&wdG8T3Aff}7?zUj* zL(&TI_j6QC7%Y82x-JhaJ-|qe16VrU4NHz8+W=hpc3cGrT>7RoiHP5Fkm2w)#V*ZKg>T_g4V!w_xV@glsp# z-)&LMFqoMsU6%)DrZE!1FtfG|t8aRYl|fTSmU@#}Hu=UAPEfaTR(KiP+YxH8-cHd+ zI^0KMp98AFQ}@p0zvr>vR!=r9Wd=|>c%E#i)F``ExPV4^Z)Y22Pe7w2ujxuzrgg57 z`+(I-Q_}MKw^Ecltd$N(*X3!YS1}TuZKcKq;SJ8!NRyi_baZ{;{bmrL^=sqmaWyLf z8fjLk?OdV41+<;lbhhod&UUg)=4m@NYdTWu$E;TLPHD;gTM=p?tQEaYx-L&Ex}T8< zY(<@16F0?Dy91%j)o}k6S6Goge?gi=MB5mvTe6`*+eLqMG{xd2=^e_x7wjpAqf;j5KAgM6u-N z=W$7hctYN%6i*&wT(oK3Tfah37iJA!KQDYfFgGygS{lYS6=pQPyscWQmm9_w6;ea_ zLQSir;B%A>V`~ctwSc8^MJv;XvpkF9k_)I`(#L;S@ZXjEcNPC#&3;?mUm@>|;ozc; z+|L|51_{wp-=xw~A?JE+XLBysQBkf&V(YJnklAEW+?TBcYyeE$ibZj#j<5vmD(SjB z3D^~kL|_6o9z*ks;z}(-^I>Tc{-N1pB%`&V`H(!H5kqrbnzAP}SK^WoutVOb1Uvgw zxB%FBU1wp(wGAo~?C`Ma=$7bDT8Q(QvRL!IL8a+a}5Xd z1%4D)XaP7+Nt1|ZBhN-CAyjy_$896JfKSS^84+)ukf!Xxo5$ml5O_nrr-U~Tsc->! zb6;oiW_{FQSzDUJTSHfhCC!e3rk`7=bJ`iL$#YO2VW@MmbX^|Qna@a!1Js!>8YtH@ zQ*!|HtdA?XfSz^IB>bVrV<_VVF@_=RGJEH0&zI*lBL18sP1%D#YvPg+_(NW(ggpwB#kK4OF= z0DJC_E4RR&H%XI-XeMJ_4D1mSdy(h$@|;FQp4UoK_8`waaY+c|ArDkSo>3Jp0D0cf zS>%Z`z+)nhH}N@Uig_sSe@m;u-=|R>VbJrmbX^|k`932t4xr}*5A>jx1F+}lg|gWt z7hGV^zoc~+(N4xi@v(1w)`1~a<2?0LjgG%7@T@@|>eBRhu z@L3ll?Xk@-II^Bu7W8b8ZWaD6jmijvo{OaG@<7i8jKnyA9$VHUlpKIOnYeNb z-2#`lN(<`mwJ2~HxV%}qE)Tf8fsqIXm$hwJC2O1)J`-)}Ik_=i)vTPyeKOq_fc@65 zzWZogy^1D7dR1yNuT$Xyn#`L!+hqDen~ckpj_BNLHK1pt#rAJND1KN2`nhyno(A+& zMk25Qb#m$5G-p$>>(^XA4#5;@5)tiVtO)E71fc=9hUfxJlxHqtBtC{w4zzRU zX87kjtZc1Z3dqCGmR1PYsmQ}tOOuFdaQDX%ESNVJQk5!B%&?^O=3p!2xr}J}UTMl) zgz$0xRo!GuXEk>+Mh% zVOiH3r0eozU9V##@u|AdaB&N;HE!(*d!x!raPaJm+?25?Xf zVSw{|Tve}twy$3UpsW9#kr)SnbAmJd=UNWP{?CwBvM2jLU7CbH-gxX}oGaViGxIYq z+?*oMWJI_*QJS&`Zsx@$A>f9*PYG`RFK!#)NzPlLoyog@>?9{}=7&4Hr)S9T`>nRS z(gK~dv?=_Z8I=(RI@e0q<;ilcVI<_W-tsKx6kpJ3w&L#QxYCPE=Oxl4A{wj7{7;B? zQO}UuNsKxjk>@lb{M;Z-*#kcZAF0~b1EY-4v^<$U*u`B-fnYT;RW<;lqTU1Jsw+mJ_;K( zs0AcFFOX+6BKBM;P1%Dz=fx!YJ7VEZj8O+Rg%Wt=odrAap@3SxP<3{!?zBMW zf2GCs_goY^3}k*HU6%)BeiWC4n6Z2+E(vrqFz`EL894S}-igk+gG=hQeYJ{~9?>dJ zlfKb1>C7dq$yia)Fq2M`uFGT6Zbl+FZmbQOLmZgc)pexNqhAZZ`y2Xo^fO35S^61b zKgQI2F;l2#HAwiiYGZ$+$5<7#TEeDaesWpW)VI+WrBJC}6D1;5L$9Z5r4;h#IoW3o zCe}0qU8#XB=5aeV;ztd z*dKpU@UX^um2_R6#(D)K(b>jotdG*{=%@)(-N}ADD0rXQa$V<+z67Lb{mSP`T=k0l zh19Fmg7&F!0WIj=oozv`sc{eb!kiR0qRXU?_Vh8UJ-tm@eE;@@Y6xpj_eBBFhab6iv69#;zTByJQjCG{zJ9wYXW9&2vy z4laat7~5JJ9MD7lowP!@PKDi{l_n9@?(1XP-4fc{O@2n6*@zDCb7{(4lcN9f)3_u= zm?1Y*3Nw!~F50vndb?`C7q&IjX=Mspx|qV_L<3I&jfyo%3TB=Z|EwNL@t5=8UiRDS z6rXGs!|cLyC|<=NA^i9CD*g)z%6mGSp!7#h@tp}ula<5&X=N+>z|O5$IgC09%U1SC z*X7Apb}i||#ECgC5xJccsb5WY(C%tj1f1!>Bj@Rg5CLVystp%MsP ztilC=(0e-zLL1_O5Q|+f1YC9w7JkPI<7YOvYG>M3YijP31(B1_48}iIXM4+!qQ}!Uxm*SET2t;nEgh20A;Q|oofzBe3 z>kvIp!W%SBV`jYe;ROAEEcltbv^5D3Y9kDOW=q%Qfu9+S#5jPTdCvYjbt?kE=bX55 z3-DPZO~N01JZAD7WaV+JfKeOMuegcC;LS>TRwF`BQkt>{dd`YVLO>6>pc3>+&E>nUM%an6+(~4GsRLo4qyK zbe*)_cb_VA9|+L;xfLU>W<|px%_=pV5fv_=;k>`I4QFMfhT|}%qY?dUirI)hDJ{5v zBSHm)HKLD8*X3zMA7vy08&M}`RgSYa6}xuLIhFs8E3SynPfL@CXdTZ--E6`ngYdu; zk-sm`Uc`v}-R5@g+<4SHyJF0p-2v%X_cGa(muplQe3CSYs0Md`JH{?ofWgIByT|eq zF@~nuD zf*xi__KsBECeLTY5Os?*WlxB@IW7r-JLG>#xRX`k0&wSpoy8s3_Twn-5im<~a<>UO zUz1jWzc-^Q!a(QC(sg-2=ZlQQcmo|X69~wQe-~G70Xol0lZa@hSfFFd>jj->;avh#w8&@hx|_obUv@b1%S?jodun9rH5L~0c`u2fWEZbM4Y~}T9f9W9>Nf3 zxpZ9~#97Knj041(W5@fZ(;}C~m0IAI%Q+Ul+$Als zzw4spVfb=~bX^{Nxt);+#+S8im=@`Ywsw>>ZtmW)x5zE9o2y?NO4kduhOsNkn%3sD zwq3Ss=cZDzrWJu+;HT~FP|=*;#rrPV?OBTY5NH}lR37HPA7Q_(9#MG*v!~K-Gja)~ zX8#HmE}+?exUKf0bu8V&d`V<_^%gQMCm&w6&Sv zniC1=>-H>{&F;B!g(obMCK1&Wwl~>O6Uh@S>AgMQGvv9B=n|((Q|2la1MH{7B_VQA za!jS5^at|o_GC1B)w2-Z+=Y>i7813_OpGgA$LX+EW4Umu2*)NgjDgls9?@#)Y`T`l z><^kozBt@4_Oy;XwKh+RmH|J-6fMhtHU2xqe}~y`t5Y`e%NVXLS_j4L7$ig+eOx-G z@Mex&K+5(|XH&M_(R*qEDO;0$MEk7#?M|?GD<;KIJ7M{oAzc@@fS44!jgbh<-^P9T zelV^IMEHKcGztIk?Xj5A&hY(Sd9EXd?{`U4_Jr@Z$0Z>EiX2l3pl(s&0s!ja&H~g9 zb$|+(Jxg2Y^gC&l`1?AlCJddPm9EQ!PR}qB;~1UHBq^YCF}qhb7;qH`bebVeBBI4w zfKI0L-p<8Td9EX((-djS9(0-*mxMqka!e(3`gz>u!PBRYbQYa1RYxaC{%ItHq9FzQli^Z0u_Dku!2c1zdg!KfXK#5lmH#Q_5#jy_iaP*vmVK>$@*nnXmi8M~E7 zK^!XZqSc5z>k-jPm!|ANtKqmL1X_`cDxuXj6)qr`dZe>xb%i=wnF9(mfyajw9FTRy zf~*foYscUBQA=Tv^#SR+JdpJOBQXvj>#P9CGIcKoa{_Sd+i{g4aO<1WBqG|**r$wJ zUOjlh>ud7-M+C1gOH=lM*B9fG5a315ssvu|R^bA`>!Y0ouWjn!#fK{$aP>+Hu8vR2 zc1!$S9`zCiS2LyS^1#(JMq(Vm)#(9nMcNL4sI_qwARua$G>M4zGPWv16!$c4G_lmF zPoC$9u(Vv7vImxy#w8(OiJVdimbz8A09g81XJKh`d|0wCmvLay>nu#FNh`zO$5AO^ zm~_2#T^>v-G7^E9)X8-ZC%I55NZIDvhkN5nF97LoX%Z2QW%S1eB)ixiG`dTk;fQE- zM{`H$+yu&^U^lQPhyy~@r=+#R6)ZgBF=-M}Jz`fYJi^j|H-COqp7V&V@rX2KPoR1z zE(sB+$U&6?)$NRnHk~kfh597Dt?3Ix8!aYm4R#yXw3cJ%;FNJ)YpMHmA&tvgTLn)6 zHDeMihppu4vktrU=fG=lZNxwL@ALfkpZxb|!E+Dmgw6m$*-j<|xP1Z-e)5`Of^vP<*KTx2C!t%T`rR(BW5bGlrFcN`z-v1Zj zeS2Iri15BennXma8SM`5o8&o<7~a=QQ}%@Sb#X}uup$Rl0;|(hxB#&FcxS=tlGcD# zz*>oiEu^|tS}p!QkLn3Ss+UXGRjQb>FV4?zzs}Kf1T)cAYxmcYak}T~)o2 zzxs~MwSl)}i@9D1g{o#Qf@&$|da8^Tz+Crrm$}ZXhPmY6L;f6!M-_dY>K*Fr96(PM z(bq}dby@Van2VSK^fjjgeM$cp&Z8I#b%^G$L2nU`@r%x`gu`rK*hF@bzYUH=*6%IZ zBC?l-iqJ$xpe;pY3(IH$ME1Gv64~k15LwoIik~Rz`jEFzvZ0T@DWa|qc-Li7*L%4L zf9kq%lWEhZ;lF@SWIws}v}v=iiSZ-BE8#=H@Gf!{eHNI1JA2;_9M*Ai#Ur8K(7g3E zZxN2ci%zSAxAG=feAQoXN3Qy^w`7Z}?hh5Axr$I)imPrbqXlr)=ex^Q9k%Ht5a_*R z(km4C{vnB(6;CU6+Tu{(=aX!Jqc@7!X*2J-EOy$Mi^yfCZqBUOK1EBGm*td--cYkO z4IShy!ZAwGvB5ON?G*viGrMN_YwAcm`*jX|_g=Q_l@WOLW;tgV;2dwa2+wK^oarsX z6$2-h!hkZ}?lG_OSJ@E^%e^IAtJr zrvo+40V4F&h#6p8nW+(9=x(R1#HwtLfc%ZrpHn@w&wINhoA=Q*MLo28z3Z}iXrJaH za(ie~yP5uJsQtQ`{;{_R$8bfH)=dAFp z?($NJMM9jHa;86Qwz=H)c;;MRp3X)&`lX1J_VljHBBkB9h^b0SvNM$P>~KP;{hE}H z_ZHz8uCk;gO}C#Nj`3I7k(7?~mTZyIVWA>4DG?+~kX|{QUuOYBz0LCEr6uH)LoKV9sWv?14fP)NXAw+Gan|?CXaSt{a9GBc@#FcRBKu6JA9Y@kA4}!MJIZJQdGVF* z=EaM%^FoI%(f%%13G#byGqV!}%`Hlh-+I?&CCIP1h%P6{(as6dtD+!t2eM-mjr(P6 zoB5NGG8=%@;1`>WXB~OARLcB3G`^U)kTPHGZps|0g4MflbhKASOr=alFcV31fl8wJ z-tNy%B6L7e5*_MYmz6}lTtsdXb#t2AwkihF{fU-bPI5ad)M(vzUF|KxF-Fnc)Kj&z zq!W-tOmt6mg}-`^J=LY1qusq%=6hJNR#Sg+9$BvTc8c(;4*QkfB3#3Mw13!@z4o}t z75;iU#{W`p$-;?x-b^c0gzk|M3QILFr*bVOX)@d55^cN=YqYYAn9*jVzdknBH_#Za z4UY6R>-~-9fc4#<&w?9p0@uC#T=hgPa&kbNbf~F$2@s(HcTgF?K~Lhr?)D^7v*#Te zfDZfByj*oFe(LRoZ0|K}Dt@t4qk=w19$_>qo1%dr%-Ox<)7U38y>#OrF z@apRu92so&_1O*0^WK4W9iV^KTe8*AJQFHHvk#%L6#G0;Mhjq{hq}u?r>K6F>vK%6 zXlbU2re>OKYZA{lmn$MVp(1RfV~U9Ac<;I_B07ePm;yvJTSZ3aY*rhe)BPO?b%kc7 znzx8-R&8MIwQ!3r845}Wwd~d_uSC!j*>$_ht_9xi&dx40xG1~kde>!T*BmY)H@mty zh`$jflj&DEaDR5Fp}GruhPMdExJ3J;y0D41Q-DSIU3X4b`m5vEIbGH{qTL%m*@inp zjcVpRom}JX2;oZ|+N-=pxQ6zi;?OGl>@kv8`0M2u*Cn$9Jg1#c#2p|)L*U>t5P&xMk?yw1`bE0&^e6hd zM6(@+!#}PX=%>7`&Snd=zNmqI(z`CJf&Kv(k=sB|H9Ftm@W9@trt=rPo#q&zs2rXD z%U>@?I{&A)WQ)%K9x6gJ3L&i&qdZWTih9J+MU1){Pl5Ujq^Ik zw0kYXw&ICLzAen@>A&9F69UFMxUcmV;Tqh79fGSni9#{`ICs6jVvbRMwYOxeZMY^> zgl-!MYo*$Tv$+@o{vFSIx=NQ2AWH;=IoE_D>H&Fmd+KL*o23asIkEKP=9V@N?Be zngpc)G-^OogBTz}KRz7+wgnHYLTBfj-RKN^TJ=ag{ZNt0+1}32hAf(2L@H-^*JY8)N-kmwkjf6C!(jAG za(dsFhgz+9chQHl=nB$qLpUB2tDoFltD>Mhw~mv4lM(Ck8(E5$A!Eu#gn%eTABE^{5&MLs#h zyk`CooanneqxfalBYk`9*~mo?6!FVW-gR00vOO0u1^8uW!7tLyb5vz-`)Lq|kG zcUPYA*UFJc{^~8+;*mdxiqJelC@aMy-!7vC@W^A`<&nLTJTgj43>(d9edDdcp;XUg zZ^a(R997NZ4_aHq9!GlDWwFO$Ttq&5ESQ9KRlcbKCR z?>cXjv)ctUy(san^{&fGysNp0+{EkV6tpc8S!TLdPDJ}asJ*(`ey_I($M9IwSUYlv z)o|bDua{%PeM{#EckfmE&SreoY@eJS+PA&^AzZ3M{Y`HXuA!cv>Y;TCwKCKmzkb+X zLC2UskML;5J4~)RR<-GeLTvr!lw~ss`k|;z@Aa-3n#v=pSAK*eA1!DLB5&Ds# zT?Px#jDNqo&3MrxLn5B}pWZ%Kwduz~Y^!)=KtB|<=|_3jWwq&ta}l|1`V?jSzEHz8 zqTLq%w=A>@_fn)zk40IvB#5ZAEn z^WI7AlJ~=z@CBS`H$6Hb2AZbz)taqA_?~fcuJk%ZCO3N`iw1`aJ;a!(SCT|TD zp_`8zLq#C4Af!JG3hAuSm~L;yw2|7QU|a?BA#c;NgNY^<1@kN3by>mu5*Lx*GAzgg zdx;$|XGQyGjm?U5X*7FJ$CbAuu*+z4VDXJ`-|AMa1#4_GH`dfrm%{%1wRLstP3_a* z0(?{Z2XX!*KUe+6_9xuYHRkR&5i8B56suBP`h_xDK;r$VyNRbiJ0iEeHqnt7Z@E@w z;Eu;u(>Fs~i!yLK@4BoE+?tEX&A@Jsw`{5s&vdOEYdJjBR^1(&?=2#m9Ienqdm8WT zbjmAxgxB@x%Ax+6IQF}GJIAwoeeLa~^+h8qHE&-Ccj~}i=qRISs4=-~G zY~wQ2XpBPahewC%JodfrGREp7_NScQ3Auy4#&?PH&EkBEINvJH?-u9V#QAn{evdf6 zSDfD`&hHoJ5Abu>d0MgLBL;aNi5t{wB0NeaV&jf*@7SIcQvb()d{V9-)UTB9I z25(Yb(kHwP&Tbyj@S-m1W8QTM=Nn_YQ-Xa`h6a{x- z{_3xiV;APn-jb~@%pXEUXeuF`m7#`VS9v3kM7-bLjP-OKYbKX0jA8Ng(mUFyCI0h@Rhf5}) z(miDn8T}x9roV2E9J9(>vc)mWLq%wgA>@_fm_y2F0UYy_?sCk5E94@gtnNxxh$+A>JDcpH9{h5M<=#-kHL-l!TZChrq60e* zyCj~YEl#<|UoA&Y`GmJ*i&H)pDnfG#;jI*>ys3;9z$s64ms5;+keSVl;uIXMNRY~B z6{$SuZE`kP(exrx`Gp zj%3q>FtTW6XMepMX=Mj*$ri0_8!AH63L&l(t^98&?okV%m7jK(R(cA%Dv1Hq1hG7% zh-Hnp>$CBS#upLGx!!eI#BvrFF$IWaHRiU(?XkE zF7wySkzB^TC0pdu3>Bftg-}}(?ywW4SYdcy`8bTEsra9xzF3` zY{;VZMeOn!@475@`6L%H1=wZxY<9`-x%?#5cug-q@)qG3tEkt5UNSo`-}hI|kzc;& zE!pCi?}Uob{6e@Z#V>c2(E|A8=iTL({R=xU^eQ&dYx$+(mAzi-+fmQPDq3B{E4zEw zW%0@`T*MUM6+Nv*zU@C7EP7dR>$~>D>-r=v7Bd5I8Te8I|H-?JPoI-dj#VMDR(E>Q- zm)+$QV;9_OF0|lDR0xWL5nUZB9|w<>$1q@2VBGyAeR@L4?xP@ z(%U&Cv%x~&UZHS+CYcw!edrjk#FpEcu*TV(V1P!XDJ2!Ex> z=J7IG0NMPiyJTbRg`0_roXIR(D~4I<4f<@vqTNLdbDVcw7Q-CPMN9#P+0kSeF<~f& zSNcQE*1YmEZxN1Bie?oKuE^O?A{Ki3$_4&PIkL%l-jXdgIXhH@W)s3%DKD2i+5cXo4k{Ym}+bye4N83Uk)`}v&sG5A{?XS zz$Owv7Mpy|Unxg6`K-5Oi%mWiDnhdfVXYLKyseBDz$U-xE}I-xI7lm3h)m;4L~tUD zTqBa;mxC0)%s9cfi=K^K^h6QAO!KbG;+N-nz@`Ad>}U2?q}NmHa&q`)zfd=5zS+lH zgk#jABMN&jImX)0MlbeP(vg4m@Rn@x&#s{&H2)A5OYzUMCHd#K-Q}PC3i*exE=y3& zk&0>tyj`9RS~R+dYHHqfSyXc&7cm8>W;>H=(7`#pa$Ts+npdv%7U3A8Xum>U;m{FL z(2qn{`)lM#B3F7#wn*fPP!XC$2xX;6-Ij4k8G^I`KkMpg$n zPWzrXJV1or9^hVYA`&1%EueM&U3XjO+)3;zi1|B;o~fGZQE%91Qw17d)Km|9*CiaR zw+LWdL~c_(MJfHwp@wTpf1|eu$2fJE!l8hazmI6-ua+aFx4k7>lzv^P2u&-5w^FpS zu8bByE5Gk9t?ZuF>0g?)D?q;@kw?8v%myc#T0|n>@UF`uk*{+Rxg^rf{{ALeo|Rqw zzl55qY2#1cA{-+V?UC8lm*xnc>(POy{S|Q}ivQO+n%!#>wiCt|b@2CGT)Kn5o3{wp zux5|`q%D)(IUV1f{WWro?+)IQt%hLRP!YNzAe5DA2!2gKT>!ns+1JEZ#%1ZIbSQ#yVNB*#3S9!$vAi%=W(cXphEr2uauY12rF~^fB3$KA+pk2C_POqWU z^>k|UQ#LHo(oE)vHfz=|syFK+{q>l({QH4-m4uFHTbwUZ>u>dq)|$0-&D!XCA@Ol8 zF`rKgn_ma3)6MU!?7dmje(x0@Waz73)@p+8xL@krto=Z93)08g>(M59U~SeiHe(6x z3A!Oa2k+e(ZPIG=x0-c`jWt5|x6n9kzIJ>Fwm$6}g7+GU2#)w^Bgr^zUNW5IT0rHJf=3uV7-qF9LH16_mG=>x57*BaA6f z#wsT z6h7rGSvXWT0C$Iq(9IA5vQ#tlTCPR$#~~cLJ$5&JMMeDr9pdQhszjz94&vynswDTX zulK*auUWr%e6We%pQujo_*knkEXgpA&aF&i5)8we!1;YJksyxFn;h9=jq%YqT3(fK z(Upv&Gb)zYM~behO04PH)fEe^Sk=*HeU!Eqw!WeEFCYv28piYD{BLo7L7bp#@HE)fUa@9X6va(n$# zxZihHsPVerx7u5TW2~ad>-Vkj*V(b(x71s*)$cnsRD`A{0%R$AI;e~mKu`bMU3ywx zlAc6wPmT8_w^+JQG1HCSZplVFx~GVl-t1kM#Y}JHBBlT{?PEQWrux@8v#&oH>H|$s zcX^9&3|X|ST;rwE>8tf>p3j7%SpcdRpA27 zQagH!aEw^Av?NOlGN7Tk}Znvc#Ck1Sb364c)%v9 zF@Mb+Nov$vvPDwEp&~R%5jabc)Uq;KKu_v#-6g42WqVSBq-f+7x>PW#o#;*dS`pQ! zygic*d-PBdQQhrbmqk=}auHL2s9s|CrYKGIXm<`*{UFo}nyVi77U3AQXhqo$RoV$Q zU47SIc}Kc>)LXJeSKkN~q3MbsT8gedT1E??tG{=bu2xq}SNx?;g0KFj_-faaeIG}% zp^q*q;;Ws!>$3Q2doE%M@YQ|=e1$&GA*`cA-Jl8U2yYRNQHxeqN?06uB8Yk_#R7lr z9T{t`w`7a4=7fsSj71v(E=FjneH;yi6t3JzI#uQ)QqjP%=9*I5ssmXPAthx5@Qw}y~ST;M>@K}Te3w* z6QLqB9T6N$(b2_av;aE#M|bJy^lIp68qM5EkkYn_lz!;#lWe4;Z;D9i3GccrQhJPw zm;$8q;yhB~-p*mB=R+N!ndw##pBR&1qTe3w@e-0I)>4|_@ zik`k*Mhl>)e|DFiPAy4Kxx-K|R^)WdDb+mIp=XN7=}7OoEOI)Gi3nYy+0|hlHEHYZfv0o)wRR+?Grc8S#I!0@geE2eWhr8sS4ImUrf0iL zOl2o-N@B7HoO%>9z02Dr*;q%{6fx7=z3Z}==_W2>3NX`NdCb&dr0Mga_G@ao*IR^R zxS~_5p{DF1rce8;?Z{2{cuTgp=@X$MG&d0}OL0?NMhoDk=eo;Hr zX8O0cL$aZcjwxcM=e+B(nCTx}#1vpAyU(P3o%1+1^HksNsW4v?)1KZU9HUjb&!nxl z`%Js}YwgHOJ9|sEcxi`F5t^3>l%;s-Z=tDyS^zKoD~Oi@_9Wt456yO=CEEKVK|7}? z+UfK5dNz>J?jqV*<6W0UJLiUq(94<53KbzD{CrS^gSYkCG7;kB#E-L87+;$*>Rk8* zcHlXmP8ZOrk4`my$_^tMml;NT2cGM_tE6b=@4)kFE-}ANDcteH!D@SH?>>2p7#BA# z9T{rW2I{ce&fa-9Em1puMEmC5vwXa@8n(x&4Wp!)d3UWC9IX!xj@095ue@7UHO66C zYaAVrcf%+xcWgBKDCwh@5q{2aXc zvD5xRw}EJLfn9Nk10&yK(P^BYvY7)-a%7IDysIo?jwi{j;d=!+SZy=M4m!COu3OivudDH$ zxwhATR@`kZK;G;$O0gI5^Q5HCbD?g|NF8#pPMuT^MgRG*zVvd=wQ9j-PGAi zN46I>bxCH?s~{gJi{^6WjJ>reVXmdqYv^=6o!b1AokeJ!V;0TvuCgeL4kizWXVEoe zU?;2XEHav?q_2AiM+WMb^<6w(Z(g2g^HR5s46w1rNZ&xczrovTqxnqTnY|0%Ibb%n zcIS%odHg&nDS0aQun$b~TQiE5PRU~D=cVNAK&{viFUY2C1Zj|mnre5F;!i#E&aMx^ zE{^q?t;Wnnjp5?B>x|myApECpZ9_eaeGp7wAI8HSa4?hav>E#2 zFwtg<8Y3-GW9+C{d^)BbZM=SPV4yw{x1%k^?$+uLn~sbRuZ4X>2jbHpI<3JL?0Vf8 z8M++qO@3vDU&>F=u)ENoZ2iU%(&W~b(dl#61Mud&{PKaJ!T$RCIjdjZ7^=;g-#blSlL(b|iZ_NQPj?IC=;%0xH{L$OQZ7uOrHm7Yy zNPGuYx>j>TaZK{LfdHYo!C98oTwlSps&Zop+B5l-kpXbv*v#60n?|E{3H2w@5%COw8_3eY*@R1_%=`z z)w!2 z8}pebjSmjg6JTSXg;b=VuSxm&KFZb4)9HRXeThyF@KbgIqk)bIe6DwuMG1TsIXO3h z3r8UxtX7>VZs{iGrrgo?M%SrvNxgZ=VEt0wd)mqPf&aIM_pkVGyBNPgnCioWV?FTT zG+xi?Ze0sTve)3@dN?GyTN`w}yY+hXcxHF&>GhZ94X>X?<$KZ;-lo@Jc`JFKJq4rILf_?T>m|9 zKRCKR+Hqe#NCV3Cz;ih~kN4yAxa<@>0QHgv-|^OfBEcS3BEA(U!tNA2!X@Q)bwfk7 z(sSMxx`t_c=&jK!EsRvHhbtyLtb_Cq@A|DE{Vi0) zU!fp*VUnV=&Ai^3i`F+9WA&LZo-vm0H`_mxHZNY9Y#}ORt!S%#`?)$jLLDm{dw5rE zg=5!H5tAN{J?Hn%Jdy9!i>U%{H)poi*JoZ@UklM$mr9y~dnr(hyiIjYp56DQ`K6dT zplA;$+5?J0+(1z)YA^NH!;0Fmp&}+dYA;^UE5}-a-0DLEV>2&mHimiZ?6?))O_5vY zZLVwN_S{!2z5~KTWqVLr9>46^4R~u}#jX}AV$x%`)nPp2>NCe`mjINL9fLiT>NWVk;1@2^EnJgznK7b3bVjWjq~F$I)LF)9QRUv~B$;cLm$9 zyN?Ag;*SONpqh9j_&Id$311JSV)RSu{r{Ryzopaf==3x{W#bDib9^NDqIZ=drn$p@ zpC|8j?~!0L^|mXS!^Ypqy}$Cd)zQ7tizKl&)BxaPP#IPGbMI%P#+M2&nf;}$fx9M((jSsX&JHAZzxBFmBX0U&#-aC5v%VPQ2R{kPn`;1!> z0hQms*=AX?3tF5d0!|asq~+1xhPno8cbU)F$Au3Knu^*n zJHlHJD`pEqMNE3kcF{4LHS>hk^Jl`a))>qqNX0AvHi}iBw}Gy)+S!cN+OhdPLP0xD zYrJ)^;&g7Ph)IvrX6orNnMlUpDH7Luo8TIW7wHE>+xb^}S8F-{%1{xL?)=UB8zUDD zuIt6=S4sCLexU%o-`fn=0Bo@@>CwaW5dPC`%X_>lwnFgkP!W?Jf*sF*X(!mQz|@kN z;xQL`V`fh~%DIQa@^x?1T*I={zAe%XhD(|~S~n{|4|=O$1?YiL5tARFRpTQg7$6+j z(oRSQDEl4?&>y``a}Q9HbmLOJRJA1TTe6__1fUk{#gLTs1uf?Vs=qtRi}jPS4Zn z1v*WKscRR+*;qr{GM~iR&QOYQy}x%|0#w^65&MRU*g}bz87g8E5HY@X93BB1{e3XY zuus0j$B#q}f&HgVXTx+F!P5-Zz|#h7l&&tOt0rBI(N&91<8-=&PM6Z@GCEz3ry1-D zx_Skkrn6VlAFrf8UPY%@(dlYDO=s88>A&c7EuCIXr`O2wdBK1ruf(dpB8n!!Fp zSD&TRy>z;dPM@RG=kYXyeSxm-r_&ed^d&ldnNAPjX*&A~oxX~v8SFv&?IAjSjeh$& zogT*14E6~9_6@rFCS84tPLI;*+jRO4oxV$_$M7_reGgAF*yHraC+Of=<7r)350CYdZagPQRto|HIP^_B*=zJzYIb zSAW3MbpFkDIQ@x!`!oIazjXQwo&HLvztQRMbb5wP|De-9>GUj}o}<&h@HCx0Pp5y= z=>karVM#oA9w%nEtyRzjHj=3b|yg-cOU3$Koqv`V;iAjX!Mz zcfo4HdY_o=jQ0`cTma{VNNp#;q0Z?C|1^PrdJ`VrjE5Wek0VegQ2XL-rcJAHPJ)XS z+u}u&|1yiM*$!^L01p@9p$`u)!$S=Yb#^%kID1Dd^9s6{wi8~wQV94ET(J-1;UjRU zGvprBXLJ|%)5Umb!lBNPjPURG;-Bv0e?nryKW)4#{Am+7)ESZ#{^=9=r@Q!{kfQKU z`|J*X+7}Nm!NY!d*dGpc_6B|jJ9|&m3keEu-(WBJeFh#j#KT5-*cc9VhQx$-96l5N zbOaubghQP(75L{`xTrDYE4-<9Z}@!<9uC37p?H{!hk0Km7|2&*S0Wcz6L0b%un6cieC&{3*u6jd*wq9&Um|ogqCi(QYw3nVYR`DwUff55{Z z;ZSGDX88Aa9t(eZ7anfL!!3BY6%X&m!)X5YH;+(~J@dr`Ij3sdMhH$8J{(|3Ez(tL-80vuEG36gIW%vbChMzBG`0Y}LA1-D1 z)l!C^EM@q;QidNZW%#AiI;Scuk1KuoGGB&kd>JnAWw^SR;nH4)>w4>au`1q+OBNZf zSFH0zc=#t=I>pybvGe%fk?ipAsnr~u_VDkiX@}#{HuwT?tgqF8LG-obgF^$H%#g(1 z2)7S`7bZBH=__P2yc*`eA+6~vF{cVmqV(_D%LaxLs#M_oit!2=dxBH7zCzB{S4i4;g}u!Q zPTF{dBtF5}TVElK>nr4QeTBrXuaM#O6;eE2A>%`gUP4z$`4gP$@i)3c($`nW{`v}= z0eyw-fxg1_0I#s?I>8$TeT6NAzQQH~udv0K;7tTxVUsbz+X{V!jfTF$Rs*lF5t(4v zYT(r!{0f^7eTD6azQT3{udrR2;0=nt!j?r}VatM7*j1k3O^m+6wnkrJqoc2|_0d<@ z`rs9|Miaal(pT6X=__oQ^cA*H`U+bpyuuc1f;UzA3fnAwg^icK!d6UQVKatT*s4wN zb_}nuS)1VP7+zt!Ho+S-eT6L=USR__!CN%E!WIss97ey<6}D~o8#Z+l4BIxm`Ubzk zMowR0Yp1WU+0$3p{^=`h2=x^MLwO^%b_H`U;y=eT8kSzQRUUUtw#judvzGSJ?jQ zD{P4M6}HIw3Y%oS!WMdhx5;>gO*C*8G_rX02Y!W(v%bRC8L$4xf5X-puke{;f;ZFp z3fpUag$=j9!WLX#VN88g0(cTq;^@fIV@fusx@i-?6PPRSXDIw+r_}5bX+02EZTZ-Y*pR7 zryXt9*S{Y6ORy$4hGDoZ`)VVw3|jwXd~LKzV=b%qxA6Ip9Sd5XHf=oGtbcuNWLhvw2aNcW3(AJetC2GC^%p%Sh6w->xb(rzzf4;=qve`h0S$v%?{;7=kg5wYr*q|!5i^4AEqg4wGC>EJT4r24Q2J?S>lz<3shMXX=du z037tk9^-H8FJ0D(Yw8L645&QX$1aOIMkIGJ*xQn2-6Ld=kY=-@jmH2%FoQfgbTNk` zt#zLTco`d;IXGgdnie%Xj`r6|r+@7=#KpYQS?mHdKMj{-J)C1#E|t90RB|=mhuc<+!yXsV z7>|uMM#f4jy3kWmTLG!;Wu~$#P+96|^))W)!^!t$U3#3Srm5PcnlzRzssFH5^;UDR zeo1|m@TV&g9n?Xav`ng6FyHZxOq3R)u{GbLYKx1mFr)Mz)kVHZn8kRPYQLN=ReHy# zmt^;*Ni+LSQ1mM|KEsc5xlrUZ?7;pk8SP zwd?iQ*i~lzhr_cAY|fQIphean>}Ea5m-+lEv+ko|EvncYETH~$W0I|JudYMtfbZS0 zL(74@M-Gt1E}gq)Ur=48EH&lKU2efB zr)|P#3TakjuQfGWtRHUtjn+Uq(!X$T@?qz7rdEs8!;ZgPt<(|zg_93Ik*U*(68!!N zR~}umZkc$mH#J*4K5}WZ1|K)}C4!`0Au*(yrB-hcTJg5((Bigge0ccsK4}`ZSceq0 zSm`37-4gRy1Q9LPM6?(SI5AO5GBjZw9Fn@(Xvlbl30hj}MoR@EHLOp_hjoDri=-w@ z7)@C{YwS%4Jtbl~1HQl)mH1O?A`{@vrk*Rr^zpv&=1@hdE(s64p^Vh_225b(n(P|Bi>gTBlfwO*P)BNvQ!&&7isDmR!)Y5z>YQwvRfUABg+E~(Ow`-C7OQ}$6{m+lt%72YQ5EEp ztGXjC5vcXhq@#0h?Nz^!OGWKV@+nmnNY|=G>C`{UTMdgs-)e$#%IH;NZ!`5;Tqls( zY2xLsRDAI!oXx_0HcbZ*9m;x6_ zm9q+{Qr{}Pa0_`s(9}^U)W+%x#tuZOj1@I6av{hZK{}~Y4^YYy znbnPEQU!|~aUqHtv6vD%)flddQ97LFiXG!?r^NR;rr&D7{5@naz=7OIs? zIyog}ROzed0?@acx-HS9RLWtw&2FA%x?btC_n3N}=tzb+;x*t?13yb-*G#&`0=!YN z)a<>cW=k{~b=PCMUa8mngkJpNys+1(TqVDnRn%)t7ZCWt>A9+}DrWkmd%(*R-vY~| zT=NzonHGQuQWpaU9VCnHAbgNOd~{5>peISQMn&loqF%AqL=f#l{=6?gWtL0v`C@_T z4|7$aH&Gb{R_JkRKH=xros_53;P^0wEc*YTnF>=-!x~@Qs2YP)VK<`MNZ)wINLu%N zD0Pr&`(e|EClh>aD)HAZ)$4N=&`TOf?P!6ONWz}%o|P%OG2YS{cyLjw_nNnh^t*%n zAz*)uA>1kX42kw*s3FX(y4U!7BI!Cj?ioe$MCp7>wTBL6tyKG{36m+KSB-rvp_c@A zX8<=eNKDt4@|Ubx0{7#lUW;7Ps!*#`Z`mb^$z;L>BdV=*Xwj%NE);`q2uy}8ZqZUD zL`vcE6R20VB!=QAg51URi)!OTEvM{C%7+B&(2^wYH3Mzbnn<_RZf%^CU=5~|^BX%S zNmeS}WkT!!gw8c~cS2{GES=NT$vYMLS!yLy_#RW|b8sRZra>Pr5~x)1rDXw0hJ%Xh z>V2L~8`UYlJd_i-^0sEuf-jpEEGtiFNt6V4p19UY3d0=;5Yc?NTTHA-4-c;x9IeAz zWO#HIlgCqo!RmMMpiJBI2$=_Dk9Ns2y`xI_{+Z)k_Kl(zvG0!@;Zl*51#+oZ-k_?s zN4Tt8^fYbxQ-WqYj3mkXRc*E?-PcTwa5;aXWcuN@qqotK)Ga z6;HK&v(tj)^)`iAu`oQ9Z^@g4^oL1Xkq!s*dva4CApzjOcb48li(Y-rfc=8UBQGqd&n$jf9_LgXfxr^!@L~Y)E+&kxFXA?-!xs?#hPpE zTV~Bi4mD~6eUt`v=4ar@Fk5q|k%bAoHhT^6GNT_g>p#l4fiEU4cBS@vYSu}Xwx$AO zQiE@s8XVKCuNxc#{^)CBzWX{MH90U-hhz;>i|?3P9Gkqy+ZCzhC=O~UZ+zF(V_uLG zQfqp$Ye(-&+i|-h#p-I6XfpPr)H*eq@~ysHCEEEm!Nj=f5!4{4V?oYt5FJGUC8xMD zrIOfzBV$j9#D)MJD@n-E(4OaB$fB0V&4B&~HIdsfsvuxzV5t}<$z}1BkBfs~N+o=W zpnI5Z%5V;XS;z{)_XC4q3avtu8vB8nYZ03mO;pSl~i$&+l zd~8vnjHBJG#|r(UkcJzK>5M(#bR^}GdNUI!sxZJ~j}?+AWKR-iKFQJvKpc|Yz$;;@ zly>}norGIKf6@&4B-d7BKQ?PSvN6)PwhkXA!gU5?W3V?vvL)+eq|uPuxAj_rC5ivU ztbab-2A}a5feowbsb>gVruOgbj{Y@e%35*1X#^eL>S%$!!+H(Xsak{A?c2~|VG0P9 z_2LHCs@}ulmVv>s0D})MGT0O=>;9Qp_YsM@z09^#+DH{NTUTya{&TbTL*TA@v)M>3 zyRp5fW8681q&#WsFU;ByRqJ7mPit+x)^Z1QA*z&2S?e#&T8}Yn?Q0DV*P-v?Uc1pH zwB3SUR<%pnQj1@iTFiwzy;J#sB6tajvc_MhYlK07`rxRCwS_ebiL%Dum^GdNHuB%$ z>sNh4jm9V>9_%Am_u>#^N^`cqb83(p{npfI4rnx1AMv2DmlU}i#mTyGKT6%m9fZvk zv~jCpr=hXJhE8wokZS0p1gb<(<9wIKPL|ZknwvWER;$tbo$0K!f+Y$k+&8DleX>UNN+uHr;x5Z+Pn%Ag)VkDO&i?^?Wtq13452%^4dx6cdqCPbVJC5cR)|OF9)Q@|!Vn*qG z7Ecz{sTuK^s7Tvm*8qLX)Wp-yc1RbhdL^JfjILRk4X9!@EU`LSQ`1d6)w4kPXA#Q( z8~WDR|C;)qlfqT9y)NbErTLj+qs9tX`WD#~{KeG%?Edxj{+B~rc=7lkYz0@L@~N3K zz8FdBC3XL6Qupz(Rs+7El(%lvvrdigvbrbqlDhxR)cw4Ex(8i%yo zLw?9cirPtvO71!sN1_gMLp|scNMZEZ8~%+i*oqu?pobHF;|oq3(rG(h-}rd60izFg z9RXWy!w0@Lp&ApLv~LI>2Vc*(EEhLzxxO~m2TePDGo1f|8<)5F2IOu2Nt-s`LA%XA zXwzmF^Ix0%IL41HejMk=OZf3pe#9MG+x#OnZT?ZgHvdFTn}3?7&93CXUd4~NsbZVq zwuWu~HNiIjC{3GxaHh>aEz{;7k!kY}3AXtTZf*YQm^Q-=!rFW@t~SHXui6Z^n`$%M z+NsSy4AbTxglY572e$bhIBoW3{_73=81v(e{P-4ryon!iONut%0HV!s!-Y1(Z4KHC zHxOvEck$!R{D{ld+x&BZZN4tL&2TMpo8hY8Hp4ZxZHDVv+YDEaw)w|a+WbQ*ZT-#Hp4f{ZT@z*&F~#-n|+%f z@jYXk;ak2o|4c}me-Nb2zx&tbp95(#d|T1xZwlJ{lOS#WxsNt`lK=h3{D{N7ZHB|I zZH9xPZHB{=ZHB{xZHB{kZHB{WZHB{GZH7ZjZHB`=ZH7ZEZT>NiHvh(7n}3R<&G0d} z%|FD^=AYbX^G|KG89s@$dH=r6u%Fy!*yC(7?7OuY_J7(8dk}4gEpwY;JJ)8|a4G@cc`NYe^X z%Gl`o!I8^gCrO+=GuAtLIn2!*iKESz^UpRc8EG{yk8gk{V@!2+7VgZyF_A^wZpGKY zI}t67zd+}^RQFvxUWamQ!`0KK(MPh_c~F#X1lLr|^^*WX1b&Br^Fz zR^_4wYz|pu*HCtgaUmYtSvFyd_u4aD$hsV5#V9M0l3{y*3z=7-%y-!O?U^E(Ar1R2?1Q#7e!EEvVc7j)ci6(xsgiV!+y~s; z8d?a%o)o*&7Pv#o*VIiGg|Oqr?twyvi+3~%)b#exqQo^=;xow-o2dsE8M^<%yFQn^ zYZrAFZ&>tRcCyg5Sm=w%Li^?wGWJTAs0~R9x8%2KK@<3{T z7Z-_^7qH*Xp0c$~ZI0$7TWo44spkT*s@#7 z#)lU6ds}vhJH&3X!X5Y^#QtPUHeRQtVVv4kQtF8N(z3sTB!ee9=$DdWBp7Y(D)f6J zO8p1wmuPaT*q&9?Fo89^V0)lM73uK339Fc~(#q-7Sf7cx0{5svGuZZ21^}O0*(P=^ zsh2GwwcvK8vKo9WW}Dm9q$be&RFmA+Q^W-yyxG=vJv%4qUca;w$QcaUW$4M=Pv++bR6Je zb8YDXsv9GlLO6~avBPZPsU;R#brH6PN>3bfVn=}l1OBP`<{71vTMSAN;K&s_4z)=D zH`P=YinCyQE6QDBTbb(P6blyCOMTysa!;}4=7vU;w|1Npf2UUxA~ZN?$Clc{bJI9a zxD8kw31lm6(W$P(60e=|gxWa1$j-E7d#i1O6$dTZxwhzBwpAVxGvkGdIPA$T067L^ zcTKYVa%1;8QR@9zs+KI3n$K^PO7Al#gnR&n)RRI&cZw4t{|7}5qE`}0(_xby+NYaV zR@R%z{o<_L!R_AID2h)$AB4(R%YKFWA42&pTYic>^IeP4ezypwnvtn5C!vX!}QalwWnre&Ex#Fvfie!IrW+A&6e5#MgI2kdH76IsGSm;@xg zLS+xxRi(P5?p5I~3=)a>W|lpI!V^eL4J-J`wjlTgtmM141?6ff%6 z9>8M1fnr7*{o?E*Y6l7lzOP`}-zUqaI$^RpRaOtR%b%pQucEX+p#cdfr+P}VR0n|; zejh~1&)BX>jaRvd9?jZ!LR#<;*7KZQ&kjj{(i&q~2zQBKFC?94O!ddUaAHxiEcbOR zHv^_;8-YuW5hTiqZ5Tw@AI8#~;NdU1a_%E2X)BbJd>V1t!aykV4HU7R zrHt3!1VR+fBw@SS+GyChE%+DWzJ=oUw8f={Q!*T#*gs%Q2JKOlx3?`Xl{K02lFRJl z8@HS`eH#7~s^W|pwx2CJ^>)WWw9@uFC~~$fGW8&kEwX`Y=7nzGML|8bpgog`A(Bfi zn-`@Y!_tRBX#?pgpr%SD=37W5zK3EKpb`nl2Q60@nmvvpkFo74&<=@4E+&`SJ%OTL z>Z_e8$;!;{qsWtN?TmpH;WxE_TG;giEO{D~G(5h&j+OGZRQ`u}|MKMhdt}_NRw>JZ zKf;2mEvt>O09BVNYuSl2z1VrSokq@QNP)$2$wkLfC!8|IF0{oN@58disU@{i5>7i~ zYi&seJUU9kg{&eXICqU*WQ#g@MTZsS$z`$i0Vxcpz%gbE^IT&qRKuxsY{Zt=Ij&!Liw1SCZ7)R$(Dd4P;l?5{*&LY>C6Pv`=b= zlMC5Z0dnLzRG|+}Ph|gP%P|Jev-QbaO)BK#ghzIrEjM#{pxmYaLB^Mf3L!XOlD*az zQoICI2*7ow>vz zVy4D&O&x4OQbqOlL8|#DlzfNfrPPRyr*Mnk|BSWVZTm4bGUi)NExDLe+VsCz+o$c? zQsXVYwWSuL35fg!E4#1y%95+cL}h=)%I>!-OFi{^Tb5piCO!E#tnUH4zUmid2?PI* z6+UEFm>Q?>HBh{>l4d=FwLD_ia%z5BJEWAF&SAc2{s&g|s9jZR@Y&ZO`}N~Lv7*Q9 zicTqKlc>lv=~=Al`*uwwO|oB2K8F=OX;+kbc**o#V)o;|P|#07kU^hYCj26i@jTx7 zE2`3D?X8Ttl0e(?_80K>-&?njvuEIMSHkT3=`eAgZ2*U8^QBx~#>D*fm#)8*w+(Dl zy!*&A6LatNugB|OUxD@Fj9LBbD*daP?5Te}Q~#HPQ=|U%gZfwXjHrM8oBmaGc=WIT)W518jQ;gt0J`v%N>Kgl z9Q~_GO8x6R{j17B^{ZY&Gov}yGS<+jr8P6gS_Am^X!Fr#V_jpkHP{&8i|E9Xxs8Wv zYwNHR1>Umhy7~xT2okfapw{)5Mq7%tH$#p78h%Y^+rBfJwUMzQzQ7J>&c!UX6#>;NdzrTpwQ- zuf0BwHiacTqzh<%IetZquGU}5u7TTTrOHNI5b4a!m;MGr`o?20L$H5+%wqUsp2*Et z^P6U_fK9$K^}W%Mm{2mUavYscbcSQ+LID@g-ke)o~>jm@(VAS`rFo zeSpl`U7MxrUnAFe4PzUEtGkL6SmUMutwigGPe2cGALz<^!1x~Sq8`4!tjD-D=Ic+R z{T=U)T-Tq0;}!(zO$vb%KTb|8ZM}BA0ElHhUm(X1pmjY+>wUHVI@M=9n2lig*FyOD z0V+NqON2m+SZ2tBOAcZm1NZnugZbMf_pI@N6Tob+74y~1(LvgvP6(tTk@u2BaM^L? zY$81YYM&#hjg%ATkAVha0GCtp0~j=4yG+9<0|UKl`quQJtMN=`u=@}YAzr-D$7~q? zf^Fj65JC6Gd{w&%?;JFU+au@2q~Nf_!gME{Ao34U)<$)NmtdRp>OZps zv6wIEUPVBcdd1+l<4f8V^PL?4b>Ab@jh2)b00#6GUntEFVABHaHx1z=;|N40DTfPs z43QD!$^kdic~}e$u?wm%tw5)4k69C;aiB+u$Y;ekxbMhdJ4iVI!%qnem3TylP_R&@ zNBHt~egF%GgDo&3QB<$d@4=9;%aD%n016o01T97)FkAnp5OtW*#Nlmgz`4V40Q%r{()e5NqLcBI6*b|rV0E2#vP&4xDY3){t=h; zG=e77vw`TLRkOa>k!x*Rh@L~W*@fs41*3qCCBVTi4GXolF=nVSVCSENohqHCL!QlS zy{6L`ZjHeYVAfpiKrJMPUy@S(frtt7rDM~cVh!4p!y7KNfO;I!a)>sz7%jY9$M*Y_ z%soTEsg7NtT>D~%>H<_YJc~C175YmDIS(n?Uwq3GegK<{Ow%%Qfno@m0XBrW@wH(o zhcj|(LqmQ2{qPVtP`|7`=8GAS&;t^B`um~D;SyqY2?FR?4*+EdiAru517SG5N}rHb zfU~U$XOrb{4VWCz*&!p<__jFw0H!b0&esC-5C{_2APUw13~(^Oh$7nx5m`PIZw?Pd ze{Hli4tv?crnY0FFt{HEQ7NTINr~B|2vfsTg*=Ba%@7n-u=^0iY(>>RA`1bsyAfn3 zGYA@G9bhYcr$b39^8J?h0o<_I8@f{L8cXi3h~8?V6NN`-WPErne3zhcQQs)MY6)Uk z64BGRsE3P)*=2~`y{rP6fq+5(@lF5u0qi@n6RoA4nHnPD!j3`o1iN=-zAI9j>t)U);22Nd81wCn z`9!OzU@Jq+7oYk`G{o^FisN1>-;p9~`Uc=NzyN$+*h`c1oHY^Rvv`~|=n;3wbIkX4 zj`q{)at6=2Ida^_5xh4)L}$_lytsnASk~|i4D_l9yb|$_n@sWpsN5f-ayr?Ph?BJ$ zyv(b8A6AP8sMeS(Vd$%%B1MpI*mBG%_b{yYwy6^fXTw79@0G~E>6as&N<_Z;1T|oF6DkaT3^yneJ5h*`_HS=`ZbqaloTe+Auh=TwJ`U8Rz#+_0GwZQZ` z1ccG+=)f$pOysvGE4c7z?+|KxNJW6ddV)hmzA-{6`CcZmI8()Z8(Dq;JB&GSMtO?` zk^{84G$0^|0tw15hLlB>M1{X z`;kw_=U9L_tFRax8i)1T@0nw?UWF>i~tmUJt?}G`ZZtJNtwcM+N|7&6?Rq2(vPQzz6a({ zW2=eVOGo)TQG@meI95mk!I&G#m|c`Hp*3INQnR+m#cIPzG5?wh-yb`2+Ep8TG1p%s zss`NhE^^Dhd2T7Gn%U)YsKTg?`%M+$oeAw!n1g)j$WWsO&sN5NWBv`AsMoVpWUNzP z2#8&*WSi>fzhd&39aB|Z3Q=ZhtuJNRYbe9sN8Yc>OHK-qm-x2n`~cRBdjcqFjSF^6 zU&u!ep~xfnaD)d?M2F7Dl=p%cLxOlkxY^Q%0F;X7r|YnfG*4m23E)&TGM1UU;8j13 zf`?D6#^#uR=n44a6NKQasu3FwC3Gj>v!5Tp(4&=WouHI@=;Gq;L|m0|b_uV@6bk{E zEF1Iha7BkJPq=|h75BDXl`ID|DTb)>dZNnDl?IwA))#29EV-0_#DO2cQ0-nfpru6J z7XmUR1L`-&-&LfYRJmw;h!*>(Vom_TVln@?TQoPIWR%(vX>mbw%RhGkcAA}eRjrqu zq%@G$LxiO&J?E?lDZ#(l!4F{BmBHj`N6=Xh-74@dJtd=T?5F9O=XM`*vUI?g*b8r7B;axOZTe|?A_z+COXI(U`J@3| zMNWJ*nvD871lMo)gfVkfi;;Q$n2S&7C z`A4bv0c_Pi4wLmegj*?Zmuw1T96|vn%f}2qs%1Q>xf7id5k&Z^G(@9hiz`JD_|P5z z-!lZhNpZ6~W~6H5X8!FmegLCAAC7sBrNsRmQ5e$NDmkD>$p(SGqZSH7`4zU;BM5aP z;0{6|Ac*=!S@1#0)>iu<=AYCC_-$}D@5N7obKSvbI+uUkjvv5W?dU*Z)4{ruE+2Gi zZPVX>b9j9rK5-)#tdFdq@BBUK47*n(hiplZ@Bhhw$y{!lfm z;o7=kEoG)LD9pdVQ;^75+8FIO{>w|p{44SXzN|zp63_`%Y1J1ir_r|(ofA1NNPA!T zfGmLs?&y=q4ubVFNhTBwB&0(_Dlz;DBtL+;uL}ZbhPmNd=|^WCd-fcvhX+vaD0kTB z7`sCO(WD)o0f~u9d?X*8%jJg{;J|NfM#m}V_$G-M=Qv@7e3hK~O0dO%#_KemDLQ5l zBy-ZIQpp#aN+R{a&_KwYeJFS0NsK_SqA^1y`4><50X%V1XY);#PQx|z>Vk{j8?jqa zkg9Q^O#G4{mSSS|CIs>c%5C02R+7s2NeQV8%u*tO8I1%m_f!dHvxXAfE5%SG__uZW z0X(rtMI|#uI)XVR_TZ90R^mXdw^zaiVmI18`0Q^49)fc&2%>uCr1&jnXfPms5g~oD zqZ15u9UcB*aee@=oU9_1DY+w)E36x`Pe8C&7`2-#iQ4esNWD*fJ**_$QC5$X1)H%V z-Zf)*(|S@|l=@@^BYqeS!E6?4=bi^NQAPaYZHlfe-><%D!K=oEABNXM#BJE{(x^fGeN ztd3>Z^eNLq^)$Cp>R6YqO7?#Qh*T*~UP_@JK3>(Muhsuzb`!GRq5cIU;~PO8BcNl0 zu`u_ZQk5pLo(^HsM$#CfGDuOW&}pt}kP2*f{171?z^qp|SwSk?t7*gv33BKePn!cMaih5}fPIa?(ETT(&==4-a5&>a{`2#%%N@ zrCp7{OU(va;^*_IRB8%!`tYki<-pfN9}apuA~5yJKslxu!Xza+Zbfzv(?XASmT3u+ zp}Fsn;$z>SE5F1H4Ff<%1jxzqdXR#o96J!9i3hO$r5#P~2+cLzXd&};2+#_m@!zFT zs=t91h*1*I1503I_6|hoG0H#A9BIgiQlEp@C`_}P{zcn>=rq4DqEvAXzLrH~i6#Ly zZz60?j;{lhBVV&##3dfUZp{o?^0IMB*23m(GJ5PSh|1D2Fn4GSjzJ0H6o4Y$d?%vv zSfz$9D!Gs-^`S@&zCu{?@(`cXtH@L7lbE4Z0L^+O+)0n5u4=$Q7(z~7xn@PQwxaMy8;Q*kP(usM)A^wsbvviqDg?uk5oaJN!bC< zH(CJsnjMCy!~@u^DIp8y*@S5c{BR&&8iGKTa~-%r^unBm6wOC}^PeJ|*)5ov zb5vESMkB9SG^fzTy(fTjOXPzHI{Y{`W@N@pc5gj!Bza)lDyJLnX0GJ;kFuRO9y2veoDO89pK}_KRY}F4q zZkS39i*b1mBfv^|JbzKU_J{so(&OUqK|m8_WA<*unqGD7#*p$o1+3ThWJ(D`WXuyw zWSL<**#KaBg1}a}OC9l%a49V>nt%x!!{5Pm$3yctFu31h9&{}eop9{9AEq4MvPCPVr(hm z5D#E?ZdbX$SUKRu1^x`tm^-wfC3Oyg%li^7D;WaulnSFALDVNk75HGu?FdIbO6>?o zLqh&b5v_gF6Iy%ZK$kaCT2d!J#0-rAApU`XI2j&xgrQ*~SBkAf5aIzWPOX;H#_9iM znJGrM&_?z&LNNDjl$O)U@%hUMb$R{2ERDh`QQ(KhMBalC)K2k(AQus(77i|vk0p}$ zfYdWx!AnC(@>gwY59t4O^hM0j9zfwg35Ap5Whu&0ZNbt`{qi{(o)RNE-WDJ0C!*h73C&R;zpwWtvQtVuW zARfSC?d?!$Gr+*Ies`G}rn0|JZ7eFkKd&BB^K76ZF?%0o%mrY1{>-pcHP}G9%nVBv zBM4x10D-Lt0=YB8R9Tos-WnVl3)M5fA#aSg##+sKZMf5>oyJWudp~-rhMw9r`FOQ_ zytP`0Lf_2FeSk8=kvC8zcw;B>#;(br8F#x^zRsy~davSTzj%c$%f##h=#DzNV^*#^ z(uKe~hX*Q16@s(&B4^Fcbrw|$ErN_msH*wnO-5)^Ceo#>I)na=qGDQsyqPZLRm}be z9Gsq$!pt#-{WCsL#P-YFhiV?odlb(aer`knds-g?R0gvGA`*L-iJ11bcDYc zbNwLZK&l(=Cn7pNED@9uNa@SUVO+@&A~81RIrCg7MLQ z`AxD}0-Q8IL@%leaBv3UV847SFslnvFn<+|A-Xs3|L8=eoRxz{sUGA1F}nkkH?{Q0 zxWT;H{6Boa+sX00%XK1STav%@$f&fFjifOI{?U@51@{Yr>it!(;B3Ju*l}m0B~`E*`@V|vFPD{6tSFId1O>> z;y3YszHTW!$hKSqHxVrJ?^0_-w%hQKp-w`oltdjQGz1{d2;%vJn|adAznhY^XI*h& zpbV8_*CWdC02X&>bxZ}!|0lO0<`M@Ha;aB6%RPNx&O@?eRnQkQ>`0)87w3KUk0Ji_ zkgqEV_b3S=evsOi$Dou%7(`iy~r6VtEkjR-kBfUVlcVX|I@cuP$w^Ygabz­*J|{^+vqwcx6Gyfb|hq( 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 diff --git a/docs/build/doctrees/generated/Aggregator.App.doctree b/docs/build/doctrees/generated/Aggregator.App.doctree deleted file mode 100644 index 8a9d83d9b686406f283bc2779a1f4b0442c99668..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6830 zcmc&(TaO$^6<&LHW_HJW@!Ih!#9p%zB-se>Oo9VKi)G;ig~%rJ5Fp}Wt5efmGu1tP zqq^FjQDg~(jJ&7<5-ub_2#|OqAS7ORf&~5oNIdh5gp`K}AtAw6)!j2a?VYh>gS^u2 zPF0;cr|O*ZovQlg8?_(&;)w9?wYFDms zawCaSZc`-}AYn7tcQ_5zH6_=zxN!ZXmCtV^)D~_Oj;FI4tFy*6waZpyO}N6Rr6IX~ zso&?cPejC9m*QAyNeC`|kq-3=?i#iw?xdZqx80{9 zXYl*1-XWaCU9+!UxfBzZE4dX!PU_Q7?@U`#@>DjkSLtWvzS6|cbO2i>X{@iOl#dP>4IM9uLd&5xssKMkz+k-DEbv*Y z+RR;zR1ke0rEw`0Ch%_{MjtRl%b0S*bp%sanmQ^0qT(U&VOE=p;xaRFP_4!azFJnG zi%~anMu#qRkw-TU9jIw2-8}~oSV1u&eNJLlnkZk~k4O7a*V}(%b~tt}%pSY=##Q6; zUEqE-rlI48eQStPR5o(yp^X$_ZTPN01@cSU*-uPK-jYwuUZt8~x{mn#d^V<0f6VIT z(Rid#z(;#2+yd7~cGf2}a(&eerV`9gT!hUwSC)Hb-joDUpc3DWS37?o#dN@it(PCdFi-aE*PZ>x^?ZvOv|=0BCo0U0_p#`EU# zfAAxh`hL{K&9Y&W*sv%a*#!GCdB7uz-fuCPo%Vi%fAgZ@y$u2HS6T{_er+aIVlYXY zU3NjPlQ9>wN5I9sz`5N+l5_ zh|xHfnX#aIfMzpqrrbws4Y_7%u1Al8xp+&S=tYqTBSA~uSB}UvO>%{4U=4c_4-|UV z!ST2;NQgjlX9<*@&U&a10th|U4OcL$;F@47pOBMJ9l6SB9C2a!^g8u{SJ`C5A2(}q zlMY>YNf41Hg-}h_9NJC$Ft@HBFZy)|y_5v#SrHsS)Z4-HX59_rR9G~`10Pa&9HpYS z_o=ENn%E7Uw!$r37kf4%wNtx5Miy&LCBAxaEzNs(M^pfWDe>(L;eSN_Fi82+xs=S9@E&;uVLWO zHZB9z5F_KUdJPQuI1?gH_SK z;Ai7R%pQQ_IxzIN;k5HgaDe=YY&Yy73yRWkLKll9?N;R6K&P)CkqnQTsU9d~P0*zd zKs>?{7zML%AWzwl8dwxehHrtX$GNKc>f3TN=h~63elII&2XZyjVALm=y-36BngN%~ zS%Cqfk({6dUBE?vJkI3L6_>;&L-L2^tEo25d340QZwHe2;bV1X|Ihisp<@r|!6K3K9DbA$g1OgqN zfUHrs^&$7tQJjq1(yh?7EfdnV?{?c+@}6%!|6Cgoq}HOj4p zY~M#jbp;IjJ5jI7m*-D4bG1pksaz}PqjAU@_$32hje)F37oI{c^L)7{lLK#${0+Kb zwWmZMt8|W~SEj^P3adu{i7EX!L%7g~)~Twld}Kj3Q5Nke)kP0X8E%k1as^p|Gq~|m z-hT&?yro_Pz(IYYRN#A#M7vUdk#b^O9jCgFjk`@29?LIkKtW&6YHI!&Ux2`n>gXFq H+HL(8a#J6n diff --git a/docs/build/doctrees/generated/Aggregator.App.index_query.DomainCrawl.__init__.doctree b/docs/build/doctrees/generated/Aggregator.App.index_query.DomainCrawl.__init__.doctree deleted file mode 100644 index c4cf45ee76e7bd36c68203643e42ed9fadffffc3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7703 zcmbVR&yUazL!7F>wJZ;K2G*|L)L{OTvoUx@7(M4 zLe?{dAGYrWLEG_cHhg3}iCH*m-}eWmb90tkA#72Z@T0*JnTf+*Qbxzyu5;;k&Y7e}Wm*&KBRhT`xmGB*Yjc@Yne2L$X zPdnTnu+H(wb{&iH&b!CHYj*CmBL<5iY<=^=gKt0VyyIJ*bL^jtnnCFI*|F$g-BCxc zx6@-D3r)f7&aAY|z|&A@8b&*e0K+Q}7vm#dlXaEFLYg%LcoSjsSCP8U6?c?ut zf&eInjtYDq;5l9oERhG9_5EAT{rMKu95BIs`&J?^8bQKW4n<PS9Q%wS!@gk?m-lo)F;;PhzcnoMBj#&2Psc~GQrcf>szMVah;=1 zFhcUYFSoyRyAwHrwP5NPAVh^+cF-g`ie4!jgV6yo81(UaO~2cmk0D;u?Xd5nLlT)8O$({4pVAjFIB+neYz)Bb*$ z`unba^P-rSz-(675ND&?_lmmeX~ta%!z^`(2Dxm*cMc^M#na+T($=#e@en9U+KP(_E7w+b{zB`fYf1dA9F8I^A z{xr??T+#gJeB=E5Xc}_G@ze&SK-a~aH?tV%XNfNT#f4h!d{@-|yJqYP%WYLu&|%z3p>Bj^k1)b@QWz|qSIs!<{?D?&1wfTIgvRSgEsCi zpJY*0G?V_@)lLi9EcO%rr*Sjkf4)!~;eVOYEBX&qBIaoqS;TWeYF9^B3F$vF_$oR? zKdg4}uPIWXMO-L?r_~OsBIqyR**u8K9`RwNm;M%Rmm+y?V@P9sk>0RX+9Xdkg=M;( zwF7-oZUn!rjOCn0@EbfdZzK4m+QIBbkUE%)wSTO3Fgxd|gF+*~F+<}tqY==(GHidZ zcKQO1fP7T!CuTQ-zp6yc)d(&E>A$O^tAuo}M)1FC2eTW&MIzW(ta^>l-ZAvGgK{HS zxSdrGew8`!nMxlo(gySb=57PepZElOiS*c6I85n-bI5R7_oCwFZaF_+^XV$kH_H$l zR6=mx{<`=+luQ0mzr3~9jxJmaU&UIc_RxhwO!rs)JGAC0SPEF)HA$X8U ziZw#iOUkGHm3g-Mc;9c_AFFuS`gdd3)hFT0g&X7ZxLh}cZy7j^iYV#7ht*D6$WP=y z0&r@wws&=wz5QECfVj_ZXa*qkd$hq-M@h{D%lAZ4@5}_tbGNFrrR5q%Wh=8C9~EF! z7^;)hiq@ni;Y&|j{Syjt6%eb_R{xYPl}J#yUiEw}sh!Eq^d~81BOJPRJUww0CvotGmUYG}lV3D*$+cw$K}%U~DaEy=7iE#+ig5>mSfV z8)wqY57LaN1x zaq0+eWU4ScrVpet@uA!dnL22>?1Z_=!$rByO&rS7%evfULkCz12$Iowv~IJbxCeLJ zr)KDpjsUyN9AKm&La25WRPs!2J6;eAgL#%uY6FTa7TwmHE!7XMm2Vm>4E@mHrf0h> z1kSWnv-k){GSBt9R?6_ipJZ4ZbzwgCyV>kJ_b%WX3jzA+w> ziw;P&Wyga6!fi@C0ILSDm0_W0x@2%ijR0LQqV$i4f{4YoZ$L4{tV?Vd_z{DaK7LZM z#KKA2ffTAJx?|W*WFEN`NV>|^tRQ$xZX%cnC7|^%uqK^mbR8GLL1n*6zu*MAENN!Q zFj=#a@(mPxehG^1QdNODUJpccodFub+qF;sTbJ7b3k<-*P>q&?45Cy3#$)wV9`a=_ zL=YWxIv9@HTF`C#VXu?OD>PFr0W%H321t-lQZWl!U$}h-h;D~nYr;H@jLpB6nMb*r zMA~B(wjCzA$_EO+!^OabvxYE_P)D}l$-^~y9jqJ}d4c8uq+;HgycCT*VGa%M^tg*Z zFnHPZiTs;N%|M@1a>g?pX2$AdK?sbbpp0$ubU2(u!fr#11aezimU&_?yue1}K zfj_?GcwMj{YYltUETDc&%yR}rU)MKvJ<>O&;{>c395EY3JVJgsgDiI@uUMFMY%qK` za}9hOfCx`tmY&Jo^s^l3>UMQw!@ERVQ05`k$R*~T(6=hNrW*_@8sxfikzqU!rU!2crIpkaFX z(Ij=_FygP`(~-K5SK3|vAeLLjY$|hGmIF@Edf-BjP}yel^ty{9dL9Y`*&iJFZcY$2 z_434EKD$w}*vP!9hxSVL(SbujE&s}-t@KV!uA`|~eoTdr^N;1bE|5kHc(JU$m5zS| z96m_iL3vKMOKEr`A67Zsa6HS6ZQ@Xmo?5r5{iU5kZ-?6d2Xa#^ AWdHyG diff --git a/docs/build/doctrees/generated/Aggregator.App.index_query.DomainCrawl.doctree b/docs/build/doctrees/generated/Aggregator.App.index_query.DomainCrawl.doctree deleted file mode 100644 index 4f3fd0135622fda6472f54a1034132d7fdb192db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18142 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 diff --git a/docs/build/doctrees/generated/Aggregator.App.index_query.IndexAggregator.__init__.doctree b/docs/build/doctrees/generated/Aggregator.App.index_query.IndexAggregator.__init__.doctree deleted file mode 100644 index f5d79072791ec6102132435a3e372cbfbd24018f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15987 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 diff --git a/docs/build/doctrees/generated/Aggregator.App.index_query.IndexAggregator.aclose.doctree b/docs/build/doctrees/generated/Aggregator.App.index_query.IndexAggregator.aclose.doctree deleted file mode 100644 index 147185c3fb1f18d4aafe12d414b0516e4500d22a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9300 zcmd5?PmJ7F8Q;lfW_R{)HffitP1;c@$)lF|cOB|+s+q&Bdil2%A*WO?j2W6yeQ z*M3fBrBaomLW3ScP$Lx%g*!;42QG*MM@}4|2d-2cKyZKq2au5Xeec;G+cV?NQVy&% zTEBna_r2fu=RJR)U#)-tna7sopV$t4%XY^d-85a#WMM2;P0xr%%;oW$@x`yjUyb)f zGtlpbUKAKC7E736ShiyZ%#ClyVvDA8+X*|#`jwCw-1gjTxmC9s*2?X8&uWS~x4FY| zL*mJ&2ZMkObnXS6r+vR;yCxgIsJ#@i;HdKqHF6Vl!|_5E6EzS!d6SJv%GorQs%g9) z%e`6k*{eT50@3hw0Kj8wM>MqzF>6^g5}*#mNym0sd=T|?v8Hn#*u97YU;=d6HbVk$ z#c=d6L?@o>u0B#vt7ha+8a>@O3|OD$L}G>O0~(60ZR@PHVV$#HUCSG>?%|Q? z*aow@Uq194z57%rWT41{_7|>SfBr`IInQwIL+{Q}%MZLEJLFx+9d?zx-2ro1pmSz+ zb9iS8sl>7qgaG1^8z-WkwIu3NgEdknwx`0e5MIDr5h16yu=5AfOU z02U&yC|&PeZ0#*BP;11v<(U^_ae47Yoz$ut2Rzmz>j|qf!S=v<1RBJ)PQp2isa@@1 zWQ#_$(1v1o6cmj6z1ar5$Hs=nk9@Y@dIkTm*VczjZ+mk6h!zwI^CvQlPZZhaCH@Y)b3GwQH~j86+&l@IL!cF2F^;ltMev)X8 zN6x<74+5hfu#g3JSWIi5#oFtMhkmEzp&iFFbf@dsy{>-*lXXAQxqPV`+MKlk&7nSE zVa^Y`@WZZjtHcleqkZySxQ#n#dHvSn%FB%XksCE>*BeTS2>%pT(vXj^c&co>DX7x} zMU4IV81IR7_(>ZuNp513n9CR_+boZ)b!a&RqdS4o8X?Lkv71utvdoRtmFa-k6=}05 z-)mL!t&)67xK&~?U#?eY%5_@Gg~I`8auzr?LSqipZ~tF;e&)%_nKG&K5?`1|oW-bF zu_>b^bxPq-D{E&pC6!vzq@$>zAJ5m2sJYW#`ZiSYLut+TN%)DmAGrpPrs7g9!k-6aEoSZ*<@c!->7@^@cI-ifHS>fbm#tV<3OH#bOOV+LU7V}DUnU`b5|mbw>8a~w?LuH3zF57}nL8MM1&fLv zJ~wg?ht&*bDk^2LNc0|#s~OA;;3Na2)f1IR_H1iQ7)%1tN9KS#HwMkQEe;>7 z7AL3idEuvIn#Z{*&b<8$cOg{#^)+n#A0U zW}=hfJ5q&Zv~w!Ds#7W-#SEldVzEYvGh_fz{D}*BJkeO>4PSvUg|%4iM~K(k^G0_f%e`p-LHLER&o3@Ncxu72r*0K|K6BHD$sw z*Iscwn+j-1v}`1gRBAawd)xJr4TMP-rByy9vjS9CdRXPzC)yU5^{h_U)_uP%DYs>r zPCe(xRhdrO2YEn#aR-Z4kuS+*OG1;ysaEy0K1718K>^DuWnr~drD?taXC*kRO>1jn z%ZLIh)@fO3ZX@kcB|5PhGR~2yLiuwit7rBDsbVu0jTb2RRw;gN_KD-an%Yr;f#$g5yE?f{19*dv?A&o2GpA9bih!9KXCo+xLm{i^ zZ-4C4Q$Tbp=o=;S)H5M}J|z!#)yZfNS9Q4}P3 zT>Hc_bMMgS4q{aW7{6XD&4yKqev1*9qMKu8!H$9E$zB-}9Rs|azr&`amD>;|=d z)@YDZ;oAvJU!hL*JY0g;5C4rbFceMdmM=({BnJ*c>rs4rAjfgEUA3-9Vl%HzNp91y zRTY~oNcE80rt_5C`5rY7jsfkDdY+RRh@5&~sWY41EKqEwT;-zE1^S4<0jH3Ef0(kDr5k;D!W81FRv{m&vD3XR)Qwy`FVT a9j@E1;Y23c(12F0nH2t#NTIGpo&NxqHJ~s6 diff --git a/docs/build/doctrees/generated/Aggregator.App.index_query.IndexAggregator.aopen.doctree b/docs/build/doctrees/generated/Aggregator.App.index_query.IndexAggregator.aopen.doctree deleted file mode 100644 index d5284fa128ada71effba7df8ca25873fe56221aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4780 zcmb7ITW=&s74~Ik?D2K&unP)%86}XN4Vjq@%0L zsr|^BJ({j%Tnwu98wC%wRB63jv_xBMd}Mo~V_I73m^X&Zn~x@woKKim`QTBO4P+Ye zvtI|lDS18{{EQln2~1_!m5jmGwGa3iIeD>(l^2@$%(|0_*2RloyuWE@45!yt9GFf} z!zI>DyF%&2T#IGO?MXReW{YW^%TcL;E}^+Dqk@pz2xC?h=)`v`Wr_dVjLPi1F=F8~ z=VO{vnhnh+G-SoTxFvSPZLu!ym`{g7C44xYMX?OI7`{JMF&n-$C^#(Yy#I^GkAHbQ zd{2d`oT}4VH_O!%KGj3`T@1ay!wFA$&NPpP4Y2EIya>rbUI2%?$7|(CteBRIUL(9d z@}i4#i&qe}@8JJ6{P*zxI$;19bLmdr19~!@fF0&XF3!FC-QLyR=_XtY72UVy!POTH zDnhkSv}L7uLk!M=JrQ>iJ{;;A(jt8BOg)V3(MV88L`9eR0<9lkNL?JM|FHYpt2^kp zPFwA}tyr2W&6cvueE(N(zp9Z7N8Nj@n5E&phi`P>p1T$l84LMQx1Q3y_wXUmcL{mZ zwA>0?=K}(EOZ?nZt45$cr#IHX!mM_EI^LwOMJpdRt*`|SnANA2HHkpje?U8zBfc=R zImvX+lK9A-2Sq5$dBO8jZfWhiSo^q2h(9bP#2{87i-)ls4YL_IlKx=u=7V7&HSYtO zDVy-3LHi+SKXf#%XrIlFC{;kybkbGh?$v`gXV=~1RY#;9A461HO5%BSMGd;XOqMyO z&krm@oLvra&uoL3eW2uaGrP38t2nOBo4|^xhzZ5?97T~JslD4B=k~JCtwt>-8oA26 z=-uyLTpBS$<&&)Y=-KJ z4n50IQClwZ)=kkYpKxu>>sM#8HQRIxWjvH)8QN#2gRDqYR8qBm`Eomyrn4iz_X#oV zZ$SGmxD+qV@p)MO{Crp%h2b4WHwms%kjR=XqLLatf$p#iyf*Et_$dDId;rYmxQt^@ z&l^k8snXhP1zLpx7^n*?{&|6oDk**s*xgib?wc2y16>K9pNcy^^Kkq}6!u2p2vw?^ zvTUxaF2#}z{%dY%Zg{!C_B>VE{`y?TucDLqkJ$jgj!WW8NJJ#;ys?ogNiq$r*r`70 zQlFu{pQ_5~qUs`-e(dN>0_KjtVa@|<9gA4ck94ol2Lf+@cXdpcR@W85-Mun*g?_Xl_-_GLO;P zC0>$pq)}|w^5C1pu~HfWf;R?_SIsU7_Owibv$4t(i=I8Y?XnvV=uPLVFEw9P?7nLzPEC#Oe0HHl&hIOdAO`M$rQzG750JkL8&aZL`Npt%CC| zvnD~R-Kb2mpe7!GbsZ9gBu`mP2KQYL&`k>p|9Mwd@G?>XBo}5~=VzHJc+gzwSQ6^s zR6;leGvT z-^LTPZi1o*lvQ9(Isp-5nMiHlUHSKaTV^lgSpZl#vN3d!;rh+Mcz93gVZJ4_&WfYq z5Z%SVE5d=wCqrv)&`jq7W(Jxk2#`iVHqqbz?t{00=w3b!m&{Yox%t=T=8>+9NIT{E zKyp2Hdm!u5GY9z|N%<4toLtW1JBLF)rliu;+l4rQ;|Ss>&@#P|n;uf>YU zzf&Z*gHY&@*#)3_$+dkmaN5^{dpi_ROCdtP6ly~p*suDZ{e^e;b zF<3A!4Tn@LigL6xPbNg)STUcE^!lAzuqGMt2uVCcdA%I-;;X`RsDo}k8Wvxl6yg>csAG`r0RIupC0^e;AIjqjmUozL^WHhcU$+-Hb*GE#9(3ODr|OP%%X&Vt3xd{?*V zaKS#RZmy}!-&nR)jjWh06p~PtR3;$(LKVkA7dYZF+4xD-{{;~E%)W<|fCNHv0m_2j mQuK4iVO>uay0`0Y7q@MhhH)7YZzi;AE25HDRR=GA2LA(u&_9*{ diff --git a/docs/build/doctrees/generated/Aggregator.App.index_query.IndexAggregator.doctree b/docs/build/doctrees/generated/Aggregator.App.index_query.IndexAggregator.doctree deleted file mode 100644 index d5991c3fbd867c98a7793abb5b703786dccca260..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37306 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 VgEzHksnI4SLctldb9NVN{||jDK{x;a diff --git a/docs/build/doctrees/generated/Aggregator.App.index_query.IndexAggregator.get_all_CC_indexes.doctree b/docs/build/doctrees/generated/Aggregator.App.index_query.IndexAggregator.get_all_CC_indexes.doctree deleted file mode 100644 index 9e20071ac3e95c46151572ec290b2958afc3163c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6931 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 SKGdaM8#blCG*js7Qu9Af@=19B diff --git a/docs/build/doctrees/generated/Aggregator.App.index_query.IndexAggregator.get_captured_responses.doctree b/docs/build/doctrees/generated/Aggregator.App.index_query.IndexAggregator.get_captured_responses.doctree deleted file mode 100644 index 5348baddd38609e3c24a70ebfd14f41173591498..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11573 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 diff --git a/docs/build/doctrees/generated/Aggregator.App.index_query.IndexAggregator.get_number_of_pages.doctree b/docs/build/doctrees/generated/Aggregator.App.index_query.IndexAggregator.get_number_of_pages.doctree deleted file mode 100644 index d36288a137c74be24b169a5a6cc281ae2cc8877b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9802 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 ShX%B2+otfBMhg8f>iiccmPW7u diff --git a/docs/build/doctrees/generated/Aggregator.App.index_query.RetrieveResponse.doctree b/docs/build/doctrees/generated/Aggregator.App.index_query.RetrieveResponse.doctree deleted file mode 100644 index b87e2e2f7e78e49b65d622d99beca4f6012bbe2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16217 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 diff --git a/docs/build/doctrees/generated/Aggregator.App.index_query.doctree b/docs/build/doctrees/generated/Aggregator.App.index_query.doctree deleted file mode 100644 index ce3dfc6af3e15454ed77bfcd2df25a34769568f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12195 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 diff --git a/docs/build/doctrees/generated/Aggregator.App.ndjson_decoder.Decoder.doctree b/docs/build/doctrees/generated/Aggregator.App.ndjson_decoder.Decoder.doctree deleted file mode 100644 index b6370185bcb409ce4238cd887c205766237d9d91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25669 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 XAWc1L#ditedU61YR>?Vs8?FBbc~X4q diff --git a/docs/build/doctrees/generated/Aggregator.App.ndjson_decoder.Decoder.raw_decode.doctree b/docs/build/doctrees/generated/Aggregator.App.ndjson_decoder.Decoder.raw_decode.doctree deleted file mode 100644 index 2aa49acfdab56fc51c5d79935f90cdcd0e46a0eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5998 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 diff --git a/docs/build/doctrees/generated/Aggregator.App.ndjson_decoder.doctree b/docs/build/doctrees/generated/Aggregator.App.ndjson_decoder.doctree deleted file mode 100644 index 42f88e3f553ce23141d5b501f30cf971574c2fa1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5313 zcmd5=+m0Kz8D4u=tCjZb#72RvokifJYr~T4G#BkQPGPvnMU1LIk`_fHcTCMtB3CoR zDTlL`5V!}R3A`wg7BF*B1Vz#NUiSt141It;M6c72oP%bS?Aqx?Q32W&$)7*T|M2}E z`J2Y)e}8$&ee`ykFdk34BnV;=(A4O)K=@fiV`ZM18^1MA%z#Yov0r6o%Ztm_Qo`(k|-MVzSgLvjk+?$p*oE!2QFH!%-dBou=~(-FSm8BiJW;tyYLU@3$qSvwd-uPqsTA| ziS&FCdTB!In|PktR-C-v8T{I-q2Z=VFzII9r)*@p`5>}h2`C&3Ugi#M4 z6;|GV``m2m7Gm!_8te}a1~&&E4N9jBoLA6vZW-i$K@*M{JRIC`jyV8CY$P-ecs%x| z0I~XBzV~16rF42T_DO z{`w2Fd;v^9+rz6kD3I0YZ@(a>8Wc%8B_cdF>~Fe>mYO9fn9FtxdL3;#O@QrOnWt{} zF_E!3(Ji<$M@6Hrp6f|eUdXy~WBP7AMdX+&!0);9$_Q{s^C#4r{{w`1Z~;E}97%UY zUw;vpn8$#={mtVTOVxvhp6PfS9naV`_76b5-Qge4ixMmR8H9e1WBg$OI|}ObTr9~K z+++WI!G+G>`U!UP>GL%G4nlytvo+}zi>U_u00-od9xbZWmuod(KNRse$8NHiX#r+G zTAW=M(yeI}9;OMg+;T0EG^O&Gx=8&6<`(RT4f5juP;b{3_7pO-B&n69mq4(DuOzM0 z%;y#74IcYp7SIt7bN=?iT&lz>ypb2Wtdtc(CSH__jB72)Y zNgPY=>o(Z+oKnH&M_ZW8_Kw!^?>yTbH6d`cW~DHxNBto0e3sF4%=&LCQ=1Xh_KgZGg1lrsX`l98&_TJP%k4YRx)!?ghQ&XVQ{zucF)= zWlv7M^;$}mLh-@XWVgC&jHHMaiV{HnrzFhavnmd@0gVM{3u$pO03%Kni4ru{^JP5f zo}k$-nwbpI+C}J*FXYPq!Hft7b#*(kX|P6j51P z3N>^ipu=p8<+f}!u_YRMDT&b2QW8mJkAr%%#p5JX9*uFSf)uJ%rbeCbc2bVtd#49I zDy5JfBXJPo0*2cV&gP@aY>P~t*3xiVP`4IF7E~O4h}hIyx!(C6%GrCT2Novl9eaip zhGH;L=zwA~B=I;SV+xB00FH~ei|Uso;#dZVQcG8`jJ>1u^{Ox85snFq@W2DYjQG^B zRlQ}A#G7~NiyYy!8Dvr7RUrq%x(<$LlQ97*_Vu>wfpz25x_{o4q%;eJ2S9_=4ywHX z*R9WVQ35V}%u|m0uGQrQJhc=W2Pt;hEK`AX^ac)-BKS!G6`O^aSK-tZ`wNQzHmwXi zY_$b&`8r^wY9d5;Z9XA#fYl7~AAyIwxAd=nH}qCQ6VK8U7?g}~X8GYGGx-CG`Q#68ultXfwbY8#x7A(3YNB)9(+cQ`HMyVc& zN^H;r=Q4VP*dL!51)TfxeOygtwfT7oNfI&thIC1CaNEe0s zn`Myh@nRR7M6fBm<{*$z3++3HzI3WLf6_oVw2i8UWy|(81pQ6hng2fO+46J?e^TAD z-IfnqAve%Z*=u-VaN{UickRW#ptBW}7Y|2swsx14C914Ic)m!%p3PHR0>7{&@S6VB z!UekPT-poyu$Kq#ce;0O_mG0LgHV~k4{7beq=#3iUS1i?f`^ztgkLQV#^Zf4dd@3H z!5tlU$%dKUtOu#H(k5;JE~jl`Q(~=h zRj2>bDg7ucQrSv&c~Ms}vZUL06qS4ZHsVB605y diff --git a/docs/build/doctrees/generated/Aggregator.App.utils.doctree b/docs/build/doctrees/generated/Aggregator.App.utils.doctree deleted file mode 100644 index 5ff54744e7973a69220f2cf733061d55071e91c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2836 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 Pp)8&!JbG3no#uZ4`BUmx diff --git a/docs/build/doctrees/generated/Aggregator.doctree b/docs/build/doctrees/generated/Aggregator.doctree deleted file mode 100644 index 97f03677ebf79c49c5311ad48572849032685fc3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5704 zcmc&&S#M-V6}HFjZo9|(#8%LZ6Gte)1LN*&5|J?@0#Y7gr60ngkj&_&`rhiU+kH2x z>Uz2rjo373j4B{87YPso-jLu2@Wdki0>6M~q)2&)5Kr(`-Mz6r1_ZR!cGsy>r>f5K z)j8)IjURq?XU=@ox`>z?OghAIg3zHNQA3X7*t#1ixOE(OP<*dP)taUfpXUnP~UFp%vlxn{^9CA7&GUSQo z0@LD`=tS>cn|qL$vq0E2)r<&smkHZc%T{q*wxF8XDSK+sa|4?6;yzJrA|-eGvBd54 zZ5CWd=##f>j|c%Gem4T*r@xk*I4TEyVvji;Xr5TLBpK?dgsrpdY=zxm3v5@t(`BJg zyW^?jxi)3pFOEZxbYJcW3W<^*yz$y=Uq0@>8QOt64o{|g5f4XnEW0?j=%(lG4rxF+ zk<{sy+URhB8$NY>CGN91)o=rcPAZB^b;_Q`jo33#+sE;J7T-_cdsE*I3gWK0)4p1a zh|3eT<%dq}(a-FayCiBeB_330tl5(ZiP@*vL3z<0dkX4=d73=#bJwn%MYY~Af< z_rm@6Uc8_GPxN-Zay#Yy7Y%y&(u;>jB$lCweV_2@ZCDsuRXbT2!tpzmX;`N+vT*x) z@Eo-9DGk?oHHu~^q=>F|JCCo%tei}BFs&T&FpeswEkm~jo&Sp}U&4}mt|M7;+}2w5 zq2&<_8Kk(91H-wF0Hi4dyj>NbfutWg(=!jcz{7iIPBe5#{PP;P^fCa23^|EdWuf}y zVKhAq`=i5m>nh$ms*i8Kd&j7DA91=8(ZF$op)~<)RE6EVw6NSvEzgxe1+OB7{nS9@ zj#{gqASvUl2_669{5S&^n3Jh1(KG>&P7iRwgjS(LEBa@U@)LmP`KD>&et@t~++Q&%yjlL(0E%H*M$zDIbFoWc~-!xWL~_^*~QVGuj% z8R3%fA(eQ5W>le%|0Ce?|2mA1=b^I%-o3+`g*ntbTm$5)LFli6E)TjSVNolnGJeR}%nnl=l#jVPnX9DeSRlC-MWuN`(5;6ACMT*Buo5mRX zO*NcG3-fbxmyam+TlPEl`yTs)I_FCN*MRx(?11^Os@RLY4goXThDNfO`QRdr<}ve^ z|2$?!&tcC??sf46vaq?B>D!1cJe}t=sYU%hCrB583k=+J_Hb&ul1uD)VK7Yd05S{y zHdb4+tE)_EdE$GAA|kpVSc*6ml%G(ONZrNSEHh^Bq#5HKwO-lSl6W-o%A&{s;Lo5- zPOG)S<1)GxH?Y0fp##^;^4urSdW&>cl&GiAoT@}Nt)S#PS=uqLkM2CiS4MAvVf0nag+*_hMKfwF zEx*r>P}39`iN`z3{cBW`R|47}+OWz(8d4^kMom#itD1H5DvI6GYv`qLOz~XtGWygV&9q!LhdJ^tf3lnBa{xl zu5JZ{T~8_0L#YOebxT-X%0+&6@XC;;i8*5p5QrvW(NQFksQB1_veoqYAvFXrE_M)p>0%#LL-95cc?N05^>eo_+phXmpJa>>2TzQi^{r z7mq+C+G)p>cU&q5W)FmXmr38lX3Ka}5J#rwTT;95O5Z91w739jckLsmYC}u|NhTI^ zhs?tl9=xburbMj>)W_2LT8zjRP}MavPKTBk+9bt%wQDofZZ=GxMjZ5Pl!(=1RI;b0 zL1ns584{ere?r?02JnI$8n!f8h`2w)=la@xy^y5wsC!D|1YYC!se>S%;s}hQ202yR zHn_$XMZM!$=%wLF)Sab=YBTGG!Ck#U3TdZmC6!>r3#?wC!HMowsihQP5Ycc>bbMTd zi$vM4D;?9P+QcE@Y!V$eI1-*d-O^H9HEPBR@<|(vY9#61{~U9ticX-G?G3KJ_2vR+uQm=Mt=kgK1kj~V56}Ch(IS& mXcg*K=T?D=HS*PhY`pJkmRrI5hk8}p(ZHQyoX#ZTe&-(nt%Yd- diff --git a/docs/build/doctrees/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.__init__.doctree b/docs/build/doctrees/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.__init__.doctree deleted file mode 100644 index a7f5e39d86de22714acfe34d652a2fd58912bca8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23297 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 diff --git a/docs/build/doctrees/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.article_extract.doctree b/docs/build/doctrees/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.article_extract.doctree deleted file mode 100644 index 40a58a2a087d5b25f2996445b62dad25f28fc9a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7163 zcmd5>O^h5z72dzu-PvF7I<}BvJ0lCM-DqbfQ7nO03dj(A$i|x}Aqe4^R!?`$RL}Hu zce<$X z*H!Pm{@(XqRlWXx?Wg~Ic2511+fl$BZ`3kv+w*M}C34mFt$4^hk$jl!{~&po?8$m) zK8XA{v{)kNFvH@GYlqBB?j>@IrVGc7TIu?gh*`q%y?i;Z@nybpFWKXDSrd+MS>cg< z{f*GKSQPnT>sAo7ZiT|JT=uroXzIZ`1{;acv;@u3qOa$I>YRj3!P3$#0= zT6FA)VzOenW)wk)-!;!1>R+pN983ls(;9@VOLJnmBFr8=O87Rv!Z-L;zR0i1kK5cI zvi4wXyN<lcRn(dpdh(V(Wn|E&Ce*38Xrf+%9z`s9k1fkz&1JQ=xQCs`l?lF&r zreJpa@o_#!6tXF;Fak)=9WBHiJ|}CAXR}d(Rhn?T0Z{mL(Bbp=yMezw{5?+q0prk7 zu?mFG9!EYjlHMxx-n#e`}Te!?>v>BR>iS|FCUA8^P zr{(tyvfMUwiFm^a*qwCpexv#2#v?HffPU*0#}aq5!7XomkUzlyK~v>pPHrgwsa6qL zv-*Tg+?n!T*MZBYJ;@UoG`YfG(`?u1nI+Eb$#r1W43Ls!Pi~TVm0N1eN}Q^XhVEe$ zm{cTJu_R*QeU?y+UWJw0X-@sFl2a|$w@kO~I-Pbf23fq9S}(rPjvT?7P&F`nESh9a z8x^vhzNxB^?FunaAcOHCxvFz5 zw_CJ%QQItKQNB)*jB?bdqPs-PGD!8HjN|vt#!=3DiCN?;0rn7pja4|GQ6Q1gAoeT~ zo0T10&L3um@vCh0C$p>u(^h|!Tg}Unq4TB?mib0*uTio0i&^#_OxyceYVVOg&7fLr zP9u-vxDhbVM%EZ3?2CnPrJKp+>asElzd75hBJ4Ozv99e8O~*^*LNLZ&1Ocibszyzf zmPAbvX4qpQkvmi6Hj(SJZwJhBx{j5c$U0Jf=-V-EVFyo=?o_A7huY{d@!{7%>Q^{e zl!_q#;4I#-^1Q+Zn`Pt!D2za`Q4am($zD<13{v(_LbRIA%V;nWlyU#d4BSum{LgUc z$GJl@i2aWlsy~_ng=kHxe?C!tHi!Q`L-jAGR1#Ind({`(1C`KKkKK3`^DFk|PR#bEx~DWvSLz}s{35;&ckmye(LE|5>R?!uO$ zk0Bw$8Onc77K8kF6d37fJb4`6#S= z*`$jpuI)H?C320DQFryJF$)f)kvGK6m# zIK+x5>HiilbehVk)BO)oY}7(+=lbL9?Cq<2(kuL$F0w%F7Hv-0^0GUh<$I#olggS( zXC6Utp6UNVM?mSybXT{BJ$(vW#(4u*^(yk|Nv;1!di51VN1fFAf1;tfjTFW!p0E25 zCvqeGNo|HPj%eGSpT0npis-oY6}16VzvY^~eNMO`@8lb3(+q+p0zhpsb&Jjh&Acm? zNu~tZ6da1v7Dz#H3yQOd>+5-HCA;n6LYPW&#hDx=hgBea4 zq@6pw ze8>Vn6o$+0GdDR}kZas@^C4OuY~%ndflf}8O{&S7%{p-p=C&S~p+~nF=w;>*k~;NJ z8NF2UzT9%WAQlGmET8T?NZ43(n_p_GQgo&K&|qQchXyx2+hrkeCRb6VqB}eyOxkROd>vi(Tc;O}x-3q%_MLkI->ThJ~si#P!9k8(FFws>ukoavb zhAxcNh1o$K*@7oWtMV#XIW+PF&0ipGE}X~<(byB_$ly+oyZ8fxmt3F7zYz^l>5O+{ zWOf9oE~>E}8mdF5!M$p6^pPxtUS}L|Rv=>a0Iiu5^)*C&;z%pO3Hak%j@JbXveK|i z#R9kD$~@XWiJVtyuLrdU9Ua~N2U@$ZhTm#Ke^ctzz|GwNw zKfQpiZdVsJ>_u9GQXgUUBJ=Lk=L5N_3k)(E|trYq=)%p*yC$gsi diff --git a/docs/build/doctrees/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.check_required.doctree b/docs/build/doctrees/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.check_required.doctree deleted file mode 100644 index 0429497be337b401a07f273594bfa009014ca3f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6855 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 diff --git a/docs/build/doctrees/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.custom_filter_soup.doctree b/docs/build/doctrees/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.custom_filter_soup.doctree deleted file mode 100644 index 37a9443096e82fa8e30a6635f7aebd61fbf9297f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6365 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 BCx8F| diff --git a/docs/build/doctrees/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.extract.doctree b/docs/build/doctrees/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.extract.doctree deleted file mode 100644 index 1f2173b4459555294db5cd19a33024d1b4872acb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7415 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 IuTP!-0mPL882|tP diff --git a/docs/build/doctrees/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.extract_soup.doctree b/docs/build/doctrees/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.extract_soup.doctree deleted file mode 100644 index ae7093bc13be57f10152a8c33bd83e319c1adce6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5989 zcmb_g&yO5O72dTyyF2^SyN(wm{9_eCv>SP5g75*Y6d^<6gPkmqjX5BjR!w)!RL}Hu zb-Jt9GY1DaM0imNkkXuT0PY+(00+*93x5Fz4xBl2;Kui=x_i23yps*V(ppoms@|*q z-uGU;S3hq2>IYw1GXL~W5(z&Xx0&aK(&I^{*F5Q_BOa>klkDgx*^BH@H)HlZk!kGm zOfO-DEBwHVd6+%R^foP5evq{D{i_Lgl`q3`yJ(0NvHC1K6iwYwz6y9{O279(EM1-? zGH&0CqV~O5`EJ0U7>&#ho;rN2V&*DZV@2wRUWpjsRGHY-O{c_PT-GZ&>?it4;DNiH^ip6DK3j!`qPe(Bi6DubwW2v|!+EX{3h}$3ofVhIF zb?0z6#LPC$IEfD*t2C}fU3gv`SsW;qjt@TSCU@K4<_zK8OM}Od-JuU;9#agn^)HNy zFm`M<_`r|&`}yJ{6PI+PO>-nlHblE3!62Y^=MH3JdH+>2WgNoiH^h6Ew-yjqBfz2F zz~{Fj1Q*%UTV&oui5c@6L7L-HaGXSpvfLWBBs@Ol8NvPlR_^D~@#mT7Xa~||K_~FL zooE8*hu>&_{jE;oE8c>tA?x#G8Ur1qxK941CdGA_&1aPuh$hDrN#JVOKajnHI?UD0 z?fK35^t-d^(dI7%&$8i6)3{;Q2b*=)Q7YZnbzvQOwg~w(Lf*o@M&{-b7f;1Ag4dbC zD}Gp>anGC)i4mStJPv$Be}ypL{XcWGq^OOW(r(q}HEXjL66HR_Es8d07S}7Zt)R0V z)N%aL`8ew3Fk@Ak5@0U?*u*&UH3JeEjndFnDVw=@_409H7{BUPf4RtNG;j6irPVUA zI5u1=ZdpDk?H$b6`|Too&*$y^I=A(qERoGDj@t!9~%nvhtDVpFufj~_nB#Va0D4AKJSls6-)4OxIGt(P%@kZSBd%l~U z=_Vq5B)ycbp*x=^$|*ffj;+xX;=><+)bCLl)N-Hr*?GL-^>vj?vWUp%P?&&V;}ZJ) zY2vSD_MH7w7p)cR3K~oWb=?240QXm){O>r>FUkWgAojl&sQz>g6rwe${>@bN`5gYw z0@c5pQ%wve)l+yj=fD$xEbNwituLyhU z{BPk2gs;wC#E4ncP=UPpi{hDCs)5f>e?Xj)CE;^wlrspCbL3UDm?wg%%Ev zOj+}exMjfsSoerjplVT~xiVDM9oP5rv5~4782WK>a~O`g*z4R z0lQ^`--`_?yiBirp9Lvesq*6AInm9$=aVt?HPIuWS!AOKgAHrOf$kxO>-jK^1B|wa z>eQ9eEX*~m!}MNHN)<}QE0YhG^%lJ@gz3l`_hdZEAlar;IdWV%qDPAaD!*bSJV3(= ziSyi7!YO)VSj;!%%`!ed=8=q*6Yx_WWDhUtb-{vih~9*cePE@~MJ2_ehHiMgoAzOD z`#Fn4sz0EYvk@dsdadB}QQ1qq?T1mS93HxosuaX&s(P(&woLB1QJ-{p9Lv}dEc5~% z17|ua(vsehsj6#f7%iE;IWse(V(^keXWQzXo}t)%qdqaSSzo1ZNC1=oM1kpywgMLR zQ?xZe+(YGZ3C}?KTFhM;dydDc7K0h;vrqI2g0P1a3q*X+K}*&1$LMDDHd;#QOhx*V z4^nM;=_qna;sIDA@R5k(kOic0$4G!~n2`IYqA201CmnQfSap?;Bbjigy3?@4RnDo8 z*33|J$MO7xbp!g4{FJLjK!}#!#K$BE0b5anHTg29=LhByLGRNq7(t&%RX03L+B~>? z1Mg+!5ER{|r~-4sK8P6jBVT0?mj3zghTe{NU>0^@Od3J?8dp;VL{ zcRCO!ZQEeBW!&#%`Z}#NN5D!)@ev%POzX;{*4N&;3q-f$o;#zSBvbWo6zZv^C(;gi z-1fQZ85;=vj!>fj#+r(C5l5a9*~2w`6RaFLWq_6+khcS8`f4%>6&pLk?~4F`VDObd z68Sfi5z?IVVT#C30M#`!wnN9X(iYsCu0ZGK!u2-dfU^M+yN76|&dj@`c}&bR!5R1? zT|exB1x0Guqhx_Pc4nPFBKiiB*?6RvwP6OFX|54IPfMKXCAB zfky#)Uwf%{^G8n5HR##IhFi#LFzOTRzRbf@da=`MHo+jGK~CIRKEg#gwpB2%b-Oqu z$fj^JfJh#_&%Ma>UQJ3DyAeZMuN(!j4Y*iVzmv;90S+H$j}RWH sun=f~HKAu3dN$oFb4yLUQHqTZH~i2IQja*)r(NqFrN2B=*g~rPU!Fn>LI3~& diff --git a/docs/build/doctrees/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.filter_raw.doctree b/docs/build/doctrees/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.filter_raw.doctree deleted file mode 100644 index 662f5c2004e5a02d164e5984176c90f5a6f9203a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6188 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 diff --git a/docs/build/doctrees/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.filter_soup.doctree b/docs/build/doctrees/generated/Processor.App.ArticleUtils.article_extractor.ArticleExtractor.filter_soup.doctree deleted file mode 100644 index b0d28d18e971e8b800efb4d5a4b5c97583c3f519..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6257 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 diff --git a/docs/build/doctrees/generated/Processor.App.ArticleUtils.article_utils.doctree b/docs/build/doctrees/generated/Processor.App.ArticleUtils.article_utils.doctree deleted file mode 100644 index 66f2929fd50a224954c90197137eb498c9218fa8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22264 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 diff --git a/docs/build/doctrees/generated/Processor.App.ArticleUtils.doctree b/docs/build/doctrees/generated/Processor.App.ArticleUtils.doctree deleted file mode 100644 index b6e15cf91e8d9d2480a5bc5e06565640dbcd7920..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6230 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 diff --git a/docs/build/doctrees/generated/Processor.App.Downloader.downloader.Downloader.__init__.doctree b/docs/build/doctrees/generated/Processor.App.Downloader.downloader.Downloader.__init__.doctree deleted file mode 100644 index 441b50c4fbc14937cf45b9b031e3c80f08af900c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4108 zcmbVP-EJgD753UYw#Pr?wU>>M*dHrEGT8~(!T$|NHA4Xj9{%2FeW@I3ed zEq5xjqs9ImD-x%4(QcPLxh;2|hcnstJ*QkImZtpAeq(eZtkq`pL0OJI)Gvxm^Hi8o z+I=obpRs3570S{7Kx(1&_V2_MnR{bp8*C#gqyOQH5N|7cH&(M^liw~muyH{i`#x*I zlv{p#f#HR}ovA{Ei)zCC9(T^DN#%e&VZEhNOStYN8MhWfeD?~T*I&D7Rd$03Pv%BU zX-(yK9G}rtkVo>qJdh9MmVD@6j-}4Ucz&H`DiL!0+qus8_}!5e(CEzY*H54R{(Stg zP6{>Gm)EDI(VvRB8^dlpuI(MqL?H}!A|2n*S1f|d*vMGG@#uWBn#c{`Q$;GSmN-z; zL!RRL@=ZAO2l%~(-x+>CA}D~SQ4xSMfT)TYDCB?9Xg_;=dUi9zPIKX;P9F#V-pw|S znlppkzHot8^2c)2p?x7A!Kb+5ZA4P?+6~VzGoTq}6 zofN0!D6gLoMZt?=cB-eR-`bCl&TmDR^&`CN*zPutXn^emtElq-h3YP$ zT0^=^$GncFd?ue0bgY9;{s9qF+jbIdLt24XoG_U}I4u!ibHS1oUoQKq(f--%+C{hN zeNK^w3wTdsFa!Rnw{%Sfc~ zuZ^NcaWz@OG6K0-UI)Kj=bCj4Q=M~F1o;oY1CZTyiM;(!)LyWo8SE6g&XlkG!Qzt= z;dOZBj|#mo+Ac(7($6CYDfd6Dqq{T6zf(44cF4P^w-{C?!|0Gm zN9C7haa^xHj8?`mx@U>!*PQb z+!VkHD~#YdBzcrYke}^t$fszD1S*%Wn882oPN(SQ?I^$$SFoVC%}UVzmd%qxG#UKfsEF{x%U!w>YmooQnJfz45d*k={O z+5)P(aa<2sY-eh4A0!eLI)MZ0a0AW}MC_hdC9?Ja*2VYFA`QF(e{`aXDOk|tg%ipY zwwkQ1Q#sL>9!4=3>HRPdU`;*|DI)k9{*^*F9C9zgsyP!VFBwC(h{lXw5ikAm;#~&1 zX45*Wp|I2%qI!$nTcWt6cZuJvvkSr*$0R?ha14-`9xiRuu>sKqIn3pBSngohX^6@5Gn7;Q+`06kn);5Bq52SNXd7q@3Wruu8AUI zY2DM+r%s(Zm#aQ)^Zp4U9@ZacQC8_aJS`OkbbB2Hj5{S4b72@gI0%}DJDLYe54vX4hN0)QD5Wd+71++w3nKF%lG*Ic4V6Cm8VVhmXTTgGfw%)qG88C1Z z{>D>}KmP2+)+M*=m|O0ZVcqjxi*1P(%&k^$C>_;Jr+xsz zP9NT?e6}qjJ>+-uja;Q|ek%-z4Nb$byL#jnm5QXu^`3 zpgWE$^bs$Y_kH{9NddRqte;ZbJ$3F({cO5`7I=D>ZPqiA`l)m0pg$EDt8zxoh;r|o z#Xc^^u958{lQw2n*pZy9$C0s0zsg*mEppLIR+N+5kzO<RHajhED7foDHQ({u;Lp|YHB z>?dcH6%d)I6o*FoIh0F zQG=gP2joibMj5XRC120Ts`)x}Y_H0EpzLYCDlS~cs0Nq(osui0eoub&aXeA}=yM4+ znQn5_Ij+JI4hYZ@%(qRPyantzl4xgqTLG@uAR6OGEl~wn>gM|X$H;zNjeW9x_8$K zM~-;I2w}`Q#^MH^XRGE;()z z{y{QCBArtnxW+%=>&Zb~le2!<@y%k&AuCTQiGVtBBxLV-Ap8rP`{(#TC_+Ci{11>P z0n5+80~Qoa9TR#dv~^$Wx;D}TRutko3YOD~ULL#r{44jq`pSK;rcXNBt?J~&M82Z@ z?nuD>uhZ4ddmr39tB1l3!ofiIhvyJt$oAxFa-l&U)+~IEIlbq5|{$7~R4oVm+kG zk$m7rFNesG6b}WR7Q=$Ff&m4Xa*BkLNAb>fJX~B&5xuQGZ|lAT%&fuIN#e%e$7Nx- zndD_x6<4AAeI`Cb{z9s_M5CptalW@LoB`j-W~-z zNcoWBYCX0`q{j6mmoH_Jo&xxx;U%3I!%GbRmlOO?!Nz*JAe+qLC7t^j7FFf%m(0KRPn3O=%%U)}iJ8T=OU|S)ikYY4x<83Dhb!S!j7sVfiVnhf zgvt6U{0z;Vl#AWarw)vk^;_oCk+|<7s{s=N2|XH9%haJ!ou;0zs&EGG`OoQg2UT5pw!a^fn&YP({~U${#i6`>wBX-7#$DL&+p6>alXk4MmyD zjN%f>^^q?lEG!2eEf-_HxeV#-Tgo3sCd*^AhX9J=P?3#2MRLK`oqmXx0W@yl{Ro6$o%<`7qHN9HFQTnbqp6GH()64<};O-bcJ@sMB798=aOca z0hJN3kwnT$8V&r6oX2JY_i`8)0B92rcq$=0pl>;pc&};)qb8J^03x`uG7{R$ zAtF0~s!pi)_*GMFDh#8sx!&cdV02-?IO3pZr9{l$LV0Ibb-z_hJ3)e7_>bE)ogTa( zg@)q<7D3nLXDE0wnPci2THLzth1{g#%oD(%p6X7CI38Ndh+U+uggtG~N zEF1}W0rk1%@zN-@Nz^d7^|BW#GEg@he_Iz2_15F~FOW4Frjh{>sSoXd-;Rc| z`i>^}S@aD*MxFfx^BZ*k2jtm3*0ya{!jE8&dG2K7#DhhPI(s9AuTplJR$;i#MZ72oV&@ q5NuFw0H=r-%Z1Y8TQwVJ@$AUJDY$=9A*`T*kI2ru+oARMZkU_FtJwIEEg+kdb(?-dZwql z>8_6L!!GP$MI!2g(g^K=g);}>#DxPKxB>!>NJuL#`~hwV@w`>tJ>6}4vPpw@XFdLY?ZXcCPqO1od&LtAQE*nM; z1fQ4n^!x{M!F4>A9K=0SE}KGxPA?X~jc}TG?1(T~v|KZaFo@@xXO8vLk{t(=m!4^j zLe{4_v0N19fIcOBjbGtSewEMjP5H3P{W0r~PHfk)81KF{@?Eq0awlStD8k)4Z@lsL ze)q0#dCtgxaMBJ!f5=9n3%#SR*0(!g9t%yu?Cvw-+zBJVaczGt?(rE}b3B_J7wo4^ z%Ri0d^A}-|>-gQk?-EYz4dg8wZ}|w-`;)>gY)`< zNX(djj_*#;KH%42Qyg&tQDB`q;TFEM=!+3KFqMeIk{AE{3=iG1{juqIM#wBbwD;QY zmJbSRX}>pg_`IfO-&K>h+q<{h?~0QEcy+$zMB*@exfcg6JB0Ojo+R&0Ct!D&Fl|$q z_hAhcfirSV9m4cHUzn9Jm0vi#bzLBw_S!ei=)|*b-ri~7$_{NrfoZY5c0Q$j^Y-mb z?qyk1E0Ret)q(B4_T(Jf96>FtfU=xz>xjNgPh}}@7p0gbUz4*(iCJ_wvg%v3bKGO4 znZ-%6aXfbS)OnE2f{;Zle83V~`wgspJ&nH)EAiKHeam#auG8xVCvZaVi=EHE)Qud$ zb^*=E9I$8-WnE;m?!+q)lzCzcPWC875f|Q|?f2VdznH9fVg|gnKdW4}scniBPB|n? z+q@=M3c@mYOJilA{qup|k}GihU0|j5kgK$%N^|O+72)MWJ|Zl~6D+xl6rz=FC}pdf zqUvaTGBqayWgXv}rsERns1;nIZO+&2duQslp>#tH0FHu%E+Vf8C(QP&5v`Av<&b=b zqVy{j>BWSgmQxN=xKj=?stB%@mS-?lM$1_K?0hWctam!FehSb&P#*V!0*cfKV$Txs zsZ=t%muY~f@~*$0wrg;D*I%Z)-qYO(+DLMg$3}xAi3I>vQvby>IETVtSyd}5) z0*NoX`EYJ_X6ETl&p#^Iecta4%T`}0^aRt)%Kvqi$^Hvh|5c{EoIT7#^su7)C#LKE z+f#<77$xbap{c2kr6T{vbom9lE1yrpqKM6K9U@8r(M+My`%Q8A=fvjA({+CuZ06Ae zRFL`lbm<=h8UD`_ENYMEMPn!Tl%0ychtu^vAB~Tb&41QYOv;DAH?1w9dIGVoA z(}Vtm=0&GeBj|0ifT);vEw zK$H$q7javaN8&p+^$l@iW%)|p(CnH)u$!UD!Y4eUeM~8cf`|@8^>3SQ4EiL$)U6%JMoQ}VVS*Rj@4*I{;{Y!!dK&|>M|fRMU*pil+bTIM(N6Rg z+tsuwNi*4Tkfr42V*m2-T%qXr@USbL3fdghl zx#*f%sp(-SrUO+%CwEKJgDn0y7y zbp8q#U8ksm=Xe7+qU($uk$iLJqkq?AD_{YbxIRNPf_8)MxYPykcxX@IAwS852%^1i z7sF9U^E(|s9CQ{!3(ZW z&fkp2C{D(AV?=fYs4l8^{c0#COM|;og7^gXRl1?y)XgDXTk%Mp%hQ2c^I({8W z!r25kS2&VQ1pGUR+$fDwp;p6?*3Vz+6jb2%F@2E+_4Du_D22nn<;FJo(12Dg+r*EjnL@Wno&N!)5=Hs| diff --git a/docs/build/doctrees/generated/Processor.App.Downloader.downloader.DownloaderFull.__init__.doctree b/docs/build/doctrees/generated/Processor.App.Downloader.downloader.DownloaderFull.__init__.doctree deleted file mode 100644 index 8d2c7344644f3725e7099d70082aeeb0c2aa2130..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8901 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 Sh7M@eqD|p1jTHKt)cFtd+OK2) diff --git a/docs/build/doctrees/generated/Processor.App.Downloader.downloader.DownloaderFull.aopen.doctree b/docs/build/doctrees/generated/Processor.App.Downloader.downloader.DownloaderFull.aopen.doctree deleted file mode 100644 index 475aa44803333ecbda030cce18dc921f73706a8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4819 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 diff --git a/docs/build/doctrees/generated/Processor.App.Downloader.downloader.DownloaderFull.download.doctree b/docs/build/doctrees/generated/Processor.App.Downloader.downloader.DownloaderFull.download.doctree deleted file mode 100644 index 5549854ed28fc35611d3f0afdf7dd219aab2ffe2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5334 zcmbtY-EJI774}bN?D5Yyc76aQ4zr4u*h@UKz+ND46oGa(5?EL$+2sbUnx5{OsrGbt zHC@&A_+o**Sh1Gs2Bi_=0+6`m0`Ues0ODfB6Cj>}d%jcE-P1jeEiH*Oao4G;Q>VUj z&R3`ESFPXv)1E-{TwnK40d$S`WC0*kE$*hk?iV;Kf9Q?%l}2HyQt0+I(uOWBYw=vEN>Y+CcBbu<4u zAmDGnF%R*36Te6J?Gqe8Gz|<0djK+s#|Q=etn~BVesAx~8`q1N;=L2!g(cCn= zXY;|aY4yGt{oD-RHxWNkTMJ*9gllr)N8tNHm9O1aN0~d zM`RC<7EPpWSigdei3Umr<}JN7H?@TMlDrAJxEl05y^gp&0B&Y2y-7*eaOEMGz#82#M$cP}gT!K0nmQ9SZT$2)8&}CjYv3v^bG2>1e5GwW#x~G7@Kh`f z15j8ER=Dv0O-8$|k^-s~>e}zkX|Lz9nNF!}a3>0J<`LX%OfO-alQyyZ)74n&#rSfP z{Q;o;-bCJQ0~DE&WU;5ROSH0hSXzLu=Bj_YZq?-Ss(&q3{m>Q|2=8ln z!Kv3WiI$_Zg2YY7Oy&BmCWBme5afCt6J^4@U=(=yh3A4`;mb=3Yw(lNOLrN6!%iOQG&+0UB-d#37Ts~GfP9XHYtGV z)7)*C5HM5>&Sow6`LTGDIW4Xb8LZ?kCttWeozvK-XXEuRguF_!C| zxoJ$?4ZX~bAnB+SMJ;VA|6F&2ILVa5VowmmBL_1zI{5B^A&~pcPKTwbNFDCRe#lbb zOs0Zc^p?m}Q%lQe$@T7B&zy>r7lst9-kA;M?EB4*xykw_?Lh)44v0eRDc75!8;>(o zr9j+AdkOb$eal`R9G}rShGpnlb*$S+vk`a_hy=ca%5D@)bKcfnH&eoyiS$x{pxX4a zC~>O51F%LAfNIj%4N2jakpSITlKW?(M6%2m4hnFLy2+-Akj$yiG*RLy=QKcNZ9;U* z@dN1&L)u7T2AUjT)ajM*@#;fY)2uGAmU*?rHB41S1OT*g8{^{ zZ|?_vk&XwszC$C82^i@p7QsOZ4q1i#;LW$+0ixY>O7%!rmx6WzE((|$ znKh931FoVFi*=McL>~Ey=SQo07f~5GRf1Ls67Rw~^LkS-!3E++ctJcu z6qMAkLu4Vd;oP_&qVT0>9g~mrax%#gHPMjyNaAz&morpA7y6EeQ4@!uCJ!CFN#RaM z?ef@db93Lqi)j+>|LHB$Vw<}%W>B3y2Osd!wS3~4MkW5h#7i&PFRiZG&FX~ zRn4TGhJG+`s)+LM%i^N^E?%9>iXl`4mHAnziQBb4bAywp8l>4@0K~H~;_u diff --git a/docs/build/doctrees/generated/Processor.App.Downloader.downloader.DownloaderFull.unwrap.doctree b/docs/build/doctrees/generated/Processor.App.Downloader.downloader.DownloaderFull.unwrap.doctree deleted file mode 100644 index 360bf494090a9ac3f78caaee096fee13be286942..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7300 zcmb_hO>7)V74}bN?D5Yyb~XViahTO=!3KLKzzXeJs}*RImB7SWg#`(P(DZcIO!c^@ zyXmgBJ%U7VSg}S0d)VfJ1nhke92U+T5Emrw9Jp}ZGe{iyUR8HbcaJ@>H;FWHS9R5U zufF%aS5>cnR{PE9){Ocm*P?(s-bvfEZO^w^l*mQfx8fo5MDjth{qy8;vLzd#c^vt1 zXt6}jV1&gT*AAJNJW6Dfh6~4y+Ufj-h*`q%y?i>a@j734lx*>atO-ZBtnf;{_IBu7 zEQ^%R2xdBt@+mK?-gQ!bf8gibdWz>ct*ckGC8S+HC)iqMJYnr9C6 z)1n;*<3`uC4nx+XF|k|_W}jXqe2w4aEBqFp=bQ4E9qtcV=Wt}Zj>UNAJBPk&c3x>m z3=&1Sd;hJszPsOf;9H(^=pT(*LFf-2j z_ae5}>W)B_otEtnO~*4rX8EDL*LqS$0B+PlVd&Vpt42RigST6|Z?v9>Q2-d*-*zJL zFl)RM2QGUETI@Vc-rG*V?lWQ9rZ6ADNh&;Nv|Zma-Hz*YJHZHK@xI#r@|{lP2(}ARhi0EeZTgIDx@l zzvcH@Wmk>oTp(lJ-k(*}YAB$qDA$XL?S{;nWlVoG4bw%!R0Fz5Dkiby5BU!WxF3#z z{7ZMn!S9tLV$;D7H`l8dVGzvnd%x#~o!H zpPY}Qob?j3NI(MYrvU6kIqwAp5-AU2&l0g&+3w`*UZxyRWv%Z|(;7@_{Z+0t&pCz; zghF)AwsL)~ioOr0={ug(_xn`eW4-kw^lK_%X$8m-0rPCcfpLP3tKh112e^?9FR%K~ z=UY*P83zs4(}^*WbHNB32Re}H5cV~d8xl1{m|>p@^l8)NGHs#(vz(q|C8x51fF1gF zOnb~r7YJ6$DWg3t|A1WmF+lhuHuqA(;-}|Pf|bV=Hoh#_jvz1ucaC#ZZ&vbuF~KXW zxA@ovtEIu2uPeP}#Q!w~@v|55PuTbC+`cIk{$z^i-%eme1SZjc7>hoit^b=M`lAWa z#8nbK25MyjM*gQvZ_d#2pb~6@rP-O8DK->bTjVPL>zJtgZzYO;vCO|<%D$dV;W7XF z85|wdVeJKJ3Y;!X)29y%fPA{^7B&xkdI%YgL|#H~88! zJ50V)FabO`eL$ zMe_9EcheP|nX1pHsgoK)sX4xIQ85UI zw;ulJJJ0pvU|uVI;dmTfQfXMYOC6cJ5gb2hYKOG^$EgCcCq5?{TuC3PPBX$0dd>6G1w?5Vor~X4M~K;pB~FA^pcRw$7WV+B14zpka>NM<2$-+RXNNT z6Gv9p<2y8WRyM6Tqza&s*ZWqo9$oj7ixCq7w;+^D*Yo;kFH|nK6IuVB>Bgvbg2hjTnSm= zhr)2#5p$FMIl075H*ePDIy-TIl|U&h$_C-uXtQqIhq~sm8G3YMgj{A0(bEtiDmk>M zqsTQs7G)_lB_)xY zl{Xa;gI6gqnp*DIhHUn&@{7u3d6m`>0VocLTveS~bxp4yqqGFXZQMWSP$iewbd}Gr z8Qq?thDxCavW^hzAv*#Q$2L&b>NzI~ugj(x3*Q)b$vFq4TD9Y0VC2LDu&TpBnh8DA zC4p(W9}D;KhW z;5%{!i-`~dy7mFqq{ED!vYf^wRMrN?T7tNBCpd( zWdcSTf(_vyp~{CW*nRoVD?qdv_NKTjwd?udCq(s_7e3o#S=qVit{0>`eA!IS+(xd~PdjXXf}1*CZ()UZLxB8t0} zan6wFOCMoWJkqz0!vw4ucA1SJ9>Kqyq5N_xuUi;(XfRZ=T?18Pl-}rz$9r-;{RRZO zx;>rPu*YZ#N_>Rb^UOP-l7ny&hA#4`?;lD^WsGBxL8l+wvMEpg3$WZUG)xFN| z#d5XiO(kyCa=;0)2P$+Ag>5!Y+g*qd`PZwm(l;}52}#BBV@esgw_3jI0%@!P8_U9*Y5xbn;oal`!UN|e1R7wCs8miL kvNrPEQtDpLyOj@@9nW%On>f^`SxYv3w@5REJ|?yQ4|EySApigX diff --git a/docs/build/doctrees/generated/Processor.App.Downloader.downloader.doctree b/docs/build/doctrees/generated/Processor.App.Downloader.downloader.doctree deleted file mode 100644 index 7296ad121d85f402087b352d34ee18c68ccf0d9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6343 zcmd5=?Qa}M8Fymeo$dHFAy$#&;wmbfY3{BKMXHPy0fl_1)e|Z&LXE?AZg=ix?{;^V z-P!m~RU|41imNF|WRL(=z*pc8;0tf!Z{Q!`I})f82=N7eGrN1cca5DhRHBwH*_nCf z_4z%&=jB_KAO7a4IrAsiUf) z^K)U?`~p7?JWd=MHJ$ON($g_};VX2gk2Tw*2g;lt+h38@kl?&Ru}!&TjW5XNWi`83 zTP}ERKvg^G5V=f*h}=#h@E-d9^R5%?yVh)v#4$SYT?vSvel0plSTs7s9z?XOWfEBv zq^E}zTW8yBgKmUNJ+hkXoJWzXQD zujBVDexJZ^PhT4^7rExLb-54{H&XIBpF4?1KeIc-_DX&-m2S);%&KjnNWz|DjpEJP z>}hBQ5U55;Cvxr5>1FNZOe+Q@TSdD7z~`~jXVceDS0bn0R&RW(*qGhGyKS0x+YqFa zcqFoH?pbk2%ZGT<6D}BexpDOMH($8_=FR*0|4MJyF1C{o{vX)bzj<^2fFy#)iSLtW zbPHg?bIYxa9AI_L(y)@7rIv+fnKbE7FXOK;PBI9}lO z@&cOXI@}pO_Mr0-KYr{$MO)eX=K%9dATQF3NXSYP<>7uf+UK4A{u{+p?;gxxVI_{e z^~TZeQT=GoynP+quoBY1af6;U1c#M(`{D<(Tdw1p=L*o5SK5KSo0)G3IjXSWDwOl{ z(=8ahWKJwEh9d>GA2skYik4|iYv`v~JJ%Xxhec?oSg48ixVP!G-UF^K|o0_BeOQ+Axut;t2qFpfyI&8~t(Jt~xJo=^9N zdVU0V^r4}g!wXQ4f(35Li}k%i`Ldd$6vJf<&{OrOmHh*@!~O{N)~kO1ETwDVcOdjO zw*KCf@jsespXMaf4Y%2!X58rPqd&xH9^f=5le^bXKc4J9#y~aGo|h8zoQxI>M;~dD zJ~AwQba%`YKh6&(U;RM$O$p*>`ReSS87Zt49H$RhU;`dtoBgW{ib>9*AI&rqhR$S4+X!uE&F38c>mGXJ})#H9fm5B$tN1w;zW@=Y5M|L}MD=qsDLC z#oR2NVRzEl{79~sHns$uXr4fhLn+t``b9*`Dd3Z0=M^`wy~Lqi*UNH{m(JyzOYx49 z2mkF@|Az%PcHO4-hrF0*(5YMaa%4UmoD-t zXt7T;s<->!cmmM+uS1}JM@wPSk(o55g90{nb|9~Zd1l=pVc00r>Cz`cq%7Mji8mo$ z%DzjVisVV5hTk$kFrQkmNt2LXPLl5gnDR`U-OzI{$Td5ObWU!KGw_wXC(Xp=VoZfV zFp8qY=D5nxjd&msq$0}u8u1b!VvMqN#6y{Sd8C6Q2MKa4h##VHDc#1x+5umHDv5=h@8;ZHIo>NZKpld zLpqNh>(~{{$}0!hE1Qrdt!=py(U3>N^5{M4!LsEtBi^`Kk(+er;*|suNt_E+WW}MK zq=)U+bRelicC1T@kDetF!DRJy5NfWuL6``O1~%7$Jp$E4bQ>=AVMLelSCoXJ4Bfn3^m%^c`Y66vGpF zhK5!>67&+%qj+%#v~&?wD0wBKHjf+&rUztT8(pku%c{+TF0P3eaUBc%)pdu8RppxI zDXZv`7hS+<)k*x&8bb~bYdTz@EeZ%Yw=LIA4_-Hjwfc*$Fs6yaEzl*THW27@B)8?6 z1|_zz?zyom3^>;<$BlL7jEiKatmUS_Zpal}CIWgv*sPwI|fsQYLqKwAKiQI@sfgnSRxjp9L z2Lvx@N2ugVjQWPKzL~(XV?5Or(@vX~$8D0j7`bCJh7z6BGc4M1f8J;X)*w1xU}tH?7@ZXK7Rk#R%2nhk^AF7M7% z^vnWP6D1{`M6Q+rYhG*>#Q0j;ljSpWb4 diff --git a/docs/build/doctrees/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.__init__.doctree b/docs/build/doctrees/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.__init__.doctree deleted file mode 100644 index c3de847268ef6b52d897c2e245ee5d1565089561..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8635 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 Q*)|;ol9)l0b8n;Ze^ZlZ!2kdN diff --git a/docs/build/doctrees/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.download.doctree b/docs/build/doctrees/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.download.doctree deleted file mode 100644 index 3ff8ed5489ca2bb01f874077649919da6df4fd12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5485 zcmbVQ&5qp05#H5mW_R{y_Q#fB#QGUHi8bqZW}L)_U|}n;E$HBl7l9)Ck{ASs?3v~c z$!5r=cIV*031Gwm`V@75AcrLP9E`j{o*;)HFJK_AkbA!BCOPD+cP&W33d8E|>gunm zzOL%eTYntiSTX<9ZkF&MJ|DWi9}AylT5b5k%Oe&`{Y)SJR)41Zs*}2BnaER*X|;kG z9uGo4WwHKLt1eBKL6{AT_3Ih)WFX>dIdAbcU;kA1c}KNmAVXFgQXl+06&}knkq+NW zlHmh!7Kg(1SvvIdD4PGu@fVWC-~$>PmP4AWKg)qw#8$b3z;3v5r+^)QH;KFPZE2Z3A1`iH&# z3)|R>nB>Ag)av~g)=>-9_KDPP&fnz2g*#68T{s;Fzm632E}XlMkuHrmSpZ+kJZ+@V zDRv~xaYjhXdHs&gKNN9H`Bza(WDOP?@J zYd^%=hec9-wUkuDPLx1(u zN#;kCeTegT+7pvr)0vBvmN@Gx7h}u3dG~nL#ND=aGA;pPijw$2eS6DmOVBS4G<}d< z?t{MCLL3hOquEXE(B_8L%r~ne&u2U&nBxV^JOWQxvpdG@Wt(w>*-NCfbs=cl_`9oY z+#nmRfg7~V<+gqPjkX;a+rariRI)S-KyWo+;ma4zO?#}85~>~Q+FxDLUQcbaoHEI8Uc$H}ZDRSi%du3e@x`3`3qbp`iM^K%P-I4u$DYhDu*~XFX#svUcm2mz zyCxTR{i@jYV_VrEz^|Z@e_pPfyWdD6bfCXhs<$to4$!v~7W>Fx=Nvb5&1J<6cT+W2 zHIMtBD=eyChaKp)F4XE;GROT0ft)9}6I&+HG-^6X+;qyMR&O+^l@tGfi3Nd|%u>_-u1mEB$}hyHR-42LVtk4US2t)%wO;@O{$I7bz{pTDaGB&` zXldt_rNKoJp*9^UJO`;SGkw}#UBNZIG#Q%wk_LYdcbf%P?{}7_R(kt~=1P0O?^q;& z%zG4ZwJX9Cv8?w7WpUs1TMcG7_jC^imbyya%hzq+25Q?DTg&Jc!F+m$j=ByHm|#A= zOP_|FYv1d!u;t@ZwO#zA>Tr%=-Hk6?Ic&5{Bi*z$QPg=(&- z8Vx?6wX3S@HmlE5EsEv$C3ARFCxL-ATlhg!(uT}dKH_TCWSNGcPiRu(> zfk-tzeDnvIbfW|xTXq`kLb)vRYmWWh3A$!6? zeSA%AayP6#TWX)32fzwtaGsTuTB_xzK92&J&R_r@qoei6@;W0m^U_qPvbCWbQbmgA`V-mkGfKY8!{ikOH)5API+T zKtA~XTW`9CMRYOB>srYD8yzR>5h>{zU2CNL)}JH zMoyKW)d7lT?Wx*BQz+eYhX+$0;tvsgJrorD+gXIm%lUPV%+3JSOXk~tI;L&1;NJE) zDrgU`w;2bV4TxAh%M(y~7uK0arGg2bB7TGy#1lk8Neu@?7Fj-CnioVAzVzB;@{t~2 zW*SiwjhT-mp2NSKp+0)5Zg`kAa~LZ2(7{s~8bEr2`BLo{k6j4YaAJuKw~p0d)Mr?| z#^NXRsG~M4!62g%oVcR`q>FTH6=oiE_F*J~O`;!1Ao=u!^O;r$4JqB>MhtC}>Z46b zg%=`BUnimceL6(epZ);47>5i3V6RYRTzk?V#e8hIp$I8y{{3u@~k( T#n6;iZTj?fQZR)roQD4g39Ll1 diff --git a/docs/build/doctrees/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.extract_url.doctree b/docs/build/doctrees/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.extract_url.doctree deleted file mode 100644 index 26b61be109f8f7ff614fd54395613a6f2d6a5f88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5156 zcmb_gU2hyo6&>3dkH_EkCJ`ucVy$3hBW7k15n5SVp@nRa)-YP_E<7c)db(?-+SA?D z+f{9Q9x(ocvrVoph8xg(m(k)6&{mPr2P+)r2kl4 z#G!C~miGNDie^t8e=eC%KBl=oyHu&`si#hshB=vlgv_yhf?0T&S)OlN)=c#ID| zor=&MJnBmZjVkT^?8%d#pAJ3|UK~ut`Rp)B#TlEb0nRN4_Pm1$i&^R_<_~W6=WC!& zp!ZV=a2}p6XCvOy?I8BqWsNnKQ2Y>J@VDXiZ{hD9{2k%%I|K}{O#=hR5g-lX2}q|u zF8D$Qj*btH-uR@45mQ|F$GQISjdhgdwcK4Ds@%=^cX@yAmmz-$@8kNn5SQMy+aFc`%Pegclx@3IbHQ+BIzfogw33@};#M`|I?=`~Pg1tt@ zuH(#~@@E99GY6Ib5MGvk`u=Hg^J$zo4s?n1TGODCmm{AybL z!%bF`>sEhXS*=3dvBa-Iy>wXFJ6y2$mz(TeT(|e=so1{m;v>YaH)Gz}PV zLDdLt61lf9*(h*&-BH4G5b8?i{NFFo)JS8$g=5VItNP#u)knuB@jvDdEFQq;1EQA+ zRa?T!gfI`8SM(3$;{TM2O2yfz2DCxhP;%Aw0*e3_v^{GrwOYCZCm7nEEz!`V+uFDj z3)|pa>CNIN^)EB183Jv;EM-4>fQPY%QIiOn;b^{dCVwlAd36&plJZ8iH!h zP8G$aN8Pj`5(Q&TVIK?uX!-Yg}yXVz+y5F`U^MA&>dEU*cs|>(ZPx| z$G}G`E0r517;IQG4s=g3TrY-%(ok;^t*OVRS(s~EH|hPc5Godm)h17u^cFpi;w*A5 z$0Ch#NVchkNE}Z@^yZRKdCy8%i1r&2=OR$tDLZ{wEH)Ia|4?tHED@=4LUzu={B&8b zb2qGpZN0}X17M}lBFb`6Tep2S$|f+kec`4trE=(HZUjk}UR8`Pm4BtTgE+~Q!(vZR z!bf0cYTSFTXEMzF=A^^YRHP1fV?SgmaHgXo`RE;ysiu~;(UR+fg_#8vXFs5T*|vJ; zXDD~yZ%!<1*1L2E37|M23QfDX6}s^xL$3$KeH4LZykhlRDf2|?J3gbb1~c?@80uAo z-WZ7#hy=caK64yg=6qFeqg@uxT%?x+kZKE@Pn?Q)0M-ZsblPd`hNN)ENPuoE$^COt zB3b4O2W>4@?Xt^6Naoac8kTsLaQOzF`_&K>-J_@ibK(hz7zRL@!2>bz8Q3zvQ<&F?XzT)}mnmzz4Bc}?` z>HxQmW)e3~l3Tuu4INj~Q6r zA))gjo2PUk9!nRyz z&s~?;btri7el!wcMG&*}_JXil-EC;>mR8NC{f2&I;8an{zq6>Tm}%*CBo$9&lrqq| zdLj&gH12@H()n>A{~9=anSX-tKsSXz1FVwXuJjRTzsfBQ@kS*!KHLamFU)-6(1doa O`;`8QOksPc{{H}wI?(z6 diff --git a/docs/build/doctrees/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.extract_year.doctree b/docs/build/doctrees/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.extract_year.doctree deleted file mode 100644 index cfbd32f8a1b09b0e9c652d6a9e9f502967291798..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5139 zcmb_gTW=&s6}H!&vB#J3CA+Igcz3M`A{#L?K|~R<6rqTfg<`NmxIFEqRnuKF)t>II zPIt9E^RNLPB4SiRNNL0);vXP^_zCX z-TLGD{U!6C-brKON7Fv@yhwUH&Got`-7Msh%D>Eyf0Mt+k8~$tSE%<<-u`Q%fY>+`8fn5&*SGtQEnY{10o&mo3|uhP8q3YwR!=FfA3 zgJ^w~&aZJ=-HsU`RJqvG9UP^=T&(DJ0rk0F4g84b=h=|y4W?A$4>JW9kxN#5FD3Zb z+<>Jig!tWxSZIH(ds#dm44FGg_=whIdQGu0P32-o9EdIPNUVs*`cDHPLq3?yyuf$4 z82oG^12%ZKpK@qaN$)48r@uHGd@S9_pUBJEVVuYdK2ZalI~~~b4#qs<2~*q~-0jj= zz}>*!Pg0=s1RWXN-lTt~m5|*U8GHSaA8;pTN}L>iM*jrTSMJvOmKs<(`4N)AMsG9e%k zb{7@f@O$`@i7I;Fu>1{G@_-)3#;oi8`ZME}`{v4IKF%UnWo)6`>E)BsI({{+{^2gG z@lC70udG&4?pW5>Kwdtq>>V!H`^#PSu5Q}Qn8FQ86EVY!C>rEF`e&xWVTrxYc#?Hy>e+M3aMFDOkD)GD9*uk6YYW1j$qAMs& zZzz1p!cVcVNMmKV)wI9QsNkUw01b1!K|w5s7wEk5W}0lj1_t7vdS{;YOsfT4Mp+Qp zJaMov*{ouE!%@;jSxHoyi+{gFRWn!p7G59@U`TthOhc1YYvZ*@ z+D_(LZxuhOQJI0VJCQ6-pB5rI+Ye0iP^^|4J+XRT5U+2D_;qx?CN2$*if|j=XxvQu}qW`@Jk-#XZQ4m zU_mu(={-L6ft5lpn3juLy5;dV3aw(#%0~(&0%W6GyPf3wQ#Y>8Qv+dPioesikGK&N3zta|0=5+aYl>wK z^+V=y_|SAleuO@m+7)=1w0Us(CSLc|5ER{`r~-4MF^CxWp|A1}m;UwNmhQ$pb^r@U zG~&sQv!fk|!FZgW!b86)l#0`n!2sg4ZyW5sOvZy;KcJQ72w3ST9>PJ&wC+6aee0cf zfoL}wxeMw^GFSh0sUG3Vh_n-YCGfc#85;=vfly%pV;#kYh$9az;ocs^kv~iuJ;>KD&|HEZKGSZY#{W{?Au*LpT4W~9Q}Gtw_+}nO@O^Qb>Fv5Vjk;~u2Pfz}FkvMWw&gl| z?z+UTL&byl!=Vf+f|#ZE7lhU7PD5j-v}!i(H}oR|CyG-3gGF7%%#z+fQgLNQDFgkh zD}w+?;|?e+Yd$eD4Kj~7G^Sk} N9;Lq`Q`qjQ|3CWB$o>ET diff --git a/docs/build/doctrees/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.mine_metadata.doctree b/docs/build/doctrees/generated/Processor.App.Downloader.dummy_downloader.DownloaderDummy.mine_metadata.doctree deleted file mode 100644 index 4ee001d2cbfee9140b7788805b774c0d7dbd1d27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5784 zcmb_g&5s;M72oxGc6RpDyNN9%{4t8annjtJAaXz}MJU2JA`7d?0Zulpp6;5dp6TxD zbXR+44i0dLuu<_LrIC<00Cx@?0)GMG!e5XB2hN;1aO3x?x_i2N?O9_HY2)cvRqs{( z-tWD7uYTP6_0Mmt>HpM05^*n_4{X;Bh0BsmZMnip0~X5c)9m;s*^{iNI4~sh&Rcwww;yFa-cc>-NuO1Q)VDu~g~O6W z#DjOEXmC%QhrX~~77yGs2o?`5cPUv8-lMTW;Dzj=6)f?;rSvs=Swk>7sjZz6O zkykc6Hz5zS9p6q82=TiW+JX7C<)+c{V`MwCn2l*ps@l??&``z?_)WgcZ}AO&Tm5Fp zMZku$h3k6`^cTTUQBfh3uUg)xUg*}E?ybCz^8*u)Y@OKw~J^X!zpaHtE zrvd2!R4<%>eCh%5rZmwz?)F}Jw_T8r3->rv@4d1PP2+Mq8Q(mUnVs@C`C#dtGkymg z00dVNqs|2cdKlTK5i9ZFTA9YR82i@q0;jatb3`Zs)JYd^ezQCFd}c+qjC4=eX`rhnF8`oI^C?GJI#VYGld!>$-m)Npyuq0UlOK1Yia3JLHooOH#w`+wubozrzqfsTg1iTz%U z)CKSjX&rTY73y1rx`BL)3|>T=Kje=HT5Aa{{~==4?D9zO5(y4olPvZ<1agHccVCWl zCFcygOLbLMyH!=?0?iW&2djxxJD*=*RDRdd`O%BfQR`u5SBXb3JOK;~?V#87(aCg_ zhK@|_#&xLHPYT=kRk!-9RaT>mR)0}iE#u!Z0Z;*Zy<6JrHthXjmA&(e_I{V!``DBQ z2>K0B-Ka-qh*;=?_tqSjO~prfp1xrw*H8SH7w@17F^Uj2c12)&VWzG`3nX_4n6 ziHiU1MU-Imd6f&Q2%&Q*Ou(IaiRwWm4O8~j2>19B_D(sW@NGp>NBAEr5PtrqKgV8v zS?*;8UH`R0^=~iWL1ZP>zhA0;F*ELox|OW63I3wtFG&0r0t>CXDv z+6tQ$w^g~w|GFe1|67fMyVdJ6Tfs&C_vbKd+Qxofl4LmfOOx#Ki5~&W{H`n#dS%f& zHkDZ@Kat=vwN2NA7)??0XZ5>y^A!RO03IywR$b&H_{OR4o15rXW3W*=sclON2gOS) zlWckd{GOw(aV7o~X+y6v7VfOH&^y+}#65o700W@jCCY$!MOjo_F3a?LNs)?#GQCIC z%XJmHn=b8{thZ?@&L-G-W}H5tL$~1&of)Se(x<+^E8p!Cn_x!lcCAhZg#JXnZ`c8_K4)v(a|W(wT!FO(O3u>3dt&ir|W8u8uBm=toc~PK?cb_Ri}~Vh=BV1 z1S-F1B+N&%2Z?p=Np2N=B`oF(@<#Ja?Zzw;v9x^lnEBc16}8Q6zx-^eLpJw-l|(C& z6q8!2<+4#afw}#2I}WK%fL>+?kaT2>s+|s%JyrW&7^Tu;p(Ci8K!m1p-2ZxCXPle$ zL5sz)h%Ii1uFqoNOj|`VQU@ZHbuBHeB~!N=BMlYPrxY~%M(=VD#p;{&fyQEWjn0q& zC=Q5x-HGh^b~s7VMgVaamB$sloT%4g=7`v}Tt+n$%ut(prZy3NVK?s<77p%#rSyZa%=ZPD-Xz@by zWmFTx!=%lH%Xjd^RDOb@hZI#{PB;M(eJ}82_Ws&G|J_pi5sNIq!VrykH^SagbVgu2 zc2D7bemr&>>PfOx zf45LiPfkSI8J?;biqjGmD{6_bt2;pb4k9si*2Ne-{K@{jo`GxPOcWtvP@X~&+)(s+7C<^359Jj&+NM@G4pWc!TZ5T z_$5K~)Ylura(1Vtu~Sπimgk%41LDgSy?S3a_)wvkjEky6S)jp_*B2hunLE|&H; zbNQ#h;gjqE!UMGx0u8Vx^ejS8jz?u~sfl+=vG(DP7dn3G5{D+VYTKpsmuCu7LJj^4 Da_qMi diff --git a/docs/build/doctrees/generated/Processor.App.Downloader.dummy_downloader.doctree b/docs/build/doctrees/generated/Processor.App.Downloader.dummy_downloader.doctree deleted file mode 100644 index 1756590bd29377c8cb97ddee0b31dcf4d2a0f0b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5521 zcmd5=ZEqXL5tc1c6!k7AHVQ;`grE)Nz$EP?A6hj|5je<)7-fqzDT+q!d3m?wo_M^y z?Cx1&0|PD47#6Zf3wTqY2#TWL`!D(%`UCnS`ni2(??|5L=p_M)mH;K*-p=gq%rno- z>~CscKDj#QKXyZBB2JH5EQ(SYaqa9xT8|l@l9cTda!fVqV;^zitaTg;N|<5^RAe)wK$FVQN@LY zcf}44EM9?wzKidx`0nES8XX??Q?Wntu3gAjtem|wlu@4WAMRXu6VBc)WSSQj5sMw; zST1gf*3^m}@iKe`7%i&2tKzV75?jAl`pF~h+VpvX9&rzv-YNW1Xkw?HoEHAkbYani z4Y#}vHx29N2~$BRlR#&@x{345x!~v9&HZ0|dgt+{uRk9DceLD3rpwvS|95EFd;QMd zTP!zHBZiq8y$$%l==NI4Hi+L=<+Zb0m8Ss4Imr<>m+_f0!@EQbyS+H!`r}(Wxk_&B zL_qWdOdC@~ZB|EVRe0U>mCUn>*Qe}MhdaKZHLb!7r-{h%37?8a=mBAa`EL!{^35y;7)stw;kr#`=n7q9SNN*~>Ao9p;BK!>;5J9?n?yrHT&Y%QO^`B zcKdAnLroP({8TUyVxEZ`;_pZswE7>;LJm#-0+T++7Jom(J!KhpE*BLGZi|0haG|re zevI8bIZxB?FbQ;dx+c3ooa|70;D9k^_hwbvtCifblgPARa6g-kz6jC}XQiu?Y~yH{ z?CFeAox7ANuDN=|JtBVv*|G`~`$Ylqz;09)4h*7pTrf{8J%>V0hDPyf$$MUcUyai+ z$s_I)994|>z6BRN7gwxWhjk8Kx->WU#4)=xWJeLtkiXvlH$HZupU5tvxgN62SMeRY zjOu?{!od#*>kt;(2P^n@mOT&Zm~gN}vmn&)LNivJI(}E&wKubIFVJLJ)|^)UP2USt z2EeUlnOPBPL8vtqDjJAN9qZV*CM7T}!=>{@B>Kt>)$LitT$cNyNwSyhdYCI}41!4; zusR+o+5x+yxiLs^XsNa)JyK7})FAO8N&K88If~*5W;Q^frK6=HKBbhY4I5^7SSgkX zpnHJFW7Jk#)2UafUK< zNFASsvX_bxo}j0|NN^Y%5scdxtW^q>b#lk9DxOJYf`mWf3F6c)3zkeCYj%qt#juiL zCfDOhHCu~#H}7M)b;>|g20$-oLyR3=G<_8-4`VO*OfHI+SUiM=}8UVb&%p z1gUvYmGmeHP4FnzvGL&C2%=b1nT~^$yR45xK{V|u4x<5nR#M1XIW3rQ+BN!xML@AM z2OcJE5nR3kx|uuzqFWSCKn{3a0RKbOF7MC%^ItW)p7AW8k_K^z8wBhfHDw0GWA_vo z_B+CuOz*YZ7}l+9WQ0sxQuW);UZt6S3z!)gK7@meXMLVEzjymhSae;t8MBi7fd4)Cm^d-* z@5tUaxOpk-PhbD!-Q2EK!RxKJhK|C=It5HILM%0&SGcJ%VeBKN5~Il;N(<>MGyN*=2BOD05;+^hPK%695YkLc*@!E61O~?Vq_1 vzy|1_!7I3D(`0vwvMUoRJu$p88TOD}DXTezOrNBdBVzlK7^(coyRH8Kxads~ diff --git a/docs/build/doctrees/generated/Processor.App.Extractor.doctree b/docs/build/doctrees/generated/Processor.App.Extractor.doctree deleted file mode 100644 index c20dbe7921d277bb41fbb42daac725152c08b114..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7253 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 GjsFLo;!!jJ diff --git a/docs/build/doctrees/generated/Processor.App.Extractor.dummy_extractor.Extractor.doctree b/docs/build/doctrees/generated/Processor.App.Extractor.dummy_extractor.Extractor.doctree deleted file mode 100644 index 396e935a9235d3c7c1b7c0aeb1da41d75f534298..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17494 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 mrOK1(t>^gCReUTj7UOsEv|n8S diff --git a/docs/build/doctrees/generated/Processor.App.Extractor.dummy_extractor.Extractor.extract.doctree b/docs/build/doctrees/generated/Processor.App.Extractor.dummy_extractor.Extractor.extract.doctree deleted file mode 100644 index 275321c36c52012e3cdd40496ed067a592978672..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7235 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 diff --git a/docs/build/doctrees/generated/Processor.App.Extractor.dummy_extractor.Extractor.extract_soup.doctree b/docs/build/doctrees/generated/Processor.App.Extractor.dummy_extractor.Extractor.extract_soup.doctree deleted file mode 100644 index 67dfacbb54746d3e271bb731ce55478686a57c3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5817 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 ZaLbR}AoGYrBU-iTQTi(~g)NwR{{xk1$W8zN diff --git a/docs/build/doctrees/generated/Processor.App.Extractor.dummy_extractor.Extractor.filter_raw.doctree b/docs/build/doctrees/generated/Processor.App.Extractor.dummy_extractor.Extractor.filter_raw.doctree deleted file mode 100644 index 6b9a0f18b9ca76888bd52c684e0215f0f06f7563..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5733 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 DtnCr= diff --git a/docs/build/doctrees/generated/Processor.App.Extractor.extractor.BaseExtractor.__init__.doctree b/docs/build/doctrees/generated/Processor.App.Extractor.extractor.BaseExtractor.__init__.doctree deleted file mode 100644 index a4a76ccbaac0763675bacca67aa4a4c911ca42c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4134 zcmbVPTW=&s753UYw#S$8+F@6bvKJFUG>e$&AogLkB0?ds4>4FMT%L9*)pXZPRi?YE z(^c)YA0oj+AeQO{rFcZ}10v7MDa02xaocb%#_b?Q6cxzz7_e|hKL zM)-3_rjRPX9P=c}bs~&+yNQmgOyt&o<)8k+f9{8_U-CCbS7j``+rWxgsx&D@?q7R1 zpygJjX1v(HV?=C~&fD#>C%5I!Yd@5I*R#r|Vr9zx=$ECAg)zDue^?abpIzFL#}*^e ze*J_Sv6R1Jub9e}rT?DvLhapOV>PtiUfTxS2-@hs|H6m+%HHkubgXjQ1qVFV%VXDP zEuM1AZ7*OvcXv~j3x8fsxZC5_mTFR2z)x^*sl*VpJ8{a5fe_!loM-jdZc-J?!Gy>2 zQcP)0<#sHe(Ug}*@}WGCkK~qo?5-oJGZD?Nl2pY)M!%Ztlt<6TMnI!2N56Ra@;7JE zCpym6Twh$B7N!1F%xwg_O;p<(%|tFrZbcH^)?F;X%h38sZ55FOP-yZ`^T+nE}l(qu?!Dm7REayUX_GsNvJVb=rIo zHdDZotD7JNX$Re{b#OemA#Pa?%pc01*DR@x<{bwN-9Ahl6`(Sm63Opj`^Opz{9)>Mns= zBf3k++yqm;lCKFlwnR?;4zW|)b`oquhJjP8C{u;NT4BNFf+`(XuDYtx{@G3KV!7!9 zPBDmN1Z%z9Bb)W)Q>1p^_4{_FlZs;T+y4`FWU;^=FsZ{-5N2AXX${GP&eSs0+#a(! zX1KOBUjFf>iq%H9)#qTzR)$r=N8+6PQR>_kh|~9W-)OSBY*eS|xB>MdgV0-f@GtDyiPGwz?iPlDf*e zT_dbTc0hk~+%_!JGB`MaGk(j{3dN-jqoZ@zU(`HZdJGa2KVx}TV6a~w!=QVP;of3c zl_^Gt#5}6XG>hYUwIkfgRBM}SD^@1Y?zlthmhviNms4G49+Cm&v4X`qqbAHisus6y|*7OEAaj{|1ES$T8QWUzhEEN|b^=F%IPx7=K_S~_!RKUuj_Lyc-&-D^9 zsb)BC@P?N;u)>N`@C=eZ^<;uB<-c?Tl^2y|B9C=~RS34qPDjs2Ax}K)PBKxJx@3~) zNh(UM-T` ztU{Fm+zE2nCVE=;Rw-g#CM*$!K$nuo)OMV^ZA8`-xe#!ugrUMs)g>ALH{g}kY$wszyC}fl}=P4;X3KBq@8}j{9R2WeunxUX#)je@pXd}=?Eq4Zr#Fkws zRLa25BbF$`Cn;TIVdYK}4RYiTa2W&s^U#=sGK*zws?yL?xd-%xLr}J94ctrG68L)` z&3`)tKaVM-K%0C97N#mgI{0|wpZ`MpQHX*87J*PiM-ST%NJ8PyC^p>N(%Qnjh$4v1 zxUTnOUCtu!?$gR(0#-6BGC0VFPC^u;@4o*Ghz`nWyr!NcOZD$H>Jh7)7&{l`SP44~ zXCUe$X|oiE^(~(uh!QLP*{*v8N@lE$&h`SVZf36CJ#&>?e#xYo$rL}(_in0*`3ELL zIbxqx2x|kV-U{P-$Uo76jP$ISd$1;(hy)RQ1^-GREDpIJW7V7q6quBueMFB&kBcwe z@#4h>x~9`QtD&^i8iIO*-CH8Rpy!I)t+NZl8RSGEQV18zEH7sQ*$O4$7)F9@7Oz4O zDWS*7=iZ%kq*R)N7}}=oV4H#pZyzk*Az}S3zmZ=X*Czp$K$@1{oE!Nry%oMjRr^4` ztlZ(M2ZM^kSb+y*1Ju?M3e{#^ZR@I}UWXgNpeBnPqNT3@+Z~;m~oic%c i(&m$nc)t|~zwN6$POF4?GoxL538lP6cBs3c@xKAp^-x9t diff --git a/docs/build/doctrees/generated/Processor.App.Extractor.extractor.BaseExtractor.doctree b/docs/build/doctrees/generated/Processor.App.Extractor.extractor.BaseExtractor.doctree deleted file mode 100644 index 34acbe56462e735e7644fbda3993407510d290b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17329 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 B3rqk2 diff --git a/docs/build/doctrees/generated/Processor.App.Extractor.extractor.BaseExtractor.extract.doctree b/docs/build/doctrees/generated/Processor.App.Extractor.extractor.BaseExtractor.extract.doctree deleted file mode 100644 index 2f5eee7bebfbc6db02c9e29fee0e5c7fad8e2903..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7176 zcmd5>OKcoT8TKPH_V^h)n}C!!OoSH3V9x|tv5~b}v5%|-)|%DwkWdIsPj}5!&-9D# zYR4l;1cw!|RIrC_goJqA_rL)-b3j~>xO3pbb`9#61Cbm}RagIi z)%Sn@UsYfKu=cb6UY}F{5cs97b5&aqWot>HSo0&~V|naXWi|DQ1>%0>5~j*La;T-A`M*A#1`BE-O8fFTNE8 z7K`H`YQGYO?Yk!;GA)4?D}KFd#%!uTC6lmt>FXE>gU@d0om8z7)4U?`T-479P zUOy74nefl@{W01{{3c?GC0;@nSW_!(;mHO)F=7Xy5=m5H@z2lXXe(lI82B+eXd+&F zGSdoS;J-LXW`c*P&> z6+_Xuk07YTo0Ds5?v&+3vplnTO>R_YuG8w;RQEVZ>cH$!GgM<{R-)gMt3YT!L>iGN zxlWE%KBzXUu%mI}xd(A*Qej!fD=~|XSxS-lGQ8Z)^5B;fdC+zP%XB-g)9r*Kkiq{# z`*XKDu_M?%ObyLGi^pv5psI9=>e0!Fhx!tZ4k%H;PQTv_dd+G?iZ`BIhi)FuE8;X1 z#FO|gWgc^2i*^;!@6JMWnGn@*E|ZgKB>6r5ZG!DPW7zn8WUZdrwwf7A8zLfD(RO=n5rtn6sL;;48-QH1i!m;`S*e<4S2+);(^(fRPnc|SGFtRtL$0Gv)# z)Sgq=kn=F{Es>ZLdzYL)$erU?)$6;nyoS?We^PiYN{OM_Uy8X_|Q@)9^bH7}n$ zFa+}1o?6-*^vNJ%IMVoWsSL)POpA3A<=G3XAeHDz<+$aL{Q zeO?8soL=|x1fIV)v4q3fOE@#b2AP9tpf1s|Zo#^6$=`{7iJ7rbG{ZHQT|NRr-8- zo&o>+vmN|Dz^^Yu{F0=5{H4wJdx0{5e5$gS-h0WUYdPcz zoN`mSLYE0tOQHPs!i)L!xfEvuZ$wd^OUCL^4I zH~k=6K%8~a(e`C^*dd{4M_<9m!Im!;hn0OZ4EKxsZs}JSdfHS!ZV#DuQ!>$pi9C80 zNv>id9|04Y>_d}WK`<8esf_Pw0cqkaUM>o`zQ*_H-FdlTB@rocMxnc{&qnTca#;SH>!1fT$m8_XW zE?VnETGH$2Dcsd`DCBl82!tO9R(g0iFV{%`^%KuH=>?IOqGy9thS0DAk95@-Ca>!r z=0eItkMY0}+{jf!c+6hNWW*!67O^mhgyFJd=B9@Wa)q02(X7cWcH#gl0bwf62i0WF zX5FL@cN-7P$fv6w>@w3sPlIGuMvF=x%MHg56Japl3g|+J%u7UX|IWUu7dNU84HiW~ zWN_2BT^0dnnkq_(+zb*?wNg`7Qn@qnWWvPY4kg8gwmY6f{`QUPgNc{rWm-cFpg16M zm6EjXntnfl38WF1g@M}bCgP0lR zHx)}PVH`V01HDlLZigop&Nu?JZ4Yn zAwSNA2;+lJ2i-ALH4^07LDcW0@+yr~Q@}_=Fb@F|O6p_b{`0qA0HPaF&zdk#J!A8q z%FUB-N~9gKsO>P(Q$CRR9WFc<&Kkn(B9Cmr)5B%C16F!Qk)Xu_GQH(gUXDk;Fi#Bb z^tp>aF!+)i5c$_)4;z&6y#$#Z1F9>kt(%6D9yPc-7Kfr{A@n-qfU^P-Zx53Y#hX5j zsP7$FB{&6t0?YAxU_o9Qwy9XeNq1tL;}Lz`z|{Fj-yDW1SmSk>jU*l+zMMfhIh9u} zj2apYT8nEy--TjEUmhOIt?WAt=<4=#VZ;8SEhzIb-d<$>F@4LB5Z0)`AfrJ}>_!gK zMHpJ2QQtAPFiDV2K%fSZZ2EHXFqPYtUfQZvH>~xFMxBxhA4V{Ii8}S~!8Wpfu!;X- z*`RLP5NVKla1`@f_@tnoW1D-4-%aFtIhxAcy5)cqG#|LoJ(RZjI6d!jj~<855{SOn z4cvktYUpzloyF)z#bP7(s$SZz*hdA91eN@&leV%ab8-bm#R?KC8Mstff$IWktN|O# z(ra1&d%)qH^lhXE&Pqr$z#5aRO&^rDi`r7@UM;#+3|AfBaub_4)Tg&rY$|_QrO-#D G_WuB@dY?%E diff --git a/docs/build/doctrees/generated/Processor.App.Extractor.extractor.BaseExtractor.extract_soup.doctree b/docs/build/doctrees/generated/Processor.App.Extractor.extractor.BaseExtractor.extract_soup.doctree deleted file mode 100644 index ddb17171ad7762b86bc62d5ff7ad6d9a79964672..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7645 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 diff --git a/docs/build/doctrees/generated/Processor.App.Extractor.extractor.BaseExtractor.preprocess.doctree b/docs/build/doctrees/generated/Processor.App.Extractor.extractor.BaseExtractor.preprocess.doctree deleted file mode 100644 index 77c2613013ddf758648c541794b7ad8ac226b60e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5939 zcmb_g&2J<}75B%^*yGQ&H@ie+y?BKJV_45D5Funm5fC;KSh1q;At6|rp6;5dp6Rc2 zRoi2UU6DgXEDAWJxo{xdIB?(q`~^`i`~@7iaOIA~k>9K8&zZHeOR|zzQ?IMutNOj) zd#_&oy!G4erxx@-wJl=qh0~txx?$upk*QTTa?*f>GJ7vOcsqNPbyX*^&qS0a4$IU6 zW;opQ-GqhN!%S__bm{q`m#<$D%#mIcmdkmIxB1G$tjjy9B|Yi0+9!4NMiMzph$!iO zBaV9yrZTY|i4iM*ebW}KlE(>)&613?Lg}^dVJ>ujEM4zp`mEUO4b_fqoK9wZM|G?c z4!*3~ISME0n(u`yJ4pw&TC=50yg@2~9-+1Dxq^^caeP|{2=TiW+JX7C>ZWlu7}(Av zVMCgesugLE=u^hG`3ro5-{#AFPyMpbqk#1%=dSNLjQ77giF~{NQco~wl*!@iuf6vD zA^n4%SjM+r?v2W2g`|Xcd$P!yJxBvg6-Ae=zxpTaf4)}s}L2C3O)l?y*Qx71d1A0}XK&50}S zw}HU1A)Z0NZg{k-)^XlLI89qpn`BtiT#s49htD-Uvd zzdu9oo*y~3-}k*iKR${zdbiXe=$qu1vVvm@pNZd!t=$EOXU!{!r{D}Au#)YH( zXt>`5w_Nd5N#@S+qGm!zqdW`oTE*Z3-nys>?N6_Qc9oztxUQ0^c}V$>_>T#{pH%qq zhX_ftzg@jQq%M#^vc&fguQe`w>yw~fNjXFQ(pcTlX2VdqLUV<}#hQh1wOCL9SP7c& zJ-!@1wHRi0oqmMV&w$fZ`|df74H=Kq(2=PaR+xWrna! z7}UJ6xL?}apRxCctL&Z4+xvZP?~$q22>azCIZ$qhS?D4PtSRbD%}sf}zGWsiPyDyb zcTk5I_X0L_qrmpUOfALdNb(TK^B4i&(pe$XQ>2}Yn9PhNwNCXeW{x-Xoa{n%5UN4s zrc@2?eq@+ZCOJPcx=+Z(f5GAZj4IqnQ~csGDzN6fT7fEJ>l6wTaOSK;^H!Cl>sdG_ zc7^(CF|Y7!C1}F?&nw`4^3MN(4gI>@&=p+$_Z6ytHwOwal~li9slJ?+|Gh%>pXO8( zDM@t&&&C{h{I7-Gl8nts4cNwOiwg@^?4jn%Ix+bN6)X9N4L*LMNw@fllAB#YTmJVa zkaFC{Zl98u!0D-Z`Oy<&AfFf4T5&K}goNRy5{g|P87;|$5*s$mu5?(-mzn_)w&AZvrO)qy3j^y#6^7;)4XU3%VmRf1an(wb`sKk33{0wK+>TX2}Xy?-c?&(7^l)=p%c-q z3L%)v;o;W~b^5s7{AjTxi4u$3q3g2*IMY^ilz#PySRZZ;ZaB3NSG5PuH`biJHiaL?I)^@ zAR8h}0uj%(5D`Ofn(?;UvQrsZl}IglAl0Uu2C-EV55Q`HheVTvwoeMTwFKyfg4|z; zV!={3vd}+b)^#?GBf+ftO3e~STBjZwLru|b%k_jk@aZ7=E?0_x;P=!94kHi(=H3t1 zOAepy&=o6_^u_Kt$gQJehrG;a~qjw;i+C z0xS&Ch~^!8$K^W)GOfP#d#?0sl~k!_wfe?U-Kg(|Aq)qtgN?EM797_H}u#HE#1f)aQ7UJw$y>^ zO~e6b4I)-g(ikb6UJ>=vV4evsz@NzR!Xa2tq=sEe79t(Y%<}@GuOHba9_e9jl7ThB zfVl|bbNH7tv>zAhrh{1%i=kohExeYX?WE_qchye*WC^0yKA3w%_LUl+?WsxT74<~}(#iN`4j$-#Re~_xpx;M4DO~(T#Xg@GvBowyA zJhSh*#LPpLgZG0$&|c)EbhC6Qz_g zZ~=EB-v`n-0}9K^tGWC=;P6iNCc*>vCIlK_74%3%udcggZfS_uOR@Ihx)(Zr>Jo=W Qv}(eaxHsOcs>qMJl1 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 diff --git a/docs/build/doctrees/generated/Processor.App.OutStreamer.dummy_streamer.DummyStreamer.__init__.doctree b/docs/build/doctrees/generated/Processor.App.OutStreamer.dummy_streamer.DummyStreamer.__init__.doctree deleted file mode 100644 index ffd7567d91dc295cf4fd757f4afca239b0e1617a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4214 zcmbtXTW=h<6_zEhw5!X?QfebWeG!5-kc;k4isqqk5g0)YKUl3=Bx#@Q60(YE|3Ld7s z7{_IrE}t{qjGxfBoqf)pGnq+4{~hUv`kSBd1=;;Zty{0ty2ZAAsTL+cB!Hj3T2n~;eH@NY2cr%YSW8*>t zmIoKx{cKvLKv8QNY3*t zsNybCnOU!-O(|SqwUNk3;a?j?jpA~$2CheTJ6}4xTcxH=P-B&bGIQeZb`PkVWsbD} z4^(x~r5WsHs!Fi0>|y;$`E%)B+2c&rM(bKcCO!6~q|$M}iv5*A_UCz1z(--8k5p-z zf<5vfH|h@C5!G(znL-S+k6Sfks2Q)RsrrCbVbDFtaK9dwMS{^0@sO%H&EmLTiFKV8awX@@e)OT%~; zsTivedZn3;em3&S<8F77@uE-#6JZu7ya3K*D)Ndw24A{bdR~jO_cmrWREU4sVWo6s zK(qC3cVc6wy+s$$KuG|f#MiQ;B+OLnk=F|<SH)Dc*pvzB#0)e9u@OOb^MDLnQPK$~gu{YsQ; zUdD={=3>@4XL1 zhs8A7P*0MT`ga@kh}Do7JI9+uax?X3AnF5Q(gcSMOgKRh#YVV`zP$%ZrmT(5_5!Tx zcV5|BdYPGU!GxTN1V7OCW}=AshdM=ZVxN@=YYnL0^5bgAeDhO*doL0w;Sn5Ig&T18 zAY%8t%#p?EQRZJ-bsBgD{-{W1Q?Q`P3#XJRbUE2rCsU$tqQWW|={YiYU`;yVF(P;g z{|e3x4!Ip+)tqsZn}ngmL>otsk}vH^{Q?AClWCRJP-rR*UcJWd9iCm$GspI;?1FFx zIZ>7*!o@HX7Bh})h01UOBSAKUS0;!Q)1&5dXHPp)D%4&KZPRwJOF@M<6PE9hu=*C? zh_AIBkbnvzO^a_XwRndf7hj{seITBe_GsOMUd2%)!2_}ZYAXqaYO}7gbzM@e!wul^ zbfS`$6n^RVHiYf!K}X}DIn{4E?dV6!Eez%O+nc)TnJv4IL=vfzg5BAJNF@o-#T`&d z_I^>zzXAeZxQ`GL=#3CufKpR4P2iul`J^L0XvN-d2QrJ2GA7>4XxDyBDX-2BRZlej EFZ1tmCjbBd diff --git a/docs/build/doctrees/generated/Processor.App.OutStreamer.dummy_streamer.DummyStreamer.clean_up.doctree b/docs/build/doctrees/generated/Processor.App.OutStreamer.dummy_streamer.DummyStreamer.clean_up.doctree deleted file mode 100644 index 197a910a3103afa290f1e4161cc738e91f0bd558..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4499 zcmbtX%Z?nk6`hBAW_lhynsGER5Iq`BVzmNymy>uA3~UKP3@tRtB(NQCY@@)gVmHgp zDprcD(e%QA6TpZD;39~bZ^$CMd_nR72K)>8h-95}SzXl+S(0Hl&_MB$yu3X3+y_5z z{q5<|n*Z5Dor@&99I!afRLr%rJF$w&lxN0$>F)i}edc<$U9cxwl|{szUBikfjme>;8pSYfA+m=a;UI{i4*_4r*HH?xuCEc-Ytb4SXd``QQml8k<-%C#4&TqBiVIDd1|da1H+ zVV~W~8PGCL9NBi*z$-TG)(q8idrc-8cjx7h*&rtFo@US`WLnQd?`cRrWh8 zbUdN?0i9e9`O?b8MYesJ%2R(I;WC@Gm#(jMa0EKNP;(;!z)rmcV%+h zo4ji8&OA^kjh~>pP-0(7!k!<0dXbGgWMgIE4juD++dltB+m5|$NYg;m@Iod?OADZG z^zKzaJ}(p1H~;Ii+7}4=4xyA^Ci~Xe3l+ip#My%- z|AY9WQpyUMlclM7hO)b%QBjE78|}p3pHpLUj>7nFv^$_n zJ=o4vRf4YU{_K+~%+y`k!%WSL)-w^A^uUvnitFtv{ms2?ALMms(`R|!SEZ>tnZC~w z{pDdZ@@V(bgm|`4d@ZONK-FMDRn;WT6OPwhtD3u*)g_aR-UW`ERWylyReYE8?P5$f zJ&Nel-gVoF%7VI?u<2d)Yf06^*d5J{LBc~bdDL`=qr$s9hI>9_vP8{p;_L9-wr3rM zDjWteS_^Ghnq#n69TP(L1jF6guq-4-2gF6{d1w~LwJO)x#)sxYDC7hJlt z4ZACtY=$j+#4i(Ig)&^~dQr=^Vm>U#IIi=A6&bLac@UDeDNupwQtqkkBw1dXkY|yK zu?pc=no<9keV;&XE>DKMC{z&&mc^16z?n=%Zn1~p%d(c1*W&E0m6;V4;(xYNDV-Zo zZ@sxZv9i-%rweGHB!G{^g^-yf%f=<@C*Y1T-oOLGzEbc=6>%8zoTK^6BI@SO?G|Ef zgd_<#k~l>186}tKq-=+kMul^c-AKTw1F$|18`c3;FG!GMii}B8c<3d7Hq+$$xhU7X zj8%wM0jsX_%Uo$5F7EUciA;Erpa<~$JPhMRv!SGm%&gq5qe1lTJ}#rd|EloL~HO^kcI_MiWv%;!800SiYc z;`s#I_enBju%2SWzAB8#^=S}5tOr#mGf>4iaP|hR^d?|sXm|<-88~DI^8QcWd<%$n zicz$po+NYiuh;4ktBe>s!GkT~X5`O6)Ca<(5{I=78zP8eBiz}Jy#-39VH2Ir1!kS% zmA#IR)UeA?Bx51*2Ys(eManIAxFuPAs*N0KI!T9)E>>A$DpemRap(irqbZmYwX_S*#$iY?M{_l5Y8Yc zN>hSxF`;3_m?K-EG91B3kj>x;4kE?$^!v=&<0UB-YcGbjQ8U=0pu)=%%eP5beT%Qf zSK78oKt++J#nl2EAD>nd9pCDl6I03J_= zN;ahMOMkE;Y*x3IG`8zg{ifq3{Ybfmp&Wl>Ro850&F&(RM5?4T;p|?dqy)Oa5tU^7 zS2OvSK;R4a9zp{B5rPX)YI*|@_{U8?SrYFxV(+)TB#UGj6K}?}Yd5BpH_HxHUo`kX Dk^0(` diff --git a/docs/build/doctrees/generated/Processor.App.OutStreamer.dummy_streamer.DummyStreamer.doctree b/docs/build/doctrees/generated/Processor.App.OutStreamer.dummy_streamer.DummyStreamer.doctree deleted file mode 100644 index 59d1a0fdd2cb1115210f4faa5b4e0365870314e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10160 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 Ntj}T579Z)L`)|_JBOCw# diff --git a/docs/build/doctrees/generated/Processor.App.OutStreamer.outstreamer.OutStreamer.__init__.doctree b/docs/build/doctrees/generated/Processor.App.OutStreamer.outstreamer.OutStreamer.__init__.doctree deleted file mode 100644 index ff149b6d5e83eed4cc903913d83aedc812ee219c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4146 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 diff --git a/docs/build/doctrees/generated/Processor.App.OutStreamer.outstreamer.OutStreamer.doctree b/docs/build/doctrees/generated/Processor.App.OutStreamer.outstreamer.OutStreamer.doctree deleted file mode 100644 index 2c73c73826d9c1e5712b92b9898c38d7a2af2ff5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9930 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 diff --git a/docs/build/doctrees/generated/Processor.App.OutStreamer.outstreamer.OutStreamer.stream.doctree b/docs/build/doctrees/generated/Processor.App.OutStreamer.outstreamer.OutStreamer.stream.doctree deleted file mode 100644 index 256048bf2e3a96547b8a266d65fd9466b6ca7a94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7282 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 diff --git a/docs/build/doctrees/generated/Processor.App.OutStreamer.outstreamer.doctree b/docs/build/doctrees/generated/Processor.App.OutStreamer.outstreamer.doctree deleted file mode 100644 index 16675dcb2c4b038c4b9227b1c5ba0b0c05621509..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5296 zcmd5=-Hseb6<&LHe)oSJTL^o@M#!+McxK{|3$$5TK%_`y#Tdna5Ukay>8_dTneMKp zs(N=uktGl^cu^%txR6kU5I0=$7CZwlz(a7Id{x~u(>r19wS)vKjoo$XoKscj=R2qB zmz6*M?X@NMr#EHF!erbgL6Go(N~7xm_p_KL$~-p*zcNqEzHSI|CV3`&YV;B~d=^H5 zpow{G^oC_uVI2NPFIz9}y`*#CIjZKHXP6$kO?sNBohXeLIusnj!-`W!NUW z&DPi*w#;_*X@~Kcc1DvR3Vq5tk48Kqop;)jLZcF`AH4tmkB>Vaaz6=2{B*LH3O=MG z)xo}HC*N;pKocs6qCw|MHf#%t!@qufJ?pV0T?vzbj!T}%oy5L|!?HJE?62c@7r$@f zcVG_=+lkN}cVDlhBos!sVjg4>eRuCl8!-A_&fmHkJF9k;AsKsPK6+?tQ)Vema@`cCeHTobwU#CG8a^M%In{PvUS|HdxYoiC?<`@e~h!?*7r9+6COnZ+>?lLrVH7+l{f zfCBl~E=?P~T^e~X%*FJ+(ZpXVsrL_>&1o`M7P$-C!MAE4c$SuYJBN@OjQ)x?uS4W4 z3=}iRO>5>DW*)+mNsez*fVwmifOsD%o-G=t?wjRo>>q$@tM&IU^1fyM1Wdof(w{D%!SjXjWtA~s@HYGB6&HH()}LWF zPhY0#*I)vGU9L&5Sd=uV^*A5{H(gYzZK|Z9tMd>n=Zj9sTP^QGT zhxJrYNyRC3QT7q&pE<+fB{WUkN9$Ma6kk?Y*TTe)vViu( zDDTPMebxS`j6y|%RU8$)zGCgXsns3aeJjz7IJh7NFEm&{v@O^fq@21n%xkb{n#pmsE`5Ty6v~neZ zHU!H3b@|(nY0qbarwJD>=b7g^Aasu}0@I?EX7{Y@HND|y!ZzLBti@iNQu0R`o`%cfN z8DwNYVetTjt5(32R>P<(1brWgbKPRP0ke@=#7-7o^3^thq!2C@96tdL_BtH6GMN6DV55@P6uS! zPA7`-q|L>kWAshS>9zn)Pth0-QV!*5+PeGJJFw`6==%%mEoH9$8&ma2RAPg6gsXi> zRo|_Fl3l^6(6U z`e~mRp6Tu4AqC+Y^>au&*K4^3r(QyOnI@<9!9v$_fI&thIB~ZRkuD1NG211&CyH%s z62YeMSc5=9owV;7dglT)f5HG6+WNDB?U3#32k13R%)f_iTdv;3KTmv*AC z*U5wTTkZRAb&!Izg-{v64|4uM(!nEB=i&U3sRL-sF%?mX790Mxc$f_Kc>jv88bzP! z`kbtn>Gg8ZI;*YY2H(p{~7G(4WKIPtAuw0o+`HCwRM( m*53AUY-a|c7s#tKvJ2JKqH9B{46IZ$uqa;uqHQ~}Ui%9s2KF8R diff --git a/docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.__init__.doctree b/docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.__init__.doctree deleted file mode 100644 index 47cbf4383061f053a6d6b7d2dfacff4baef81acf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10859 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 E0H}wQ7XSbN diff --git a/docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.clean_up.doctree b/docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.clean_up.doctree deleted file mode 100644 index 1d6a449f0dc4b9a53af2477c333a970dfbbb692f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4988 zcmb_gO>ZPe8TQAH?eXW@%NnHY$B=~V7-ePxZY|kAv!_xXCDXnihKUTBD$GVGgFI%5F1{#^eqH>k=$dxsKUFf%0#=wMtO$4{ z!i*)w$A#IYg~M6*ZBI!MVGftOGjF;#*{hzc_ss**o$Pep*@RfoP->n4r*{_W-PiKRnA51bfqM6*RYky2r1>fU$_%^@GSNT2jhXI!{ z8%!=j5e1A79!;e12XFQjgGQb8etL59i_^geGDxC{Jiq9qnS8<~dH}oCz}Y((vxH^7 zX5rvE-va&X!3XyJOaY(!rz`o8FPT=9glyU%k>eNd01y5$81O3oU&DVF|KBBS0B;sq zM7lsVO2*)zd1QG5?cJkJ_iI|(iJ9gyJSxn4UsID~vnBJ|nJ)aCzs~zJ2c7ZzpaDR* zfnW`u!=Q_qU7GP!1n=rRn+vw1MtD6JK@N%D!_Jum*<8dfnLVq`PZFv9g|If?|K(e+ zXoT8v=Yg*-lHkF^*E?@jr+X^(19sf0mvkOHdEJ;KMuoCys^nCF`p= zWsU2a<&KN?L;9*i(`xyssl}h8g;{=D_)TsQydToZ`H;=6Y%VhGX)KQIeUSaqj476# zvx4@%kG&^l?EG~hcKSjFz8HvTI7lx*kK_ma@4Yclk!C$WGx5hv%_3xg>^Eq*XW+75 z9U?EdMpWz@FwGztM_g(~?Y-F>rRR+BZA1FoE(cT0M;Te@Zo zeC+{Qd$!pjQ*1)BW7c#ApKw9QCo|-EjNITZ(YBXZyun5l>Xpee!Mu&X`6?SX$VO-2 z1|4&?ZJ)l-wgYP$vOVzCEE5ruS_9^l?vXR^sytTR{C6+Z?%bC##C)QfdT-S6jO4JL zvLpnByeSGnV^x_#4~<(rkIG-JMy2T)^a*Sf%Gi&R!mOkhNW2i}ixkOrRSusNc7gV@ zG1EnPklCVwl(HZiML}_C+TeLC!<-WIf1H#lC@+pJUr;2$jXwjSKcQM)8POG#e|#Rw zMjCkAr&59%3&$5`liZJMpuH*P7-`o22a8+ITyyy1;KG$gxe$(R_g}nbRw~RU@9-1h;o)+GS@bvjT$OnZWzGf|wbm`(1Bde}1iY#IS8v`D$C z7PU+(WW#)n<946=SwdOYkpz;q&d?pvrHaqZZj_|C_E-`~%FT$(T#tG`?Af$)XMWOS zStc`&`$;HR2As)MWF)f(cFb#OSuKURyD+n$;>kgaxs|a%W}z1{sz5k~`tdWfh5#HPy8@9Y^w0o|qG`d` z%&wo~Z7>s=l?bHT3G+DhYT^M{D~OPIvcwmpaL-DBZlcKjGf}Eo9!d|L99G?A(^M+v zHFsK;1ll`~(4tw2?s;LP{Gp(Wlvb`+0l|A_8<$ZC0oNCUHRUqd;6p49aa6y2w&0&|ivh$x~s(#88r|9I9iyD3XOz`_uXcqhYll<*XchxHU5 z=389rR2>fn5UajxH2X3e4+?XeR$3FV($g%4gESnn0eSB`Z@dXace7Ejpq?Z%^{-Xx z5w1Rwc7m6A#PrCXfxsVd9Sa=R*8UK26lz|aZkW4ZW$e`fT3?`S{Sq z0{_$z2ubAMRx#?B_eqY(R)Ff39lN1tTWW}rH}3`{1b<`@B_pt)N(~2;EL1*RSQo`aUm<-LkM#bY6kts}WFdn1LNLV{x|mCIJHV=m z$I$f%55J<|aX_!|&&_`MI|%41MlP|T0yzyQLiF|i}qZv zWN*697d##hrKm|^mwsbGSg&r+ zX>3=g+D!*@`jK@rO=IQJAej3ITM1BZ|rTk4yO%K;X0D1B3+H rC=?bq9hP`NW2--uFa5AUYQ+Sv(*1L>Zp=) diff --git a/docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.doctree b/docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.doctree deleted file mode 100644 index f5e24d68eaeb252db3ddce079d118d79079ccf8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26191 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 diff --git a/docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.get_file_name.doctree b/docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault.get_file_name.doctree deleted file mode 100644 index 041a1771e90af10003b6a2d4b29235161b52fb1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5369 zcmbtY&u=706&~9=w#PrlYiHLWvAeONWHpYMnIHl}mLe1p`4F=vBoHC7ORJ~5W~x0s zU7fCK+jB^OLqv>92r11K#DBm6A@L9Je{kc(0f{@`tLpCQZm-t~S;?!ZS5@y-z4v|Z zz3N}J|M2g7E%Q(B$e0Jw<-qm*Ncc=kZ&&{1&#zZw7v5DF-_;$b3@oomdC%@CSU0KjbU? zk^bY5iy0eE=YAM?j1NDUiqIXtIgkt*RnmWQeEids;rqgif~h#4AH<0`V^cN6x#iHF zcQ|1YOI*eL;cd}IByJ0YnKxk=Boa<~`D8gA@s@4}k#XeL?*ji*6aOrC|ShtMczj?l-BSQXw|Ii}Wdcv*6zo$2G z?|uw=k!`(AM=?AxV^+gQ=W-Sv$=Ic|w~j56CFd+7f4>VW$2mX#-r&a|6rLLn!(cRw z=LmfC?ZLO+7|KAgK2%NJ36l#J43YDOm0J&O&MR3E&yR>lfN3;25aWZoyDJ;>WLa*k zOx+kqqRx`RO2xQ)MdiO=HUnkdFzpsn`U{`7`pbv+ytfMS03S zb4uh!gif&}48Z;hdcO02!O~)@AVsOXs(62)xC-bJ&jv)qCtDjTM_Mm-76@Jl>VEs> z&3@BMQRY^0Ne=oL4w{?L-7`)h<8c~!Ds>yRS1%nE#__9e_4hBb8eg~iyV7czLLAGF z%AJ=EN_z(ldw+hBy^HJi{*>GM#P%V`5L?#*K=~wQkq?46mndbGz~%XWzp<dO)D&F>*uOB#_K3QEmd(Wcu|wQ(u%AGrdVAIA&fj4!rD2 zcfk6Y@KdTrU%2>CikctUlbjMn{tD;)1^q!S|MB161SM8qSE-W)DKDTe+Yo%e#R8L+?L7@xeReGz@L>dG+~g8r4;A zAenj&GJ=vB|JTi$8wv3@0D{?RjXnM%#(IaQth~b?S%<-aZxb#J!)>|rM5L-sdC^th z7&gMde+or~;&fDrgb9Pe@+$HaT9jr4a=f3lmRc>nhA0`lpDoeQWbn#(EfTi>y3$+u zPin8`!1GQd^3%&)L}&ZHAs+Rak8Gu0oJ>C{`Omp0~_D5fdK0OJlQ#AJN zlb{a{+IbTMgE(SyMezWN2NlK50$Q1>C~jcHEqY11&<32nVzUYF+pe@hz6w{$R-X51 z?~?9%X+llEQ?~e9g~Yb{dR;Q5kmm44+bthm?&-ChtZkVE(EmQH%sqW;Bw@5M! z(6XUpcV{sMo7Rj2-BS!V@?n~U7;O{q>1jZ-FxR$W(|cnfR3sFuOr9+1ZF=!V>CCwt zi)5BT(xr|ic04hohopqcZ&(Qn@oIp?xd;?@iU$fT<{R=C%c2Jn?a2P=z3ZQb_SD4oDu_rgsgDhU=YkaSdnMvg9(eWtrX6sO8zkte8d zfU&6>_rKRSDd|Cd(qTy=5{J8yAF>2~rlTTT=^a3%uBC0XWcp!arlI2OyF{R_)w?)D zvHL-NqOn=ur8`JCio->rX->C8H=3mAEa7n~*eQVr#~ML^T$Ds^ND6n11m2A#g?}N6 zB};wbpozw+yX-O+k~!6#1|^vo^G3L|LMsSiSgNt=(5Z{iz9IRr#^iB&*OGyxF9U>2zC-PS+<+t%Hf#SYxU zz(#zSz}eAX#6UbwPxR1V=Ss!$XgGve4s4G<5Xoei>HDk}T9eF4WTti$FWYr;vcDv9ST-54oC!FxFA-2t4u?&ra6$L!ffzlmsm= zkT+;o`mUTu%Dr@WFySHofZ#i!AnbAWAn4t5(gq09&i*@$g zRf%1P*dh9}kqAqGn5Fj`!g6(|rm<64HJkQo`jLSXMJfM&Q&&FI(i=!Bo=7QWpw;z6 z7{b%I0}9L94|4hE@WZFs`=AHgleT>Y1Ld zPFMA==a4{^Y*Y_jgGnwf%UwG+=MJoF+J9syHJKNXw#CzWEw$SOzr&F>__V^WHw zeJ_sN-%i!*Dq-%3C2eVbJa&|L?DT?=RSzFveV_H*G*s;oQ?BnS*WSceLDbKPBN#5f z!A|KV&*rlLJ_}dkV{hhs-pdR|y!LDkAM+)8C3XR}%J`11JEeB`l3vM`a;%rbAY$2Z z+I981tAIc^RZu1=Zz=F4DQeXVT`94N-?az;n_p{w8c!Bo*Bd6RM<=OXRc@b-GQQ1k z@=bn=FY(*@HytiUtTP<@Vc;>|d3`8CxASsaGEh`W>st>VeD|pHP#@I1vLj zR2|4IJ67IKpG7Qj74tjKQa*HYC6&-UtB`ggfz+L&YiXA+=vol@?6hKU))aXY$nY0n zA)mwFi}>5e-xmla0G$K|n|QS+{7me?hCs>>uG+SS5LXXCKNtjI|34 z66Pj2#^XcsF%$ioqSyRinADx4MPog6qn25n?4I|MLLC4rPr-?PvgjK^Du|BT> z{+OQ-+|C4U{yl^NEAOt67hx2dR4fSt#E6P9edXg>t9@MIF(vgX<=eBAjr|+DCwnjL z+!z-*oiht+W12z%=pcP5qV#lu1b z{F>(a(|KIu^IShDxt1}v{a1p6B<=oZmaPtU(lMT%wN6m_44Wdk6i^s@0*g$wh=vWfnL1r!}H|aB# z>5WR<#EO!0%)Fo%c-fh*!{tO8}Q({xhWiF^67DUUIm6CyF3NT5=Hhj!3!?Fg^PLCucRSc%_IzURU|86MK2XK z&qba>XH$W8@QwLEROG1!o2s+unhgL`E@PzlsJ=3|2Vt%N$>3EI`Wz}1%wKV-8b`x| z?33wrO8E$fXeP7iT5IK_hrGcXV6OKn)l;Q>ML_JOVQ9;XgNyH6RAB3M)Lx#0ysu<7 z2jd|4F^q7Z-a%d%_xSl9C=T_hP6 zXyVY_yQ3J34a>#>?ID)y`7%vHthUG{XpBIoU{|vW)Vn<)R3sFu93Cy|EgBX@>Bu?l ziDZ;vr$Ok)jwePmgOVWmS-ZnROc=1^JPj0gieUyg<{#wKjbpu;uvjF@3E2}CW=Gfb zI(NfzS<^f0Gyql#?X4^>)pX5g-LwyOji+uBQSAr1=&!I-r&gBHqq6sPBZ%TuIV|!7 zRfzE6RP|b4ZJD5TbNbL>Ng@)5yOAHV1UQqZh-Z2mb}~(+W~gNP*38KaiNT-9l^T}r zM26z)o6`p~AM5M%1__`zAPP;hx)r)nKSier#C?>J*D%%7&n3(g30ikXbuie_K;&4j zz$tr(%|ImZ9dx<9;1pv9-EdPhp_46rEr3yN`ROQjO2Y%NW+OmgN+LHTg4<>X=th#% zKiP^UOMT&>sm87A>@*gVIn^(Xm3Yc|5};c)Cc5qTfpoheJtUWMwQvaD(wlgUgbUby z23C__GrhB!gzb^Tf(cr8>Up4HqUJ;88yJ6cbGjU=*nAwS|BF8|_5Q zVh6A=cq3+-kR6Rg42y^KNJ zQ#xq*fV>$y)7RxVQtqk4gFX-O2Mb;f1sVUQ93lNVZ>8{T38$=3X!&^9_Y-{gFnY z!wgn4>SFpN)i`95GxSnt`i6&FLx-XF3LOlUFsGq`==*vnpIO6P!=4Rn$V!%iAusXu z5{sVDh*huI00WPPaUzEWa2Ms+j?KJw2SUQw6z1YEB%~Oc#OmFtT}t|98`OH`VuhRv z^IBYArA_;L@H2S*-~;?8b)B{;jnXA^a4h)?7-yPuB*$0ygH&%-wQ0z0c>!#K^+RaN)?u1#tq20~f^aRdx4tw>=X_ksy+l zsjpYBe((2Qy?Xs#?R&qzJg5H2%_!iGchoU$+w*M}C33~~t$55lk$jNsek=KA(vtPi zd>Hw0Xt6}jVTQ#W*AAJN+)reKrVGc7I_di5h*`q%y?i;Z@g=@|KWXv0tO-ZBtS}_M zd^hwh7Day8xfKMRug2mH5i)bk!cL@qykiLe9i#8KtT=dp_HEWTV^^f}650b>EWXK( zNcYD}o`dAM^GJS_C>(h0@iNb?ty~IBKqwNvCF@3xIbV=VDb$B@(RDnQ9L7CUu9`xG zPA?WP5t(Gcu_JcS&LMMLLJiw-Yt=MreY4l8M6tX^z#By1f0~$*BCcn(r`4zsv zugdRtxj$yz(Xs717USJFM!suyU+zQ<5=Gd4?cm_8JKfiP%X3ElgX3lp`a?DnUFaQk zwZ7c}^H^vKW_KTFQs90L*gIhabgtdG5cl|;tT~>|jtb1tq~cAW!JmiaKaIZ^@YllM zi-Zio4IPC?3z$0I0K}7D)1+$cHd{}rWpm5~_wC(89z3O_oWM(mA~9pW$2$|#9P(=* z003BocUq^;-@-_PMvTaTT}2$0yz55=e>&|lEqF?3S}>Vmo5I|0zAKIc0M)teSmIvR zxaA%15B5%gUp!?9TV<40edZ-yxVNwY`zpB@siVpc{VGd&yC}sh(NNAmOw1w|$)s=6&T)^GW)>&O`q9|k zSLZ>94MG;N@BvF`?WyK-vwCK}hfOozK41jU2(+fM#S4STym+ zE<$X#K#8vQhTI>6<9+gI_>DJc`u%3vxP^r&W%GrFq0=-YC!SXvUe|WUT|*HlyI&Aj zKQTo>2LIIYvQdKRMrp}4ct{(#s=eg~siK0XYO|s#_=vlNyEnm|kMl#+)gh`USkh2t z3TMr-e&3#@-wNrcm0O`Lrt9_InR;z2y>P1lTfsutLHH~{JpP|Ld+LH&aLTnRYIL=# zkqSF1+)$XwMJQ8Id^4(`H_8$+@T=WrBm8u_5#+pg+H-#lw124R`>aBk6bWL_67i{6 zHNT&!fM4ZZe=%#<;PkFPPj`Jw=V0)W8Nui`(}i>M%uqxJ`bjRjF$MYcfO$4zfpLWV zp|3ctO`8)Aq-v<0bM!aEu!p9k_sSOE37nVS=<1Z8ID&k;t{e z&4d<4qJUXW-?5StSx4L&`*uth{JF1n3bM!hDgq$Ig17$;i2oL_e3Zj7e=j%Zy~-i~ zKI4$TI)ykHlSKbM6P*LN0H#+&|9gh$Dfsa}Pr&1UEdjTh0!RDIz>WXy9B}OAaO{1@arS)t(A@B?I}{DYB;V zt}?FxLv}rW2v#Rx^$#*u%biJLSj_wsZCZtRvy#or2sP;_Ma|*8*@rw+`Qg{GsO-m6 z!}8FXy}_9%W*eM~yANk?a3*)N4JHA4{S=&M#FFx)GLR>;)hJk3MUONt7vqYo=~!8c zE-#id#98V86GxxnBW1^OZp~+z{M?j%{KW5q+iA*ONd0vF8Ztbyyr^&=%8k?SnllWv zs2)9K!~F884Kw@@B1%?SFFmrJH0lpOJ`48(LsI`AenhIDf~kP*4U=BwC{`e4O5`f# zx476*9!g5-wp@Dh%Ud6M=j>+#uJ(THx;mG>a`v3;(Jfc;h_MVLs3J;+eDi&8}u_0-9S|DZ!J!!j!Q8vc`->IG70FMGZ&z?{hS^e5FWeBJpbFDf{nDQBLLTICqHP92+mD5QJh8B?f3$_)rix#2h}yQU_@%RuG^a(M zg2WCab_x=!FV(_OL1M-RGbFUK^0FOo)7p92u;P#kd`4c* zThDrQSx>G+ObBGxD7tRtRn&f{$Y3XO>21@EQNPOHaGQs+o)+2sFhK()7*yxXae&5} z-o}9J5t^%MGY(y}Hi+U>2BcAJSJQ@)+kM{`D7vu1;GKE7K_y%-9veq}KO86MX;4id zFf4yemEi~?pVK|eMTHPO#zRMNBP&K?$8OXOmO{&S7&3f?w+ch4Vp+_$fO%U|dsdUBYP|5qU;dntT4CYxry;tC$vFNwI z&{l!xa(U2TVd#ejH$B^BA#f&D5tHO5xKWl;Q&JLnr7}_xF}!{OF4NF*Cpu)SFP8@@ zi{(W+Lj<5WAaZf0L~gjIH;7TY0pd2=7f@@L&xFkKLzL4xpa_J%jL`=cw4UHFcDlpKcvB$begIT zt4j6`IVmurNupVe&P6l*pT)=oWbunBxsVMAsQRB6)T0PyedPM!*6CurPQd zzBE90JZl3m9@>+8$WL-1f@r_nMR(NERkV&D4!ViFL^G8Nm}v+$hJgeOvV#8hXI^?4 zh&IB$RS{1;6Y(!(;;CXvq#fbghQmZ(?E%N{axr$XSzVYt_>qmm=$#dL1*{w!xr62h zNUM}5@*=9C!aOp#GeAXkz`@`}*C+C?M`K)P#y4Vkb_A%NQElBcRJ{=0D3M>WII2ac z|AyM*fU^P-t4DEw&`uwB)EApH5}bfPzU6p*upkQ!+Y~IKxL29yjETOkZ)$&}PZ^^G ztQq%EZH~mT%OcM3vOkfREX*1i43z-az;`HAKIwzT`*JJ&k_5WCeI3|v`)CPDe1z2t z%zHqeNaTtRFz{%Q6L*yZcM*oJAE?uAK}nEJpfU|2;VPjoDRR5iOBcH8hO~a(SR$vw z_ZCcFrcV8PI1jHM{s*^ZBP@Vq*e|h>% diff --git a/docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.__init__.doctree b/docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.__init__.doctree deleted file mode 100644 index a96eb078019dec5c785ee0bf489cacc67877b2ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7997 zcmd5>&5s;M6`%c>*`59LZelAU{ul+EtgW4yK#YV|vcQUEMOkMP*#-`_Y4vp1O!Z7p zcc;7B-jPUvL%B#P3yqOn2{Y?>aIP zk({0S==Waz-tWDtdiCx4kG^oJrv8)bfyXUpzoVO`s;g~rh`Y5{co#?%2 zOE!J|ao~o&!6I4141-&?=`$yK7|Au7E-X9fB;PLt%n+9AWS{doZ}5eO(H3vYy0C=J zazpaYJHBhMAaMQ84bSVm9g4fcXZo1=ok0C~pb7VZ*0*eyAH0S38~5J2{krQ2*xGrZ zJBXPu@oVP89MSEdSmrJ@3zSRo_97qnEv&?{;vtZbI5TFyk>kdFwzZT8Vn>Kp7 zG4ffTMnbtD^Z^Y;e4U@?EBpeV;}_*myWAbK?r37#mce-U?#Q+E?zK+9AW``3w{G3~ z>TdUrYdF@(eKcu#zB^yJbcLoIp=ljI07jQ~XTu(^ z$-3p3Y(K}Yn0UMeO!!OS#OLtuW&GR1zpI1~AoeYV$`+8doB_xwzn)6py3*Qu2G+L5 zOmNq{63N@oKw2lYF5-~d7D&;$-g>3O#n^sjyLI*I=&|k( z0(>GS9#HPwvrWt zyfo9w^tDR*eo>|G@nL;GOZ2@TA7_v~<}=VK$9T*!5iHt1w!xf>lFj2>GP}6u-yLs5 z9%LMySl@KVy5&T2)|+6b_JV}y zQ%^LrnW?*TJw?d>UIF>h*8dGg{U9@{g2Df&5dD)wzz}~)^v|cFk0WFfHYj5snsep=De4uCjZlvm;BEKMk*Z@MC5-tf?vZ0m~l#q zofgUA90 zm(`RF%TafLT-sbn4qfSrvUYJ@_bQdr8KyPor3y}yriMSRR&XQ>Qw7sxwRV)_ z_~FDgPxDGn`&G3Cr^sA#&g~70`{{D-zEQQE9-YO036qLj$o-TDGxtm8|FPQqqdk-; zI1JDncwbWR*J=f)z-Raeh$tlYr34<*_S8B4Fgn{AI@=}VKdCmp5}i}=_n*}Yj^^*v z!2h3W1^*B5$BB}klQR!X@Ndjko(ihqFJ!Zpvi4Hz1ZbG zx~@|t2W2kYS0cGY*F{7=%8pU-Hr{yp!!k}kpUGXWOEnOjrTd|6$9L1u9zSndqmfIv zm>U|dfFg*7JMhB^^0OQC_mIidx3RX%r_i=_MU@(E@{2KO0PzML29d+kQi>7ROLNDc z6KZ6%uiqs4B(hT3VK3(pyUW^MkQ_JKVURqvm>z>zkLlKutnBR_nw1wNI z;&Oh7+EltqbhW9lj6+aTJ(RaInH|XN#P=&8!E}1GDJ_Sk+hU0z&sb9-+4Q( zYnJY5xv0u&!Msi1&d4<*^r>pBWi{fJv?s0=%f)~Rfx9m1{2N)}zV9nin2~IJjm~?) zlpX7PvYAwFT|Yv@LwenhL zMMY2Kn&o(*(3oSmR6RhnhN9p8Qd{Mu^Tk1p`M&FGTz5>H`M{Y>MY@vfU`SC)T}g@L zh0;h##PA7)&RQ&YYD4<<`Qkw7V|j+w5CA9+h-_7@T(xy)5Teuw#7)!}X7RiupYxgF z`leIEW}siDl-xAswumTP*5+WoXk&RQVVsu_+wEh8R)RUH-{ zZhS|#N#MHb0lH2=?w@vf0Sir6Lsb>C&ai#Y4H!!Q(=QcE3|v$!luH#w*EQ1$^qx%% zNvvE*1A@2Z3KkO}1mXf0Sd&asPY&vNf(H);{@HU9Ne|(*O%YG~#g!wxh`8f$^}O!b85mh46x%ZWrA_CocMSTz}Aw z?aQxT1EOnw-zbTvo~ihkQ}GB_ok%;vbDG6OU+F;LcPYI= zSySje#F2>-a^sLP<1+yvF)Wjl~(4a^#840SnM!|MVH_4G>iL~bOH zm!PZNj}seqp;&?vkDIQXW6mRbcaw{8fp7ehN96pHdAUtr|LZAWGfSyi> kcAHslDReJq-O7i{mSfnVNgNu`S4$?Pza&${2dU0~0hKeoS^xk5 diff --git a/docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.clean_up.doctree b/docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.clean_up.doctree deleted file mode 100644 index 803da1c29b10b6ceec279744476b2453f476827a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5048 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 J9bD7Y{~G@ar%(U@ diff --git a/docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.doctree b/docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.doctree deleted file mode 100644 index f98a4e8988abf7f9801633fad8285242ff90a69a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20487 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 diff --git a/docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.get_file_name.doctree b/docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.get_file_name.doctree deleted file mode 100644 index 94b85f2914413ab51910f391657cdbd98efafeab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5429 zcmb_gOK&5`5vHW2Bb#yCnFQrHmk7c@n9Uc!t zKVeb!B-3r$u7XhZ^7Ctwc`6W5ahx~#Dqnk&b$ClRRiHvvTGF4qp9qghDU#k>aoqc5 zsytB4IA>$khuyMo z?d^|P#1dCAzyGYrBO=ce5VOaGqnAiH>gAK=bif^BVzG91A$*J-C}`d`~K~F3aSDI_xXDk(bg+&1rr^; z2_JN0(2i`-+hmgAj~TNHW?IupcqC(&QsX*~NS0i%jC}ttv>fNW`Dcwcy-;{=*bjq2 zKb`>y(T{sSdc7|L#kvqRc1KJu*wIH`?3Zrew|TK(M?5OM5Z2=?Hcqb?e6Q^Y}NJdZLVJ@*IU1@lfvsR=V$y0 z`PW(amw#GVxo50I&P3=GOTqvdp@gEJd@Fcbe9Z|`2rmoXUkEM(yTG*p5pm1bjgm?0 z^OJKFFD9yf`}NI!(@Rn2mT^fAdI|^4Oz2)TP9f!S8hI*pYxP+#9nF>FS5@mDZ_^rI z*ZPM-YmrVI%a78XmktVj2Q__vxlP~Yb$x%%^?h!86=aI7YXP9V60^t$L7XW{Tq$sQ zP1vuUs`}s`H``QpI{G9w^u@#tqD(KxGgK5zs9B8M&@>4oGh39KfHj$ZRAuUI2{O~0 zRGMSv1;fD0u5=5mp9nvt3iaFtiBi<;$Xaqr5cxZt_c!znmHfwle-o5gbziA=&PjO* zf%2NbZ`k-5Hs;xJ&fb#rH(e^uXkUQYOm9$55QB5{m030WuKxcn;Q!L!uO+@x9|;c) z(=fCNsB`naTE*2HNUENL%%Eh(|8u*BT5|jyKw(Z>rH`IhY3Ip(d4EyAf` zye*@iZH}+Q{iYU(F!A5Hpt<05P>PHRi^29P@)lZ{dPH*kpEs5o4ZVh_8T_9w(a>b{ z(s(Trwnw|tTlr6F!DhhsP9$>cWj;l={oD|d`q78BaxW~?9~AuQx^dhUsj_vFC0+ZY zt3;Qc5#=Qsb2SNbU0v|f?lHkIC?tlLg!dr4R}x+?s->lx@ET^^dEZGF+kn$oY?k3& z+ridIS>jO9`tvTGUD9nYP3V!}6iEpj zZ;_&RPIW79)J2kEfR+v&zB`FA*tBXK$R1<3kq^@(#Aus{Ku-x;g}SBt2X#ig-bh&cAsi~Vj8>AzsYhSuaM5V&Q1~V;{puwX{ zWnb!c5XGr-SmX&RC}3}@hTWfaO{%(IU36HIh{WM;o@c89?fuMORHQ#{ocQ+hc7sJ8ud5<3O(;8-&e;K80m zZb$-m%nZC6NecgBDwZtug@fiAyY8}SEF^QvCk;wG=#oZsi{suhSPKI7hJk2b`zd9FBFE9e_7@tuBriMlbh~KAV2W2hg4!|Q{ z@$6(>KL9ExPC?M(0(s+hrSHmFq}-{)gAot$2L#^<1%ZD{PEhom&r&d3!c{Mru^l?* zm4j&{&<7qzPwpY~mT~a2aUxES(-;Y#z9X5BLwP2+0)B)SL_?rpo*MQjS)jeB?F%LZ z-%z-gkMucYoB=hH0rNrPS;!=3Xt=KQJrBFa4nvC;I(TH_y+$8JzSO(ZzYEr%Z{t6yTQp5Yls1`#Q^{Y!Hx09n()cDnPW5&nm?N#I>11E}7{=K@a ze5Ii`kW@U8Qp!LJ?1?ahr*Q`qmbJI@`LE!IFR~9o5AKqD{@O^db5}| ZG29FyFHC*H(1=cL_>}(gOksPf-q$1_GUEUM diff --git a/docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.metadata_to_string.doctree b/docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileHTMLContent.metadata_to_string.doctree deleted file mode 100644 index e235b2e74236fa952b0b9a977728bf50885c73f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6516 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 v4}3$A@OEHtJXtGd1ZERWzyjP>GpfH diff --git a/docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileJSON.doctree b/docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileJSON.doctree deleted file mode 100644 index e6b71a0edbbf9be6dd4a46306186dc27affaa2a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20720 zcmdU1eT*DQb>H=Vuf1!p?`%l2_6;1yW6L`O2S{OKJ2@RVlAT+d^Ks>f-2L*^Ogg|r(f50UQQa+GQ3K4%qe1t&$j07QyqJ)SId{=`j~#4J=@fsuGZYx>R3iw)0kr%r>62a34i`H;zdm-dA% zeS}RIc1PRHX@pP~y#^WRuSeg$0sr5K|8@L7P4a+9J%dZ34oMpJIuwfia!zp)-Kf>M z=xT;tt6JYv5j$HoZ@D^7t^|=9>Sy#uCj1rsK6Eh}I}QtL_qDZ-FZ1+8@eTA`5PAg* zd9tKwb;mQ-4STuvK35HN%V;&O;P*@oMxfa~tZ%u7POY7*ootxCW1l>O{?vkCYq{2P z91H0eRLj@S)J~t?xT$*UJ_rR{E@atw(B3-5jf!e@kk?AJZ6{EBY??iA?d<&l_$}8? zaxtGgf2MXeX@%muYFk^brCDkx&!0yJau_(uCU}V`wKeqlqW&vFQ&VB3A`!%LVq>E< zVfRPrsYvCqJQcN|Mr`zEq~>*ry6I8k9JaJV&U_{|v)Q$ld3ykT5TmboH?)Y#UPRdo zv3e2ATE3I?4c($1v9li0yTBOH&>7y)-d5g|6LI)MSMXpLzgQZQO*L4>;G#+``m$0y&_+QypEj<(qh0ITbC zLK>OtRl$VNb!%CS3@c>J--M*UhN)2znm^Ykwpb4aLwJG?zXO61SuLmWaH(_AjGSUq~x8SXs@P(UB1e^}p$sDUhrh-&;n~4_+q+g z)9(a2?k$^9^LEs8_An`OCGAUIi_K%w=IN!FVctfes<811IfGKzNElQ?ju+$%N|ilf zkb%cIElz}}`q4vtEDG+=TS}F5D{18PEcYl zTVZ2mE#RTpH~UVXPFh2c#iqPwpKQFB_Rc*hS{Rxq#Zo_Emb?}jo{%ye07WsYN;8ME;@ zOe3jJr03n2=5O|Bwf;-R2G{j>CJF47E7_ zNASA-to~aColF*zaN3y9r)AlTcZ=^Y?GW<6lW**~RA#S+ODS7-m-&yfd0^rm;(I$s zS@K%!yFW|iFFeM@z8f%7{V57noiu+%&Y*mxiWyWIslF{|P(D({3^HNmTtxjtRf$K) z{AW4a3S(8zn!B z8=#3(C{$Gwe@4!rToYpkl{E3BoI$xJ#tbq|9Mbpmb~)4G^>8QO&tUa?8}E!t>Nkv7 zugY5}6KipeAaVJqQXbM3!Z1y7q-+MP-voo=`YrYF#NeL37t#Hel;54K;Y4Nb5I6SF z+4C`J%LbsuM^UIMT6{*%pd2k?29?m_kL3)?)jDR7p~cY7o-fPU4v!Z*I(r5K#!I|E zDgnkYlKlsH6J?UE3>g0=VMr7F68MEi%)@tyO+^OIW`n_r-%2487rMa_>RQMiE2 zTX;0zhd+f?w)sJ%46$zvug}xw(^O_r=7fmMXNcW4B*aSNJ92JDML#LrKfQjlcpKmRB(-!3 zzBRs$Z~iX5@@SOY`;_g70K9E>AbzCyx-D$tAGDp=_2tJ&v|9T`zWux?d_%|MU@h$J zd11@L-hX~??_uto@)L*iRPvspkNHQa5?cHM{qQiw(xrUPl1NN{C<6gj!V_LpKJM;h>=lR*8)n9$;&9|O<;8yZWoos%wmnnO`$LaI`8&J9Y zzyr%?)i7}Uu#0`pt@H5kAm)%AjpKU}z0k;gj@Ux(O@Y*kQMu30;$PxLi@kT(a^ZzZ zJmK|Il(B7Ts;z`>oxdSIgvWmJAfP%_RPCsN%0DG96xb%B+3Kj6r?wGOs-(F@@LSK9 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 UpKNGAUv2ml{_;p+ORCO)0eP~Vn*aa+ diff --git a/docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileJSON.stream.doctree b/docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.OutStreamerFileJSON.stream.doctree deleted file mode 100644 index 9810a4ff4e7cd466ea46287dd71fb55ac43e3b73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7325 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 diff --git a/docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.doctree b/docs/build/doctrees/generated/Processor.App.OutStreamer.stream_to_file.doctree deleted file mode 100644 index c0bca8f6ca5da07f9231e4f82e0f4112a663dfd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8033 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 GmHz;ieecr% diff --git a/docs/build/doctrees/generated/Processor.App.Pipeline.doctree b/docs/build/doctrees/generated/Processor.App.Pipeline.doctree deleted file mode 100644 index 08915d930afe3fe4483fce430c17a0919c4c3909..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5103 zcmc&&TW=#t6;39x9Xt076S11fY*uI>17mxK-3Jt+5f^D6HmtQ8Ef}jAW-+-;mT-Ay1~uS&h|ME!Q z3KMGV3M^Rt9v$1AEaZD`+#aFirmm+1yHbYj>ZUh623yhfV)s40>V)^QKG7|rlnDEo z!l~^kSHeKr6E*yZNC_f-*Af!vzt(~*oelcL9|=0JJeh7NGPF~MZL`~KgWX{(>_88@ zjK{P)ngmhkQ`Y_Nh)1ORZbwo`RHFUCd+&Y!wELL*NjT!?lfzW-GdfaT>|1v8{dR{m zp@JwHbYE?yj*vL*-P0RcpDpQHm;`iOF>Y>m_9jlp-hw&5fbTtgzl867dr}xngzkJt zdNn1XF#2xHgDj$7KYX=DqYrY1_JVmO>UuMEdi+0f`tdstk55RZxXj|1h{+>F0W7Tdi*!cPbSl$E?^Z@0 zEO9jn@3ruGwL?2;k&&%dnUl5o^@aK1UNsavODpc3rG5i;{}0W+h9wtapqM#rSxd*T z^ckF)6~^he-gRMju`W zoCY<`^2Q`g4Eu|2V5BA~>f4Idt=BQ8;}pmpD)YikUl5U)OWlN1a|B#mlk^&xToo}r zr$`Yoq{>`xGkeb8p?Lg1apZIvhBipEeO90PP%k3{L9Tj{F7$*w#&6gG`xNMFrTzMK zZnMmvfa#Y|`K!6iemOT@RLXLNx7lC+O+~NY`U~vl`E`AXmNtAfgh5l@CWvXc4G_p#cWUtML=&2bzZ%aqs_Z7mg4QgKdQd3uVqMNh(hoY&ze zdb^_7Q%ISz*PCMM651N>D?zK>+I4kuBTW1#3+Nz>@~-Lrb%{7FFNRdxk>1%G%S%hY z0C6oQB^?d215%jS;;fWH7ID`UWaN$ z^U5CBwaa?T&xCDry=hasQBv~eRN_I;`nkIu2naMN}qBrkbt=w4V*3Zp$LNt)!4kNeoI;2_%p`4lsW!OwvqwH1WBu zx2PDI8nnOGmLY!MxjN}lA-M1uNrH%?iLTqN`T+cGo~f%+YEBB;=((9W5oeDPje0AW zJKICK`p(sfxy5?No}B3^tPkGx{0*z zpOI2Yvw(X5FL3Rk;&Ms7>Pi`ePlz1gGDG~w=mp+i`rAKhdMl-=XIlj1 zAug}jJKC}o5s%&5#L%B-N~Q9++XY#6(ura`>2NXZ8hy)hx-EdyQ#6KyltXQrw(q_D zE-bnw2L7CQOPPuPVksVpN^H=MsOW@L4V(_7e3z*>g0dzG3i8Oc&};etQ5k#F1f3oL z*C87tmwHD|5=F)y3x_Pi7ZJQ_%aYL>64wmn{Uk$XOPK1W8|OnW;yx(=|G;PHg?+d_ z&p6oG84;^TxENfz_X76_P$0o2;)nZTGC&lR(6DF0LT3FrzA(1o8*!57qrJ+H45B9P z(*Q|4!4?=rn{}yg`QRFP6zyH);b{Z)&|c_Y=-uLR0^u4Ba!9+>8@U80USjnMP0o$I zO|9hsgN#OS;&L4#T@-FlwwZI!1H0HHf=%H81c8LQXI~QZ-W6*8XaF*#4WNPR|2}Kmg7jtlk-BNgwkNerZlWjITe!-*d6cOWd!H^k%PEu>Z!NRV?1YrHsjNVF zCy?l1%?n%fes7E3fu79WTRYCB-6-sL^Wc4_^YHC1QjoS0DkJzo&YmQ?c)0174>w&8 zE(h#-i27rA)*@jtJmiB#4+=$#=vtJlpXtqNd^!Vdq6v5DY;z)~SRg9-a!*t#IUgQ4 z5YKTR*ZnK3pPM62xtmwmnx$4JfA5NX)D)p?5xX@ntC(5REx@GDGYf*aPM{Nv5Icwx z)a1su3;IiV_PKeCgvSLE(1C{`X-#Wip7y3_d4;?_CA+9xFB&dn#n7&51s2c??6Vz4 H*6;iaxu>Oe diff --git a/docs/build/doctrees/generated/Processor.App.Pipeline.pipeline.ProcessorPipeline.__init__.doctree b/docs/build/doctrees/generated/Processor.App.Pipeline.pipeline.ProcessorPipeline.__init__.doctree deleted file mode 100644 index 277eb958ebbda58d448d4b6e4927c7444cca07e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6675 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 NXd|0Jn{!aF{uiqGFS!5! diff --git a/docs/build/doctrees/generated/Processor.App.Pipeline.pipeline.ProcessorPipeline.process_domain_record.doctree b/docs/build/doctrees/generated/Processor.App.Pipeline.pipeline.ProcessorPipeline.process_domain_record.doctree deleted file mode 100644 index d77a32641a6f1a80c69f8aad83f058138b80e8e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5595 zcmbtY-EJgD6}Hzqw#UC~C%Zz*{)_@-?U0!XkPBobiz1?p$buCuo7|A7)ze)w)t>II zrmK3_z6c6P5m~9ONFhaB0M~GVcmtjQA;b$H@e17YovQAh?)G}wC6>nOI#qS*)OY^t z)823Xes#(I>0O!eC_NqdVVH`LNu$?85flkamHEOP{=$4>4s<{FA4yT<0W*3DD*_(H zVa`(XvC%uUTt%@QmHXEu3sfZ1dOPp&RlfGIIpBTWQ;~{UV@m(<{agf0N|BG=&a%<_ zQO4pZWuvV6sOJ|`ZpTMnC=x$PKk{-Gh&(iO2+p|tfSr=?UxD>f$$F_`{h6^y@ZMKo zdQM)wn)yIc8NR3cII)DCujthh?PGnJz%a+f#Mc|XQh78f6tqNIS&2eP8dwWrUrG@1 z-Anz%eXWN@wirzOV4kxntts@H@@F(<_%6TBxA+ad!f)y?$6O?AJUWi*Z?573?B{7A#i}1 z9h&iE1l6h{Z~0hI%hvUw4g}7jO6-pYKd<*$Etc|%+;a~9j&;BL*7**t_mLdCRt`T+ zh4MRbK!4|_Z+>0DJC6ppeR-A!x9_|*c(an*lbIi|qd~o7aQn_3DAIqjwa*m40e@%cl7Po$1+lE2x#X1jLC&# zjS()#l|ILHxXjLu$RlC)>1-gTgSHB*_0JGq+onNIxNI$O%jp;Sf!a#Z zD#V{O)mA}vu?i0KCaii06zz$6n*^{i&yHCWcs}Pbp`0#I=1DDj--_Oq`)X;|-3wDT zxu!3eZA<^lr%As~(mT=DNq~!`{`84b?^~&nDuB0Qc^n}mHeiRkDGUBTPV3ZDg^v1! zCij;*+?zgMy5^G82!$T6i|ux6du0wCY8%TxT#Th&PR~2z?*Q6wt!2Jwfg&-oA`Mh= zF8nMXRTAK^M&iyAw7rM~zYt~!mP)D5I%2*o0 z$-Pq~_J+#JoOn&QceStk&!e-|45K%(QD!WNrcq!X>pmh^BEo_)^sP3ZI-XQfj)LmhkrUvU{QVzL$KOySwIlMM z&S6^`%f*qq3LsyCp*hE}0Zp~=*H~D_^D5FbxWDC7O@dktR%!GGMFKH7L4j;qVN0(* z^Ue9c^ysfW*a z>cOE+gYWR04lcm=HW_0hw*(?p&HkfmAlk}p=mHjSas}d7yei(^6n)@qc-0kcT@{pe zesYt5Sc96ZouAyIp$*)P@meZeE&5n*m7i2W5ga+INyc~~|;*4QW=Hdv0pa*^#T29-sKyi4h1LBFb{=@J_N zc*R8yK6F)i$Kx7Gshb!+q`k{}Cn$1icf7i}*{Ue6$UoAnjCg9K0<5XHEY(c7_~&I%O3Ks?0w5*{D) z3(oAlkWnhcG1TcD>s7el6yX+#M4^YWaT=YXtI|7up@g>}=}QreYC9~F%&QF#z*<6t z5R|8WObmA|1?Z-d)W0BQk`e>VI=)YOcyDo zT&o;{5A_x~;_N`)uikO<(GvN4Ru96ss z^_4$?ABBpWd+YiJtTORx2dytqwtA2C6||JfKlOMt<1v1);LEWfYc{{XA2^B&x;JfonE`_6IK}s9>ab_5T#RCK@}SIDOkv2 z(peWJWWKTRoj=mU&fLIik_ijp#AnbiXDFf`>#G4)%{_*)KKAf1hxU=4cRts9< zHJ-Y_hWz6=SoRXTS6KRx9*p$53o!6#7$>q-1b0!ME7j~{(H?|^u_<)(Fr<*4hdwcS zzeT0wZpq*_tp}^*RCs;D@--s5?~@U{{^VQuCv~65lrU+Loj8{KWxUhad8EO&_}xNp zH??WmZ3mHiHXsXf6mr{Yos+vsaqE!sp#5Yb;@Uv$(ic0#dUe0Wv0t5PH|@9hBLe4& zLjKh*uX1KdZy=}yqM(q0vNjNL45Wc663f~TO8OVT;WKj|?tyv>js{pIHT3jqw_nGW f7J0KKTODpjX%H77+0cx3ZG`mlQbr0_LXG|lE8lTT diff --git a/docs/build/doctrees/generated/Processor.App.Pipeline.pipeline.doctree b/docs/build/doctrees/generated/Processor.App.Pipeline.pipeline.doctree deleted file mode 100644 index cc6a0c76d55d8a79b9463fd6609113070463b354..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5338 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 GTb}{^&5(fr diff --git a/docs/build/doctrees/generated/Processor.App.Router.router.Route.__init__.doctree b/docs/build/doctrees/generated/Processor.App.Router.router.Route.__init__.doctree deleted file mode 100644 index 42ea51e0a8cec54de251b1f35c72432963fec8cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7838 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 diff --git a/docs/build/doctrees/generated/Processor.App.Router.router.Route.doctree b/docs/build/doctrees/generated/Processor.App.Router.router.Route.doctree deleted file mode 100644 index dc3dcb4bedbaca6ebacc6e2cf4254996eb375f5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19442 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 SW=^a2Gb(vab%=MJ@qYnCI|(lU diff --git a/docs/build/doctrees/generated/Processor.App.Router.router.Router.doctree b/docs/build/doctrees/generated/Processor.App.Router.router.Router.doctree deleted file mode 100644 index bde9784565f50461eee532c7f34ebf28bb47d0a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12897 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%0Asazb{+!u(=O?{PP* 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 diff --git a/docs/build/doctrees/generated/Processor.App.Router.router.doctree b/docs/build/doctrees/generated/Processor.App.Router.router.doctree deleted file mode 100644 index 7aa3ad47c3284894d2816b57910ec233381178b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6097 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 diff --git a/docs/build/doctrees/generated/Processor.App.doctree b/docs/build/doctrees/generated/Processor.App.doctree deleted file mode 100644 index 0d9c9c84b787c325c6003b9d4a1c7a2e52a46b5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10563 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 WkCnhco46KCO5aJQqvwgRS^Fs-Ehq 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 tgg^tVAr;8(YRruj5e$j_qIe*vf*iF5z} diff --git a/docs/build/doctrees/generated/Processor.App.processor_utils.DomainRecord.doctree b/docs/build/doctrees/generated/Processor.App.processor_utils.DomainRecord.doctree deleted file mode 100644 index aa81adcf43e78ff4acc57f75e3471f919c858cbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30222 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 diff --git a/docs/build/doctrees/generated/Processor.App.processor_utils.PipeMetadata.doctree b/docs/build/doctrees/generated/Processor.App.processor_utils.PipeMetadata.doctree deleted file mode 100644 index 4ed8a9b6a907f3cbe381670935d44a61661d36a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21042 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 P)6H~opFx9jSS|lA9%@O` diff --git a/docs/build/doctrees/generated/Processor.App.processor_utils.doctree b/docs/build/doctrees/generated/Processor.App.processor_utils.doctree deleted file mode 100644 index 20a5deb202f1765eb9d03e0016daca733230385e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6542 zcmd5=TaQ~;6`o|qQYN~J%LK9B5&)N1q_PKG+ zJ~Otea1pd*%2q+j=>t>)-h1ua zTHpHCUhCVH_rCjy1^uVCqd?f+u*odT^DQ1FYQ^%+*yWx~o+LNElRQf5YBglXkspU9 zPt*b=Okq1#$i3u2qP9p}+D_EW=2s(bO568}>7pW*MfE{a7ptlwZRzmRkh=0l=$kx> z{IK~-5Hy3lb!g~S6Pk&MOJCwcI?+t|g-rgfM4wqyW=iHOtL1><5;76HYSk!iEf&>s zcGx%>5VXfQEh+{<=HeP@A)i2*`-S(;?bES7#0 zyDkeyF9RA-w7Qfr1N^R88cx)1sbxSRlm2|XhQH7IF0;M+-1I}M-nAW0c;BzZp|fA} zyWNP({Te!ZQrsZ%H|&7F&Ly*$WOYl=H9|dkzs5pon+`WOrI#T3veTQp&th&+>Cjt3WI(~d#+&0v296_+*>0PdNAPtDDhL$%voSTO}B-r(y* zed>%%ognnm6!NA-{7O~PlA{1&c#)2v*3ss}01?BM$zwfy%t9|Yfzd|?Dc2_I@?4uD zo#(=thRxo4j zGF13Xa}y?>h%4fc2p@E$AI-xC3BL=WAK=_SoMMpd8Fnh8q#N#uKb>)-`A0v&Y2LHc-`%QLXXKjs+>@12x2#Ba)M(65|ZSU5W&h~J9e ziQl)yA5Qb?iF*>FK1yEwf%fWar@s-#7E(9KvCoRAJ@G-=nDadZ&fWhQtdRNlU*}md z_wT>V^KbR+?3c}@8G}U>>o@5rd;NX-(mBOh-nm3jhv^0SH!$;zcbKo3j5_8EeGi_4 z_tI=3wM37y1ZfITXhXU?eK>Wo^c1Z*J|2|%Im)I(vxV6Yr)QUi)auZ64x)fjin|ho zJmTRI*HP{3n42YOq$$cl9;ofo#)d>l&vWI1q~V+Bmmx1_yQk#{8@6XUvBl}hOvz$h z-9F<>VKN$@ecFV(^NHN9-IoBw+ey10>u;`BTsE|LfG6*3|HhwM>N$P~kA|wr0-f@= z)f!3#-PwcdwuH^aP=QTpwCDOlRA3Rl-|cssf#=6a*&q_8Y~DJ<5pTX;CbF! z5^O?nTw%xx1}sl(31(|B_G0QiI_*P>JW1#ipvmh5qCs=dsVy@OsiI&M^@EMPC#@r> z6{J2APhiwpc8kJEH}pM;r!n4^UtvxR%NJw547t=Wd3ni5b@aZ4bUQ_c93NF z5jV;+HA+lr9NCdAH8{5o%Z`YEagpql)!Y?CLv7$P5x~zfs@TlLjGXP%CHjR;K)xgc z3)5;AOui0UDVl)jF8LFXLnQ>@-$nZK+QOgzR#9645Abg6a`++2ia0y6&H#wV>B%wF z$Ay$ZbkJ&{J8A|aDSWT#hrL#!E|R1^0wfK|T^LB}c))|k^Do?nMz_MQIki0XjF-Qj zFHiLf0_}i@O`FTE-UBY*64G_B*(yR6{7BaiR@7yn(lrVPEiQl}6Jg{;?L;F_vY{dD zo^bF1f|n@ZC2Au=)kYfMh~e20RP~H*r%l80O_qidb=efC1DG&<>T%GsRw8B(P!&1R zm0Vq(&6wZ>`0-8K>jDKiHC!OFh~mzaob3{P9iOHCNLAB80@S!2Zo!F1ID+6vDNocz z6H)_%BcpW;6rB-isdoBU?Pg_Tz}4xdly;&v(iQab5oRxP?})0gY9%EYcr?I?0;Uaj zktjw{;;JjLyEr7kCJ_t(Bt%py+Nui^y=i?G-B_(#H0ZfarCsz_sWbiEe}}@;_wg@M ztJFTe4r^;QuXv+6Iheb|+F(CeXEb4tlJ zd)(?5P~3^tW*MYfOPeS@XrCs>NPCEla=FwT<(^aym1Kb0?Vyr6A^Pl8XCb{hA-0O4E;t2~kGDL(>6(02Ku0>fNmW3C#Oeavxrg3L5wW ph4_f{OO^f$1!YcjuNU1Kn(Ntn4zAIoS!)(mH8TRFXGYv<{s-Q!!tDS6 diff --git a/docs/build/doctrees/generated/Processor.doctree b/docs/build/doctrees/generated/Processor.doctree deleted file mode 100644 index 7829de79e19da7c17810d5befab960ab3e4ae6d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6611 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 diff --git a/docs/build/doctrees/generated/Processor.process_article.doctree b/docs/build/doctrees/generated/Processor.process_article.doctree deleted file mode 100644 index 541faf14d0d5ad248d1c1e5c16a2d105deb0b5b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5813 zcmd5=TaR2v5ng+DW_Q+mb?`#Kc9sCqEXvHp5CmG{L@2@!SS%=9gwTfLo^yJp&(68g z-DkZc%MwTgywD0rK6wCyAg_TRz!Mko&Ko~~AAp1uA%uA0t3H=GGxlsY0s$+HeY(54 zy1J^q>ZeTDE7F@%!(JgX~-j;JsctG3O|!V* zfmsUth-U|BpP5yrwe+|^IgTkQOnNfZ{7OJ?cOV~8~LO7 zc)SY*9r2OwL2lK{ph~#Qa4?xaN(zJUrhUA!8H8H<0mx}zX+FrqRmbb0f4b?Z8NtU;dV7XR6V)}e&0ffVnfLiQQK(3{bal!_mB4P zR7%d3zWc&lfOTg`U%Yd;dsrIj&>H5jG*dN%p$_+~b=rs)YYC4$KN>nGh-GzoKKmb$ zr}Tp5z}E<4LG1+bGaLSQ%;wB3vI)?eu;H8YfsSxx#Woj{afZ-8?m&SVuSYjBu@W4DTh8lc#6mS7sR_Jx=g;F4FPl62|-_LCE)Y_P{RRWirZ6 zVfpcX9yBxazYd}wK=dEZ1dt+YddGm0 zA9z*#>6{0hE&3^>`7WgS{R%%& zi?Xto$XHny&^1?a*kbM}HgiUWF%8lwq016WbZGAdv*D(aiZQ1uz1GT^yaY2ViffJR z17+!URc8)l9BE`Fc+tPgf)s^GS*VIlyobdL9ZPx~Jyb?YvoOKnQhtmB-XjcGi(x7Q zjMjDRI#jaJDyoau&E-KH>nPT|HhueoS*P+gN<-&l5X&&b%mzv|KS7xgQq`=$>;w4> z4^YQp#<}Zj;glsK&MGz(HROR=lRSx~b^?CP19*^G6)dQR4YSQpd}v8CovMA_($PGGfwYZBJn4Mox#ywL4LNXU*wf5}{WB$d0F{x` zj=1dlTo3FSfP7ErFu-9ggi7GZmTxQO8oV-eDu7lOK%GuLa%#5JIMVFI5&lpF_`!ph zDBxyhO`-VJ&NovaTR~M%*l|8|g4kt+a<91pWta=o=ZJ%ztrD?&grfA+Hoj~(tB3@r z@SoWAqXE323=NklSg5o=L+6L&zCp}#JW|7Hl)-DlKKB6PF+>m?3H_p$_CrS z+J=yDHjPdm9Lb}$)&0y|o|?^DTbKs7K{cQhin?N$U#7|Y`=}4pA369(nHEh`0YpT0 z;XsL}(QUHpc&u(xv!|$Gs!(1u4JYaPO;$cn*umfTVN;5M(Qr2&oYCznk{|o>rv22c z*PYX9XC399#WDdRpP?vJ(&c8T&*XGyz`>crKAKQdr0^Bs z(+hTGmRGT|U{(<$-8iKPh{6>KP5{S&i{L?Cez}-`2(!MHy#lnOae=sj-lZbFQgifj j6)LBuFICglB`^7r8>AjVVo1AIJ&NW<;G^^+?RWnLa^}1I diff --git a/docs/build/doctrees/generated/Processor.processor.Listener.__init__.doctree b/docs/build/doctrees/generated/Processor.processor.Listener.__init__.doctree deleted file mode 100644 index 15c2ea3b3c7ca2b6436284cb9aac76969bbe1cf3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5991 zcmcgw&5s*N6`x7s8GAlFnaKw$CD|QTWaU9?JBXD)gH{NEa@g#SU>CR~q1Em#yV`Dd zb-Jo2wnW0mYQ+YXSj09b4#1rQ2SEG*hzsH`;KX0Ri95en)!pv)%s6`@k~7`aRqws} zz2AHFUj4Z7>qnnkGyn9SjCl~vdamzB!e=tmO<#EFltn80G&}l9_AKk@R^mRDB27G& z={3yoco6yti?YX=ZqsxXgtC{f-;~T#fr!fGyumm4=HslxTe_hF6|%}Fee~@_cuY!> z^y2dA-9Rc9v84CNdE^99py+Q#LLlSHciD`Ld&$x@XU#07zu8Bb*$HpFWKm6@-iTf7 zQe}K!x116depzqiXq@OPVGyzGBptYV%T+1~2B`vygxcl6mxR!!7rIhn5YLUso!Y0S zpT>)qf$L2YHl#VJ-c;_0K4pB5-{w2~4!_J_)u(+frmR1i`(fZQ-v3}CLbv}`PcleU zN%y_`_rLd`|Gw~|U?NWEhd^`8CaMp+W#8J{9}%doVt#)m>W%@wISHN!XjP)ISY10=+1^`{9NsXN!mP{

G5yX{C*ko7It$`f%56{;p+{Ma8Z8uA{esK{p2FNxt4Cb%wj< zoz;BXnoYxF8M~Acnph%Pa>_Eo{vBw!pL6zyOPuY6!gIrZ7!3OH9L|lt-22kKz6=!W zLezv{T`;pBm-!%`9}|tirf761hKCnnW^zX1DPr!raed1Gw~ShIF_99>O}!YXW9F{H ztVx(zz?!7yELQvxe@wtQ3t;#UO4|;MZAdi0T(N}cQFU$n|E62XHX9YCVO67ESr}zG zU(mZ;Y`8-q<(xsiSX)rFSq{`u|Ix*$>-8vet8^rIp8?*varbotDJhTB$Wy7ibR6mR z<3c%}>RNxfN^5*p>n}>JWfpO4SXAP3{jk(`xTNp*tMolRtM9kDzUTI6M)0>UaKTQ@ zA|LVM%y6(&yq9O~o4R2ZF4^;!i|wfbj*@^4eKB=|DASkXIg&jF)I3HyXqcRlnJLOm zMoeY;`gy4`)7y0B#mozaftS6|EyVd$_$eI|*UpJ?N;UIiEB=Ih{wJXENBI1c5{>nT zCDad>w)W2zTl>u!I+0^Z^q&jSC2pHJ+n2=uYlZmgsaQdd|7`&q|9cIvTjy-QS14YA z8~?{=zzEsSX1w*sOPl!5icMUI5vv^|{O4z|%tLc&UImmQMLq@S5}?lt(Dm)*^Rjw0 znr(D=B^K(li*2@-hHD`|-d$f?Te0nPw=-^GQJr`f=9KZR)e6qVwNUW85{ZkG$oOcr zfQJXUOGdrj>NB*sao2+q1%at)~~3>CczND+=no!R>~* zW4hGR;%v_wCVjV@Qt5$<$qRqEMQ26Iw*bs#o3?n@_GnA2uEtx@u<|agUDs_dO{leX z%0_ml7_kklZc3&U$_LyC?3XS6FfnfQGrjSBH$=~~s4MnPbSrN!MUvsgN1urvXBy*W z+p2LOdxF=k{54HNyzLSRsR5?1P}i^!>w}>XDiVrSK0a92yL7)0rBi1%6v;HhNShji z*zv@at}P@)-m)VsL~o1{=V_q0Q?%jGm@mlt@)Nz2uvjF@3E3$Nvj>;-7I(w)wW0Uf zEC5z$$5L5LYUqZ~2I&au+E3jiqEZWTnLEWuOC@NHXj9q8x*bGusvH)1f(kN3Q>upD zuXatK->!djSdxgu;cn!I6u}#0Dsq6{6RE08X&5P)zO(dYNyPZCME16oyRe~HeY^f) zX|cXadyoK%1ESEhd%K|Ab_o|j`dY#~k@$|!sO*Fq>ibXh2Et~Dd1+yUaqS3G;r)OWzjsZ$1Mxq-a* zd7-c3YDBp+hX*4b;s*v_2?ddVM^16zI8RbUwggny%)5Pc%>94`_m0QW6nk)>jX2?CBUSjoS7M;@Npl;d( zgNOz>amoY;7v(vhznPDJ3LHMl-bZ+#_CcVPHxMxWpv*0`;q7wR_;5RjyfF2NLnFG^-SR2@ L<(a~kKE3||MalU| diff --git a/docs/build/doctrees/generated/Processor.processor.Listener.doctree b/docs/build/doctrees/generated/Processor.processor.Listener.doctree deleted file mode 100644 index 71dcd2997b9418404050a125b2845c313e91e13a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29297 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 RB#zYx2qk7v=iFMH`G5DsgVF#1 diff --git a/docs/build/doctrees/generated/Processor.processor.Listener.on_before_message.doctree b/docs/build/doctrees/generated/Processor.processor.Listener.on_before_message.doctree deleted file mode 100644 index 65480dbde38a3950fc81c6e468cb780c253d7e2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5904 zcmdT|O^@728Sa^+XQt;flaMTeNn%#8>OpjO5PN_~D};h_*x3wGc3BB2!E)QxU7ogG zURODpK1919MQo(H#ry&|BP2jvI3gsp65erm2GO@IAiCuk#E1hW>ECMa%}1X%K}zMTyTC3?#vq3Njz|`^>Fzt- z^A6_3OmPwH7rK9*7^t+MxZo>?s_=6D4c?zYddP3WaJbM#c!Pi9K3&Xg(~K)a*hA&n z9Gkz=VD7?p-BAYf?Hl@%mQACD{En#p9w z341BHO8WH{ZD&YlzS*2DI>&KzTc#d4_!^c-mOW+#A@eqNxm%L$*#g=6k?_4}5QW1* zI)x3AZ}q=^jiFz=6GIqqsG1L8e`i@8v8$D_aPBGif zgC%33jzMq{zTHz+P{g>VPnnsA(>o8&HGZMt5#ny=~}WEnZQq7Cu|hn3cHbF5=KscukjI^Y{Jm?EC7ar0|*?p^H7m#iodA zb3|(jRR}zRpnMg<4^BeGX4>EKC~6>R;(mo*Cj*G#5eQPu(|08nK~B-*$|(^5@zu~C z%&tg$y>#HXDjaR8|V5yzhMai z6uw8cFtoOT!50ZqV3Q)VEZQMrj59CgO=A4vju%BNaE4Pyapt`H-Vg5Gcc7;9D97ee z$3wt0iPQtHb4fpEUcfR;C)iR1 zQ>QCQho_t{hB#FaBuYG|1S1{aOOSsM8*G}l``KIW_p4C%|9y#>d;K0J{oUE_)pQ#2 ztluD){||*%9RAlOA3J(|6tXCA$&d}YmFXQNotZu{L)BinaxpTk->-rooXUpg=Fkj8 zN^yUEbrAmo@lQ&ZYQdH20}wq=9FYIkR=3Ewj)}ca_pZs%POoRUX>yaDGRHKjKSFlP zyvRig6Un%tw2H9hg-(sP|9bVi{1bQi40pJumz{1g56NduHB?EYED7Li?lG#x#*s=B zwe+Rx)GSW9Cqvl~(rt6=$`Iw(+=fTXORZLO&$AN%xO~(i={^46^Wr~R3N{KvjCfM$ z<#bx;4Ggg36lH9visyP2pK6+--2J7IRbDn`syMm`;zU2LPl9{<~U@R87` z(D_L|JYUnFA@rx0Y5F6CjJxw2wvs$w=dU1cvQ?G677x)qdX22KVhi)dTwPk-%B&)v z8#5o>qa~)WYJ9II!nPI9^=A2#x`rtTvXh81MapuBK>4l#nfjv>SJAWnvPwZB>s9Hg zCz75`kiDwUG{px6>c+~Mj#<%qvflKnCWnr+4!AB@+w-1nm(KQ|x{2gHTDzpT{XC;~ z)2*A!&1%FpnR-n!MVS_@`)=Kfj}V=Zc7sB%yzfOhx~#gv*g4dlvgH$5fsX*apHyC) z;$y>ZgJ7Rb@VQ=o=2?WVEvjv(DWzF#*S5gx%OfFFA{1*(9xUlCdI(7J*gZ!79v2wd zroumUeGyZ2AffWhc7)k_LAp;u#oekk#*XEJvR6LTn;A<*rrd}Imltk=00)t_y> z%Z@`}rO=qkN~o>d0UPFHY`6Wy%cy{%@Xfp!BOR5Y>!C{_kZgxZnk$zjzMy!DaxPb+ z-nV$lI94IbQQ921fQc;o29+4-Fg#< zZf7HZK|PJk)W1=whr4=2+6kV=LZ(J$4>p4ap!Ee@ z+wDKsm*f;>{jtl#F^}*E249S*w9%U~M&ILpki)Yjpt@qd?Wb#6e+%w)pQE1hVS4Lv zz}bL^)ss9$sHP`E^X^whg6H6m@WW&T7F40(G6f5?j02i|w)!wnbh|ht$foe-2_gmbJomKFm*+;Q;5Eb0HmW~X$f@x92k})J zw7-uY!t0NIg#V=O&@iPx5;7BqlE01zG&7H+_7=aJ>#e3Wjk+z=Oosf#AUi^CTglmT zH%F`-G8?QP4@FcH#E5=jVX&6&%xUaYyP8Fp=ky~2XNp4p)kR(9OiQmLsQ4nMkb&yY z7wBEhyD<{W>YZ}@1#oy)Jb-(kvKJ0%EVO`lN diff --git a/docs/build/doctrees/generated/Processor.processor.Listener.on_connected.doctree b/docs/build/doctrees/generated/Processor.processor.Listener.on_connected.doctree deleted file mode 100644 index 0548d732723890c11fd93d92aab76c079ff9dd6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5697 zcmd5=Z;KpB8K2!`c6Vm~WjAI|aFYy&9B1~sRZl%t z^{e0Wubwu4_Km%U`P17n=0SAYcYQw+K9iYV^M#jAS){V(*};#qCs|jw68EtbY2vX= zHz48hAoLR!WsfqwMdB(5Wj~+4Dw(GO5tY+M7^4>Eml zkr?PQ*O~E^BbB)+|0?g#F+AcoaZ@W&gz z)q$ZWDcCRy$fD>53o8QiTIF<0<-KZ8Nl@Uq&)>IKZnx{!!0qaFY_1oBm!w~B(sG7i zrp;>Lw@#9gRC;)G@>Ta`=ulV)%s;gZgFNJX|vO(lX#JBDYZ& zCO@#J>z#G{+>7vABm69QYqZ>1-1tNOh(L1YAo1_R1neGn%^u+yfWKl19kP1OO~VI! z#RZ*8;qwK}JreJn#nV?6?&-W$KktvuKd)YjGPgNtngdg5wNU!gM0TodEkT1bRKgSb==OK4~~xBz4PGR zcRGe*oj|q|=CR-eQ@id6T!c_%8h2%9$S@V*!5xC99D*Xjq+X@xpkKJ7|MfQJocPA{A)zV{|_gIeg7(_Lrb?u0SkQxz@H@pWkY7T!h<KhO*P+dp6ZEdRh+KF1mM^m3=0)gk%3s)j;!%pxBV%Q;2r zRoPOW(=_yzV%KaM!f$2uR&BxK<)ucWy5{)~7c@R@kn}$P&qe+g**F{d zV(JD_rkCScrq|KIPGjVRfy$ogRW#KsM(+3vBdgqG%v5%K8On{UjF}gV0x$biw-B~- zk4ugbtuqdm%sDqJ@zY%M@jaSi5}8VSH4-*af2KF`Ps+n*Ajozk@(3mKE&}CS24pHW&KyM_#6@X_ zv@ z&gn=b(+oXZluyT~G^SLLOQ`&k?O`EGKJ++`1I3-9y2Oh4guL85(i;hjMWURLov<)F zT-I&whGnymCScXd3 zBfSF3kC4j(k-&FQS&f2Il$?6YO_gxwU3xhHsW$y|8apNN0IcZu z>H6ngv1F+)929bpx&lWpBy*}W4NE-boCK)Q3`MscKafcH=pgwnR||vSJ-va$NSJ_Y z-f6&^T+A5-p{djL9(`dEl#3*T8zyZ&u6!MDL1hyZ-65+2bD}Yb7zR^>p!XVo`&UzM z#VmFxGQk@0z=ORb*v4Qyc2DM^zsQw}!pq_f>>fb2T!(3e=?F8>h0aGKh1`L0|)ilInEu_Yw&|FP+JbxC zn(2`FFya~RmosDo&-679QWJ+Ekq8|;R^V-bUZ_6RJNW}1=o*f!V?zwF8jO00 z*_T*!LT_Gr%{mxZG{}jF6Tn=QV{;Dk-nD~Gf@}(pgdmbnFI-PDy<6+0G}m-P+o)`; zkWt|Q4dScRX}^yj!s?H|hksJHsGEWw37LT-$zR7qlo>}Tdz;@)^=9=pjk--_N{0Nz zAlpM`TgcgcS9`1+f*NjrIuv0^5F`49h0apCRnyoiRyC7$Yx?1V6Gbln+M=#}q@mkz zDxOHmWgzGC1PVs;(2BsadMEFH4jewoK7@Io%!Hu6w}(Uk diff --git a/docs/build/doctrees/generated/Processor.processor.Listener.on_connecting.doctree b/docs/build/doctrees/generated/Processor.processor.Listener.on_connecting.doctree deleted file mode 100644 index ea14ea3ad57527ec3f790f9c82bf9990bb9bb355..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6832 zcmd^ETaO$^72b#4kYLJRp7mPk_XCsxQ;syI$K5k&v*o z>#kF$PE~#9T4(Pye)Nma&*^_^GYYutA9XFq@rA>pM6Ec&jwj5Q$-`v#gXC_~R?X15 z6NxyqS)%5^VRP4WLgpv86SYC?()FTlwthKcwseJGEawfr#FuX;ZQfK3=}M24rqqi! zLt(Qh5@9zezFu=9$$S=eh5wFe3*RS^{xBgikaFf0JEG$~aq(Pv@rQ}N4R1VgS!GYP z6j->cO!$^+nguv~Q7vVd9H=v%>$Bt_?pvy5Ng2BRSOQDJZqaoj!fDy|tSABz-wofI zq+cse9LxrN%N~bpKs>Qpme!D_628eV@HKvsFY-(3{T>$+)*DY9&$Suvy*U=1)qA-c zF-VkQ=k*&mzPI0dL)gAM7Kc*Jv`D&fE)5fO9tfGhJ(ZstJ1r~Yo3YJ7HJY)%>^D1_^kr~+sH6!bK!nVAg z=k|NS6gu#~-2Ku^y~vfU15smZ$Y5JiOaicEjvGv`k;y^n{?HHuLr-^$>Fb$K3%|gi zrncwz=e35K8ofGn>osnQ3p=VttwLy>2H^@pnBuoW8y<&_zr$}6PUZ|J{w^FMJ>|AO zB?1LhAX!NFENgnbVj8Koa}z5TJ$ZpvE!m`b4385w03KCp6_4*f9uGC|Csx^R=;C*A z@hKu)#rVohIYM{97(ET+d&i+NI{}MLLx}2CcQKfPE66{+zC+u zu~xeRtUWh0d=6sIOO?HoQ)^K}wM;2&6S|R6!apjnt{K@65@ZG9O$9!8vcUGPcCv5t zOR3S|=HDXxwTY(z0%;C8uWUB6wAmyh8HQHCOGfhc*8JSub<6XZWAvwnU)^}gO zY2*o0_=fOpW?06p>o}fz3$Xo-q}%;WKQHbGrVa z7}JK#xSU<>ax2XRxSyuaZrsg6>D%Z3@4$I<@5dPqkM8~C6o6)7;I}Ztj~^cf%Fay@ z;Mb@>{zp;+4*sjmf10W_aGB?rFxcbXLp7(KE;-K3ud|0_QYBMM zG#O?!Y8AGBJUwiG2W+1Lt{t^tw3DisPs?IZY@N*y$tD4=<3{CU&bM=Q;;Sm>KV>h5i-+S-!RYu53O!i&*tc`;XSK;$ccwPKl^GYimGMS9FAz1T90khqKYbW~@cO-3+U!>SzD<2b`7^8FU+ySn4opLNI4 z*RbMgaUNX(^V8z|P4JF(@$3HRDt_~iMlTX&55FFdW%{OoAI$I8ZuS<*&@aT3o(T0o zo?Gy7LA>fuJE~zky7$ni?skmn-Oo4z6(KR2nb)C;+J=@Ib9)pY-6LV!Y|2!qb&)l#vLOZ)lLIt#Rxs>MF{@v?GK^ zZT>~co!S;1;dk?G`5y-qtt4e*Od{wQwxAMLO9i;`B7E_(`PTJvkeEctZKD8Y$pvdmx1LQM8vP_vh6*HR@0i zm`4KPte{IF5pB4B5KEK! zwxG0&msczYov(KE3-LmA(qv&MLX)HR@mL6)>8N--s!b8gs+5M7lBkQdnVN{vAIS7K zQn|A;qcHo-%bc%WgD=0N4EXgwE0nCKRH6)eXe!Vo=of@0>?xxf9h zp*8{*m{jAy8xcKlc2s8pEFPyP_fXGqDTC-*uLp9}P5W3~5e|EaI!~PX2;ej&N=FYq zM;$U2bgsPgG7#Me2X;+7QD)*_$i>55Ei&3M+Se|V1HA_vzsKdo!)8sqt>H(GYN^@LsNI` zQgAQY9M2gWs!u%*IBO8GdK?D`(bU4%efcaBJb?WO+w}*qf;=>AQ?Ni+r^e?_$b3Cv zrT$2L@NojG!85~w6HlRE&QMoAQ0HxMjZKD<)HBfxMemWi;rG>6_V)sqt2amk8?s0$ zL5q*DdXf2u)L&OCX@G%8!#I(1T)2xg)9O|C*0*p-7@Nf3Bw$Dmb<^)AYP&+EN0BB& z+MpOLkyD{r5B6murr)EV!Rtpq#ji*;iA-sanDoR!#4n@gt>=-s|8u> aaMkr~FLua=hP0~XQ25It1!d*9-~BIfXCIFM diff --git a/docs/build/doctrees/generated/Processor.processor.Listener.on_disconnected.doctree b/docs/build/doctrees/generated/Processor.processor.Listener.on_disconnected.doctree deleted file mode 100644 index 229773a1031b21f265d60c6d7d7425d1b87b9f1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4587 zcmdT|UvC_@5tk*Oq&rC`OOB18wUb5A1ajfKOV9u<3UB4f@{SaR1!yskUEJ0S7FHoFVy}`OOUV zyWXGvd9>mF?4i!MNH4}g6s0m^y0E*E4D*DgrueG3^ZVjyabo)_c%o&lLRQ!ftO&V? zBgN9BK~_tGFKzjmWMTMec`xKM0H zYjV3|f;mkU{E*+``}{WF;;-4K6D|`rSuCSigp5xn!holZWI zVJa5#eCYw%&)C9DaBe**&pVkDzyUCwyuqM)(V@JA87`wcg}wWtWr&`R z*@ADMnIg#fT|RDs`G++y$FU59coK{0BwJ#i^ata2-kxY-*eHW*f;j_*MkX1SRAHJe z?-8`PS~~aS%yZM@X8L{^z92;_u-A_EI^qV1UIhokOMsqWW=J!>76=EEs}6_0^E|UB zcN}3zec!1Q%_*8{YJ&*~73DQP96g;(HokV&N`SG*joSAitbqmk+8S|CadW^ony#-{H3o-r=PXqx^K!UXpi# zoW2OiT>`R1ahEo|3?P5Ze@$rpW`!2_LCW%^$L^#^S8#-3ilVUX@69SGI__(`r?##x zTW2e!_W~j}G8;}?*a4kcPCrAEF1o(nPGpo5$*=zpsv-%x7(p1+QHal39>?YVU#+E= zsB8zmk)e-U8eQ-&+WMEU|Dr(3rq!j<7qNv<{TY9)L=*S_DLKmdzvK@J5eicq&nn~f zZJ!XIt03cTwEuQLh+`Ic)1_xP^FDs`;e&@>RnCwPyeFKcUf?~t|8Vm2&V-SqFenuq zL6pY>?M)dJVyVs8^UfqPq1KdF1XDx^ zXVJK(|NqmGSG4*oy!Dso)2bcdd9+)Zff3V*Dlp^lDx+G2yF!e+KC z>~>k3)>#nABoJxA|893c6SK@v(f@&73;eDJJE<(o=`*`ueNwet7SHTqDyzsN=aPu- z@Dq1k>I&Rlkds#@vUjt(n?h2qI;;`p0xJ6>nT|Sbl_N7PUjf_ zqOH;ed{p)b&&RasoA`)yuh?OjE9$WPrk~ocC1qb_cQrEx6&6kEQPXwKl%r$>LL8y~h87!Imou40T1C|gh;Mzh$iSE6o@XHuF} z8rGUTysAqc-o91(DH+&MP6j)(}VnG5)-zXGZ zx>WI{9f~x|jnC3hMp%UenVZ?@M^q5a?`cab5;s_ zdu?XT1pl`kmPS_xs8w%uC)PCWHM)QXN*wsau7fy;gLIxF2?Fj2g=P~E6MJ2;P^!p} zSjNz!rXe+*XLcJjnxS9;4iWiiJ!awpZJ`|oxsm=#WH$vO>LALK%x|I&s5*f_4Nz$i zlfgqL0ko+m->*cOW_cuibUIjdja_6?Grz6rLL@Z)xj<{_;`5MNLZoB5NOj7cnhktp z_i-7G_z&Fc3L#T1^JgM<9ksnlU)TiYg4V#jWG#Zf_wa&ihKSE2q7=d=og)fkkqA@# zV&h-`>Dgh%G9R!oP!Z2EoPD1p(*UO@ZrE43F`2$MnLw<^WrIAHYCb9K4O;1rfR(;s z2^?fxi^sCjn{U4hM2Bh?u9+vv%KTfkd2ltLh+W_nD43bKJ;3@2H%W}m`Y2o=QDk^= zx@&JEBon`3XLA9+>@uI(YkHZQ;KJu(&SU%#zE@*Ok-x7KG!g!9bI@7?s_SlC4t@6& zD8aoQauj$xLRCpO;Oszz_9D-ar0FH>p0`yRc!v0qp-5+lf;ul8Q>M`QbZwnTD12iX zlw_obKjS#CAK0`H$eRT6^p6NOHr9G;i-3ZrsR%SKSk1j7~ceH&XBE8299t@1e?Lro?2Xbjy^5yaYst+loP|+ ztQl+*sqosx@*NVE-~1c?wYGf{P`#sR{>_=@Z_rEeYm~6}_y@T?XnW9^I0yyefX)E3 zrG%(juPe{mmXzyo19&`{%D4#%xAc`YVY9m5vDmM7bxOw_`$)OUP>#Q`ZmXKvumdEL zP@>WylTSM0y+-W(wkOgs&LfJO RIcW_dN_kawC|jEGe*sNu`Az@; diff --git a/docs/build/doctrees/generated/Processor.processor.Listener.on_disconnecting.doctree b/docs/build/doctrees/generated/Processor.processor.Listener.on_disconnecting.doctree deleted file mode 100644 index 901aed43f00fabdb69054be101ad38e77b0cf2d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4345 zcmd5=TaP3+6`q~ho|&FY&t|FcIr6S2G=vM7=&;@a8WNQFhprEy=m^WVGA+?nm>?6Fow9&%?lup$(366IXF zN6z+Wxrq}!tn_y@4^6COqb@pPTkJe?XQFF6CN>FgP1)hkausr|RX)s`ub;-+aLMzb zlD`b1ScghVvMOheEWyz2Pxv*R@VWXMYx)aGvuittsq| zVKbU?;z-;V2jYR)5--``j)Y42XugP&IOJmV@mwWr^wv;wSTycO`zfEB5zehg<#|Ul!k8Hzjh^F#RSbu@1_&=-ZWa@Nmlm(U zS>M6$Rs7EIdyN19hI#C-eFo^@R4~H6t>o%1XXpL1XC14bawAl9?(E=M%Rr%3yH0G6 zjbnv)T?|`z{$UNzVWL8ojFNaV$`;s2esB2Z8zUVXKFHu5HsgTNs5HZpimchupF?J~yhwIxl|z`6Iu2PFr`f=_3wNQSd49zmdFB$kyk9Z>|HU(xx4dh*9>8_b7B?C$+NKB zB`ixIcWK+37>Y;YR|MFvmw<@?v00w=)Sne;3%)QsCn~mGzFF~N#e;1R)zv#T3z#E;eOJ6x0tyIzNWStUD5D5v31zAcX_foBwo9PT za+ZlU;O7@CNqE$s@TtmqpY?zA56~G6~9lMfto9?xEj>!3V*DzsIe&~EjoBEY-S5*x62g0PJ>9LES66E&F+9F zW|5(^{T+P=2wo3%q$mEM0AHA`0G-6^mjpCTAs)v9aTL> z>x+Vc>fb=g!D@@)=}dQSDYlxETJa_kSzY7kM0)^ft8{`Gl-2U-s5UKx7?AEQ+Y5`F znvI}oEe>i)*<#pT%?))#XxUDh9&DO>N=Cr`7c41IWSb0sG`8KU;H%tW5TWvG!_o|c z{c@WCw&xh`Rl_1rFgm1gp_YVZv0bOc-JVXBGEy1dn!LPa52*o^MH*a#R1E zLX}cqsbTWPQo<8-E06?_VOWTWOR+xaxP(@gU3{jZr;O&9W zXZKep1D@w94+N7@!gJtEM@6c$N2)NZRyy8_vk%s0)=Y?h+FogNd4O8={_4bNevR!m0%?kz4LIT`Kmne{ z*JzJyj}=A*OOf4-!KlNiNVA|}9Z>ax7&$PPEFptOUIJ*PCf_ebndU{L0@Qn~I_B4z z(mZHudWwW5xQfwYd43*IYs4lAU8FkYP8|(mU=MH^4gNF#)&OOyWx+H~d~a#*(HAyB zS3zswUa}U!-}`vaG(+(7ghC3mku$I`iPPA)pKSc&-yPe_coqN_j!?uS1!q4X$%Ntb z6dU$i!kA1y9E~8>!?IBvs(dzb_AagTN5IO!@DvU*zR}^?;Ja_U1w?!KG+Z-JlBM}q zYx9UzMvR@~O%!u8^?M-dN5Z5DHtQNTK@deoxXWGp0F+FFCOVr71ZA)F#2)K~H0(MM z@k}K6fxfpBMa)0YDavT@n*w320o5HpE{B0{iA!)FgaQRFgzL+21I`{qXwQobX`0@J z{;^l3fhXXP3S&713+lXZN|{0zleKkmO7u+>D}#~VRC5Q`q!S(?f*0_w;M`!7yCGK1 z1CDx<1n6neLek6XOM6m1LP6JLT4ps=lG1`Vuc5ug~5J|5Y8Yc>Q0PsF@a(E zj3Zm24xHeSAe+HMm-;+57#42``4VX*1ZSpu)os%Xdgvev5C!*V=YTKoyUs z#W!OuUZFSB*C=A|i1!P7*!G||aTvzn0i6M6O9_Q)y{$a+y4ZDX#5~_mIgtPmhLI>pkL4ZoKb5Y5^0s^1A vj}Q{*n-E-pQqvQQz&~yB$%=Tt5qrPw$1+Tchlnre^pbvgM;4 diff --git a/docs/build/doctrees/generated/Processor.processor.Listener.on_error.doctree b/docs/build/doctrees/generated/Processor.processor.Listener.on_error.doctree deleted file mode 100644 index 9a89bd63c1391c74ef8b1573c8a0ca96a92b5585..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5507 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 diff --git a/docs/build/doctrees/generated/Processor.processor.Listener.on_heartbeat.doctree b/docs/build/doctrees/generated/Processor.processor.Listener.on_heartbeat.doctree deleted file mode 100644 index 515d6b6c02cea03e2a4395fec660aeccf8b0263a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4265 zcmd5s@1mgqJ-x)_LUvGdrUiJ==ra&P@ytC$<3^rUFNekP6OIoA`F z|0WWgX*=W0da?o|H-E{m=yb2t-RS6k;=^6U;FVh49o=@pa8Yc1?1oW`jM#G9H6WMn zW-4>;FUuKod(2ubXQc&@1l*QP41u&0r_2}#@jb{{R({0h5?HUQxDi_LN-Hrznw3BT&Nu=1`r#f8NiaL~8$ ze-r;R{NJL>13xXpmCpd1%okvQd!X{w4rk}5XD>U>X~wNk$+>suFIxt>tZaI*eQ7-_ z#dpP|gW<<(7*0|Zvviuu*|fOECi(X#-+Oy%q~+rR9$^a(=&Z^LEU8IZTt6g4ajAT9 zs^+I*deTlmQh8p5K!?WNbG;6(0LYsNxA-|6&oDEhnaD^`z?QlfE?@sjn`h@CHc0m% z=u$WneVPyk?T4*q6-Rfwk~TWv%zNVfif@;KPRe?oJ#+gw*SJ7XkbQSZ+XZ%qG4FYP zc$K9O4PeB=U8oqYpKwnexxg;()vW%1@W{oD;F4hgZymXVKCLJT-F1CoAHUhl@Y^N) zD)4q`yXSEekHv2Zq~EPT5)tCBI^#(=BhnJ^w_FqLx^CXAxzO`k*DH;6{k(O)QhJ9` z93z9_wBGH}nbqt=(AxK1yq&3}qZN zez2}9{HeKngGD*(xIFlKv$*zdyGpm~u1-|OWbVa3+zz;4uM3o?f1+OiiJQSruB!6z z%pKI9l>M*$Gk27$8fR0B=ng*$*QF8{?t*-?I*~gsnvMVor|uHQM0l!UW0j9vynUc6 z-M6FEX($?{KG9fHqv#}i0B5TLUyQ42_hK~L@-N1ud&7<5Qd6T4wQa#cBdOX0w`;hy zs2FImj@zDTt^@TFVE${CmMD^K#y+}q!@5{2?J-DDwT)$2fx&*YO$6IZ4EO3`sZ)#& zDI}cB~cZF6Yu6XkI97qm)14slV8CdxE9yaNv&ll>}B6_02Sk25yk>S-HS= zqo+*gzzQogXBi|zt5HViQvNeHl6g_ui083NunJkAwDa)~#vxbT>rX~pYo#N>@+9RN zIMY#)#@vxAZQsfuSn=-u+RT~>@ozV(jIIvQsNU;OtZBMibO8gD1n@~iT|7)#z9`XV z0PX~NbQ5j0yN#@(bP^@J;OMsUnA)dHw~YXrBOe0}nM5e4b9sd}$BkHNRkRYhO$kOF zCS_JcE$e`45J==YowJk-9t8=Y%?!K!o7jS4hgbZJWN5P zgkDu2d3Vy2QqK^?ur_Z8+Z0rIv|;%U39E1MrTD_QAql9`(X{yT(ugt<8 diff --git a/docs/build/doctrees/generated/Processor.processor.Listener.on_heartbeat_timeout.doctree b/docs/build/doctrees/generated/Processor.processor.Listener.on_heartbeat_timeout.doctree deleted file mode 100644 index 6cdf623e92c07c49e0bd636831e9ea331720d3d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4542 zcmd5=TW=h<6_zEhq}A1uW1~RrcoC$5Ty%G1BoBqrphb-)Kvk8rxGr2t>Y(lVC;WoUe5I1LxstV3$roj~o#?!B`;|8M&71)P7<1&i zQ45;b@S8POXa0IB6)(?<5%W9DIU`4f1IC2uhD;6wep))?5&XQEdTns;+>XZ%N9as*H&h#I@|Nd`I zhac%!$*De{^?>zLK6OLbZHJY;!wEso98ZR?@W~v_2F!u60OH>1dNC4fz9Ut_FBZI9 z5kT~Caq$LR_a=UC;dg@H4+#X|Xk@th3E-1z0+RTjXm$Cdll#4smzmegxDz_LU-}0x zTLxxb)?JFtGgq=g{74KIuzkLQ?I6`LONXf(4f7ceQ|}BOygjti@qP|Zu?YvHPG>om z)I82-4+&{pQcZe#+zZo#cKVT4s*0Kg=3iysJ#YyCUq__Im+(Eo%mK|rR)Qj~FiVkk z@1?p=?uV!%9eY6sWdx#GlLZhb-Bv>tfwvbWZ8*W%cf{k0muG@3W=ozw@w>3EpCfok zzu%|hLKK8CUt&i0B1<1yz>0<2*kZXk=OuaQ6sLSpv;Vu~q0?)@Mcn}6DuSM(R|mS^iJXojT-Di9e7UIPYA<|QBFWR1O8qNii9r5^c)bD_aQvM77Kl+rSF9B( z+#*5h{;&rvb>8Sb6I}IJuPv6ygVrJy z^#rp$rCo2tx!N&2=JK4>@R?RgP-Sx-%dvzo=SJ#e&;bN_U$ZR0Hb>^Y+mTDn$1^-25YJ^S+)bPHY#U`epTPU9o@F^5q;Ww%^$>t zp%y7>8=}2NQZ+_?+j8en6VZ1bwTV8E7q|r z$6&WQCW7uMhCB7JFeyg+6ui_((JYSZRQUVjvDOap!51b^ularIVpWkv7h`R*5|RU| z-gy-3jGAK$mEW%TrON02K&rfO5m&KJunPIAaO3`u z`ytETS)PozG1^3esU+nFIFqSJ!2S^3^|F>u&{F!lD>Ex9#DDxjrF3pUv-QsM#L7;8 zgDzl!k^nwwsPy|OQ0PA>b_?t*x+9XlJbB_K}#ndpK`Ar1W7?lKY$Rt9G zFqRi+FcM^Qc&&p-3B4yjFa7b7l)9TBhPH7#*rcGsa}~?CNLYP~Z^YNucS%5% zkEX>pXI8vHue`5O%-$0p6n=lvgF(f9EWrb^0ctA=g=({|vUO2Xt-}rA@oc2imK0&> zYb(Nbb$3Z)w>dRzI$qL`lxrO2_*<*G>X|jagG3VRg3?6kcVmrSEc}-Pm1OHtE&mD# vd{KUckU$5A;Ho>Y>cBRiEQxnpaq!!&RB>7)#G47ZY$u_VS7(Q+xf%QqAa(F? diff --git a/docs/build/doctrees/generated/Processor.processor.Listener.on_message.doctree b/docs/build/doctrees/generated/Processor.processor.Listener.on_message.doctree deleted file mode 100644 index 2ff64cc065661ec2ca810507849cb005b150b235..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6147 zcmd5=O^+N$8Qxucc6VmKylZ;_v36Qkh-ZPB36KL?DGDLUB4y*niUSf-Osl86W~yg; zx;ov}yE6xyaEP!`36R{JkU;zc4uoHT_#bfMj6ei&;d!gNdwOQQS_IZs3yyDU>n zSmAO%@M0Eb_cOIk%cUPA?R@`Q!d&T#u-wjTe3h@=&ziihYSNbht4yip-B`FRNkrU^ z%3tsKiDV&*+amnX9%0t$vy5aw#N`jznC|x6olE7;Pcp3suRV9q^fa{^IZ#n%d{@=& z5)*z&t>#dis>^{Nvg|bNI;!DF8T;K-0z!i9lJ6x1&zc)JNrFNAu7wVCp8cjdC zjysH5k7iP}CY?S_WqgMp@J)V$U*b2_xWmPWb%ql!@Lk3`_l6>HInUnIb^7a(HQ~nZc1QjlW;O>G3P0Vc5jGg#^UZ(L3LE9BFmN)OkFwv3qFp**u zwGID|Y3xwbltgZ7k>poo&BB+!!FnmsP

QQc@M@9`N^!`Hce34Af1vf$O#+aFpb$ zEjmttetY_Uhz~$svN%Arsv7tU&t!+WcR{yOKy~wG zzFD)WB$Ku-@zb71rKZ;xfaG7ZSp4YOSg7SNbE;G!r5`})i8jPFttcHErJ*ZRXD+a- z<)h+c{F*)W7Z;rxEuQ+b^3>89ZA00L?<`y8dDh%{zrEv_ z(Sgmbt3>+3SfZsJNNFr`JHzx9TF@*v0~;j|BQL;>5#pq6S`zOkn|A!2N zTmL;bNL@90J_|g1E`sMSj&fB`S1d6#RK9aQ95?P3Sphtvf^}b2honK&n!QuJ9%cH|3v|(Jg01QwO<2tJTs}(s9L1>HF$pC_svjoxny4 z7h%656o639D>Qprwi&ekE2X|-l)8<7pv=Bnv6{1SeLz!Hkoc#CO1YVq)Rp4GY!q=P z@spV=SEBmUgZAL64ek`3%0ONTRC!3(cxfn?51)r5;IRJk@sqhsx`_C`+M%#hZ&H7&rT@vM3Uq~ zgykFBRj6@XP(|G?OLVjidDGpZ&_|77ON6bW)7A-?%9YBNN_SptsU}dTX#40A4FGh> z_$+Uk2J!+wDf(&NqP@#%+f8HYyzR2j-YiB;zpd62CM8NUyjJX%&ksGsDrn+mYW4e0 zkfQG_>&Bf^RnNO$5oh@D&;}>c8AbTmFvlPVghPBb^3OC5@U=x%0rlrJi{okrYPHuB zLWV-J%H+wi+M>6QFdfoMz*O9ifmVm=t(7k$S;}^7NB*8dEp)Q(8y ztdyFTlBpYWGjk#ae*C+0S*E2KjLpg153baT5EIAK3UX9~nU6v8Wb zq*7N=28r0SJw_!xj-f}1Q?&~B>7m2~BEDy%EAIJYJRqoTCzZmU4yhF%q}uY*QDm3I z1F(9)2j}9@2}t0M9s#;xLgt?iMF~qiVWSDhsw+qVB4KuQr)G&O?K2svmTQGW@Rr(yG6`J3G-O~+zRd3VfqrpO`}7Nkpw*|Q4HhP89!$Q0*Szu*6x}7S z0&~JXh#2@IB&T$Fl|0V{2Z#2moqs0U$D>r1b`21K{xo;xR=MyBFlDa6BF9U|=zFM>XkJ$(io zzr*Dyz+rXibm2#y?9xF?1@dn4vAU8>Lg|cc?)Q0sKQQ=mK!uLlOh)Jc z?2l4-b^@rb>TmOD>(>wi?hTit%yVIS<8i=QgNWV3G(vEuS5f`cnMZ=h;E!fy#U(*DiDxbl z$)lIb2btQN8KpW{4?|k7{8%NY!b2#QuhF3SJ@_@ee()>&FHv`mH5wi{{4b~rZMNkq%FTFN5Sgx+mNURs9 z>P>qy@)3b!Ng@CGysUg?Ni`5uT#-`9K>O|r^mO{E9EoM^t$h3maQGy9AMSxp5RR7T mWOHB{TV{qg%3*E84L@{))FTe{>9M)tQTWRv1!d*5+x`y@vliz7 diff --git a/docs/build/doctrees/generated/Processor.processor.Listener.on_receipt.doctree b/docs/build/doctrees/generated/Processor.processor.Listener.on_receipt.doctree deleted file mode 100644 index ea7fc41b7c98ebf23faa0faf47f6b910ef934b26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5693 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 diff --git a/docs/build/doctrees/generated/Processor.processor.Listener.on_receiver_loop_completed.doctree b/docs/build/doctrees/generated/Processor.processor.Listener.on_receiver_loop_completed.doctree deleted file mode 100644 index 96857c8e476f7a6f1604d15debe70c3e3f3920a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4750 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

P;SUKnx#sa z)jM4ZL1RZGX|6q%1d<8@6f(J<48A_FMb^RMM~`Kh%slQVVZ<`vOh-liWp-t*7qzsl zmcrav`m&_rxDx3kKeEaGF)|6u2L`1k8-1a*C!Y1g?NCp-rZ6Qp)iIu>*Ro1K)U9_1r=Bc4lecBI%8jK}H8JqHx zYb0rp07*|H<3{i~Y8hENcx^J}V)uaKkGPH_ zY}VEO7=9FLUL38P8(?MZ)ec%;z;j*eQ*%Yl678RPTuga{KQQ=mL}iTGQZed$@53CP ztpL?kJ9b0Qwy+M|8v#e{7Qpn*1T3gR!#)KI zG)7BuA}0Dq(s%wy4?m{`SQC#~2q&JwzMP>3cxtW%kUI4k%7@6q>j0W@dj9#u?3K@9 zpldX7feo3%X|U=QR$pStBYIFW>n^~+qd`vO83A|Eo~tx0mG*E*kWJ&s4MYm*`RGYu z_7`TUxV6*JHmL_|w}|}{h8aajx7t* foAtD{;igD}C=ZE4Q;Gx|A%(v(QczaT$HV^u0Dwg= diff --git a/docs/build/doctrees/generated/Processor.processor.ListnerStats.__init__.doctree b/docs/build/doctrees/generated/Processor.processor.ListnerStats.__init__.doctree deleted file mode 100644 index 38ac0c49208bcc2c94ae036aae4c1ac2f89f8f64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6915 zcmcgx&5t8T75992W;~xev)Ltr{V)-UJki>ooh;EZ(t;3Z4?AH532@q_)$T64+SBgt zbXV`%ND0d!Vh0rgDb0xka6}-%0r(3L7mhh|2pmBikdPvA;rFV#+uinzXEp~$^0>P` z-mCX}ANAhz)9Oz@{&YqC$*m~hjyG(Xw(a>gixRnF`&K+)o=84OcE6vzlQd*4G@nF% z99k@q6|Athq2YLrpznkTfzIML*^mx+f$bHeqPEj_@?N4O;?)am zEb)~~feDF4!nbA3$RXkjaw$dTNG`gL$C9JCW6D)ih|uZ80*DfV3yvKTTFaJeMiB<_ zT=mR>ep<2PVEocCt>ch&X-zDbh1sL2gm3X{e4StC3;c%sZkzi9);=EDu46IYe(TtG z&GwyE#6VGm&9B|R|E52hgRWYinG z^~QNesSlXozP+2s-Sd{VGP((0IueN)^IN<%#_)*Wgr*?IBCOt;lA?i`O`0(x2MQ2z zShCt5l`J&l)ByUC*<;Z`-SI^IUVZOY9r_kVI&KJOzz*u~+JK!NTiFAaW{>$;V}Ead z|5p9>ZG1pyAK&}<{`~8=>aXvA;r89TySw$~7wbnpY)-pZMXsw8lP{CWWc~|l-zc3| zd(qX&(cC$p$ZPx!ZEG4Qv!vCATmvf201iQX9m6pRPMdjy1mzq9Ko6(bxa_S?Y0g3&SJ>ufQ%e= z=Jo1+xBeVfa`SLb8AMHiIEmm&rsNE~@jw|ja~5tZgqsF!h1g8v#UJuV1dcHVhkpk? zr_Z*d&W2C~+yx6=#L1$Xz5lNP=60t&B|ld2NZV6K%6BQVA^$R_z|J=1VCMs6u)lXU z*mBNG%%UX{s_y{Rk<#)D3Q1xf#GWN$bK=gDa|ao7Je9frWER(8n(O;H*F2;c+9L`s zI#%L6IlyJ2Ls=Z z>2kPyivLm=869Y9N2Ju>L)_ot)-A;-{=+ks|BD=!8JK@KL*m~|kylU=(?{01L8*Y*^P453qIN`BS9HWRVaZMgp;HbKT8=Q5rhs`{_a zX7IBqOGd297+l1%`gdnDIMui^24e_UGL>lL{*Z~5$E5LsGJp?evoDxPF*fl(jRO<^ zb15WkXD7)Mv1CSo;(s|M81?Tf1zjW_Wk_5IYJ0YZ*r8qOL zQRS*3e9J%zEuy6VAr3l4BQHRH0MOKGP4QEwQf%z18tbe4hE_l1{xaRoD*4rBVELXX z_Ia{K&6&3>-Nt{_7%EyB?YL9GPywiNza?F)Phywmhy8z$kjubV<%j)$(yJqRqtUojBa?l}G0rrAUgm_c;OC~OZf^p^zB;KUGb8^#)Luxe{ zd1Glk8_^9Wxe_rUkinx{x1G1&x}j31oyetcQ+`!&@2w+QOWQq2NAW_@6A}*sysT+9 z252ASbv1pBLlL4uJ@D#ZiC z@(0vXj6m`;dW5;?Rbj+<;s|bJZ8306H>7>CBe@{l{dAZ6>VjMPMkW&{b9Jd>M_7sSF~p5;?b1kZ{^w|Tdz z0>HKMq`|__4-Ia5w#!1`Oh-j*kXwE%%2cX~N+PdM%uJBze|8>5zp3et&yelDR-TyH zEH9A^5rE==$W;xN4cGK~F}fo_+(!L0k0!0W95TxfZNp|%`GF1f;Ev=H+^35;2Sgm( zKxd}w4ACo-n`SJ0V>~419T?Sy9S;H{H#`8V22fYB&@){kxTQvbt{0K|$3sEHV%s;+ z2*RpMY#8_vLrZbIQ(1|H!oWd?N15oBVLOr8aY>N$l*^ez@TOdcFcDlpSM9KxbeYk0 zTnL9|<5hYB6SSMCvWJF=nhlk&p_`q*!bG>pt6(`^4~FPE1B8GFm5=^Ym74(z48X$R zjc707>?oZBSUgTo?jc{~LIlx4yN%(frTbJZKkT&=d4*Q0BVeT=*Z>L=ssqM?=F59` zfaqq}wI;~Z$e8>q8F{#?Nk)6j!j{8CSMh-3x49U&U{(`m2YzG=o*b^o>#)j!kvnKE zK-zLRk(Z*8C(NP2ogR1bfdwzRJ{kYID!z=g`g(@6Wn7FIsw1bty>4-|pe!g*dmM09 zAY%1#93VK;uL7#opGJZc*pF{HUKdu7g@zpp7AV#x);R+*U)MLaKT=cuIDyp+I?RR> zkDy=9&^$PiS1hbLHW=Csu7Rc}dW+OreaE->#gHS6Vy z4lwX&7$e&#TWl-FITb}7e*CH`b-2=<^*W&S0zG(!O>!ick1e;`2 z*P=R`5fgzG*k^g?{fgxWj_ExX=z$;6SPUJ1m$^qY4Kd<_k)#`l zPm9T}4oZWFEs7Z}of;bxlkto;#kg%bX0#bLbup_4foCYA z&l8T`QBTvYu$#R!bz{df+teo%Q-QuspCY!v&aydnCmUnS;;9C6J7!~Nzhzs7$r_LC zxVGN7f6X@mG4NI&dFxvrzuI`zH5_Zly}n-qN4U8YG(flCQ1mvoO>jmJ%vR$d&aHVq z=6%=IV_}nxhzZMSnR_|bE2*%%F;8|6SbQ)3UW31L_*#n9)GVh=j4Q*)icM|?ksh-9*lNb8O?DT=0iwsDl13lRb$pqpFPd+G%R%TBRO;zG ziFI(+*SAf715^gJhiVtj*C5M4i`%up>X;j~7C1^zYsmw8CXZ=bef`4v`uW<$i}(YW zb^Na5_w{c$Uwgy)gBKroU}Z&WE77+g>C+v@g%TIdL99P<`Q8B9yiq$R`FHNh`P$`V zKAPXv4N#PJshzuW1tO6av?M0vh$vI>NwDpz(yx?lDRUIC90SE@O&Qb@Jr$umo`<3r z6hn;eMtWX5NMMf<=CElNdgeQcnZ1s^A?E|H(e+H<^sbu`jeQtn-x6EJZjV*0*{-46 z4clrqy88ihol9#MFEo5BFjv8v9TH}y`;E+NboV#NP@uHVcFk>h#;%C&AR;mAZO|WF#T) zhK>=0ecoksBSDU*BGxZfVeR%~{d|n|T`CZOK~%VpuMP&zo-B19G@(zWpvT~!73Cvh zu4_6in6b8p6*VW7c+FbE!i>(v$-Pv8KfkWc0A$PU=#~?SW8Hl$bZ7|nyI9;}=Zb&_ zExNaD29d%fj-$oznugW3jOezQfv@Sft&mp4(b61Of;h|#Tw~{%gzN(~W zk)_+!1PyRr?B&dJu^$wCRtd%m561qj#9MJgifkB%mGEXL=08(C*GlI9IALv-kNWLO z1pGKY_h}HE)S)Kv$x0mMekw-5@50!09+&!*=-?b9vD71tEh^q;D(Asp*UPH|eP2Au zq21rX9X|>`87B%!#G4y*S*NrWc{<{uNX$}<>NYtF5K$p~7L%2WHTwaZ6w~d{wq-oW zZi!hfa19M{A?gqOZ;4B{o{dmIpw_q#t?F-L%Zexv`HQqL$_Pzm6Nc*q`6^0Q23bqQ zf0zuMZHW6d&2p?j)9Nd=dP&exNN#EfvzgmM4!&|w*R=$0R7l48w|lgMy|GAmoxM3} z5YOk6jTGRJ$@lyEtl)^*cWw1bZPP_DM`g=5Q}U*>DXKguYbaX8fA-9|=>O_Wu;&Y! zl`Q8-dicMmW5vx^DWy$0pX9b5OIhF~sY!Jq|EP^b&8JJIHOKO%Z$(rAi$Qp`L znmAS!hYpBAMlopE802&{g7O$7MljSecuzHg@?|hakTEPvnfjxS{tSsCG{F}kQo zfOac!9A)KK1mxD{o_ccPDUtZ_AHh==a-Vnh$D0%`+ZKsj3L27DwL~`Dnv&L1MUVreO1w%JBSwzzD#rvU{J_Ic#D67KA$PgWg`Af0{Lc8(zA;qvSi{z5r2t5{9GxB`ik89Le`kd z7nAx|3{bfv|9d`)t2UBvi@Erb_KEjV6kl-MIO+A{CW`j1$b#`%l}#?kTa>8RdSTN;Ej?GS zoq9y3tnrTjl1SfE9pEZI-LwlX`bVgx$!(E}%D zD^wuZ_S~?WQvvmf4vI`c9)}diG=}V2t$;;WXGsDdQ4)9_KVg%96hA|n77ngyFTzL)USx zJh@fds&Azd+EOCgO3plN$wLoY*S3=53hCk@uKZ+p6QNJp*sb?;J2xf%6_Q7F_2n<9 z%RsxXi*dOf82hsBKGph)zKo>xRRVIBzlfizr3D^{_5qDZyl(g-HEQ8Y{N>kxBCEm2 zDg1nk!5kT)DCenvLCVg1u|3p8Cs6gN!Ndl`EjW1I7v;1?iEB_LHir$0& zNncZOZ?|U=l2n}KKa}tefx3Ebp8+^f`G-S5{e9I{xx>Lw#W;E12#3bNy5Ce|o+|+_ z&g9mLn(aE<%Fp-it?*|Rj1QE+$j6&Wq<2$w&lYR`K5C(Li@zUFVj+i@>hU=j6Z=%y zB-#Vd%pc{6zYRR?HfK489b(_tven_fOT&AGtm>-gPt9%e2gXN6o{eT}G z`%Bpw$Jig|o3dc*VFmGR^fS;Y=VeG#mj_$F0O@%-A`XxS{|)rzH}D^U{MiVl9xMx` z_%pdliF+wP>Z@c?V-hRHVG;jOZkXZ)7ky3jqXsSc@TV=+=cthK;ZF?d4@&6#Y)RVz zE>pZSjWqf=Hbkh?HwH0JT=L6;nRmR>C?p2{=egN(LDr$7ngi>Izg1~Tb^g}?JX~<| zVJX$Y%SamB@b3`J+>s~#2@D-RXyM<*cp0tm@8Jn4^7jeg`hl@%pMYfQ`)Wlh{l+T; zfoCNf*%F&fy`C6_9-Za%CGYeGFPP+^;t=E0G)RRQwN0Q{ zJdE-F;{gJyFy8;b(4W|N56&)97C=p3wd`Vm&HjVrUYX6(m%N0k^*XlMAJHIXv)`7G zhqBq1WY<^DX6GlWgS?!(P^hctRAiTm%{BS| zlk`7XM_k^-6`#1anNcX{{*Joagj4>>6Piz(-HOuEJ5X~;i@FOXrhPLAZ~z+@!WQY)l)T~9 z_T-tSRwO3hO$TFhdl3tpVkS!yvoSIjaUCx7GD39)GI;mj3@EA+G0 ziI&+6w=sO4iaT^t9dJ#(gO-`V!v!9i5z0UFmeUOb&2$Wx&afe#UwTZ+BlX6j#w=X z*Ie4x9!{8vc}n25tVtZRpiw7UVW+F5S_j6;1|0J@Jx51HViQ-Ys0+C3_$2=^trIr{t&TZiqk<`xxt!4RCn8rk6DyI@_VCTggCgVf@)#VCk zP25dO%L7aF1SGi9L>W9JOwd{o`Eg|O=_^!pkxUAjg9-_Q33N~veEZ1D|2-k*yJlCT zY9UM!ZUVI9+Cvu_59-M_#Lu%J==vLt2Acgfbr)*Q^|l+4I72-p3FxT>W(NWaAdqRa zufFEO{ov@l*EV{UjX!AcI2DK@F(;4AYw?-+=Wv`fJ3_C?TVG%UoZ+&; zP!u;HKxJ{@vt%NA?_k5=w!C#Juad@|;5PKfH7utMEl6C$DRLHm*zDvXA9Oe+Tii-vMy@63X^1lV1n>m_owiy#up7Qo3ukx+u7yQkt*p_LAu z%4R@or!Q2(rW>m0K1Ge{nLkSF*016}U(8T5ZQoHR`C-#%_u$H>{Ek)YGJA{MHkF&t zp*WG3s|0)kb!=${q)V!W3^?hhW{_`D{UAl?L8pmrwL;fBdK%N-Glgz5304XJQ~^GG zu@{i@Khp~<{xTwF;a&_kBo`2gh#b&L0R=1{VzRQ#&&A%fdb(?-dZz!< zU2X3OIlv(zMkPR`k&rk5cMcpN7p}mCBV0HjfjDyJz>V)!b@z1lcsq`Sgr)IzS699F z>U-aN_3C}6^^>ztt*C!;KMuL$pASsi_5+*6sob&yEAf~w(ht&`-%X#S$FdWdkK-VT zESAa@%&@rQ+7a{9vs89zx^UchkgadW%o0xE7t48zZ}Rq8ddxerB^=?h(kFR*FA6Lc z$3Zj*i>J3RU{2WJq4Cggd`HmVlw?4}#@E?7+19*r#aK}*>2La8s`kNK&1)*!d5Hm;= zQU9$wcfN6Vct5awXBIq~_Wa+-6nFxiey zdhagGc_R!Lj5Tx!+zvd`@$WM$i0oTE&P_Tx_ z=>aJ%GqqTxC_&+1)X`kCqnvv5SVi#L7b7TF{nRWoi=cV}sOHLbFDQ6OVVL-qNX**7 zAy-dwwRoy({ZW(Fa9QgQ3av%d8=B!IhphGreZ88#UpDD`ysYo%nZ9@RA&My8T>>2` zXg6fO4c;5)I08y;$`b6A+NvrBA6{%z8FU=rY;3FCl*+Ymj`WNHBqc<5OQnERO%Y}^ zVIq~UECTSOvRo>6=;#WW<%}IGeJVTQ{KO0Fgwp+`g`6UgDWA+ww9->z!*77ouW^J{ zk`@2{MXX`fd8IQakHp6i7=vEt1@NCJGI2EnXT)E4sGUvBNl?63VgFkL?9Vp*udwHb zg*^?d{#S$OpDkfRoF>t~Sctxu!2f9w{i`L>L|+oU0H^y*@P3=CE(p6p^Qyr!-C12( zX;5GCVwtP__a&mP2cv0~raPr$wTXxPPtV}ov<;K0UU`taef2@j{9d#9&vZ<#U>Trw zoOCq>gJuQKfe-&wOl}pJ+^U)U#%GXW0OW^{E zswkD)RDUAz;YyuWEA-9ALl)VfomI>@aL0-3>LT`Fsf?D}h6pSJm7<8#>F)@R(#oP{ z{vJ}VnyBR*)#V)DRJViM{JQou_V@-Rd}P@CUSkEmD7O{zzQBbCI;w-|A2eP{RxUdk zmGDwvshVa}UmEK;Wp&T=&uVMHQq?`vztF3y=}YfzKhPK5r*b!YqTN*0uFq87*BA9#4OOCF(X`-wTDvN{RuWNr!zh{=yZMN2YRIja34y{CEuq7r$1{$U z6YW%Pe$#Xl-0zFxdH+;)vKB)SrFgN?YlwyEg?QP~Y7EGp;dMKEO(GX>dqhBLg3wo} zYiWSx(KrZ%9|%_Zcz0FqQG>}(JmY*EL|%%KE?pf%!wNj=Tg4Fh89l;W^hYpaJaz;( z@>UEqW(%_3%&FXsSQtdYaM>f~rgzumHaFekwIvVPxdW^O+5~YvsU=%B8zmE{>pnIk zpNe?MWu}Lbj)-u1rcI^q%dX>xi7=RN1yt%IloB!Sf1$5J{A%^1!J;UL3~u_i%Oc=R zrXu>~evpW&l$Mf`%4@YRH4)R!8mQjYau+t_tFKl+)E3JF+CvPWI3RLWLtxJ}{Yiq` zJP@~0=C7d>C@)2->tWc8E;LX>&7V`biJ%!HlK~OOHqc2JJLhQE$gY`)z*r2)H3y{H zvlA~g3gQ7+HQ*p|M84^gznFdjMR zNGOW#8@3ahBbPRkS=r75g7@VvHWMQR^sN-E$)*`&$5ovzd4-;!1nm*Jxx&LF&4$Z& z&@wGvLD55sDlo^NfQYW+A^P83`NzLovKz9{04xmAh-?AdaU%@Dcvw&2AwS852;-CC z5X136_f-Z#G#RGyGR;&bV5T9M2L}n&v0-8Vv#-7eM7z=0s)?tOh4`0q@d#IwNIPTE zz+qynbRh7DTzD>&b%Z%W9NB`Wcems^W5OhguD2G!5eNs z=LaG;Jj;H*Hz>RA#ZB~$BJ^^>zq@D%(B zEXN;%1$k;XqGW;FU~Qh`5q;gj)bU7-+*u0Ncq3*bi0AMxXSfPKm6t8dni&j@J=Z{M z4!tmH=e{owvpzTI>W+0{!>OSqDDg2?uQUGjP@&t5>1`U+&(nY6fSdju|HZOH!*tBiB=zAm z<}aajtG?s#dY#`%d7ROk^3+kBq3yF8-jq5TW*d!xWD2%@IGP#Y{} zcPbJ)xmLC4s3IR3I1-fdFV|&dUsmKcl8O~16!^FlT7l~VY3u<9OZzL?_y@q@z4Si9 r19cAqEjwwo!Xmd+hIfi#<-;Avx7@@g4o#@Hzim_c%QA&7do_6Ec@wbfnKQ+1}g zs#6zxCX1I{ES9x6MA>W+l7}Qpl$S&iggb~!$ZI4N1){toh?G3!B?2Bu1o{4RPF=gY zrpGvOEP1->)H(nEpZ|XTbIwb1pZ@&0De;dV3x<~M?zMHpa6Q8eV!mj2y=Y*%Vf=c0 z_T~6`+~N&izZQ6r-!o%Ag&sZ2b`0Ni<0~;=rS75a1Z_2bAuxNP?YZf2YtEXt7OuoC ztHI|&J9Nz4C%*Qi@Ab?e@ci~LeR={7`i>dXFpQdg#@r)v>N|ft7SsaWDLy~cL0=eK zCwN0kCuGg=c{Pu1KI_=78E;2joiFKO=-b^W#QbT#Gqw@X+!lI{9t3E_^PH;>p6Pok#=AL zV(4!^@xJ#xd$IGB*K_S%@9KUNd|>8o*a6)^N7CEbF`>4IavEhgClqilBvqT+8>!f3VxH=4HF ztRUg+0m8B7x5HSEtY5b_GtO*V_k#Z*brzb}8=scH6QZ^y6rw?_B`L%Xj-Ojn0~O;e9Z2JmmqVQ3sg@cQT6~ z?r)L0L;u{Jrq|EOGwY+|O&UHe)Mi=A39gH5E^$}Z9KWkVL)!`Osy`Ol>5XS+iywtL zZh|8MD_T1nYSK^c4~_!^qNW5ciH*!%w5WO1p%Nu5ve<#DwShbsjs#6pfkD>L|r;U}s< zk43ir*?6|{X?N6){sjE{W1)<937!$cVdVD0XvA|&ZzX8)RK)tXby$a^SU;<!+1Ely8O)jIMN`WK@M!7PBpk6}ocs+u{GezLI4LsRMd9qO=`NQ=j*Yac{J$334RO;!W znEt!<2<{xyWqyoIXZlKs>AzP`avjr4K69*#D)q~8q2yZ+?)Vzql1ht{BriAUyiV&a ztSylt#C(YoG_T9BRE`T7BcHF0B-RhDdA`_>97kj|)(yU-gJ$bs`zkT)#w#%v zz0|7uP{?_YwJwPQk?$gJ3uk~hEpnEg=Z5+9ezst5mwenrOGj&qcQnm*?NHNNXPd2x zh}cfnlt?cv&%omGO*OsR3ADJdie%p|sfYE>BDpQ=v7~`Bg)xOCR*f%aSPx2Va?8dS zkwzf7X&1x7+2-bj=C+5Lf?V#sl;U2@=$9#d)=&tt>|aU~Dkcami(8*6C`+QENaES| z(y{!7|NAvr%GP9Y_6Od-h-T2&&zfLNHP6XdJ1{psHhsLXa_Od4z@5Xf!W&Dyr{VJsCOQDl!_C zo!8_#hgl`mM1SEHb4ihPLnYzt4WM|kJX{Gp=g>>lv&0sWinD)}%8_a4ZO+EoJL@@J zt+MYBlbtLlf1(~iwaO|46RGT_dIZ%fs}N)=`^#kJgL(=k&{jT!2##2rTSgwug@*W+ zRMH-i()dLEWA#(0mXbm+YT6Zv`tR2xn1Dy6)yqMN`gl_v<;(bF{V(guuI0-_+WUoi z1l8Jm7{-669>JYu{P=|ZpXZ8*151!*BmoOo$$eZk+$cOC-x%>*2My|Z({4g z4RUoXKAR?b6){qNEXKy4)pI5{hjFoyeFPv1&PL+7B`@<+z#0jBIU*Dz*^i0rG5pC` z%f1Vy$@LBUJRaE>@TZWevag_}x;Ta<%?lY2t=R(ALlq>|$2t#yO24HoaXA%GPDp225#1 zEH#gZdN*=(U+Z}ecDBqsK?g{H&x-#1_~j42@Zj|q9=e|Vl91W^%Sie4()#Crb-#7% zp@+B5>rvy!%(+DO{*^`Vs;$S-c82oICndOl%q z^L)1aAC}J^q$}DB&tGm{h9oYhqPU#w6sI{9KX=Q(6QM3R*dz6ICr2`So%mf}GWZO2 z8Ec>|J}Y)$lv5h+Q_ZR9lt>z%CLn9e3o2fjN>z4oi4|GxB@)CJLkfi zj_2-3hg{yMVwWY14_3gaI3>WIlijoM$)2GW3McGYJn>^Wyj0-L`3mLyU}0zveKUU? zLVX)syj`~4o)Z~n-*)5)r}jkVoqEVv&mSGyW~;MPQ?HlV#+`<*6g$`!ohatUsTSXa8Npvq$kQ(Okat?(B@0@~QczEc3Zf z60lA`V;yT=d_;A1=JTr%+;8THI6x5WDfDGe;}3zn<9W@ws=S7MAU7X=in0~Mr@v|& zS!F5gO0JunHtUWwwQe#{f;@PRSiiO4@{J|X~L7TmHc|GzBrbAn}6 zmPudoVyV|&WtrcnLDDk+MnIm(GXF|+y?vJXqr;-EpIgB)>$|F?TL#tfU8|Dra}`9h z|Aem}mtnuHVn9AcOUjv}8TKO>DKhNw6q4VR1weUnA~{Jhru3&y7Z%H(4^rg1cMg9Z zqNn@l>EZP05j@>wZxerigZ`3XsB#`|5vW>TMj>BI%N00>tgcUN4%DRyQHZ74=elJl z;@erbGbrTa+&>{(!m*GUsp6t$hZ_Xr)iu3DVQtXZX};Qve7bI-rI#y~lNNc&f-eSU z7~;$X?w6dP>los~NZ%I+PmGw)Kc_np)*fjw=h!xHs6~k9W697kaQ7hy^}!G?M9DB|&xea{PVn%~TQxj4;N=&Fhv4Ya+!=MQ4EtkMbe zA!?KZx&ada-kNMN9bDExi+0TpElr%|1ie6~2B?c7+kDwKhn^p5j(OE|u$JUYmhPml zbNqz4hl4SgN*D!6r#U`nnB8ax@K&k(K__Pc*VG4SX@oxR6wr)NAX&BDVH9en+w>Q04@bn6H<FDR9I#G#tP0+j}?=#8+uitYuC7hz*TeF`~gxOSKM+6%95{I{B`SRsJ?^ zc~BQ{*9}PgS<^5uBg4~h{{g*@qdesWCeAZuBZZdqLhY)Jiw#0Qk7wAr&>GcEOPAcI=?O@1%Yv51kT5|rAo8PFBB!rV(Gz4+&>U19ESSIm zg|o+}e(;kyzB)9A8r9Qainvh)+Hnkf2#p8zWE=cftS}q~Tb&M?gSNb$(f0hEPR#G7 zo`MAQ)IxIr0fi9ABHA|}cY*+d6BO}D+gL?py>qE^_QFcc(Ct=`krRlJC=k0(BN4ry2N}rK*c@OekX!u z2Vm7H@h)FAaS;X0@Pq3;3l-rW1Sl;Id=^Z^=v`FHZ;DH7;%1ui1UI2SUe9*>(1OG@ zoFr!vMBP$9dqC>zc)GMlx>dFtLu&?I(|{50qoiV)IAMO1-`zv6UCqQ*BuB%2J6x%u zyJfHP6Y9ns)Ya)ruZBGz2|<7lFnY#xuhMNbz9=0GEE>v*9U>d%5@I8P&asQxo&b?h zwh&GhiiENbU25Ye3$1iAP&5NtKYgM4E?s>?_XTQ{&#Xn!>H+)-c!Qd0lZrZt58HwD zMqDTp-w~_MTkjRSfnrNF;wyQ%3cxF<^a?W|U6L(iz)3$jgM5qZ2Pr}i23>3(6}sM4 zYD{}K3f&qBRssKH0X}@OACmLGy9`Txnc_=uFFh|J7l2b8s1iEhIk<~(w(uU+{yI4F u@%Ski3br3$aw^VBgsGP)G#^cyg*1<yITx6`$RC&(32X?nszjm=%G$I&&|un8>gJbmN+^F!E4Dn6>G9yXIE+^zCl@ zu{#qa(I{ru6d0uqiVDOJM#b;GA{xJw@WFq;L=zH>L=<97jQ&nlzi!j_-gyw%NoMAD z^{F~lb=x#ZY%0ACybwoPkuFiBCd%^ zU%wc*k>6sm7=lELo3`OICq5sGSrQLTJE$l9#{t>5 zdYfLwe2y>hX?~0k^W(y3aJR!68(W5Lwis_bxZ&D*FkDdaI=a7g2OI!fEanpc11a^w>sTBrJZad5ZrJ^03O_B~wl&Z67(qk3Xog&ach}OE zrNvIrURrF~CLHD@b!f9t<8Ba=&ueZJdQqr(ddO>q&r;BI%n*C-I4Ty@=p#mQoprOF z3#5u_hI`SmUEN^*(jpe(>#flB13C24V!d9MT>ujmD2m#a7NdZb=alwId7 z##ZG-hkf^A<%>}Q`aAmomXnB=dfV4MUg#*S6>n?BZCWdjReQ$b>52eQua>>zv9-mu z%$3%pFX69prnQsOG&Mx8X^%OE>9n;?MAhPC?tND$le)sVZH5S}c0m*Wp-eaPV!nDM zaUPS#V9ytO$0S5kxeBr0+lrBswwAG(F)IdNGV1dfIy+?8t6OfSUFkY2f zLfr@YWATygyMPRo-$O!t-vZ>hec0+40Gt;e%zUvstmW1f#|L;UhAP^g^|T)u`8)hL z|0D7c&EQ-8j7`E%LFk*9=F_D(@l5HtS4vk37xq=FWcp=rm|D8mJt9s2d_a5Yp1^%C+e{|!! z#(%zzu<&+21L82H!UF$g5%|`~zM-M*W1s(yzs!HX%Kspis-WC+rQ~DpKbYT?V4f)+ z0Z!&d5QhoEWw%-2Zx-#+-}!-CYaSb#K=+M)21%j&x4lExszK*Ab@gAsF3|fx2Bgxt zts1l?A%#^s;Zc5iVx_7Z5eN;gjB+`T#T)QSi)fSO95$#Y%Fkyf9UO_Vzt! zEd%yNGMxhKjP&Gmg1Mtexc->r_6XPK2NxTy4 zxpTXSlLX*xy3m3}N{SZj4+etu%hW@``dK-{?z2<*0)^wU6|0r(71porNL~Mx>;l&L zx!Fsr8`Y4`UMo0v9dTq0WGyR#tR|00ViG*4!u6m1ktY#FkzagUsJ2vE22LP&D%IgTS{I3l_ZGnFZ4BB{7~fUEhI*$ zk{F|0k1G_1G%L?f94!=U7j4&RtBR#wj(jcj*2=w$LSk~WW3L3BPT$o`cs>i5e}PHA zJ&(T0R}}nFRiD2zz3GbaGs#yU38=H@toUU;LMC0X9;SaiQC*x1Ew@~jU%*xAGpSZY z2?`;-sv7(YToys!`&#>{Q&qKg{>60S!li2XJ!TNn*EBVJtrO^N7A!5=Ns|_YdKk#E zHAz9}L29TyS`gKPP)i=Q(Co1DQv6;uR?R>uoHHtk(=aOh8mazd zD1o!9G16LfI>y(_6Wc*4DX;3J`&*ry(zhxhru&Mdm)c-W8KEKp-kc@CbdW(R%IWV% z1Ok=*CektTAS<)q3w?32y=&(Wq)B=ohI(bcpP}Dw&aua;vR}5o_x1=|fk7&!TF=To zLGru0H|}y%h(*eG{k=ntS&V7DV>#^s<+tCGb=8SA9$+NuLMPU5tBLP5zrC^}b^TX@ z{AN9^rnLiv>Rs?jV_R#h zUr7$R{&Kh^CWqtRa^-uX6;^~I>mD>#-3u+RLb`YzvmSzg^?8!QiKK8Fv|O~Q3*nlW zE8Il25FCV*1(=an;QMF~eOBc0B{z~@S2;0lIxRag*t%&a#IqavQX6F6qRSN+2ZIH( zBrdM+FPx%{b&=p!tzW?QF*#IZzA>EGP0GU(GfnAcA%=L+CVu19B%X7!W!vUp6!`K^moJt-e-^SAn zoKPb+CcOof@F{V4-E~994OyZ2+&(cwgj6T$Xq)S<--*#O3l^s7fuGhPo@;=?7E}wf zLD58u;=-kDQ0PiJBsG#%G3_(Y^+U~O7nqI8j+o-Qojs0^I>~Ge*?$w9MtOv9iI0xA~5an%kc!KAk63F5I9W#vY9{TfJqhi)$o<_Vb;1G03OaTl!4<3)% z6EMV8JPf^HrO`lhQ1`Y%?mBhXZ#QCblqBU8AgP6{0|SM!PRP9F>uF@xmPENbQ{JP1)b*Tf8Z}6~VL)j!sn81-FLr#d}@XC&s0W@0xNV()Am&L(g z%L(;Ojhk(5;};%0LWR&+Ob6h*hT4}RAUnWT9g)xKQL|l;_RtJk^YIo3sj&sqE5u=+ z`oYgStw6v{&_j~w4NrWGy{RF z9)NZjU!pX5dIV|mxUfp>>AEy&!#0}@<-DirH{a9%1lclNWrOOhIVZl6WkGoQ3am-d z&uK5Z>s6Ow;>;5tPgcRBW+Y~c4k>qJ22@FjUjl(@p~#cUsjV-zC^@(v9Jtd2%e+hU z1Et1Hda_GwGSw=_KioAwl87Ht);d}qD|s^{rVtlfZbVTJq)&X=V8dD97D&S5XOi}3 zV9F=s2Y_%;e-SG>NzIy&b2tl+UCjrwX6c3pk|P{o(57Bf21W2B*wK+9YS#Y`m(9cL diff --git a/docs/build/doctrees/index.doctree b/docs/build/doctrees/index.doctree index bdb9102b5d7368218e3dbc9b75597169fc51a659..68f64384215919da188327958e791795acb266c0 100644 GIT binary patch delta 722 zcmZvZ&ui0Q7{~jjO`5D$W)GcPSG&p7&gya$218*Cgh3g~V8}$eq85md3Hm3(xoY@qV7~(=GOji4OmC{$t`N zH+546vySEUmRi#k4DwRb)Uje)@*Pt#v~_c%b$!W8$2(||cdSYk(>+>tC8egxnxW#Y zARNY9cC(_`nrTGUM$@c5s5+X8BkE9HvlQ|!Q4(MU?!hYgp4dTa-ZH;{_#Mc?HaSR+ zk&Zab%PeY>p0I%^Sx8QdQ%K&YAi08O)HDNALZ^4>HZ1}Vl1rEfg(&VjdzJ48IsdDSzmSbyMw|=D;O5<{4u=UwoeQ{t=%kbk%j{%}mY)3Ko@2KFy*% z`43AyW6b6nR#!&W$_%lL^2s-t^%zSge`PCU?30L%E5 zCS`O_{=p%iF;TN|O6?Sl4AzVj8SJrBGNz&NXQS~2dpL6QQ!?{XQY)skPJ!uV0~&t; zV!U65CeZZ63~`XDl0XxsV}Xoilj}JZ!R|c^cJD2qd$nbEAQ@Jgp_(xj;yQ0BpmC=_ z?&h6a`ceIt z#l*pVfJ9iqUYyLwW5L@B z^*$&fOEw4dR53BeZa&BNjoG{~BQMJw=%OqWAW_=GnU|QGT2fh%S`3cOLO-yiUulLU SC>ruIbinF>X8aZkW&{9BV*IuM diff --git a/docs/build/doctrees/installation.doctree b/docs/build/doctrees/installation.doctree deleted file mode 100644 index 234c09af9872c5154164aee5225c687b233fa8d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5145 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 JN^>#ne-17h17ZLG diff --git a/docs/build/doctrees/quickstart/download_article.doctree b/docs/build/doctrees/quickstart/download_article.doctree deleted file mode 100644 index a5a2b00bc80f2757ab2c08f64c7ad3cd92f447e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2146 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 diff --git a/docs/build/doctrees/quickstart/installation.doctree b/docs/build/doctrees/quickstart/installation.doctree deleted file mode 100644 index 33fe40fec01e93905f080a4f38864faf6cc1ea61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4063 zcmds4Pj4JW7I)%|?HP~9ak7b4o0#nYA)t+CV3z~rzy%43wXjwYR$QQ6(_J%FOm$aN zRqf0ikk|t&BGrxJz-hnKegXInTo8x-z3%Crv7-dCM=Xup_3G98SHJhCzUqAU-~Em1 z&+pqp$b3FzX`1Vl+u(Onos=2RUHCS<_OI||c-40edt`NK5+3{pI1(XMYIq(#4SqoE zPAWTGp5L}SaZ=~)anTW5V*AtZs_6QTlTPuqE#H4Xw~i^rsx!m~wkr?$ob+GV{W?_k zK;U)1RWMlKf;jNqxHVa9`mLpQ zmP4X5M<2ZR-p9wI4|S5unLb-Yh0&k$nH#}wJF4v+eNoC}hENzcl4~Iu8Ve_1IKEtt z5tuH#W>doou@=Km{(Wg<QEXaM>yNoCYh8v`V?b@{AjcYqXJ`G>1tnbF7M4#Bv;26g&ccoQ-fBbUYpQ z9_nc6KvW=fY|1V4z&(-*C8o?Hw`T1^mr=spH(+obk(I#O zDeygrPG7G08=Xg{(MBM)LpOJ)y}v$HM5Ut=Qhh}{KZ_E>nd8yXgjUk%oFokwnL3S* z-XVQ8D+A8Yh!J2lSZH$^YM|frzdYxC{P@-Pzn>ckZKC?0pEC}>BU}a)h*4c2PQ(i+ zL&)F#s{X|&C&;lJ^|Yz6qT^rs4M48&C2smVzl!m1ouyk{ZI0&bX7*5KDW{QnHPK{4#j=6lnz{|I#@Yg z9q|42?h{ypkSFMCi0MJlW^H687`^K05NjK>xKC)i* z6=nhSqxcb8T-=Nu(6~IXoI_50-|#{k7b|Mu;rO!e38va*#~<*yM64WhrEQoxzLWBC zIfc5xBW7~M3LNNS87N(9PMn+y-}r&di_*oYJvs$f@ZHi)j@~-565qGaZ^qmhZDN5= zued>+$<)LJzpqPoUP`Bu68zzXoeLtwfBc{px-y_Sdi(swg_Hg&Ibabbf%qsm6#SlI z`Lx7*fpDi-U&ci0uhU3l(m3S>jWu~9fs7Nsg_b>mj|hiM;{pX(&V$(U16Dd6uSou~ z1furRGArU1b%<(3z@WoT&J+pUuP6v@Zt3ntm*PNijIMUE`3+-|Z#-1mJrV}bvALEAg*1;%UMp#Ll=GO713=4rKjE zxJ*G=*Re5@D0Lzn@AyMNGK<^nY#VEAF?;gx*k84a+_8Bq}EH zQ6jA^LUp}b*UMPxge`-6m)I(xTp)76qYBSd8>W zTJCK49%@LUOR5mT?3KwPzt)zLbL8EY cTwU3&%oA0n1eqzF>ZMfemW6>ja5*0S4=y$pS^xk5 diff --git a/docs/build/doctrees/quickstart/middleware.doctree b/docs/build/doctrees/quickstart/middleware.doctree deleted file mode 100644 index 28f501cb7804b444aadbf9a785a9e294b7b9488a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2140 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 `$ conda activate extractor` - -====== -Docker -====== -While it's possible to run the project without Docker it's recommended to use it as it will make the process of running the project much easier. -Please install docker and docker-compose before running the project. - diff --git a/docs/build/html/_sources/quickstart/artemis-queue.rst.txt b/docs/build/html/_sources/quickstart/artemis-queue.rst.txt deleted file mode 100644 index b3b266c5..00000000 --- a/docs/build/html/_sources/quickstart/artemis-queue.rst.txt +++ /dev/null @@ -1,13 +0,0 @@ -Artemis Queue -============= - -`Artemis `_ is a message queue that is designed to be fast, scalable, and easy to use - -We use artemis for communication between Aggregator and Processor. -If you use docker approach you don't need to install artemis manually. -However it's good to know that artemis provides a web console for monitoring and management. -You can connect to this console while running the docker containers by opening the following URL in your browser: `Console `_. -The password is `admin` and the username is `admin`. There you can see the status of the queues. - - - diff --git a/docs/build/html/_sources/quickstart/download_article.rst.txt b/docs/build/html/_sources/quickstart/download_article.rst.txt deleted file mode 100644 index a99225fe..00000000 --- a/docs/build/html/_sources/quickstart/download_article.rst.txt +++ /dev/null @@ -1 +0,0 @@ -.. automodule:: download_article \ No newline at end of file diff --git a/docs/build/html/_sources/quickstart/index.rst.txt b/docs/build/html/_sources/quickstart/index.rst.txt deleted file mode 100644 index ce5b60e9..00000000 --- a/docs/build/html/_sources/quickstart/index.rst.txt +++ /dev/null @@ -1,10 +0,0 @@ -Quick Start Guide -================= - -.. toctree:: - :maxdepth: 2 - :caption: Contents: - - overview - quick-start - artemis-queue \ No newline at end of file diff --git a/docs/build/html/_sources/quickstart/installation.rst.txt b/docs/build/html/_sources/quickstart/installation.rst.txt deleted file mode 100644 index 976968fa..00000000 --- a/docs/build/html/_sources/quickstart/installation.rst.txt +++ /dev/null @@ -1,10 +0,0 @@ -Installation -============ - - -The project was developed using Python 3.10. It's not recommended to use oldered versions of Python as dataclass and type hints are used. -To install packages required to run the project you can use either pip or conda. -1. Install packages using pip: `$ pip install -r requirements.txt` -2. Install packages using conda: `$ conda env create -f environment.yml` -> `$ conda activate extractor` - - diff --git a/docs/build/html/_sources/quickstart/middleware.rst.txt b/docs/build/html/_sources/quickstart/middleware.rst.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/build/html/_sources/quickstart/overview.rst.txt b/docs/build/html/_sources/quickstart/overview.rst.txt deleted file mode 100644 index 5b17d502..00000000 --- a/docs/build/html/_sources/quickstart/overview.rst.txt +++ /dev/null @@ -1,113 +0,0 @@ -Quick Overview -============== - -The process of getting one parsed web page from CommonCrawl can be described as a pipeline. - -1. Query CommmonCrawl to find a link to a file that contains the web page we want. -2. Download a file -3. Choose parser for the web page -4. Filter out the web page if not matching the conditions -5. Extract fields from the page -6. Save the fields to a file - - - -The first step is handled by `Aggregator` while the rest is handled by `Processor`. -We will now go through each step in detail. We will be describing the usage where we use the Artemis Queue as middleware between the `Aggregator` and `Processor` to communicate. -However it should not be much different with other middleware of your choice. Please refere to `download_article.py` which should give you an idea how to create a custom pipeline where you can insert your own middleware. - - - -======================= -1. Querying CommonCrawl -======================= -what WARC File how - `WARC `_ is a file format that is used for storing multitudes of web resources. - In our case these files contain a bunch of downloaded web pages and their metadata. - It's possible to get only part of the file by specifying the offset in file and length of the part we want. - - -what - Common Crawl Index -how - A CommonCrawl index is a collection which maps crawled urls to WARC file which contain the crawl of that url. - -Every month a CommonCrawl releases a new index which contains all links to web pages that were crawled that month. - -.. warning:: - It is important to understand that even if the index was released in a certain month, it can contain the links to web pages that might be older. - -Thus in order to download an page we query the index to get link to respective WARC file, offset and length of page. -Since there are multiples of the indexes we should query all of them to make sure we don't miss the page. -With the link to the WARC and offset and length we can continue to another step. - -All this is handled by :py:class:`Aggregator.App.index_query.IndexAggregator`. But for basic use you will not need to use it directly. - - -The :py:mod:`Aggregator.aggregator` is the file you will work with. -It's command line utility which will start and instance of aggregator. Such an instance will query the specified indexes with given url and send the results to the Middleware(Artemis Queue). - - -.. code-block:: bash - :caption: This will start and instance of aggregator which will query the indexes from 2014-12-30 to 2016-01-30 for the url bbc.com - - $ python -m Aggregator.aggregator --url bbc.com --since=2014-12-30 --to=2016-01-30 - - - - -===================== -2. Downloading a file -===================== -The Processor node than downloads the url and related information from queue and downloads the appropriate WARC file. -This step is handled by :py:mod:`Processor.App.Downloader.downloader.Downloader`. -It simply downloads and extracts the page from the WARC file. - - -================ -3. Choose parser -================ - -Once the page is downloaded we first need to choose a parser for it. -Parsers are dynamically loaded based on definitions in config file. By default such a config -is `Processor/config.json`. All loaded processors are then matched against the url and publication date and first matching is used. -This functionality is handled by :py:class:`Processor.App.Router.router.Router`. - - -============================= -4. Filtering out the web page -============================= - -Once the parser is chosen the filtering function defined by the extractor is used to either drop or pass a page. - -=============================== -5. Extract fields from the page -=============================== - -The extracting function defined by the extractor is used to extract the fields from the page. -The extracting rules can be defined in 2 ways. - -1. Using parsed version of the page (BeautifulSoup) and the extracting the respected fields yourself. -2. Using predefined transfomations. - -Using first method should be straightforward. Just extract the values and return them in dict. - -To use transformations we first need to define what html tags we want to extract from head and body respectively. -Then for each such a tag we need to provide a list of transformations. These transformations then run in sequence where previous result is passed to the next one as parameter. -Whenever the None is encountered the transformation will not raise and error but will not continue and set respective field to None. -You can think about it as a composition of functions. - -When we were developing our extractors we found the second approached to be much more readable and easier to use -because it's very obnoxious to handle the None values with complex logic. - - -============== -6. File saving -============== -With the field extracted we need to save them to a file. -By default the fields are saved in json file. -The way the file is saved is defined by outstreamers. We have implemented the json outstreamer -and field per line outstreamer -:py:class:`Processor.App.OutStreamer.stream_to_file.OutStreamerFileJSON` and :py:class:`Processor.App.OutStreamer.stream_to_file.OutStreamerFileDefault` respectively. - -If you would like different format you can create your own saver by inheriting from :py:class:`Processor.App.OutStreamer.outstreamer.OutStreamer` and then changing pipeline creation with your new outstreamer. \ No newline at end of file diff --git a/docs/build/html/_sources/quickstart/quick-start.rst.txt b/docs/build/html/_sources/quickstart/quick-start.rst.txt deleted file mode 100644 index 67d6bc20..00000000 --- a/docs/build/html/_sources/quickstart/quick-start.rst.txt +++ /dev/null @@ -1,301 +0,0 @@ -Quickstart -========== - -In this chapter we will show how to use the program to fetch a data from an url. -We will show this by an example. - - -========= -Extractor -========= - -We would like to fetch all data from bbc.com containing the word "war" fetched since 20.1.2021 to 20.3.2021. - -.. note:: It's important to emphasis the program can only fetch data based on crawl time. There is no way for program to know when was article published. It's possible to first find the published date and then drop all articles that are out of range. However all since/to dates are based on crawl time NOT published time. - - -For such pages we would like to extract the title and the content of the page. - -Having our task established we will first have to write an extractor for the bbc pages. -This is done by creating a class that extends the class :py:class:`Processor.App.ArticleUtils.article_extractor.ArticleExtractor`. -We will create this class in the file :file:`Processor/UserDefined/Extractors/bbc_extractor.py`. - - - - -.. code-block:: python - - from Processor.App.ArticleUtils.article_extractor import ArticleExtractor - from datetime import datetime - - class BBCExtractor(ArticleExtractor): - SINCE = datetime(2021, 1 , 20) - TO = datetime(2021, 3, 20) - - def __init__(self): - pass - - extractor = BBCExtractor() - - -As you can see we have also created and instance which is required as it allows parametric constructors for extractors. - - -===================== -`download_article.py` -===================== - -But what now ? We have no idea how the bcc site looked at the time of extracting. -That's is why the :py:mod:`download_article` exists! -Thus we run: - -.. code-block:: bash - :caption: This will download 1000 articles from bbc.com and save them to the directory `out1`. - - $ python download_article.py --since=2021-01-20 --to=2021-03-20 --limit=1000 bbc.com out1 - -Bear in mind that it will take some time to download all the pages. -It's possible that it will download some pages without any content but it's impossible to filter them. - -.. note:: In my case it didn't download any english articles only ones in chinese and arabic. However it shouldn't matter as we only care about structure. If you want english articles just raise up the limit and wait. - -Once downloaded we can inspect the pages in a browser. -We can see that title can be found in `h1#content` tag. -The article content can be found under `main[role=main]` tag and -the text is mostly in

tags(Usually you want to be more precise with this be we assume this for simplicity). - -.. warning:: Always make sure that the tags you found are unique. Cross-check this with other articles fetched. - -============================ -Extracting (Transformations) -============================ - - -With this information we can write the extractor. - -.. code-block:: python - - - from Processor.App.ArticleUtils.article_utils import aritcle_content_transform, headline_transform, get_text_transform - REQUIRED_FIELDS = { - "title": False, - "content": True - } - - def content_transform(soup): - return [p.text for p in soup.find_all("p", recursive=True)] - - - def __init__(self): - super().__init__( - article_css_dict={ - "title": "h1#content", - "content": "main[role=main]", - }, - # Here we define how to transform the content of the tag into a string. - article_extract_dict= { - "title": [get_text_transform, headline_transform], - "content": [content_transform, text_unifications_transform, lambda lines : "\n".join(lines)] - }, - - - # Here we define how to bind a tag that containt all fields we will use in article_css_dict - # If you don't know just use body - article_css_selector="body", - required_fields=REQUIRED_FIELDS, - non_empty = True - ) - - -`REQUIRED_FIELDS` is a dictionary that defines which fields must be extracted (Must be contained in resulting dictionary). -This is useful if you write multiple extractors and you want to make sure that all of them contain the same fields. -As you can see we have set the title to False this means that it's value can be None. We have set article to False which -means that is must not be None value. Because we have set non_empty to True the title also cannot be empty string or empty list. - -`article_css_dict` define where to find the title and content. -`article_extract_dict` defines how to extract the title and content from the tag. -We have used some predfedined function from :py:mod:`Processor.App.ArticleUtils.article_utils` to help us with this. -Please look to the :py:mod:`Processor.App.ArticleUtils.article_utils` to check what exactly the transformations do! Should be clear from the code. -For content we created our transform which returns a list of text in p. - - -`article_css_selector` simply defines where to start looking for the tags defined in `article_css_dict`. - -.. note:: `header_css_dict` and `header_extract_dict` can also be set in constructor for extracting from html tag. The get_attribute method is used to extract the attribute value. - - -======================== -Extracting( BS4 version) -======================== - -Now the extracting part is finished. If it feels too complicated then you can you BeautifulSoup approach. -In that case you don't set `article_css_dict` and `article_extract_dict` but you have to implement the :py:meth:`Processor.App.ArticleUtils.article_extractor.ArticleExtractor.custom_extract` method. - -.. code-block:: python - - def custom_extract(self, soup, metadata): - # Find the field with the title - title = soup.find("div", {"class": "title"}) - title_text = title.text if title else None - return {"title": title_text} - -In this case you can also access metadata from the warc file! - -========= -Filtering -========= - - -We almost forgot that we want to filter the articles by the word "war". -We just need to override the :py:meth:`Processor.App.ArticleUtils.article_extractor.ArticleExtractor.custom_filter_soup` method. -Let's do it now! - - -.. code-block:: python - - def custom_filter_soup(self, soup, metadata): - result = soup.find_all("p", lambda tag: "war" in tag.text) - if result: - return True - return False - -.. note:: You can also use the :py:meth:`Processor.App.ArticleUtils.article_extractor.ArticleExtractor.custom_filter_raw` which take the raw html as a parameter. It's usefull if don't need parsed html as processing is faster. - -.. note:: This is where you could filter by date. metadata is instance of :py:class:`Processor.App.processor_utils.PipeMetadata` and it has warc_header property. You could get `Last-Modifier `_ from it but it's no guarantee that is published date. Or you could find it in parsed html. - - -=========== -config.json -=========== -To register our extractor create :file:`Processor/UserDefined/config.json` as: - -.. code-block:: json - - { - "addresses": [ "queue.bbc.com", ], - "extractors_path": "./Extractors" - "routes":[ - { - "regexes": [".*bbc\\.com.*"], - "extractors": ["bbc_extractor.py"] - }, - } - - -This defines three things: - -1. The address of the queue. This is tell artemis that we want to accept message from bbc.com queue. Basically always set this to "queue.{your domain}". - -2. The path to the extractors (w.r.t config.json location) - -3. The routes. This defines which extractor to use for which url. In this case we want to use bbc_extractor.py for all urls that contain bbc.com. - -===================== -Testing our extractor -===================== - -Before we run the extractor we should test it. -That is why we have the :py:mod:`Processsor.process_article` ! - -.. code-block:: bash - :caption: This will process the article and output result to out2 folder if succesful. - - $ python -m Processor.process_article --date=2021-02-01 --config=Processor/UserDefined/config.json out1/directory_1/371_https\:__www.bbc.com_yoruba_afrika-44296108.html out2 - - -.. note:: We have to use date as the extractor has no idea when the article was fetched because we have no infromation from warc anymore. You can also use url to specify the url of the article as again we don't have that infromation from warc. However in most cases it will correctly guess the url. - - -===================== -Running the extractor -===================== -We are now ready to run the extractor! -You can manually run the extractor node, aggregator node and artemis queue. -However it's not really convenient. And also requires some knowledge how to run atemis queue. -We thus added support for docker. -First we need to create :file:`docker-compose.yml`. - -.. code-block:: bash - - version: "3.9" - services: - # Creates the artemis queue - artemis: - build: "./Artemis" - container_name: "artemis" - # Persistent volume - # Make sure you prune to get clean state for test runs - - artemis-data:/var/lib/artemis/data - ports: - - "8161:8161" - # You can set up limits here - # But make sure you also correct java memory in artemis Dockerfile in order to have effect. - deploy: - resources: - reservations: - memory: 8g - - producer-bbc.com: - # This is the producer service, you can have multiple for different urls - # Will run the aggregator part as you can see we set the date range - build: ./Aggregator - command: [ "--to=2021-03-20", "--since=2021-01-20", "bbc.com" ] - depends_on: - - consumer - - # This is consumer spawn as many as you want, you ideally want to have pills set up to number of producers. - # Make sure you use use-hostname-output to have different output folders for each consumer. - consumer: - build: ./Processor - command: - [ - "--use_hostname_output", - "--timeout=1", - "--pills_to_die=1", - "--queue_size=200" - ] - volumes: - - ./output:/output:z - deploy: - # Number of replicas, more = faster processing - replicas: 4 - depends_on: - - artemis - - volumes: - artemis-data: - - -This one is a bit more complex. It's standard docker-compose file so if you have experience with docker it sould be familiar. -It defines three services: - -1. Artemis queue - This is the queue that will be used to communicate between the aggregator and the processor. As one of the goal of the project is reliability we setup persistent volume for the queue in which it will store the urls that it has already processed. However this creates problem when you want to test the extractor as by running it consecutively it will no more process the urls if has already seen. Thus the storage needs to be cleared before each run. This is done by running `$ docker volume rm rocnikovyprojekt_artemis-data`. - -2. Producer - This is the aggregator part of the project. It will fetch the urls from the queue and process them. - -3. Consumer - This is the processor part of the project. It will fetch the urls from the queue and extract them to folder output. As we want the consumers to automatically close when the producers are done we set the `pills_to_die` to 1. This will make the consumer to die when it receives 1 pill from the queue. Every queue produces exactly one pill when it has no more urls to process. This is why we set the `queue_size` to 1. This will make the queue to produce pill when it has no more urls to process. - - -Now we just need to run the `$ docker-compose up`. -We have also create shell script that will prune before running the docker-compose. -You can run it by `$ ./run.sh` (Probably the best idea). - - - -.. note:: It's good idea to clear the output folder when testing extractor. The problem is that it is created by docker container so might need to raise up to admin priviilge to remove it. - - -.. note:: Files created at this tutorial can be found at :file:`examples/extractor_tutorial` - - - - - - - - - - - - - diff --git a/docs/build/html/_static/documentation_options.js b/docs/build/html/_static/documentation_options.js index aecf594a..8bd721dd 100644 --- a/docs/build/html/_static/documentation_options.js +++ b/docs/build/html/_static/documentation_options.js @@ -1,6 +1,6 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '1.0', + VERSION: '0.9.3', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/build/html/api.html b/docs/build/html/api.html index ca00c77d..bac1b09c 100644 --- a/docs/build/html/api.html +++ b/docs/build/html/api.html @@ -6,7 +6,7 @@ - API — CommonCrawl Extractor 1.0 documentation + API — CmonCrawl 0.9.3 documentation @@ -39,8 +39,8 @@ - - + + @@ -79,7 +79,7 @@ -

CommonCrawl Extractor 1.0 documentation

+

CmonCrawl 0.9.3 documentation