From 93211b2220fd41cb1aaa1ba4cd464e75c1a57ed8 Mon Sep 17 00:00:00 2001 From: Shubhadeep Das Date: Fri, 14 Jun 2024 13:03:16 +0530 Subject: [PATCH] Upstream changes for v0.7.0 release Signed-off-by: Shubhadeep Das --- .dockerignore | 19 + .gitignore | 4 + .pre-commit-config.yaml | 14 + CHANGELOG.md | 32 + README.md | 32 +- RetrievalAugmentedGeneration/Dockerfile | 18 +- .../common/configuration.py | 23 +- RetrievalAugmentedGeneration/common/server.py | 13 +- .../common/tracing.py | 17 +- RetrievalAugmentedGeneration/common/utils.py | 69 +- .../examples/developer_rag/chains.py | 45 +- .../examples/multi_turn_rag/chains.py | 23 +- .../examples/multimodal_rag/chains.py | 124 +- .../examples/multimodal_rag/llm/llm_client.py | 6 +- .../examples/multimodal_rag/requirements.txt | 8 +- .../multimodal_rag/retriever/vector.py | 4 +- .../vectorstore/custom_pdf_parser.py | 341 +-- .../vectorstore/custom_powerpoint_parser.py | 38 +- .../vectorstore/vectorstore_updater.py | 12 +- .../examples/nvidia_api_catalog/chains.py | 7 +- .../nvidia_api_catalog/requirements.txt | 1 - .../query_decomposition_rag/chains.py | 78 +- .../query_decomposition_rag/requirements.txt | 1 - .../examples/structured_data_rag/chains.py | 10 +- .../frontend/Dockerfile | 2 +- .../frontend/frontend/chat_client.py | 9 +- .../frontend/frontend/configuration.py | 2 +- .../frontend/frontend/pages/kb.py | 2 +- .../frontend/frontend/tts_utils.py | 8 +- .../llm-inference-server/Dockerfile | 22 - .../conversion_scripts/llama/build.py | 776 ------ .../conversion_scripts/llama/weight.py | 1446 ----------- .../gptnext/ensemble/config.pbtxt | 228 -- .../gptnext/postprocessing/1/model.py | 158 -- .../gptnext/postprocessing/config.pbtxt | 50 - .../gptnext/preprocessing/1/model.py | 244 -- .../gptnext/preprocessing/config.pbtxt | 65 - .../gptnext/tensorrt_llm/1/.gitkeep | 0 .../gptnext/tensorrt_llm/config.pbtxt.j2 | 208 -- .../ensemble_models/llama/ensemble/1/.tmp | 0 .../llama/ensemble/config.pbtxt | 228 -- .../llama/postprocessing/1/model.py | 173 -- .../llama/postprocessing/config.pbtxt | 50 - .../llama/preprocessing/1/model.py | 244 -- .../llama/preprocessing/config.pbtxt | 65 - .../llama/tensorrt_llm/1/.gitkeep | 0 .../llama/tensorrt_llm/config.pbtxt.j2 | 208 -- .../model_server/__init__.py | 93 - .../model_server/__main__.py | 203 -- .../model_server/conversion/__init__.py | 74 - .../model_server/conversion/llama.py | 127 - .../model_server/conversion/nemo.py | 65 - .../model_server/errors.py | 32 - .../model_server/model.py | 246 -- .../model_server/server.py | 155 -- .../model_server_client/trt_llm.py | 544 ---- .../llm-inference-server/requirements.txt | 7 - .../tools/resize_nemo_model.sh | 40 - RetrievalAugmentedGeneration/requirements.txt | 7 +- deploy/compose/compose.env | 50 +- ...docker-compose-evaluation-application.yaml | 4 +- deploy/compose/docker-compose-nemotron.yaml | 184 -- deploy/compose/docker-compose-nim-ms.yaml | 131 +- deploy/compose/docker-compose-vectordb.yaml | 43 +- deploy/compose/download_model.sh | 30 + .../rag-app-api-catalog-text-chatbot.yaml | 19 +- .../compose/rag-app-multimodal-chatbot.yaml | 17 +- deploy/compose/rag-app-multiturn-chatbot.yaml | 19 +- .../rag-app-query-decomposition-agent.yaml | 19 +- .../rag-app-structured-data-chatbot.yaml | 13 +- deploy/compose/rag-app-text-chatbot.yaml | 53 +- .../kube-trailblazer/.dockerignore | 4 - .../kube-trailblazer/.patches/root.go | 8 - .../k8s-operator/kube-trailblazer/Dockerfile | 56 - deploy/k8s-operator/kube-trailblazer/Makefile | 282 --- .../kube-trailblazer/Makefile.helm.mk | 62 - .../kube-trailblazer/Makefile.helmer.mk | 11 - .../NVIDIA_AI_Product_License_1Sept2023.pdf | Bin 239181 -> 0 bytes deploy/k8s-operator/kube-trailblazer/PROJECT | 23 - .../api/v1alpha1/groupversion_info.go | 36 - .../api/v1alpha1/helmpipeline_types.go | 65 - .../api/v1alpha1/zz_generated.deepcopy.go | 123 - .../package.nvidia.com_helmpipelines.yaml | 234 -- .../config/crd/kustomization.yaml | 21 - .../config/crd/kustomizeconfig.yaml | 19 - .../patches/cainjection_in_helmpipelines.yaml | 7 - .../crd/patches/webhook_in_helmpipelines.yaml | 16 - .../config/default/kustomization.yaml | 72 - .../default/manager_auth_proxy_patch.yaml | 55 - .../config/default/manager_config_patch.yaml | 10 - .../config/manager/kustomization.yaml | 8 - .../config/manager/manager.yaml | 105 - .../config/manifests/kustomization.yaml | 27 - .../config/prometheus/kustomization.yaml | 2 - .../config/prometheus/monitor.yaml | 26 - .../rbac/auth_proxy_client_clusterrole.yaml | 16 - .../config/rbac/auth_proxy_role.yaml | 24 - .../config/rbac/auth_proxy_role_binding.yaml | 19 - .../config/rbac/auth_proxy_service.yaml | 21 - .../config/rbac/helmpipeline_editor_role.yaml | 31 - .../config/rbac/helmpipeline_viewer_role.yaml | 27 - .../config/rbac/kustomization.yaml | 18 - .../config/rbac/leader_election_role.yaml | 44 - .../rbac/leader_election_role_binding.yaml | 19 - .../kube-trailblazer/config/rbac/role.yaml | 1228 --------- .../config/rbac/role_binding.yaml | 19 - .../config/rbac/service_account.yaml | 12 - .../config/samples/kustomization.yaml | 4 - .../package_v1alpha1_helmpipeline.yaml | 12 - .../config/scorecard/bases/config.yaml | 7 - .../config/scorecard/kustomization.yaml | 16 - .../scorecard/patches/basic.config.yaml | 10 - .../config/scorecard/patches/olm.config.yaml | 50 - .../controllers/helmpipeline.go | 37 - .../controllers/helmpipeline_controller.go | 135 - .../controllers/helmpipeline_rbac.go | 12 - .../controllers/suite_test.go | 80 - deploy/k8s-operator/kube-trailblazer/go.mod | 167 -- deploy/k8s-operator/kube-trailblazer/go.sum | 590 ----- .../kube-trailblazer/hack/boilerplate.go.txt | 15 - .../helm-charts/global-values.yaml | 0 .../developer-llm-operator/.helmignore | 23 - .../staging/developer-llm-operator/Chart.yaml | 24 - .../templates/0001_operator_manifests.yaml | 201 -- .../templates/0002_operator_manifests.yaml | 12 - .../templates/0003_operator_manifests.yaml | 44 - .../templates/0004_operator_manifests.yaml | 1227 --------- .../templates/0005_operator_manifests.yaml | 16 - .../templates/0006_operator_manifests.yaml | 24 - .../templates/0007_operator_manifests.yaml | 20 - .../templates/0008_operator_manifests.yaml | 19 - .../templates/0009_operator_manifests.yaml | 19 - .../templates/0010_operator_manifests.yaml | 21 - .../templates/0011_operator_manifests.yaml | 106 - .../templates/_helpers.tpl | 17 - .../templates/image-pull-secret.yaml | 10 - .../developer-llm-operator/values.yaml | 19 - .../staging/rag-llm-pipeline/.helmignore | 23 - .../staging/rag-llm-pipeline/Chart.yaml | 6 - .../rag-llm-pipeline/templates/_helpers.tpl | 6 - .../rag-llm-pipeline/templates/frontend.yaml | 52 - .../templates/image-pull-secret.yaml | 9 - .../templates/jupyter-server.yaml | 41 - .../templates/milvus-etcd.yaml | 65 - .../templates/milvus-minio.yaml | 62 - .../templates/milvus-standalone.yaml | 58 - .../rag-llm-pipeline/templates/query.yaml | 65 - .../rag-llm-pipeline/templates/triton.yaml | 86 - .../staging/rag-llm-pipeline/values.yaml | 56 - .../helm-plugins/cm-getter/plugin.yaml | 6 - .../helm-plugins/file-getter/file-getter | 9 - .../helm-plugins/file-getter/plugin.yaml | 6 - deploy/k8s-operator/kube-trailblazer/main.go | 133 - .../kube-trailblazer/pkg/clients/clients.go | 252 -- .../pkg/clients/clients_test.go | 72 - .../pkg/clients/mock_clients_api.go | 277 -- .../kube-trailblazer/pkg/filter/filter.go | 151 -- .../pkg/filter/filter_test.go | 476 ---- .../kube-trailblazer/pkg/helmer/LICENSE | 201 -- .../kube-trailblazer/pkg/helmer/README.md | 1 - .../kube-trailblazer/pkg/helmer/chart.go | 72 - .../pkg/helmer/controller/Makefile | 12 - .../pkg/helmer/controller/controller.go | 133 - .../pkg/helmer/controller/patches/root.go | 8 - .../pkg/helmer/controller/test.yaml | 34 - .../pkg/helmer/graphs/helmer-kubevirt.yaml | 41 - .../pkg/helmer/graphs/helmer-nfd.yaml | 10 - .../pkg/helmer/graphs/helmer-nvidia-kata.yaml | 41 - .../pkg/helmer/graphs/helmer-nvidia-vgpu.yaml | 41 - .../pkg/helmer/hack/helmer.sh | 68 - .../kube-trailblazer/pkg/helmer/helmer.go | 599 ----- .../kube-trailblazer/pkg/helmer/interface.go | 23 - .../kube-trailblazer/pkg/helmer/package.go | 62 - .../plugins/file-proto/file-downloader.sh | 11 - .../helmer/plugins/file-proto/file-helper.sh | 3 - .../pkg/helmer/plugins/file-proto/plugin.yaml | 9 - .../pkg/helmer/plugins/plugins | 1 - .../pkg/helmer/postrenderer.go | 68 - .../kube-trailblazer/pkg/helmer/repo.go | 17 - .../kube-trailblazer/pkg/helmer/types.go | 150 -- .../pkg/storage/mock_storage_api.go | 79 - .../kube-trailblazer/pkg/storage/storage.go | 97 - .../pkg/storage/storage_test.go | 184 -- .../kube-trailblazer/pkg/utils/hash.go | 17 - .../kube-trailblazer/pkg/utils/rbac.go | 128 - .../kube-trailblazer/rag-llm-pipeline.yaml | 17 - docs/api-catalog.md | 110 +- docs/architecture.md | 73 +- docs/conf.py | 2 +- docs/configuration.md | 23 +- docs/developer-llm-operator/README.md | 39 - docs/developer-llm-operator/install.md | 309 --- docs/developer-llm-operator/uninstall.md | 50 - docs/evaluation.md | 5 +- docs/hf_model_download.md | 59 - .../llama3-70b-instruct-get-api-key.png | Bin 0 -> 190953 bytes .../images/llama3-70b-instruct-model-card.png | Bin 0 -> 159657 bytes .../images/llama3-8b-instruct-get-api-key.png | Bin 0 -> 139767 bytes docs/images/llama3-8b-instruct-model-card.png | Bin 0 -> 162039 bytes docs/images/local-gpus-topology.png | Bin 40313 -> 0 bytes docs/images/nim-llms-topology.png | Bin 0 -> 35943 bytes docs/index.md | 92 +- docs/jupyter-server.md | 45 +- docs/llm-inference-server.md | 61 - docs/local-gpu.md | 328 --- docs/multi-gpu.md | 404 --- docs/multi-turn.md | 26 +- docs/multimodal-data.md | 61 +- docs/nim-llms.md | 120 +- docs/project.json | 2 +- docs/quantized-llm-model.md | 349 --- docs/query-decomposition.md | 55 +- .../boilerplate/simple-rag-api-catalog.yaml | 2 +- .../code/api-catalog/documents/chains.py | 2 + .../code/api-catalog/ingest/chains.py | 5 +- .../output/api-catalog/search/response.json | 2 +- docs/structured-data.md | 18 +- docs/support-matrix.md | 28 +- docs/using-sample-web-application.md | 2 +- docs/vector-database.md | 4 +- docs/versions.json | 5 +- examples/5_mins_rag_no_gpu/main.py | 14 +- examples/5_mins_rag_no_gpu/requirements.txt | 4 +- experimental/README.md | 8 + .../event-driven-rag-cve-analysis/Dockerfile | 70 + .../event-driven-rag-cve-analysis/README.md | 110 + .../cyber_dev_day/__init__.py | 35 + .../cyber_dev_day/checklist_node.py | 266 ++ .../cyber_dev_day/config.py | 127 + .../cyber_dev_day/embeddings.py | 152 ++ .../cyber_dev_day/faiss_vdb_service.py | 765 ++++++ .../langchain_llm_client_wrapper.py | 61 + .../cyber_dev_day/llm_service.py | 186 ++ .../cyber_dev_day/nim_llm_service.py | 165 ++ .../cyber_dev_day/openai_chat_service.py | 397 +++ .../cyber_dev_day/pipeline.py | 137 + .../cyber_dev_day/pipeline_utils.py | 262 ++ .../cyber_dev_day/tools.py | 191 ++ .../data/morpheus_24.03-runtime_sbom.csv | 914 +++++++ .../event-driven-rag-cve-analysis/default.env | 5 + .../docker-compose.yml | 89 + .../entrypoint.sh | 8 + .../nginx/.gitignore | 3 + .../nginx/nginx.conf | 204 ++ .../nginx/template-variables.conf | 15 + .../notebooks/cyber-dev-day.ipynb | 2229 +++++++++++++++++ .../images/multiple_cve_parallel.jpg | Bin 0 -> 531181 bytes .../notebooks/images/multiple_cve_serial.jpg | Bin 0 -> 885071 bytes .../notebooks/images/side_by_side.png | Bin 0 -> 736913 bytes .../notebooks/images/single_cve_parallel.jpg | Bin 0 -> 453668 bytes .../notebooks/images/single_cve_serial.jpg | Bin 0 -> 497091 bytes .../requirements.yaml | 44 + experimental/fm-asr-streaming-rag/README.md | 107 +- .../chain-server/accumulator.py | 48 + .../chain-server/chains.py | 54 +- .../chain-server/common.py | 97 +- .../chain-server/database.py | 201 +- .../chain-server/requirements.txt | 12 +- .../chain-server/retriever.py | 352 +++ .../chain-server/server.py | 58 +- .../chain-server/utils.py | 36 +- .../fm-asr-streaming-rag/deploy/compose.env | 25 +- .../deploy/docker-compose-file-replay.yaml | 54 + ...compose.yml => docker-compose-fm-asr.yaml} | 105 +- .../docker-compose-milvus-standalone.yaml | 82 + .../deploy/docker-compose-nemo-retriever.yaml | 264 ++ ...uild.yml => docker-compose-nim-build.yaml} | 12 +- .../deploy/docker-compose-nim-llm.yaml | 53 + .../deploy/scripts/run-cloud-only.sh | 7 - .../deploy/scripts/run.sh | 70 +- .../deploy/scripts/stop.sh | 9 + .../docs/imgs/architecture-cloud.jpg | Bin 0 -> 126956 bytes .../docs/imgs/architecture-retriever.jpg | Bin 0 -> 130472 bytes .../file-replay/wav_replay.py | 24 +- .../frontend/frontend/chat_client.py | 32 +- .../frontend/frontend/pages/converse.py | 52 +- .../frontend/frontend/pages/stats.py | 1 - .../nemo-retriever/config/milvus-config.yaml | 677 +++++ .../config/otel-collector-config.yaml | 68 + .../nv-rerank-qa-mistral-4b-A6000.yaml | 17 + .../nemo-retriever/models/keep | 0 .../fm-asr-streaming-rag/nim/playbook.sh | 4 +- .../sdr-holoscan/Dockerfile | 4 +- .../sdr-holoscan/requirements.txt | 2 +- .../sdr-holoscan/riva_asr.py | 1 + .../Multimodal_Assistant.py | 2 +- experimental/multimodal_assistant/README.md | 2 +- .../pages/1_Knowledge_Base.py | 2 +- .../multimodal_assistant/requirements.txt | 2 +- .../Multimodal_Assistant.py | 22 +- .../oran-chatbot-multimodal/README.md | 33 +- .../oran-chatbot-multimodal/config.yaml | 11 +- .../guardrails/fact_check.py | 7 +- .../oran-chatbot-multimodal/llm/llm.py | 5 +- .../oran-chatbot-multimodal/oran_diagram.png | Bin 0 -> 2300569 bytes .../pages/2_Evaluation_Metrics.py | 15 +- .../oran-chatbot-multimodal/requirements.txt | 12 +- .../retriever/retriever.py | 6 +- .../vectorstore/vectorstore_updater.py | 9 +- .../rag-developer-chatbot/Dockerfile.notebook | 18 + experimental/rag-developer-chatbot/README.md | 70 + .../rag-developer-chatbot/compose.env | 71 + .../docker-compose-dev-rag.yaml | 27 + .../notebooks/diagram.png | Bin 0 -> 503256 bytes .../notebooks/rapids_notebook.ipynb | 575 +++++ .../notebooks/requirements.txt | 7 + integrations/langchain/__init__.py | 0 integrations/langchain/embeddings/__init__.py | 0 .../langchain/embeddings/nemo_embed.py | 102 - .../langchain/embeddings/nv_aiplay.py | 75 - integrations/langchain/llms/__init__.py | 0 integrations/langchain/llms/nemo_infer.py | 157 -- integrations/langchain/llms/nv_aiplay.py | 759 ------ .../langchain/llms/nv_api_catalog/__init__.py | 48 - .../langchain/llms/nv_api_catalog/_common.py | 720 ------ .../langchain/llms/nv_api_catalog/_statics.py | 113 - .../llms/nv_api_catalog/callbacks.py | 305 --- .../llms/nv_api_catalog/chat_models.py | 410 --- .../llms/nv_api_catalog/embeddings.py | 77 - .../llms/nv_api_catalog/image_gen.py | 156 -- .../langchain/llms/nv_api_catalog/llm.py | 207 -- .../langchain/llms/nv_api_catalog/py.typed | 0 .../langchain/llms/nv_api_catalog/tools.py | 272 -- integrations/langchain/llms/triton_trt_llm.py | 567 ----- integrations/pandasai/llms/nv_aiplay.py | 4 +- notebooks/00-llm-non-streaming-nemotron.ipynb | 144 -- notebooks/01-llm-streaming-client.ipynb | 173 -- ...5_dataloader.ipynb => 01_dataloader.ipynb} | 0 ...Option(1)_NVIDIA_AI_endpoint_simple.ipynb} | 4 +- ...tic_RAG_with_langchain_local_HF_LLM.ipynb} | 0 notebooks/02_langchain_simple.ipynb | 346 --- ...llama_index_with_NVIDIA_AI_endpoint.ipynb} | 2 +- ...on(2)_llama_index_with_HF_local_LLM.ipynb} | 0 notebooks/03_llama_index_simple.ipynb | 463 ---- ...ools_leveraging_NVIDIA_AI_endpoints.ipynb} | 0 .../04_llamaindex_hier_node_parser.ipynb | 463 ---- ..._with_Langchain_NVIDIA_AI_Endpoints.ipynb} | 106 +- ...aph_HandlingAgent_IntermediateSteps.ipynb} | 15 +- ..._Chat_with_nvidia_financial_reports.ipynb} | 42 +- .../08_RAG_Langchain_with_Local_NIM.ipynb | 502 ++++ notebooks/Dockerfile.gpu_notebook | 6 +- notebooks/Dockerfile.notebooks | 4 - notebooks/requirements.txt | 3 +- .../01_synthetic_data_generation.ipynb | 4 +- ...2_filling_RAG_outputs_for_Evaluation.ipynb | 396 +-- tools/evaluation/03_eval_ragas.ipynb | 6 +- .../04_Human_Like_RAG_Evaluation-AIP.ipynb | 11 +- tools/evaluation/Dockerfile.eval | 6 +- tools/evaluation/requirements.txt | 3 +- .../llamaindex/opentelemetry_callback.py | 13 +- 350 files changed, 11253 insertions(+), 24624 deletions(-) create mode 100644 .dockerignore delete mode 100644 RetrievalAugmentedGeneration/examples/nvidia_api_catalog/requirements.txt delete mode 100644 RetrievalAugmentedGeneration/examples/query_decomposition_rag/requirements.txt delete mode 100644 RetrievalAugmentedGeneration/llm-inference-server/Dockerfile delete mode 100644 RetrievalAugmentedGeneration/llm-inference-server/conversion_scripts/llama/build.py delete mode 100644 RetrievalAugmentedGeneration/llm-inference-server/conversion_scripts/llama/weight.py delete mode 100755 RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/ensemble/config.pbtxt delete mode 100755 RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/postprocessing/1/model.py delete mode 100755 RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/postprocessing/config.pbtxt delete mode 100644 RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/preprocessing/1/model.py delete mode 100644 RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/preprocessing/config.pbtxt delete mode 100644 RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/tensorrt_llm/1/.gitkeep delete mode 100644 RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/tensorrt_llm/config.pbtxt.j2 delete mode 100644 RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/ensemble/1/.tmp delete mode 100755 RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/ensemble/config.pbtxt delete mode 100755 RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/postprocessing/1/model.py delete mode 100755 RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/postprocessing/config.pbtxt delete mode 100644 RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/preprocessing/1/model.py delete mode 100644 RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/preprocessing/config.pbtxt delete mode 100644 RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/tensorrt_llm/1/.gitkeep delete mode 100644 RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/tensorrt_llm/config.pbtxt.j2 delete mode 100644 RetrievalAugmentedGeneration/llm-inference-server/model_server/__init__.py delete mode 100644 RetrievalAugmentedGeneration/llm-inference-server/model_server/__main__.py delete mode 100644 RetrievalAugmentedGeneration/llm-inference-server/model_server/conversion/__init__.py delete mode 100644 RetrievalAugmentedGeneration/llm-inference-server/model_server/conversion/llama.py delete mode 100644 RetrievalAugmentedGeneration/llm-inference-server/model_server/conversion/nemo.py delete mode 100644 RetrievalAugmentedGeneration/llm-inference-server/model_server/errors.py delete mode 100644 RetrievalAugmentedGeneration/llm-inference-server/model_server/model.py delete mode 100644 RetrievalAugmentedGeneration/llm-inference-server/model_server/server.py delete mode 100644 RetrievalAugmentedGeneration/llm-inference-server/model_server_client/trt_llm.py delete mode 100644 RetrievalAugmentedGeneration/llm-inference-server/requirements.txt delete mode 100755 RetrievalAugmentedGeneration/llm-inference-server/tools/resize_nemo_model.sh delete mode 100644 deploy/compose/docker-compose-nemotron.yaml create mode 100644 deploy/compose/download_model.sh delete mode 100644 deploy/k8s-operator/kube-trailblazer/.dockerignore delete mode 100644 deploy/k8s-operator/kube-trailblazer/.patches/root.go delete mode 100644 deploy/k8s-operator/kube-trailblazer/Dockerfile delete mode 100644 deploy/k8s-operator/kube-trailblazer/Makefile delete mode 100644 deploy/k8s-operator/kube-trailblazer/Makefile.helm.mk delete mode 100644 deploy/k8s-operator/kube-trailblazer/Makefile.helmer.mk delete mode 100644 deploy/k8s-operator/kube-trailblazer/NVIDIA_AI_Product_License_1Sept2023.pdf delete mode 100644 deploy/k8s-operator/kube-trailblazer/PROJECT delete mode 100644 deploy/k8s-operator/kube-trailblazer/api/v1alpha1/groupversion_info.go delete mode 100644 deploy/k8s-operator/kube-trailblazer/api/v1alpha1/helmpipeline_types.go delete mode 100644 deploy/k8s-operator/kube-trailblazer/api/v1alpha1/zz_generated.deepcopy.go delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/crd/bases/package.nvidia.com_helmpipelines.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/crd/kustomization.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/crd/kustomizeconfig.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/crd/patches/cainjection_in_helmpipelines.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/crd/patches/webhook_in_helmpipelines.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/default/kustomization.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/default/manager_auth_proxy_patch.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/default/manager_config_patch.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/manager/kustomization.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/manager/manager.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/manifests/kustomization.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/prometheus/kustomization.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/prometheus/monitor.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/rbac/auth_proxy_client_clusterrole.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/rbac/auth_proxy_role.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/rbac/auth_proxy_role_binding.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/rbac/auth_proxy_service.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/rbac/helmpipeline_editor_role.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/rbac/helmpipeline_viewer_role.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/rbac/kustomization.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/rbac/leader_election_role.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/rbac/leader_election_role_binding.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/rbac/role.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/rbac/role_binding.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/rbac/service_account.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/samples/kustomization.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/samples/package_v1alpha1_helmpipeline.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/scorecard/bases/config.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/scorecard/kustomization.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/scorecard/patches/basic.config.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/config/scorecard/patches/olm.config.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/controllers/helmpipeline.go delete mode 100644 deploy/k8s-operator/kube-trailblazer/controllers/helmpipeline_controller.go delete mode 100644 deploy/k8s-operator/kube-trailblazer/controllers/helmpipeline_rbac.go delete mode 100644 deploy/k8s-operator/kube-trailblazer/controllers/suite_test.go delete mode 100644 deploy/k8s-operator/kube-trailblazer/go.mod delete mode 100644 deploy/k8s-operator/kube-trailblazer/go.sum delete mode 100644 deploy/k8s-operator/kube-trailblazer/hack/boilerplate.go.txt delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-charts/global-values.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/.helmignore delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/Chart.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0001_operator_manifests.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0002_operator_manifests.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0003_operator_manifests.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0004_operator_manifests.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0005_operator_manifests.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0006_operator_manifests.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0007_operator_manifests.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0008_operator_manifests.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0009_operator_manifests.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0010_operator_manifests.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0011_operator_manifests.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/_helpers.tpl delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/image-pull-secret.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/values.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/.helmignore delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/Chart.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/_helpers.tpl delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/frontend.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/image-pull-secret.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/jupyter-server.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/milvus-etcd.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/milvus-minio.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/milvus-standalone.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/query.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/triton.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/values.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-plugins/cm-getter/plugin.yaml delete mode 100755 deploy/k8s-operator/kube-trailblazer/helm-plugins/file-getter/file-getter delete mode 100644 deploy/k8s-operator/kube-trailblazer/helm-plugins/file-getter/plugin.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/main.go delete mode 100644 deploy/k8s-operator/kube-trailblazer/pkg/clients/clients.go delete mode 100644 deploy/k8s-operator/kube-trailblazer/pkg/clients/clients_test.go delete mode 100644 deploy/k8s-operator/kube-trailblazer/pkg/clients/mock_clients_api.go delete mode 100644 deploy/k8s-operator/kube-trailblazer/pkg/filter/filter.go delete mode 100644 deploy/k8s-operator/kube-trailblazer/pkg/filter/filter_test.go delete mode 100644 deploy/k8s-operator/kube-trailblazer/pkg/helmer/LICENSE delete mode 100644 deploy/k8s-operator/kube-trailblazer/pkg/helmer/README.md delete mode 100644 deploy/k8s-operator/kube-trailblazer/pkg/helmer/chart.go delete mode 100644 deploy/k8s-operator/kube-trailblazer/pkg/helmer/controller/Makefile delete mode 100644 deploy/k8s-operator/kube-trailblazer/pkg/helmer/controller/controller.go delete mode 100644 deploy/k8s-operator/kube-trailblazer/pkg/helmer/controller/patches/root.go delete mode 100644 deploy/k8s-operator/kube-trailblazer/pkg/helmer/controller/test.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/pkg/helmer/graphs/helmer-kubevirt.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/pkg/helmer/graphs/helmer-nfd.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/pkg/helmer/graphs/helmer-nvidia-kata.yaml delete mode 100644 deploy/k8s-operator/kube-trailblazer/pkg/helmer/graphs/helmer-nvidia-vgpu.yaml delete mode 100755 deploy/k8s-operator/kube-trailblazer/pkg/helmer/hack/helmer.sh delete mode 100644 deploy/k8s-operator/kube-trailblazer/pkg/helmer/helmer.go delete mode 100644 deploy/k8s-operator/kube-trailblazer/pkg/helmer/interface.go delete mode 100644 deploy/k8s-operator/kube-trailblazer/pkg/helmer/package.go delete mode 100755 deploy/k8s-operator/kube-trailblazer/pkg/helmer/plugins/file-proto/file-downloader.sh delete mode 100644 deploy/k8s-operator/kube-trailblazer/pkg/helmer/plugins/file-proto/file-helper.sh delete mode 100644 deploy/k8s-operator/kube-trailblazer/pkg/helmer/plugins/file-proto/plugin.yaml delete mode 120000 deploy/k8s-operator/kube-trailblazer/pkg/helmer/plugins/plugins delete mode 100644 deploy/k8s-operator/kube-trailblazer/pkg/helmer/postrenderer.go delete mode 100644 deploy/k8s-operator/kube-trailblazer/pkg/helmer/repo.go delete mode 100644 deploy/k8s-operator/kube-trailblazer/pkg/helmer/types.go delete mode 100644 deploy/k8s-operator/kube-trailblazer/pkg/storage/mock_storage_api.go delete mode 100644 deploy/k8s-operator/kube-trailblazer/pkg/storage/storage.go delete mode 100644 deploy/k8s-operator/kube-trailblazer/pkg/storage/storage_test.go delete mode 100644 deploy/k8s-operator/kube-trailblazer/pkg/utils/hash.go delete mode 100644 deploy/k8s-operator/kube-trailblazer/pkg/utils/rbac.go delete mode 100644 deploy/k8s-operator/kube-trailblazer/rag-llm-pipeline.yaml delete mode 100644 docs/developer-llm-operator/README.md delete mode 100644 docs/developer-llm-operator/install.md delete mode 100644 docs/developer-llm-operator/uninstall.md delete mode 100644 docs/hf_model_download.md create mode 100644 docs/images/llama3-70b-instruct-get-api-key.png create mode 100644 docs/images/llama3-70b-instruct-model-card.png create mode 100644 docs/images/llama3-8b-instruct-get-api-key.png create mode 100644 docs/images/llama3-8b-instruct-model-card.png delete mode 100644 docs/images/local-gpus-topology.png create mode 100644 docs/images/nim-llms-topology.png delete mode 100644 docs/llm-inference-server.md delete mode 100644 docs/local-gpu.md delete mode 100644 docs/multi-gpu.md delete mode 100644 docs/quantized-llm-model.md create mode 100755 experimental/event-driven-rag-cve-analysis/Dockerfile create mode 100644 experimental/event-driven-rag-cve-analysis/README.md create mode 100644 experimental/event-driven-rag-cve-analysis/cyber_dev_day/__init__.py create mode 100644 experimental/event-driven-rag-cve-analysis/cyber_dev_day/checklist_node.py create mode 100644 experimental/event-driven-rag-cve-analysis/cyber_dev_day/config.py create mode 100644 experimental/event-driven-rag-cve-analysis/cyber_dev_day/embeddings.py create mode 100644 experimental/event-driven-rag-cve-analysis/cyber_dev_day/faiss_vdb_service.py create mode 100644 experimental/event-driven-rag-cve-analysis/cyber_dev_day/langchain_llm_client_wrapper.py create mode 100644 experimental/event-driven-rag-cve-analysis/cyber_dev_day/llm_service.py create mode 100644 experimental/event-driven-rag-cve-analysis/cyber_dev_day/nim_llm_service.py create mode 100644 experimental/event-driven-rag-cve-analysis/cyber_dev_day/openai_chat_service.py create mode 100644 experimental/event-driven-rag-cve-analysis/cyber_dev_day/pipeline.py create mode 100644 experimental/event-driven-rag-cve-analysis/cyber_dev_day/pipeline_utils.py create mode 100644 experimental/event-driven-rag-cve-analysis/cyber_dev_day/tools.py create mode 100644 experimental/event-driven-rag-cve-analysis/data/morpheus_24.03-runtime_sbom.csv create mode 100644 experimental/event-driven-rag-cve-analysis/default.env create mode 100755 experimental/event-driven-rag-cve-analysis/docker-compose.yml create mode 100755 experimental/event-driven-rag-cve-analysis/entrypoint.sh create mode 100644 experimental/event-driven-rag-cve-analysis/nginx/.gitignore create mode 100644 experimental/event-driven-rag-cve-analysis/nginx/nginx.conf create mode 100644 experimental/event-driven-rag-cve-analysis/nginx/template-variables.conf create mode 100644 experimental/event-driven-rag-cve-analysis/notebooks/cyber-dev-day.ipynb create mode 100644 experimental/event-driven-rag-cve-analysis/notebooks/images/multiple_cve_parallel.jpg create mode 100644 experimental/event-driven-rag-cve-analysis/notebooks/images/multiple_cve_serial.jpg create mode 100644 experimental/event-driven-rag-cve-analysis/notebooks/images/side_by_side.png create mode 100644 experimental/event-driven-rag-cve-analysis/notebooks/images/single_cve_parallel.jpg create mode 100644 experimental/event-driven-rag-cve-analysis/notebooks/images/single_cve_serial.jpg create mode 100644 experimental/event-driven-rag-cve-analysis/requirements.yaml create mode 100644 experimental/fm-asr-streaming-rag/chain-server/accumulator.py create mode 100644 experimental/fm-asr-streaming-rag/chain-server/retriever.py create mode 100644 experimental/fm-asr-streaming-rag/deploy/docker-compose-file-replay.yaml rename experimental/fm-asr-streaming-rag/deploy/{docker-compose.yml => docker-compose-fm-asr.yaml} (53%) create mode 100644 experimental/fm-asr-streaming-rag/deploy/docker-compose-milvus-standalone.yaml create mode 100644 experimental/fm-asr-streaming-rag/deploy/docker-compose-nemo-retriever.yaml rename experimental/fm-asr-streaming-rag/deploy/{docker-compose-nim-build.yml => docker-compose-nim-build.yaml} (86%) create mode 100644 experimental/fm-asr-streaming-rag/deploy/docker-compose-nim-llm.yaml delete mode 100755 experimental/fm-asr-streaming-rag/deploy/scripts/run-cloud-only.sh create mode 100755 experimental/fm-asr-streaming-rag/deploy/scripts/stop.sh create mode 100755 experimental/fm-asr-streaming-rag/docs/imgs/architecture-cloud.jpg create mode 100755 experimental/fm-asr-streaming-rag/docs/imgs/architecture-retriever.jpg create mode 100644 experimental/fm-asr-streaming-rag/nemo-retriever/config/milvus-config.yaml create mode 100644 experimental/fm-asr-streaming-rag/nemo-retriever/config/otel-collector-config.yaml create mode 100644 experimental/fm-asr-streaming-rag/nemo-retriever/model_configs/nv-rerank-qa-mistral-4b-A6000.yaml rename RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/ensemble/1/.tmp => experimental/fm-asr-streaming-rag/nemo-retriever/models/keep (100%) create mode 100644 experimental/oran-chatbot-multimodal/oran_diagram.png create mode 100644 experimental/rag-developer-chatbot/Dockerfile.notebook create mode 100644 experimental/rag-developer-chatbot/README.md create mode 100644 experimental/rag-developer-chatbot/compose.env create mode 100644 experimental/rag-developer-chatbot/docker-compose-dev-rag.yaml create mode 100644 experimental/rag-developer-chatbot/notebooks/diagram.png create mode 100644 experimental/rag-developer-chatbot/notebooks/rapids_notebook.ipynb create mode 100644 experimental/rag-developer-chatbot/notebooks/requirements.txt delete mode 100644 integrations/langchain/__init__.py delete mode 100644 integrations/langchain/embeddings/__init__.py delete mode 100644 integrations/langchain/embeddings/nemo_embed.py delete mode 100644 integrations/langchain/embeddings/nv_aiplay.py delete mode 100644 integrations/langchain/llms/__init__.py delete mode 100644 integrations/langchain/llms/nemo_infer.py delete mode 100644 integrations/langchain/llms/nv_aiplay.py delete mode 100644 integrations/langchain/llms/nv_api_catalog/__init__.py delete mode 100644 integrations/langchain/llms/nv_api_catalog/_common.py delete mode 100644 integrations/langchain/llms/nv_api_catalog/_statics.py delete mode 100644 integrations/langchain/llms/nv_api_catalog/callbacks.py delete mode 100644 integrations/langchain/llms/nv_api_catalog/chat_models.py delete mode 100644 integrations/langchain/llms/nv_api_catalog/embeddings.py delete mode 100644 integrations/langchain/llms/nv_api_catalog/image_gen.py delete mode 100644 integrations/langchain/llms/nv_api_catalog/llm.py delete mode 100644 integrations/langchain/llms/nv_api_catalog/py.typed delete mode 100644 integrations/langchain/llms/nv_api_catalog/tools.py delete mode 100644 integrations/langchain/llms/triton_trt_llm.py delete mode 100644 notebooks/00-llm-non-streaming-nemotron.ipynb delete mode 100644 notebooks/01-llm-streaming-client.ipynb rename notebooks/{05_dataloader.ipynb => 01_dataloader.ipynb} (100%) rename notebooks/{07_Option(1)_NVIDIA_AI_endpoint_simple.ipynb => 02_Option(1)_NVIDIA_AI_endpoint_simple.ipynb} (99%) mode change 100755 => 100644 rename notebooks/{07_Option(2)_minimalistic_RAG_with_langchain_local_HF_LLM.ipynb => 02_Option(2)_minimalistic_RAG_with_langchain_local_HF_LLM.ipynb} (100%) delete mode 100644 notebooks/02_langchain_simple.ipynb rename notebooks/{08_Option(1)_llama_index_with_NVIDIA_AI_endpoint.ipynb => 03_Option(1)_llama_index_with_NVIDIA_AI_endpoint.ipynb} (98%) mode change 100755 => 100644 rename notebooks/{08_Option(2)_llama_index_with_HF_local_LLM.ipynb => 03_Option(2)_llama_index_with_HF_local_LLM.ipynb} (100%) delete mode 100644 notebooks/03_llama_index_simple.ipynb rename notebooks/{09_Agent_use_tools_leveraging_NVIDIA_AI_endpoints.ipynb => 04_Agent_use_tools_leveraging_NVIDIA_AI_endpoints.ipynb} (100%) delete mode 100644 notebooks/04_llamaindex_hier_node_parser.ipynb rename notebooks/{10_RAG_for_HTML_docs_with_Langchain_NVIDIA_AI_Endpoints.ipynb => 05_RAG_for_HTML_docs_with_Langchain_NVIDIA_AI_Endpoints.ipynb} (55%) rename notebooks/{11_LangGraph_HandlingAgent_IntermediateSteps.ipynb => 06_LangGraph_HandlingAgent_IntermediateSteps.ipynb} (98%) rename notebooks/{12_Chat_wtih_nvidia_financial_reports.ipynb => 07_Chat_with_nvidia_financial_reports.ipynb} (94%) create mode 100644 notebooks/08_RAG_Langchain_with_Local_NIM.ipynb diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 000000000..b4d509648 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,19 @@ +# Ignore git objects +.git/ +.gitignore +.gitlab-ci.yml +.gitmodules + +# Ignore temperory volumes +deploy/compose/volumes + +# creating a docker image +.dockerignore + +# Ignore any virtual environment configuration files +.env* +.venv/ +env/ +# Ignore python bytecode files +*.pyc +__pycache__/ diff --git a/.gitignore b/.gitignore index 241cbc4f0..7094b42f7 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,7 @@ docs/_* docs/notebooks docs/experimental docs/tools + +# Developing examples +RetrievalAugmentedGeneration/examples/simple_rag_api_catalog/ +deploy/compose/simple-rag-api-catalog.yaml diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 22aece8e7..4f67ebf67 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -9,3 +9,17 @@ repos: args: - --license-filepath - RetrievalAugmentedGeneration/LICENSE.md +- repo: https://github.com/psf/black + rev: 19.10b0 + hooks: + - id: black + args: ["--skip-string-normalization", "--line-length=119"] + additional_dependencies: ['click==8.0.4'] +- repo: https://github.com/pycqa/isort + rev: 5.12.0 + hooks: + - id: isort + name: isort (python) + args: ["--multi-line=3", "--trailing-comma", "--force-grid-wrap=0", "--use-parenthese", "--line-width=119", "--ws"] + + diff --git a/CHANGELOG.md b/CHANGELOG.md index ad637060c..6112a8840 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,38 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [0.7.0] - 2024-06-18 + +This release switches all examples to use cloud hosted GPU accelerated LLM and embedding models from [Nvidia API Catalog](https://build.nvidia.com) as default. It also deprecates support to deploy on-prem models using NeMo Inference Framework Container and adds support to deploy accelerated generative AI models across the cloud, data center, and workstation using [latest Nvidia NIM-LLM](https://docs.nvidia.com/nim/large-language-models/latest/introduction.html). + +### Added +- Added model [auto download and caching support for `nemo-retriever-embedding-microservice` and `nemo-retriever-reranking-microservice`](./deploy/compose/docker-compose-nim-ms.yaml). Updated steps to deploy the services can be found [here](https://nvidia.github.io/GenerativeAIExamples/latest/nim-llms.html). +- [Multimodal RAG Example enhancements](https://nvidia.github.io/GenerativeAIExamples/latest/multimodal-data.html) + - Moved to the [PDF Plumber library](https://pypi.org/project/pdfplumber/) for parsing text and images. + - Added `pgvector` vector DB support. + - Added support to ingest files with .pptx extension + - Improved accuracy of image parsing by using [tesseract-ocr](https://pypi.org/project/tesseract-ocr/) +- Added a [new notebook showcasing RAG usecase using accelerated NIM based on-prem deployed models](./notebooks/08_RAG_Langchain_with_Local_NIM.ipynb) +- Added a [new experimental example](./experimental/rag-developer-chatbot/) showcasing how to create a developer-focused RAG chatbot using RAPIDS cuDF source code and API documentation. +- Added a [new experimental example](./experimental/event-driven-rag-cve-analysis/) demonstrating how NVIDIA Morpheus, NIMs, and RAG pipelines can be integrated to create LLM-based agent pipelines. + +### Changed +- All examples now use llama3 models from [Nvidia API Catalog](https://build.nvidia.com/search?term=llama3) as default. Summary of updated examples and the model it uses is available [here](https://nvidia.github.io/GenerativeAIExamples/latest/index.html#developer-rag-examples). +- Switched default embedding model of all examples to [Snowflake arctic-embed-I model](https://build.nvidia.com/snowflake/arctic-embed-l) +- Added more verbose logs and support to configure [log level for chain server using LOG_LEVEL enviroment variable](https://nvidia.github.io/GenerativeAIExamples/latest/configuration.html#chain-server). +- Bumped up version of `langchain-nvidia-ai-endpoints`, `sentence-transformers` package and `milvus` containers +- Updated base containers to use ubuntu 22.04 image `nvcr.io/nvidia/base/ubuntu:22.04_20240212` +- Added `llama-index-readers-file` as dependency to avoid runtime package installation within chain server. + + +### Deprecated +- Deprecated support of on-prem LLM model deployment using [NeMo Inference Framework Container](https://github.com/NVIDIA/GenerativeAIExamples/blob/v0.6.0/deploy/compose/rag-app-text-chatbot.yaml#L2). Developers can use [Nvidia NIM-LLM to deploy TensorRT optimized models on-prem and plug them in with existing examples](https://nvidia.github.io/GenerativeAIExamples/latest/nim-llms.html). +- Deprecated [kubernetes operator support](https://github.com/NVIDIA/GenerativeAIExamples/tree/v0.6.0/deploy/k8s-operator/kube-trailblazer). +- `nvolveqa_40k` embedding model was deprecated from [Nvidia API Catalog](https://build.nvidia.com). Updated all [notebooks](./notebooks/) and [experimental artifacts](./experimental/) to use [Nvidia embed-qa-4 model](https://build.nvidia.com/nvidia/embed-qa-4) instead. +- Removed [notebooks numbered 00-04](https://github.com/NVIDIA/GenerativeAIExamples/tree/v0.6.0/notebooks), which used on-prem LLM model deployment using deprecated [NeMo Inference Framework Container](https://github.com/NVIDIA/GenerativeAIExamples/blob/v0.6.0/deploy/compose/rag-app-text-chatbot.yaml#L2). + + ## [0.6.0] - 2024-05-07 ### Added diff --git a/README.md b/README.md index aebece7c9..70fc8dbdf 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ State-of-the-art Generative AI examples that are easy to deploy, test, and exten ## NVIDIA NGC -Generative AI Examples can use models and GPUs from the [NVIDIA NGC: AI Development Catalog](https://catalog.ngc.nvidia.com). +Generative AI Examples can use models and GPUs from the [NVIDIA API Catalog](https://catalog.ngc.nvidia.com). Sign up for a [free NGC developer account](https://ngc.nvidia.com/signin) to access: @@ -27,20 +27,18 @@ The examples demonstrate how to combine NVIDIA GPU acceleration with popular LLM The examples are easy to deploy with [Docker Compose](https://docs.docker.com/compose/). Examples support local and remote inference endpoints. -If you have a GPU, you can inference locally with [TensorRT-LLM](https://github.com/NVIDIA/TensorRT-LLM). +If you have a GPU, you can inference locally with an [NVIDIA NIM for LLMs](https://catalog.ngc.nvidia.com/orgs/nvidia/teams/nim/containers/nim_llm). If you don't have a GPU, you can inference and embed remotely with [NVIDIA API Catalog endpoints](https://build.nvidia.com/explore/discover). | Model | Embedding | Framework | Description | Multi-GPU | TRT-LLM | NVIDIA Endpoints | Triton | Vector Database | | ---------------------------------- | ---------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | ------- | ---------------- | ------ | ------------------ | -| mixtral_8x7b | ai-embed-qa-4 | LangChain | NVIDIA API Catalog endpoints chat bot [[code](./RetrievalAugmentedGeneration/examples/nvidia_api_catalog/), [docs](https://nvidia.github.io/GenerativeAIExamples/latest/api-catalog.html)] | No | No | Yes | Yes | Milvus or pgvector | -| llama-2 | UAE-Large-V1 | LlamaIndex | Canonical QA Chatbot [[code](./RetrievalAugmentedGeneration/examples/developer_rag/), [docs](https://nvidia.github.io/GenerativeAIExamples/latest/local-gpu.html)] | [Yes](https://nvidia.github.io/GenerativeAIExamples/latest/multi-gpu.html) | Yes | No | Yes | Milvus or pgvector | -| llama-2 | all-MiniLM-L6-v2 | LlamaIndex | Chat bot, GeForce, Windows [[repo](https://github.com/NVIDIA/trt-llm-rag-windows/tree/release/1.0)] | No | Yes | No | No | FAISS | -| llama-2 | ai-embed-qa-4 | LangChain | Chat bot with query decomposition agent [[code](./RetrievalAugmentedGeneration/examples/query_decomposition_rag/), [docs](https://nvidia.github.io/GenerativeAIExamples/latest/query-decomposition.html)] | No | No | Yes | Yes | Milvus or pgvector | -| mixtral_8x7b | ai-embed-qa-4 | LangChain | Minimilastic example: RAG with NVIDIA AI Foundation Models [[code](./examples/5_mins_rag_no_gpu/), [README](./examples/README.md#rag-in-5-minutes-example)] | No | No | Yes | Yes | FAISS | -| mixtral_8x7b
Deplot
Neva-22b | ai-embed-qa-4 | Custom | Chat bot with multimodal data [[code](./RetrievalAugmentedGeneration/examples/multimodal_rag/), [docs](https://nvidia.github.io/GenerativeAIExamples/latest/multimodal-data.html)] | No | No | Yes | No | Milvus or pvgector | -| llama-2 | UAE-Large-V1 | LlamaIndex | Chat bot with quantized LLM model [[docs](https://nvidia.github.io/GenerativeAIExamples/latest/quantized-llm-model.html)] | Yes | Yes | No | Yes | Milvus or pgvector | +| llama3-70b | snowflake-arctic-embed-l | LangChain | NVIDIA API Catalog endpoints chat bot [[code](./RetrievalAugmentedGeneration/examples/nvidia_api_catalog/), [docs](https://nvidia.github.io/GenerativeAIExamples/latest/api-catalog.html)] | No | No | Yes | Yes | Milvus or pgvector | +| llama3-8b | snowflake-arctic-embed-l | LlamaIndex | Canonical QA Chatbot [[code](./RetrievalAugmentedGeneration/examples/developer_rag/), [docs](https://nvidia.github.io/GenerativeAIExamples/latest/api-catalog.html#using-the-llamaindex-data-framework)] | [Yes](https://nvidia.github.io/GenerativeAIExamples/latest/multi-gpu.html) | Yes | No | Yes | Milvus or pgvector | +| llama3-70b | snowflake-arctic-embed-l | LangChain | Chat bot with query decomposition agent [[code](./RetrievalAugmentedGeneration/examples/query_decomposition_rag/), [docs](https://nvidia.github.io/GenerativeAIExamples/latest/query-decomposition.html)] | No | No | Yes | Yes | Milvus or pgvector | +| llama3-70b | ai-embed-qa-4 | LangChain | Minimilastic example: RAG with NVIDIA AI Foundation Models [[code](./examples/5_mins_rag_no_gpu/), [README](./examples/README.md#rag-in-5-minutes-example)] | No | No | Yes | Yes | FAISS | +| llama3-8b
Deplot
Neva-22b | snowflake-arctic-embed-l | Custom | Chat bot with multimodal data [[code](./RetrievalAugmentedGeneration/examples/multimodal_rag/), [docs](https://nvidia.github.io/GenerativeAIExamples/latest/multimodal-data.html)] | No | No | Yes | No | Milvus or pvgector | | llama3-70b | none | PandasAI | Chat bot with structured data [[code](./RetrievalAugmentedGeneration/examples/structured_data_rag/), [docs](https://nvidia.github.io/GenerativeAIExamples/latest/structured-data.html)] | No | No | Yes | No | none | -| llama-2 | ai-embed-qa-4 | LangChain | Chat bot with multi-turn conversation [[code](./RetrievalAugmentedGeneration/examples/multi_turn_rag/), [docs](https://nvidia.github.io/GenerativeAIExamples/latest/multi-turn.html)] | No | No | Yes | No | Milvus or pgvector | +| llama3-8b | snowflake-arctic-embed-l | LangChain | Chat bot with multi-turn conversation [[code](./RetrievalAugmentedGeneration/examples/multi_turn_rag/), [docs](https://nvidia.github.io/GenerativeAIExamples/latest/multi-turn.html)] | No | No | Yes | No | Milvus or pgvector | ### Enterprise RAG Examples @@ -48,13 +46,13 @@ The enterprise RAG examples run as microservices distributed across multiple VMs These examples show how to orchestrate RAG pipelines with [Kubernetes](https://kubernetes.io/) and deployed with [Helm](https://helm.sh/). Enterprise RAG examples include a [Kubernetes operator](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/) for LLM lifecycle management. -It is compatible with the [NVIDIA GPU operator](https://catalog.ngc.nvidia.com/orgs/nvidia/containers/gpu-operator) that automates GPU discovery and lifecycle management in a Kubernetes cluster. +It is compatible with the [NVIDIA GPU Operator](https://catalog.ngc.nvidia.com/orgs/nvidia/containers/gpu-operator) that automates GPU discovery and lifecycle management in a Kubernetes cluster. Enterprise RAG examples also support local and remote inference with [TensorRT-LLM](https://github.com/NVIDIA/TensorRT-LLM) and [NVIDIA API Catalog endpoints](https://build.nvidia.com/explore/discover). | Model | Embedding | Framework | Description | Multi-GPU | Multi-node | TRT-LLM | NVIDIA Endpoints | Triton | Vector Database | | ------- | ----------- | ---------- | -------------------------------------------------------------------------- | --------- | ---------- | ------- | ---------------- | ------ | --------------- | -| llama-2 | NV-Embed-QA | LlamaIndex | Chat bot, Kubernetes deployment [[README](./docs/developer-llm-operator/)] | No | No | Yes | No | Yes | Milvus | +| llama-3 | nv-embed-qa-4 | LlamaIndex | Chat bot, Kubernetes deployment [[chart](https://registry.ngc.nvidia.com/orgs/ohlfw0olaadg/teams/ea-participants/helm-charts/rag-app-text-chatbot)] | No | No | Yes | No | Yes | Milvus | ### Generative AI Model Examples @@ -89,6 +87,16 @@ These are open source connectors for NVIDIA-hosted and self-hosted API endpoints |[NVIDIA Triton Inference Server](https://docs.llamaindex.ai/en/stable/examples/llm/nvidia_triton.html) | [LlamaIndex](https://www.llamaindex.ai/) |Yes|Yes|No|Triton inference server provides API access to hosted LLM models over gRPC. | |[NVIDIA TensorRT-LLM](https://docs.llamaindex.ai/en/stable/examples/llm/nvidia_tensorrt.html) | [LlamaIndex](https://www.llamaindex.ai/) |Yes|Yes|No|TensorRT-LLM provides a Python API to build TensorRT engines with state-of-the-art optimizations for LLM inference on NVIDIA GPUs. | + +## Related NVIDIA RAG Projects + +- [NVIDIA Tokkio LLM-RAG](https://docs.nvidia.com/ace/latest/workflows/tokkio/text/Tokkio_LLM_RAG_Bot.html): Use Tokkio to add avatar animation for RAG responses. + +- [RAG on Windows using TensorRT-LLM and LlamaIndex](https://github.com/NVIDIA/ChatRTX): Create RAG chatbots on Windows using TensorRT-LLM. + +- [Hybrid RAG Project on AI Workbench](https://github.com/NVIDIA/workbench-example-hybrid-rag): Run an NVIDIA AI Workbench example project for RAG. + + ## Support, Feedback, and Contributing We're posting these examples on GitHub to support the NVIDIA LLM community and facilitate feedback. diff --git a/RetrievalAugmentedGeneration/Dockerfile b/RetrievalAugmentedGeneration/Dockerfile index 463b8cb5f..cb504a084 100644 --- a/RetrievalAugmentedGeneration/Dockerfile +++ b/RetrievalAugmentedGeneration/Dockerfile @@ -1,5 +1,5 @@ ARG BASE_IMAGE_URL=nvcr.io/nvidia/base/ubuntu -ARG BASE_IMAGE_TAG=20.04_x64_2022-09-23 +ARG BASE_IMAGE_TAG=22.04_20240212 FROM ${BASE_IMAGE_URL}:${BASE_IMAGE_TAG} @@ -11,7 +11,7 @@ RUN apt update && \ apt install -y curl software-properties-common libgl1 libglib2.0-0 && \ add-apt-repository ppa:deadsnakes/ppa && \ apt update && apt install -y python3.10 python3.10-dev python3.10-distutils && \ - apt-get clean + apt-get clean # Install pip for python3.10 RUN curl -sS https://bootstrap.pypa.io/get-pip.py | python3.10 @@ -24,7 +24,7 @@ RUN apt autoremove -y curl software-properties-common # Install common dependencies for all examples RUN --mount=type=bind,source=RetrievalAugmentedGeneration/requirements.txt,target=/opt/requirements.txt \ pip3 install --no-cache-dir -r /opt/requirements.txt - + # Install any example specific dependency if available ARG EXAMPLE_NAME COPY RetrievalAugmentedGeneration/examples/${EXAMPLE_NAME} /opt/RetrievalAugmentedGeneration/example @@ -32,12 +32,24 @@ RUN if [ -f "/opt/RetrievalAugmentedGeneration/example/requirements.txt" ] ; the pip3 install --no-cache-dir -r /opt/RetrievalAugmentedGeneration/example/requirements.txt ; else \ echo "Skipping example dependency installation, since requirements.txt was not found" ; \ fi +RUN python3.10 -m nltk.downloader averaged_perceptron_tagger +RUN if [ "${EXAMPLE_NAME}" = "multimodal_rag" ] ; then \ + apt update && \ + apt install -y libreoffice && \ + apt install -y tesseract-ocr ; \ + fi # Copy required common modules for all examples COPY RetrievalAugmentedGeneration/__init__.py /opt/RetrievalAugmentedGeneration/ COPY RetrievalAugmentedGeneration/common /opt/RetrievalAugmentedGeneration/common COPY integrations /opt/integrations COPY tools /opt/tools +RUN mkdir /tmp-data/; mkdir /tmp-data/nltk_data/ +RUN chmod 777 -R /tmp-data +RUN chown 1000:1000 -R /tmp-data +ENV NLTK_DATA=/tmp-data/nltk_data/ +ENV HF_HOME=/tmp-data + WORKDIR /opt ENTRYPOINT ["uvicorn", "RetrievalAugmentedGeneration.common.server:app"] diff --git a/RetrievalAugmentedGeneration/common/configuration.py b/RetrievalAugmentedGeneration/common/configuration.py index 7a6656f31..da3a7967e 100644 --- a/RetrievalAugmentedGeneration/common/configuration.py +++ b/RetrievalAugmentedGeneration/common/configuration.py @@ -67,8 +67,8 @@ class LLMConfig(ConfigWizard): ) model_engine: str = configfield( "model_engine", - default="triton-trt-llm", - help_txt="The server type of the hosted model. Allowed values are triton-trt-llm and nemo-infer", + default="nvidia-ai-endpoints", + help_txt="The server type of the hosted model. Allowed values are nvidia-ai-endpoints", ) model_name_pandas_ai: str = configfield( "model_name_pandas_ai", @@ -86,7 +86,7 @@ class TextSplitterConfig(ConfigWizard): model_name: str = configfield( "model_name", - default="WhereIsAI/UAE-Large-V1", + default="Snowflake/snowflake-arctic-embed-l", help_txt="The name of Sentence Transformer model used for SentenceTransformer TextSplitter.", ) chunk_size: int = configfield( @@ -110,12 +110,12 @@ class EmbeddingConfig(ConfigWizard): model_name: str = configfield( "model_name", - default="WhereIsAI/UAE-Large-V1", + default="snowflake/arctic-embed-l", help_txt="The name of huggingface embedding model.", ) model_engine: str = configfield( "model_engine", - default="huggingface", + default="nvidia-ai-endpoints", help_txt="The server type of the hosted model. Allowed values are hugginface", ) dimensions: int = configfield( @@ -148,6 +148,16 @@ class RetrieverConfig(ConfigWizard): default=0.25, help_txt="The minimum confidence score for the retrieved values to be considered", ) + nr_url: str = configfield( + "nr_url", + default='http://retrieval-ms:8000', + help_txt="The nemo retriever microservice url", + ) + nr_pipeline: str = configfield( + "nr_pipeline", + default='ranked_hybrid', + help_txt="The name of the nemo retriever pipeline one of ranked_hybrid or hybrid", + ) @configclass @@ -162,12 +172,9 @@ class PromptsConfig(ConfigWizard): chat_template: str = configfield( "chat_template", default=( - "[INST] <>" "You are a helpful, respectful and honest assistant." "Always answer as helpfully as possible, while being safe." "Please ensure that your responses are positive in nature." - "<>" - "[/INST] {context_str} [INST] {query_str} [/INST]" ), help_txt="Prompt template for chat.", ) diff --git a/RetrievalAugmentedGeneration/common/server.py b/RetrievalAugmentedGeneration/common/server.py index 569cb9fe8..ca3acf56d 100644 --- a/RetrievalAugmentedGeneration/common/server.py +++ b/RetrievalAugmentedGeneration/common/server.py @@ -37,7 +37,7 @@ from pymilvus.exceptions import MilvusException, MilvusUnavailableException from RetrievalAugmentedGeneration.common.tracing import llamaindex_instrumentation_wrapper -logging.basicConfig(level=logging.INFO) +logging.basicConfig(level=os.environ.get('LOGLEVEL', 'INFO').upper()) logger = logging.getLogger(__name__) # create the FastAPI server @@ -193,7 +193,7 @@ async def request_validation_exception_handler( def health_check(): """ Perform a Health Check - + Returns 200 when service is up. This does not check the health of downstream services. """ @@ -218,7 +218,7 @@ async def upload_document(request: Request, file: UploadFile = File(...)) -> JSO return JSONResponse(content={"message": "No files provided"}, status_code=200) try: - upload_folder = "uploaded_files" + upload_folder = "/tmp-data/uploaded_files" upload_file = os.path.basename(file.filename) if not upload_file: raise RuntimeError("Error parsing uploaded filename.") @@ -285,6 +285,7 @@ async def generate_answer(request: Request, prompt: Prompt) -> StreamingResponse def response_generator(): resp_id = str(uuid4()) if generator: + logger.debug(f"Generated response chunks\n") for chunk in generator: chain_response = ChainResponse() response_choice = ChainResponseChoices( @@ -296,11 +297,13 @@ def response_generator(): ) chain_response.id = resp_id chain_response.choices.append(response_choice) + logger.debug(response_choice) yield "data: " + str(chain_response.json()) + "\n\n" chain_response = ChainResponse() response_choice = ChainResponseChoices(finish_reason="[DONE]") chain_response.id = resp_id chain_response.choices.append(response_choice) + logger.debug(response_choice) yield "data: " + str(chain_response.json()) + "\n\n" else: chain_response = ChainResponse() @@ -412,7 +415,9 @@ async def delete_document(request: Request, filename: str) -> JSONResponse: try: example = app.example() if hasattr(example, "delete_documents") and callable(example.delete_documents): - example.delete_documents([filename]) + status = example.delete_documents([filename]) + if not status: + raise Exception(f"Error in deleting document {filename}") return JSONResponse(content={"message": f"Document {filename} deleted successfully"}, status_code=200) raise NotImplementedError("Example class has not implemented the delete_document method.") diff --git a/RetrievalAugmentedGeneration/common/tracing.py b/RetrievalAugmentedGeneration/common/tracing.py index 81f40627d..4e24337d4 100644 --- a/RetrievalAugmentedGeneration/common/tracing.py +++ b/RetrievalAugmentedGeneration/common/tracing.py @@ -17,8 +17,8 @@ import os import llama_index -from llama_index.core.callbacks.base import CallbackManager -from langchain.callbacks.base import BaseCallbackHandler +from langchain.callbacks.base import BaseCallbackHandler as langchain_base_cb_handler +from llama_index.core.callbacks.simple_llm_handler import SimpleLLMHandler as llama_index_base_cb_handler from opentelemetry import trace, context from opentelemetry.sdk.resources import SERVICE_NAME, Resource from opentelemetry.sdk.trace import TracerProvider @@ -40,19 +40,22 @@ trace.set_tracer_provider(provider) tracer = trace.get_tracer("chain-server") + if os.environ.get("ENABLE_TRACING") == "true": # Configure Propagator used for processing trace context received by the Chain Server propagator = TraceContextTextMapPropagator() - # Configure Langchain OpenTelemetry callback handler + # Configure Langchain OpenTelemetry callback handler langchain_cb_handler = langchain_otel_cb.OpenTelemetryCallbackHandler(tracer) - + # Configure LlamaIndex OpenTelemetry callback handler - llama_index.global_handler = llama_index_otel_cb.OpenTelemetryCallbackHandler(tracer) + llama_index_cb_handler = llama_index_otel_cb.OpenTelemetryCallbackHandler(tracer) + else: propagator = CompositePropagator([]) # No-op propagator - langchain_cb_handler = BaseCallbackHandler() - + langchain_cb_handler = langchain_base_cb_handler() + llama_index_cb_handler = llama_index_base_cb_handler() + set_global_textmap(propagator) # Wrapper Function to perform LlamaIndex instrumentation diff --git a/RetrievalAugmentedGeneration/common/utils.py b/RetrievalAugmentedGeneration/common/utils.py index c880d9dc9..e98d9e2c1 100644 --- a/RetrievalAugmentedGeneration/common/utils.py +++ b/RetrievalAugmentedGeneration/common/utils.py @@ -52,13 +52,15 @@ from llama_index.core.indices.base_retriever import BaseRetriever from llama_index.core.indices.query.schema import QueryBundle from llama_index.core.schema import NodeWithScore + from RetrievalAugmentedGeneration.common.tracing import llama_index_cb_handler + from llama_index.core.callbacks import CallbackManager except Exception as e: logger.error(f"Llamaindex import failed with error: {e}") try: from langchain.text_splitter import SentenceTransformersTokenTextSplitter - from langchain.embeddings import HuggingFaceEmbeddings - from langchain.vectorstores import FAISS + from langchain_community.embeddings import HuggingFaceEmbeddings + from langchain_community.vectorstores import FAISS except Exception as e: logger.error(f"Langchain import failed with error: {e}") @@ -87,8 +89,6 @@ from langchain_core.embeddings import Embeddings from langchain_core.language_models.chat_models import SimpleChatModel from langchain.llms.base import LLM -from integrations.langchain.llms.triton_trt_llm import TensorRTLLM -from integrations.langchain.embeddings.nemo_embed import NemoEmbeddings from RetrievalAugmentedGeneration.common import configuration if TYPE_CHECKING: @@ -138,7 +138,8 @@ def set_service_context(**kwargs) -> None: llm = LangChainLLM(get_llm(**kwargs)) embedding = LangchainEmbedding(get_embedding_model()) service_context = ServiceContext.from_defaults( - llm=llm, embed_model=embedding + llm=llm, embed_model=embedding, + callback_manager=CallbackManager([llama_index_cb_handler]) ) set_global_service_context(service_context) @@ -266,29 +267,17 @@ def get_llm(**kwargs) -> LLM | SimpleChatModel: settings = get_config() logger.info(f"Using {settings.llm.model_engine} as model engine for llm. Model name: {settings.llm.model_name}") - if settings.llm.model_engine == "triton-trt-llm": - trtllm = TensorRTLLM( # type: ignore - server_url=settings.llm.server_url, - model_name=settings.llm.model_name, - temperature = kwargs.get('temperature', None), - top_p = kwargs.get('top_p', None), - tokens = kwargs.get('max_tokens', None) - ) - unused_params = [key for key in kwargs.keys() if key not in ['temperature', 'top_p', 'max_tokens', 'stream']] - if unused_params: - logger.warning(f"The following parameters from kwargs are not supported: {unused_params} for {settings.llm.model_engine}") - return trtllm - elif settings.llm.model_engine == "nvidia-ai-endpoints": + if settings.llm.model_engine == "nvidia-ai-endpoints": unused_params = [key for key in kwargs.keys() if key not in ['temperature', 'top_p', 'max_tokens']] if unused_params: logger.warning(f"The following parameters from kwargs are not supported: {unused_params} for {settings.llm.model_engine}") if settings.llm.server_url: logger.info(f"Using llm model {settings.llm.model_name} hosted at {settings.llm.server_url}") - return ChatNVIDIA(model=settings.llm.model_name, + return ChatNVIDIA(base_url=f"http://{settings.llm.server_url}/v1", + model=settings.llm.model_name, temperature = kwargs.get('temperature', None), top_p = kwargs.get('top_p', None), - max_tokens = kwargs.get('max_tokens', None) - ).mode("nim", base_url=f"http://{settings.llm.server_url}/v1") + max_tokens = kwargs.get('max_tokens', None)) else: logger.info(f"Using llm model {settings.llm.model_name} from api catalog") return ChatNVIDIA(model=settings.llm.model_name, @@ -296,7 +285,7 @@ def get_llm(**kwargs) -> LLM | SimpleChatModel: top_p = kwargs.get('top_p', None), max_tokens = kwargs.get('max_tokens', None)) else: - raise RuntimeError("Unable to find any supported Large Language Model server. Supported engines are triton-trt-llm, nvidia-ai-endpoints.") + raise RuntimeError("Unable to find any supported Large Language Model server. Supported engine name is nvidia-ai-endpoints.") @lru_cache @@ -321,18 +310,12 @@ def get_embedding_model() -> Embeddings: elif settings.embeddings.model_engine == "nvidia-ai-endpoints": if settings.embeddings.server_url: logger.info(f"Using embedding model {settings.embeddings.model_name} hosted at {settings.embeddings.server_url}") - return NVIDIAEmbeddings(model=settings.embeddings.model_name).mode("nim", base_url=f"http://{settings.embeddings.server_url}/v1") + return NVIDIAEmbeddings(base_url=f"http://{settings.embeddings.server_url}/v1", model=settings.embeddings.model_name, truncate="END") else: logger.info(f"Using embedding model {settings.embeddings.model_name} hosted at api catalog") - return NVIDIAEmbeddings(model=settings.embeddings.model_name) - elif settings.embeddings.model_engine == "nemo-embed": - nemo_embed = NemoEmbeddings( - server_url=f"http://{settings.embeddings.server_url}/v1/embeddings", - model_name=settings.embeddings.model_name, - ) - return nemo_embed + return NVIDIAEmbeddings(model=settings.embeddings.model_name, truncate="END") else: - raise RuntimeError("Unable to find any supported embedding model. Supported engine is huggingface.") + raise RuntimeError("Unable to find any supported embedding model. Supported engine is huggingface and nvidia-ai-endpoints.") def get_text_splitter() -> SentenceTransformersTokenTextSplitter: @@ -376,7 +359,7 @@ def get_docs_vectorstore_langchain(vectorstore: VectorStore) -> List[str]: logger.error(f"Error occurred while retrieving documents: {e}") return [] -def del_docs_vectorstore_langchain(vectorstore: VectorStore, filenames: List[str]): +def del_docs_vectorstore_langchain(vectorstore: VectorStore, filenames: List[str]) -> bool: """Delete documents from the vector index implemented in LangChain.""" settings = get_config() @@ -387,13 +370,21 @@ def del_docs_vectorstore_langchain(vectorstore: VectorStore, filenames: List[str in_memory_docstore = vectorstore.docstore._dict for filename in filenames: ids_list = [doc_id for doc_id, doc_data in in_memory_docstore.items() if extract_filename(doc_data.metadata) == filename] + if not len(ids_list): + logger.info("File does not exist in the vectorstore") + return False vectorstore.delete(ids_list) logger.info(f"Deleted documents with filenames {filename}") elif settings.vector_store.name == "pgvector": with vectorstore._make_session() as session: - embedding_doc_store = session.query(vectorstore.EmbeddingStore.custom_id, vectorstore.EmbeddingStore.document, vectorstore.EmbeddingStore.cmetadata).all() + collection = vectorstore.get_collection(session) + filter_by = vectorstore.EmbeddingStore.collection_id == collection.uuid + embedding_doc_store = session.query(vectorstore.EmbeddingStore.custom_id, vectorstore.EmbeddingStore.document, vectorstore.EmbeddingStore.cmetadata).filter(filter_by).all() for filename in filenames: ids_list = [doc_id for doc_id, doc_data, metadata in embedding_doc_store if extract_filename(metadata) == filename] + if not len(ids_list): + logger.info("File does not exist in the vectorstore") + return False vectorstore.delete(ids_list) logger.info(f"Deleted documents with filenames {filename}") elif settings.vector_store.name == "milvus": @@ -401,10 +392,15 @@ def del_docs_vectorstore_langchain(vectorstore: VectorStore, filenames: List[str milvus_data = vectorstore.col.query(expr="pk >= 0", output_fields=["pk","source", "text"]) for filename in filenames: ids_list = [metadata["pk"] for metadata in milvus_data if extract_filename(metadata) == filename] + if not len(ids_list): + logger.info("File does not exist in the vectorstore") + return False vectorstore.col.delete(f"pk in {ids_list}") logger.info(f"Deleted documents with filenames {filename}") + return True except Exception as e: logger.error(f"Error occurred while deleting documents: {e}") + return False def get_docs_vectorstore_llamaindex() -> List[str]: @@ -440,7 +436,7 @@ def get_docs_vectorstore_llamaindex() -> List[str]: return [] -def del_docs_vectorstore_llamaindex(filenames: List[str]): +def del_docs_vectorstore_llamaindex(filenames: List[str]) -> bool: """Delete documents from the vector index implemented in LlamaIndex.""" settings = get_config() @@ -460,10 +456,13 @@ def del_docs_vectorstore_llamaindex(filenames: List[str]): query_res = client.query(collection_name=collection_name, filter=f"filename == '{filename}'", output_fields=["id"]) if not query_res: - return + logger.info("File does not exist in the vectorstore") + return False ids = [entry.get('id') for entry in query_res] res = client.delete(collection_name=collection_name, filter=f"id in {str(ids)}") logger.info(f"Deleted documents with filenames {filename}") + return True except Exception as e: logger.error(f"Error occurred while deleting documents: {e}") + return False diff --git a/RetrievalAugmentedGeneration/examples/developer_rag/chains.py b/RetrievalAugmentedGeneration/examples/developer_rag/chains.py index 5c9c5ebb0..65b4c6c27 100644 --- a/RetrievalAugmentedGeneration/examples/developer_rag/chains.py +++ b/RetrievalAugmentedGeneration/examples/developer_rag/chains.py @@ -27,6 +27,9 @@ from llama_index.core.node_parser import LangchainNodeParser from llama_index.llms.langchain import LangChainLLM from llama_index.embeddings.langchain import LangchainEmbedding +from RetrievalAugmentedGeneration.common.tracing import llama_index_cb_handler +from llama_index.core import Settings +from llama_index.core.callbacks import CallbackManager from langchain_core.output_parsers.string import StrOutputParser from langchain_core.prompts.chat import ChatPromptTemplate @@ -49,7 +52,7 @@ ) # nltk downloader -nltk.download("averaged_perceptron_tagger") +# nltk.download("averaged_perceptron_tagger") # prestage the embedding model _ = get_embedding_model() @@ -66,6 +69,7 @@ class QAChatbot(BaseExample): def ingest_docs(self, filepath: str, filename: str): """Ingest documents to the VectorDB.""" try: + Settings.callback_manager = CallbackManager([llama_index_cb_handler]) logger.info(f"Ingesting {filename} in vectorDB") _, ext = os.path.splitext(filename) @@ -116,36 +120,23 @@ def llm_chain( logger.info("Using llm to generate response directly without knowledge base.") set_service_context(**kwargs) # TODO Include chat_history - prompt = get_config().prompts.chat_template.format( - context_str="", query_str=query - ) + prompt = get_config().prompts.chat_template logger.info(f"Prompt used for response generation: {prompt}") - # stream_complete is returning empty response with NIM - # TODO: Use llama_index llm wrapper to stream response - if get_config().llm.model_engine == "triton-trt-llm": - llm = LangChainLLM(get_llm(**kwargs)) - response = llm.stream_complete( - prompt, - tokens=kwargs.get("max_tokens", None), - callbacks=[self.cb_handler], - ) - gen_response = (resp.delta for resp in response) - return gen_response - else: - # This is for get_config().llm.model_engine == "nvidia-ai-endpoints-nim" - user_input = [("user", get_config().prompts.chat_template)] + system_message = [("system", prompt)] + user_input = [("user", "{query_str}")] - prompt_template = ChatPromptTemplate.from_messages(user_input) + prompt_template = ChatPromptTemplate.from_messages( + system_message + user_input + ) - llm = get_llm(**kwargs) + llm = get_llm(**kwargs) - chain = prompt_template | llm | StrOutputParser() - augmented_user_input = "\n\nQuestion: " + query + "\n" - return chain.stream( - {"context_str": "", "query_str": query}, - config={"callbacks": [self.cb_handler]}, - ) + chain = prompt_template | llm | StrOutputParser() + return chain.stream( + {"query_str": query}, + config={"callbacks": [self.cb_handler]}, + ) def rag_chain( self, query: str, chat_history: List["Message"], **kwargs @@ -159,7 +150,7 @@ def rag_chain( retriever = get_doc_retriever(num_nodes=get_config().retriever.top_k) qa_template = Prompt(get_config().prompts.rag_template) - logger.info(f"Prompt used for response generation: {qa_template}") + logger.info(f"Prompt template used for response generation: {qa_template}") # Handling Retrieval failure nodes = retriever.retrieve(query) diff --git a/RetrievalAugmentedGeneration/examples/multi_turn_rag/chains.py b/RetrievalAugmentedGeneration/examples/multi_turn_rag/chains.py index 3024d0acc..6dd8ad5fe 100644 --- a/RetrievalAugmentedGeneration/examples/multi_turn_rag/chains.py +++ b/RetrievalAugmentedGeneration/examples/multi_turn_rag/chains.py @@ -42,7 +42,6 @@ from RetrievalAugmentedGeneration.common.tracing import langchain_instrumentation_class_wrapper from operator import itemgetter -DOCS_DIR = os.path.abspath("./uploaded_files") document_embedder = get_embedding_model() text_splitter = None settings = get_config() @@ -74,8 +73,7 @@ def ingest_docs(self, filepath: str, filename: str): raise ValueError(f"{filename} is not a valid Text, PDF or Markdown file") try: # Load raw documents from the directory - # Data is copied to `DOCS_DIR` in common.server:upload_document - _path = os.path.join(DOCS_DIR, filename) + _path = filepath raw_documents = UnstructuredFileLoader(_path).load() if raw_documents: @@ -103,23 +101,25 @@ def llm_chain( # WAR: Disable chat history (UI consistency). chat_history = [] conversation_history = [(msg.role, msg.content) for msg in chat_history] - user_message = [("user", settings.prompts.chat_template)] + system_message = [("system", settings.prompts.chat_template)] + user_message = [("user", "{query_str}")] # TODO: Enable this block once conversation history is enabled for llm chain # Checking if conversation_history is not None and not empty # prompt_template = ChatPromptTemplate.from_messages( - # conversation_history + user_message + # system_message + conversation_history + user_message # ) if conversation_history else ChatPromptTemplate.from_messages( - # user_message + # system_message + user_message # ) prompt_template = ChatPromptTemplate.from_messages( - user_message + system_message + user_message ) llm = get_llm(**kwargs) chain = prompt_template | llm | StrOutputParser() - return chain.stream({"context_str": "", "query_str": query}, config={"callbacks":[self.cb_handler]}) + logger.info(f"Prompt used for response generation: {prompt_template.format(query_str=query)}") + return chain.stream({"query_str": query}, config={"callbacks":[self.cb_handler]}) def rag_chain(self, query: str, chat_history: List["Message"], **kwargs) -> Generator[str, None, None]: """Execute a Retrieval Augmented Generation chain using the components defined above.""" @@ -132,7 +132,7 @@ def rag_chain(self, query: str, chat_history: List["Message"], **kwargs) -> Gene # ("user", "{input}"), # ] # ) - + # This is a workaround Prompt Template chat_prompt = ChatPromptTemplate.from_messages( [ @@ -171,7 +171,9 @@ def rag_chain(self, query: str, chat_history: List["Message"], **kwargs) -> Gene if not docs: logger.warning("Retrieval failed to get any relevant context") return iter(["No response generated from LLM, make sure your query is relavent to the ingested document."]) - + + logger.debug(f"Retrieved docs are: {docs}") + chain = retrieval_chain | stream_chain for chunk in chain.stream({"input": query}, config={"callbacks":[self.cb_handler]}): @@ -204,6 +206,7 @@ def rag_chain(self, query: str, chat_history: List["Message"], **kwargs) -> Gene logger.warning("Retrieval failed to get any relevant context") return iter(["No response generated from LLM, make sure your query is relavent to the ingested document."]) + logger.debug(f"Retrieved documents are: {docs}") chain = retrieval_chain | stream_chain for chunk in chain.stream({"input": query}, config={"callbacks":[self.cb_handler]}): yield chunk diff --git a/RetrievalAugmentedGeneration/examples/multimodal_rag/chains.py b/RetrievalAugmentedGeneration/examples/multimodal_rag/chains.py index fbadbf690..bcd686989 100644 --- a/RetrievalAugmentedGeneration/examples/multimodal_rag/chains.py +++ b/RetrievalAugmentedGeneration/examples/multimodal_rag/chains.py @@ -18,6 +18,7 @@ from typing import Generator, List, Dict, Any from functools import lru_cache from traceback import print_exc +from langchain_community.document_loaders import UnstructuredFileLoader from RetrievalAugmentedGeneration.common.utils import utils_cache @@ -25,34 +26,29 @@ from RetrievalAugmentedGeneration.common.base import BaseExample from RetrievalAugmentedGeneration.example.llm.llm_client import LLMClient -from RetrievalAugmentedGeneration.example.retriever.embedder import NVIDIAEmbedders -from RetrievalAugmentedGeneration.example.retriever.vector import MilvusVectorClient -from RetrievalAugmentedGeneration.example.retriever.retriever import Retriever from RetrievalAugmentedGeneration.example.vectorstore.vectorstore_updater import update_vectorstore -from RetrievalAugmentedGeneration.common.utils import get_config +from RetrievalAugmentedGeneration.common.utils import ( + get_config, + create_vectorstore_langchain, + get_embedding_model, + get_text_splitter, + get_docs_vectorstore_langchain, + del_docs_vectorstore_langchain, + get_vectorstore +) from RetrievalAugmentedGeneration.common.tracing import langchain_instrumentation_class_wrapper +document_embedder = get_embedding_model() +text_splitter = None settings = get_config() sources = [] RESPONSE_PARAPHRASING_MODEL = settings.llm.model_name -@lru_cache -def get_vector_index(embed_dim: int = 1024) -> MilvusVectorClient: - return MilvusVectorClient(hostname="milvus", port="19530", collection_name=os.getenv('COLLECTION_NAME', "vector_db"), embedding_size=embed_dim) - -@lru_cache -def get_embedder(type: str = "query") -> NVIDIAEmbedders: - if type == "query": - embedder = NVIDIAEmbedders(name=settings.embeddings.model_name, type="query") - else: - embedder = NVIDIAEmbedders(name=settings.embeddings.model_name, type="passage") - return embedder - -@lru_cache -def get_doc_retriever(type: str = "query") -> Retriever: - embedder = get_embedder(type) - embedding_size = embedder.get_embedding_size() - return Retriever(embedder=get_embedder(type) , vector_client=get_vector_index(embedding_size)) +try: + docstore = create_vectorstore_langchain(document_embedder=document_embedder) +except Exception as e: + docstore = None + logger.info(f"Unable to connect to vector store during initialization: {e}") @utils_cache @lru_cache() @@ -66,17 +62,18 @@ class MultimodalRAG(BaseExample): def ingest_docs(self, filepath: str, filename: str): """Ingest documents to the VectorDB.""" - if not filename.endswith(".pdf"): - raise ValueError(f"{filename} is not a valid PDF file. Only PDF files are supported for multimodal rag. The PDF files can contain multimodal data.") + if not filename.endswith((".pdf",".pptx")): + raise ValueError(f"{filename} is not a valid PDF/PPTX file. Only PDF/PPTX files are supported for multimodal rag. The PDF/PPTX files can contain multimodal data.") try: - embedder = get_embedder(type="passage") - embedding_size = embedder.get_embedding_size() - update_vectorstore(os.path.abspath(filepath), get_vector_index(embedding_size), embedder, os.getenv('COLLECTION_NAME', "vector_db")) + _path = filepath + ds = get_vectorstore(docstore, document_embedder) + update_vectorstore(_path,ds,document_embedder,os.getenv('COLLECTION_NAME', "vector_db")) except Exception as e: logger.error(f"Failed to ingest document due to exception {e}") - print_exc() - raise ValueError("Failed to upload document. Please check chain server logs for details.") + raise ValueError( + "Failed to upload document. Please upload an unstructured text document." + ) def llm_chain( @@ -95,18 +92,35 @@ def rag_chain(self, query: str, chat_history: List["Message"], **kwargs) -> Gene logger.info("Using rag to generate response from document") # TODO integrate chat_history try: - retriever = get_doc_retriever(type="query") - context, sources = retriever.get_relevant_docs(query, limit=settings.retriever.top_k) - if not context: - logger.warning("Retrieval failed to get any relevant context") - return iter(["No response generated from LLM, make sure your query is relavent to the ingested document."]) - - augmented_prompt = "Relevant documents:" + context + "\n\n[[QUESTION]]\n\n" + query - system_prompt = settings.prompts.rag_template - logger.info(f"Formulated prompt for RAG chain: {system_prompt}\n{augmented_prompt}") - response = get_llm(model_name=RESPONSE_PARAPHRASING_MODEL, cb_handler=self.cb_handler, is_response_generator=True, **kwargs).chat_with_prompt(settings.prompts.rag_template, augmented_prompt) - return response - + ds = get_vectorstore(docstore, document_embedder) + if ds: + try: + logger.info(f"Getting retrieved top k values: {settings.retriever.top_k} with confidence threshold: {settings.retriever.score_threshold}") + retriever = ds.as_retriever(search_type="similarity_score_threshold",search_kwargs={"score_threshold": settings.retriever.score_threshold,"k": settings.retriever.top_k}) + docs = retriever.invoke(input=query, config={"callbacks":[self.cb_handler]}) + if not docs: + logger.warning("Retrieval failed to get any relevant context") + return iter(["No response generated from LLM, make sure your query is relavent to the ingested document."]) + + augmented_prompt = "Relevant documents:" + docs + "\n\n[[QUESTION]]\n\n" + query + system_prompt = settings.prompts.rag_template + logger.info(f"Formulated prompt for RAG chain: {system_prompt}\n{augmented_prompt}") + response = get_llm(model_name=RESPONSE_PARAPHRASING_MODEL, cb_handler=self.cb_handler, is_response_generator=True, **kwargs).chat_with_prompt(settings.prompts.rag_template, augmented_prompt) + return response + except Exception as e: + logger.info(f"Skipping similarity score as it's not supported by retriever") + retriever = ds.as_retriever() + docs = retriever.invoke(input=query, config={"callbacks":[self.cb_handler]}) + if not docs: + logger.warning("Retrieval failed to get any relevant context") + return iter(["No response generated from LLM, make sure your query is relavent to the ingested document."]) + docs=[doc.page_content for doc in docs] + docs = " ".join(docs) + augmented_prompt = "Relevant documents:" + docs + "\n\n[[QUESTION]]\n\n" + query + system_prompt = settings.prompts.rag_template + logger.info(f"Formulated prompt for RAG chain: {system_prompt}\n{augmented_prompt}") + response = get_llm(model_name=RESPONSE_PARAPHRASING_MODEL, cb_handler=self.cb_handler, is_response_generator=True, **kwargs).chat_with_prompt(settings.prompts.rag_template, augmented_prompt) + return response except Exception as e: logger.warning(f"Failed to generate response due to exception {e}") logger.warning( @@ -122,11 +136,12 @@ def document_search(self, content: str, num_docs: int) -> List[Dict[str, Any]]: """Search for the most relevant documents for the given search parameters.""" try: - retriever = get_doc_retriever(type="query") - context, sources = retriever.get_relevant_docs(content, limit=settings.retriever.top_k) + ds = get_vectorstore(docstore, document_embedder) + retriever = ds.as_retriever() + sources = retriever.invoke(input=content, limit=settings.retriever.top_k, config={"callbacks":[self.cb_handler]}) output = [] - for every_chunk in sources.values(): - entry = {"source": every_chunk['doc_metadata']['filename'], "content": every_chunk['doc_content']} + for every_chunk in sources: + entry = {"source": every_chunk.metadata['filename'], "content": every_chunk.page_content} output.append(entry) return output except Exception as e: @@ -135,14 +150,19 @@ def document_search(self, content: str, num_docs: int) -> List[Dict[str, Any]]: def get_documents(self): """Retrieves filenames stored in the vector store.""" - embedding_size = get_embedder(type="passage").get_embedding_size() - vector_db = get_vector_index(embedding_size) - decoded_filenames = vector_db.list_filenames() - return decoded_filenames + try: + ds = get_vectorstore(docstore, document_embedder) + if ds: + return get_docs_vectorstore_langchain(ds) + except Exception as e: + logger.error(f"Vectorstore not initialized. Error details: {e}") + return [] def delete_documents(self, filenames: List[str]): """Delete documents from the vector index.""" - embedding_size = get_embedder(type="passage").get_embedding_size() - vector_db = get_vector_index(embedding_size) - for each_file in filenames: - vector_db.delete_by_filename(each_file) \ No newline at end of file + try: + ds = get_vectorstore(docstore, document_embedder) + if ds: + return del_docs_vectorstore_langchain(ds, filenames) + except Exception as e: + logger.error(f"Vectorstore not initialized. Error details: {e}") diff --git a/RetrievalAugmentedGeneration/examples/multimodal_rag/llm/llm_client.py b/RetrievalAugmentedGeneration/examples/multimodal_rag/llm/llm_client.py index 559641407..14997d0f2 100644 --- a/RetrievalAugmentedGeneration/examples/multimodal_rag/llm/llm_client.py +++ b/RetrievalAugmentedGeneration/examples/multimodal_rag/llm/llm_client.py @@ -13,6 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. +import logging +logger = logging.getLogger(__name__) + from RetrievalAugmentedGeneration.example.llm.llm import create_llm from langchain_core.output_parsers import StrOutputParser from langchain_core.prompts import ChatPromptTemplate @@ -23,10 +26,11 @@ class LLMClient: def __init__(self, model_name="mixtral_8x7b", model_type="NVIDIA", is_response_generator=False, cb_handler=BaseCallbackHandler, **kwargs): self.llm = create_llm(model_name, model_type, is_response_generator, **kwargs) self.cb_handler = cb_handler - + def chat_with_prompt(self, system_prompt, prompt): langchain_prompt = ChatPromptTemplate.from_messages([("system", system_prompt), ("user", "{input}")]) chain = langchain_prompt | self.llm | StrOutputParser() + logger.info(f"Prompt used for response generation: {langchain_prompt.format(input=prompt)}") response = chain.stream({"input": prompt}, config={"callbacks": [self.cb_handler]}) return response diff --git a/RetrievalAugmentedGeneration/examples/multimodal_rag/requirements.txt b/RetrievalAugmentedGeneration/examples/multimodal_rag/requirements.txt index 0f43b859c..f1d7a09f7 100644 --- a/RetrievalAugmentedGeneration/examples/multimodal_rag/requirements.txt +++ b/RetrievalAugmentedGeneration/examples/multimodal_rag/requirements.txt @@ -1,8 +1,10 @@ -pymupdf==1.23.15 +pdfplumber==0.11.0 gspread==6.0.0 pandas==2.2.0 Pillow==10.2.0 pydantic==2.5.3 pymilvus==2.3.5 -python_pptx==0.6.23 -Requests==2.31.0 \ No newline at end of file +python-pptx==0.6.23 +Requests==2.31.0 +opencv-python== 4.9.0.80 +pytesseract==0.3.10 \ No newline at end of file diff --git a/RetrievalAugmentedGeneration/examples/multimodal_rag/retriever/vector.py b/RetrievalAugmentedGeneration/examples/multimodal_rag/retriever/vector.py index aab9683d2..a8af767ec 100644 --- a/RetrievalAugmentedGeneration/examples/multimodal_rag/retriever/vector.py +++ b/RetrievalAugmentedGeneration/examples/multimodal_rag/retriever/vector.py @@ -155,7 +155,7 @@ def list_filenames(self): List all filenames in the collection. """ # Assuming 'filename' is a field in the metadata - + expr = "metadata['filename'] != ''" # Expression to match all entities with a non-empty filename entities = self.vector_db.query(expr, output_fields=["metadata"]) filenames = list(set([entity['metadata']['filename'] for entity in entities])) @@ -169,4 +169,4 @@ def delete_by_filename(self, filename): expr = f"metadata['filename'] == '{filename}'" self.vector_db.delete(expr) # Load the collection to make the deletion take effect - self.vector_db.load() + self.vector_db.load() diff --git a/RetrievalAugmentedGeneration/examples/multimodal_rag/vectorstore/custom_pdf_parser.py b/RetrievalAugmentedGeneration/examples/multimodal_rag/vectorstore/custom_pdf_parser.py index c54753764..cec1b40fb 100644 --- a/RetrievalAugmentedGeneration/examples/multimodal_rag/vectorstore/custom_pdf_parser.py +++ b/RetrievalAugmentedGeneration/examples/multimodal_rag/vectorstore/custom_pdf_parser.py @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -import fitz +from pdfplumber import open as pdf_open import pandas as pd import os from langchain.docstore.document import Document @@ -22,6 +22,8 @@ from PIL import Image from io import BytesIO import base64 +import cv2 +import pytesseract from RetrievalAugmentedGeneration.common.tracing import langchain_instrumentation_method_wrapper def get_b64_image(image_path): @@ -31,6 +33,12 @@ def get_b64_image(image_path): b64_string = base64.b64encode(buffered.getvalue()).decode("utf-8") return b64_string +def is_bbox_overlapping(bbox1, bbox2): + return (bbox1[0]bbox2[0] and bbox1[1]>bbox2[3] and bbox1[3]bbox2[0] and bbox1[1]>bbox2[3] and bbox1[3]= -horizontal_threshold_distance: - if block_bbox.y1 < bbox.y0 and not before_text: - before_text = block[4] - elif block_bbox.y0 > bbox.y1 and not after_text: - after_text = block[4] + if block['y1'] < bbox[1] and not before_text: + before_text = block['text'] + elif block['y0'] > bbox[2] and not after_text: + after_text = block['text'] break return before_text, after_text - def process_text_blocks(text_blocks): char_count_threshold = 500 # Threshold for the number of characters in a group current_group = [] grouped_blocks = [] current_char_count = 0 - for block in text_blocks: - if block[-1] == 0: # Check if the block is of text type - block_text = block[4] + if block['object_type'] in ('char','str'): # Check if the block is of text type + block_text = block['text'] block_char_count = len(block_text) if current_char_count + block_char_count <= char_count_threshold: @@ -101,170 +127,195 @@ def process_text_blocks(text_blocks): current_char_count += block_char_count else: if current_group: - grouped_content = "\n".join([b[4] for b in current_group]) + grouped_content = " ".join([b['text'] for b in current_group]) grouped_blocks.append((current_group[0], grouped_content)) current_group = [block] current_char_count = block_char_count # Append the last group if current_group: - grouped_content = "\n".join([b[4] for b in current_group]) + grouped_content = "".join([b['text'] for b in current_group]) grouped_blocks.append((current_group[0], grouped_content)) return grouped_blocks +def parse_via_ocr(filename, page, pagenum): + ocr_docs = [] + ocr_image = page.to_image(resolution=109) + imgrefpath = os.path.join("/tmp-data", "multimodal/ocr_references") + if not os.path.exists(imgrefpath): + os.makedirs(imgrefpath) + image_path = os.path.join(imgrefpath, f"page{pagenum}.png") + ocr_image.save(image_path) + img = cv2.imread(image_path) + ocr_text = pytesseract.image_to_string(img) + ocr_metadata = { + "x1":0, + "y1":0, + "x2":0, + "x3":0, + "source": f"{os.path.basename(filename)}", + "image": image_path, + "caption": ocr_text, + "type": "image", + "page_num": pagenum + } + + ocr_docs.append(Document(page_content="This is a page with text: " + ocr_text, metadata=ocr_metadata)) + return ocr_docs + def parse_all_tables(filename, page, pagenum, text_blocks, ongoing_tables): table_docs = [] table_bboxes = [] ctr = 1 - try: - tables = page.find_tables(horizontal_strategy = "lines_strict", vertical_strategy = "lines_strict") + try: + tables = page.find_tables(table_settings={"horizontal_strategy":"lines_strict", "vertical_strategy":"lines_strict"}) except Exception as e: print(f"Error during table extraction: {e}") return table_docs, table_bboxes, ongoing_tables if tables: - for tab in tables: - if tab.header.external: - # Check if this table is a continuation of a table from a previous page - previous_table = ongoing_tables.get(pagenum - 1, None) - if previous_table: - # Merge the current table with the previous part - combined_df = pd.concat([previous_table['dataframe'], tab.to_pandas()]) - ongoing_tables[pagenum] = {"dataframe": combined_df, "bbox": bbox} - continue - if not tab.header.external: - pandas_df = tab.to_pandas() - tablerefdir = os.path.join(os.getcwd(), "multimodal/table_references") - if not os.path.exists(tablerefdir): - os.makedirs(tablerefdir) - df_xlsx_path = os.path.join(tablerefdir, f"table{ctr}-page{pagenum}.xlsx") - pandas_df.to_excel(df_xlsx_path) - bbox = fitz.Rect(tab.bbox) - table_bboxes.append(bbox) - - # Find text around the table - before_text, after_text = extract_text_around_item(text_blocks, bbox, page.rect.height) - - table_img = page.get_pixmap(clip=bbox) - table_img_path = os.path.join(tablerefdir, f"table{ctr}-page{pagenum}.jpg") - table_img.save(table_img_path) - description = process_graph(table_img_path) - ctr += 1 - - caption = before_text.replace("\n", " ") + description + after_text.replace("\n", " ") - if before_text == "" and after_text == "": - caption = " ".join(tab.header.names) - - - table_metadata = { - "source": f"{filename[:-4]}-page{pagenum}-table{ctr}", - "dataframe": df_xlsx_path, - "image": table_img_path, - "caption": caption, - "type": "table", - "page_num": pagenum - } - all_cols = ", ".join(list(pandas_df.columns.values)) - doc = Document(page_content="This is a table with the caption: " + caption + f"\nThe columns are {all_cols}", metadata=table_metadata) - table_docs.append(doc) + for table_num, table in enumerate(tables, start=1): + try: + tablerefdir = os.path.join("/tmp-data", "vectorstore/table_references") + if not os.path.exists(tablerefdir): + os.makedirs(tablerefdir) + df_xlsx_path = os.path.join(tablerefdir, f"table{table_num}-page{pagenum}.xlsx") + page_crop=page.crop(table.bbox) + if len(page_crop.extract_tables())>0: + table_df_text = page_crop.extract_tables()[0] + table_df = text_to_table(table_df_text) + table_df.to_excel(df_xlsx_path) + # Find text around the table + table_bbox = table.bbox + before_text, after_text = extract_text_around_item(text_blocks, table_bbox, page.height) + # Save table image + table_img_path = os.path.join(tablerefdir, f"table{table_num}-page{pagenum}.jpg") + img = page_crop.to_image(resolution=109) + img.save(table_img_path) + description = process_graph(table_img_path) + ctr +=1 + caption = before_text.replace("\n", " ") + description + after_text.replace("\n", " ") + if before_text == "" and after_text == "": + caption = " ".join(table_df.columns) + table_data_text = stringify_table(table_df_text) + table_metadata = { + "x1":0, + "y1":0, + "x2":0, + "x3":0, + "source": f"{os.path.basename(filename)}", + "dataframe": df_xlsx_path, + "image": table_img_path, + "caption": caption, + "type": "table", + "page_num": pagenum + 1 + } + all_cols = ", ".join(list(table_df.columns.values)) + doc = Document(page_content="This is a table with the caption: " + caption + f"\nThe columns are {all_cols} and the table data is {table_data_text}", metadata=table_metadata) + table_docs.append(doc) + except: + print(f"Skipping Table {table_num} due to Exception {e}") return table_docs, table_bboxes, ongoing_tables def parse_all_images(filename, page, pagenum, text_blocks): image_docs = [] - image_info_list = page.get_image_info(xrefs=True) - page_rect = page.rect # Get the dimensions of the page - - for image_info in image_info_list: - xref = image_info['xref'] - if xref == 0: - continue # Skip inline images or undetectable images - - img_bbox = fitz.Rect(image_info['bbox']) - # Check if the image size is at least 5% of the page size in any dimension - if img_bbox.width < page_rect.width / 20 or img_bbox.height < page_rect.height / 20: - continue # Skip very small images + image_list = page.images + # image_info_list = page.get_image_info(xrefs=True) + # page_rect = page.rect # Get the dimensions of the page + + for image_num, image in enumerate(image_list): + # xref = image_info['xref'] + # if xref == 0: + # continue # Skip inline images or undetectable images + image_bbox = (image['x0'],image['y0'], image['x1'],image['y1']) + # Check if the image size is at least 5% of the page size in any dimension + if image["width"] < page.width / 20 or image["height"] < page.height / 20: + continue # Skip very small images + + # Extract and save the image + page_crop = page.crop(image_bbox,strict=False) + image_data = page_crop.to_image() + imgrefpath = os.path.join("/tmp-data", "multimodal/image_references") + if not os.path.exists(imgrefpath): + os.makedirs(imgrefpath) + image_path = os.path.join(imgrefpath, f"image{image_num}-page{pagenum}.png") + image_data.save(image_path) + # Find text around the image + before_text, after_text = extract_text_around_item(text_blocks, image_bbox, page.height) + # skip images without a caption, they are likely just some logo or graphics + if before_text == "" and after_text == "": + continue - # Extract and save the image - extracted_image = page.parent.extract_image(xref) - image_data = extracted_image["image"] - imgrefpath = os.path.join(os.getcwd(), "multimodal/image_references") - if not os.path.exists(imgrefpath): - os.makedirs(imgrefpath) - image_path = os.path.join(imgrefpath, f"image{xref}-page{pagenum}.png") - with open(image_path, "wb") as img_file: - img_file.write(image_data) + # Process the image if it's a graph + image_description = " " + if is_graph(image_path): + image_description = process_graph(image_path) - # Find text around the image - before_text, after_text = extract_text_around_item(text_blocks, img_bbox, page.rect.height) - # skip images without a caption, they are likely just some logo or graphics - if before_text == "" and after_text == "": - continue + # Combine the texts to form a caption + caption = before_text.replace("\n", " ") + image_description + after_text.replace("\n", " ") - # Process the image if it's a graph - image_description = " " - if is_graph(image_path): - image_description = process_graph(image_path) + image_metadata = { + "x1":0, + "y1":0, + "x2":0, + "x3":0, + "source": f"{os.path.basename(filename)}", + "image": image_path, + "caption": caption, + "type": "image", + "page_num": pagenum + } - # Combine the texts to form a caption - caption = before_text.replace("\n", " ") + image_description + after_text.replace("\n", " ") + image_docs.append(Document(page_content="This is an image with the caption: " + caption, metadata=image_metadata)) - image_metadata = { - "source": f"{filename[:-4]}-page{pagenum}-image{xref}", - "image": image_path, - "caption": caption, - "type": "image", - "page_num": pagenum - } - image_docs.append(Document(page_content="This is an image with the caption: " + caption, metadata=image_metadata)) return image_docs def get_pdf_documents(filepath): all_pdf_documents = [] ongoing_tables = {} try: - f = fitz.open(filepath) + f = pdf_open(filepath) except Exception as e: print(f"Error opening or processing the PDF file: {e}") return [] - - for i in range(len(f)): - page = f[i] - page_docs = [] - - # Process text blocks - initial_text_blocks = page.get_text("blocks", sort=True) - - # Define thresholds for header and footer (10% of the page height) - page_height = page.rect.height - header_threshold = page_height * 0.1 - footer_threshold = page_height * 0.9 - - # Filter out text blocks that are likely headers or footers - text_blocks = [block for block in initial_text_blocks if block[-1] == 0 and not (block[1] < header_threshold or block[3] > footer_threshold)] - - # Group text blocks by character count - grouped_text_blocks = process_text_blocks(text_blocks) - - # Extract tables and their bounding boxes - table_docs, table_bboxes, ongoing_tables = parse_all_tables(filepath, page, i, text_blocks, ongoing_tables) - page_docs.extend(table_docs) - - # Extract and process images - image_docs = parse_all_images(filepath, page, i, text_blocks) - page_docs.extend(image_docs) - - # Process grouped text blocks - text_block_ctr = 0 - for heading_block, content in grouped_text_blocks: - text_block_ctr +=1 - heading_bbox = fitz.Rect(heading_block[:4]) - # Check if the heading or its content overlaps with table or image bounding boxes - if not any(heading_bbox.intersects(table_bbox) for table_bbox in table_bboxes): - bbox = {"x1": heading_block[0], "y1": heading_block[1], "x2": heading_block[2], "x3": heading_block[3]} - text_doc = Document(page_content=f"{heading_block[4]}\n{content}", metadata={**bbox, "type": "text", "page_num": i, "source": f"{filepath[:-4]}-page{i}-block{text_block_ctr}"}) - page_docs.append(text_doc) - - all_pdf_documents.append(page_docs) - + for page_num, page in enumerate(f.pages): + try: + page_docs = [] + + # Define thresholds for header and footer (10% of the page height) + page_height = page.height + header_threshold = page_height * 0.1 + footer_threshold = page_height * 0.9 + + # Crop out page to remove footers and headers + page_crop = page.crop([0,header_threshold,page.width,footer_threshold]) + text_blocks = [obj for obj in page_crop.chars if obj['object_type'] == 'char'] + grouped_text_blocks = process_text_blocks(text_blocks) + + if len(grouped_text_blocks)==0: + # Perform OCR on PDF pages + ocr_docs = parse_via_ocr(filepath, page_crop, page_num) + page_docs.extend(ocr_docs) + # Extract tables and their bounding boxes + table_docs, table_bboxes, ongoing_tables = parse_all_tables(filepath, page, page_num, text_blocks, ongoing_tables) + page_docs.extend(table_docs) + + # Extract and process images + image_docs = parse_all_images(filepath, page, page_num, text_blocks) + page_docs.extend(image_docs) + + # Process text blocks + text_block_ctr = 0 + for heading_block, content in grouped_text_blocks: + text_block_ctr +=1 + heading_bbox = (heading_block['x0'],heading_block['y0'],heading_block['x1'],heading_block['y1']) + # Check if the heading or its content overlaps with table or image bounding boxes + if not any(is_bbox_overlapping(heading_bbox,table_bbox) for table_bbox in table_bboxes): + bbox = {"x1": heading_bbox[0], "y1": heading_bbox[1], "x2": heading_bbox[2], "x3": heading_bbox[3]} + text_doc = Document(page_content=f"{heading_block['text']}\n{content}", metadata={**bbox, "type": "text", "page_num": page_num, "source": f"{os.path.basename(filepath)}"}) + page_docs.append(text_doc) + all_pdf_documents.append(page_docs) + except Exception as e: + print(f"Skipping the page {page_num} due to Exception {e}") f.close() return all_pdf_documents diff --git a/RetrievalAugmentedGeneration/examples/multimodal_rag/vectorstore/custom_powerpoint_parser.py b/RetrievalAugmentedGeneration/examples/multimodal_rag/vectorstore/custom_powerpoint_parser.py index d5531a369..791a7d5dc 100644 --- a/RetrievalAugmentedGeneration/examples/multimodal_rag/vectorstore/custom_powerpoint_parser.py +++ b/RetrievalAugmentedGeneration/examples/multimodal_rag/vectorstore/custom_powerpoint_parser.py @@ -16,7 +16,7 @@ import os import subprocess from pptx import Presentation -import fitz +from pdfplumber import open as pdf_open from langchain.docstore.document import Document from RetrievalAugmentedGeneration.example.vectorstore.custom_pdf_parser import is_graph, process_graph @@ -24,7 +24,7 @@ def convert_ppt_to_pdf(ppt_path): """Convert a PowerPoint file to PDF using LibreOffice and save in '../../ppt_references/' folder.""" base_name = os.path.basename(ppt_path) - ppt_name_without_ext = os.path.splitext(base_name)[0].replace(' ', '_') + ppt_name_without_ext = os.path.splitext(base_name)[0].replace(" ", "_") # Use the existing directory '../../ppt_references/' new_dir_path = os.path.abspath("multimodal/ppt_references") @@ -38,22 +38,22 @@ def convert_ppt_to_pdf(ppt_path): return pdf_path + def convert_pdf_to_images(pdf_path): """Convert a PDF file to a series of images using PyMuPDF and save in '../../ppt_references/' folder.""" - doc = fitz.open(pdf_path) + doc = pdf_open(pdf_path) # Extract the base name of the PDF file and replace spaces with underscores base_name = os.path.basename(pdf_path) - pdf_name_without_ext = os.path.splitext(base_name)[0].replace(' ', '_') + pdf_name_without_ext = os.path.splitext(base_name)[0].replace(" ", "_") # Use the existing directory '../../ppt_references/' new_dir_path = os.path.join(os.getcwd(), "multimodal/ppt_references") image_paths = [] - for page_num in range(len(doc)): - page = doc.load_page(page_num) - pix = page.get_pixmap() + for page_num, page in enumerate(doc.pages): + pix = page.to_image() # Save images in the existing directory output_image_path = os.path.join(new_dir_path, f"{pdf_name_without_ext}_{page_num:04d}.png") @@ -63,6 +63,7 @@ def convert_pdf_to_images(pdf_path): doc.close() return image_paths + def extract_text_and_notes_from_ppt(ppt_path): """Extract text and notes from a PowerPoint file.""" prs = Presentation(ppt_path) @@ -70,12 +71,13 @@ def extract_text_and_notes_from_ppt(ppt_path): for slide in prs.slides: slide_text = ' '.join([shape.text for shape in slide.shapes if hasattr(shape, "text")]) try: - notes = slide.notes_slide.notes_text_frame.text if slide.notes_slide else '' + notes = slide.notes_slide.notes_text_frame.text if slide.notes_slide else "" except: - notes = '' + notes = "" text_and_notes.append((slide_text, notes)) return text_and_notes + def process_ppt_file(ppt_path): """Process a PowerPoint file.""" pdf_path = os.path.join(os.getcwd(), "multimodal/ppt_references", os.path.basename(ppt_path).replace('.pptx', '.pdf').replace('.ppt', '.pdf')) @@ -92,14 +94,18 @@ def process_ppt_file(ppt_path): image_description = " " if is_graph(image_path): image_description = process_graph(image_path) - + caption = slide_text + image_description + notes image_metadata = { - "source": f"{os.path.basename(ppt_path)}", - "image": image_path, - "caption": slide_text + image_description + notes, - "type": "image", - "page_num": page_num + "x1":0, + "y1":0, + "x2":0, + "x3":0, + "source": f"{os.path.basename(ppt_path)}", + "image": image_path, + "caption": caption, + "type": "image", + "page_num": page_num } processed_data.append(Document(page_content = "This is a slide with the text: " + slide_text + image_description, metadata = image_metadata)) - return processed_data + return processed_data \ No newline at end of file diff --git a/RetrievalAugmentedGeneration/examples/multimodal_rag/vectorstore/vectorstore_updater.py b/RetrievalAugmentedGeneration/examples/multimodal_rag/vectorstore/vectorstore_updater.py index 1297761a0..9e833db4d 100644 --- a/RetrievalAugmentedGeneration/examples/multimodal_rag/vectorstore/vectorstore_updater.py +++ b/RetrievalAugmentedGeneration/examples/multimodal_rag/vectorstore/vectorstore_updater.py @@ -17,7 +17,6 @@ import os from langchain.text_splitter import RecursiveCharacterTextSplitter from langchain_community.document_loaders import UnstructuredFileLoader - from RetrievalAugmentedGeneration.example.vectorstore.custom_powerpoint_parser import process_ppt_file from RetrievalAugmentedGeneration.example.vectorstore.custom_pdf_parser import get_pdf_documents @@ -74,17 +73,10 @@ def update_vectorstore(file_path, vector_client, embedder, config_name): documents = split_text(raw_documents) # Adding file name to the metadata - extract_filename = lambda filepath : os.path.splitext(os.path.basename(filepath))[0] for document in documents: - document.metadata["filename"] = extract_filename(file_path) + document.metadata["filename"] = os.path.basename(file_path) logger.info("[Step 3/4] Inserting documents into the vector store...") - # Extracting the page content from each document - document_contents = [doc.page_content for doc in documents] - - # Embedding the documents using the updated embedding function - document_embeddings = embedder.embed_documents(document_contents, batch_size=10) - # Batch insert into Milvus collection - vector_client.update(documents, document_embeddings, config_name) + vector_client.add_documents(documents) logger.info("[Step 4/4] Saved vector store!") diff --git a/RetrievalAugmentedGeneration/examples/nvidia_api_catalog/chains.py b/RetrievalAugmentedGeneration/examples/nvidia_api_catalog/chains.py index ba41b4a63..82f330174 100644 --- a/RetrievalAugmentedGeneration/examples/nvidia_api_catalog/chains.py +++ b/RetrievalAugmentedGeneration/examples/nvidia_api_catalog/chains.py @@ -29,7 +29,6 @@ from RetrievalAugmentedGeneration.common.tracing import langchain_instrumentation_class_wrapper logger = logging.getLogger(__name__) -DOCS_DIR = os.path.abspath("./uploaded_files") vector_store_path = "vectorstore.pkl" document_embedder = get_embedding_model() text_splitter = None @@ -49,8 +48,7 @@ def ingest_docs(self, filepath: str, filename: str): raise ValueError(f"{filename} is not a valid Text, PDF or Markdown file") try: # Load raw documents from the directory - # Data is copied to `DOCS_DIR` in common.server:upload_document - _path = os.path.join(DOCS_DIR, filename) + _path = filepath raw_documents = UnstructuredFileLoader(_path).load() if raw_documents: @@ -92,6 +90,7 @@ def llm_chain( augmented_user_input = ( "\n\nQuestion: " + query + "\n" ) + logger.info(f"Prompt used for response generation: {prompt_template.format(input=augmented_user_input)}") return chain.stream({"input": augmented_user_input}, config={"callbacks":[self.cb_handler]}) def rag_chain(self, query: str, chat_history: List["Message"], **kwargs) -> Generator[str, None, None]: @@ -127,6 +126,7 @@ def rag_chain(self, query: str, chat_history: List["Message"], **kwargs) -> Gene retriever = vs.as_retriever() docs = retriever.get_relevant_documents(query, callbacks=[self.cb_handler]) + logger.debug(f"Retrieved documents are: {docs}") if not docs: logger.warning("Retrieval failed to get any relevant context") return iter(["No response generated from LLM, make sure your query is relavent to the ingested document."]) @@ -139,6 +139,7 @@ def rag_chain(self, query: str, chat_history: List["Message"], **kwargs) -> Gene "Context: " + context + "\n\nQuestion: " + query + "\n" ) + logger.info(f"Prompt used for response generation: {prompt_template.format(input=augmented_user_input)}") return chain.stream({"input": augmented_user_input}, config={"callbacks":[self.cb_handler]}) except Exception as e: logger.warning(f"Failed to generate response due to exception {e}") diff --git a/RetrievalAugmentedGeneration/examples/nvidia_api_catalog/requirements.txt b/RetrievalAugmentedGeneration/examples/nvidia_api_catalog/requirements.txt deleted file mode 100644 index 39556ee63..000000000 --- a/RetrievalAugmentedGeneration/examples/nvidia_api_catalog/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -faiss-cpu==1.7.4 \ No newline at end of file diff --git a/RetrievalAugmentedGeneration/examples/query_decomposition_rag/chains.py b/RetrievalAugmentedGeneration/examples/query_decomposition_rag/chains.py index a09acc398..1a5b9a084 100644 --- a/RetrievalAugmentedGeneration/examples/query_decomposition_rag/chains.py +++ b/RetrievalAugmentedGeneration/examples/query_decomposition_rag/chains.py @@ -16,7 +16,7 @@ """ This example showcases recursive task decomposition to perform RAG which requires multiple steps. The agent is a langchain custom LLM agent, which uses 2 tools - search and math. -It uses OpenAI's GPT-4 model for sub-answer formation, tool prediction and math operations. It uses the deployed LLM for final answer formation. +It uses Llama3 model for sub-answer formation, tool prediction and math operations. Search tool is a RAG pipeline, whereas the math tool uses an LLM call to perform mathematical calculations. """ @@ -55,7 +55,6 @@ logger = logging.getLogger(__name__) -DOCS_DIR = os.path.abspath("./uploaded_files") vector_store_path = "vectorstore.pkl" document_embedder = get_embedding_model() settings = get_config() @@ -89,9 +88,10 @@ def fetch_context(ledger: Ledger) -> str: return context template = """Your task is to answer questions. If you cannot answer the question, you can request use for a tool and break the question into specific sub questions. Fill with Nil where no action is required. You should only return a JSON containing the tool and the generated sub questions. Consider the contextual information and only ask for information that you do not already have. Do not return any other explanations or text. The output should be a simple JSON structure! You are given two tools: -- Search tool -- Math tool - +- Search +- Math +Search tool quickly finds and retrieves relevant answers from a given context, providing accurate and precise information to meet search needs. +Math tool performs essential operations, including multiplication, addition, subtraction, division, and greater than or less than comparisons, providing accurate results with ease. Utilize math tool when asked to find sum, difference of values. Do not pass sub questions to any tool if they already have an answer in the Contextual Information. If you have all the information needed to answer the question, mark the Tool_Request as Nil. @@ -104,6 +104,32 @@ def fetch_context(ledger: Ledger) -> str: {"Tool_Request": "", "Generated Sub Questions": []} """ +math_tool_prompt = """Your task is to identify 2 variables and an operation from given questions. If you cannot answer the question, you can simply return "Not Possible". You should only return a JSON containing the `IsPossible`, `variable1`, `variable2`, and `operation`. Do not return any other explanations or text. The output should be a simple JSON structure! + You are given two options for `IsPossible`: +- Possible +- Not Possible + `variable1` and `variable2` should be real floating point numbers. + You are given four options for `operation symbols`: +- '+' (addition) +- '-' (subtraction) +- '*' (multiplication) +- '/' (division) +- '=' (equal to) +- '>' (greater than) +- '<' (less than) +- '>=' (greater than or equal to) +- '<=' (less than or equal to) + Only return the symbols for the specified operations and nothing else. +Contextual Information: +{{ context }} + +Question: +{{ question }} + +{"IsPossible": "", "variable1": [], "variable2": [], "operation": []} +""" + + class CustomPromptTemplate(BaseChatPromptTemplate): template: str tools: List[Tool] @@ -147,10 +173,10 @@ def parse(self, llm_output: str) -> Union[AgentAction, AgentFinish]: log=llm_output, ) - if local_state["Tool_Request"] == "Search tool": + if local_state["Tool_Request"] == "Search": self.ledger.trace += 1 - if local_state["Tool_Request"] in ["Search tool", "Math tool"]: + if local_state["Tool_Request"] in ["Search", "Math"]: return AgentAction( tool=local_state["Tool_Request"], tool_input={"sub_questions": local_state["Generated Sub Questions"]}, @@ -166,8 +192,7 @@ def ingest_docs(self, filepath: str, filename: str): raise ValueError(f"{filename} is not a valid Text, PDF or Markdown file") try: # Load raw documents from the directory - # Data is copied to `DOCS_DIR` in common.server:upload_document - _path = os.path.join(DOCS_DIR, filename) + _path = filepath raw_documents = UnstructuredFileLoader(_path).load() if raw_documents: @@ -206,6 +231,7 @@ def llm_chain( augmented_user_input = ( "\n\nQuestion: " + query + "\n" ) + logger.info(f"Prompt used for response generation: {prompt_template.format(input=augmented_user_input)}") return chain.stream({"input": augmented_user_input}, config={"callbacks":[self.cb_handler]}) def rag_chain(self, query: str, chat_history: List["Message"], **kwargs) -> Generator[str, None, None]: @@ -228,7 +254,7 @@ def rag_chain(self, query: str, chat_history: List["Message"], **kwargs) -> Gene ) llm = get_llm(**kwargs) chain = final_prompt_template | llm | StrOutputParser() - + logger.info(f"Prompt used for final response generation: {final_prompt_template}") return chain.stream({}, config={"callbacks":[self.cb_handler]}) except ValueError as e: logger.warning(f"Failed to get response because {e}") @@ -244,8 +270,8 @@ def create_agent(self, **kwargs) -> AgentExecutor: self.kwargs = kwargs tools = [ - Tool(name="Search tool", func=self.search, description="Searches for the answer from a given context."), - Tool(name="Math tool", func=self.math, description="Performs mathematical calculations."), + Tool(name="Search", func=self.search, description="The Search Tool is a powerful querying system that quickly finds and retrieves relevant answers from a given context, providing accurate and precise information to meet your search needs."), + Tool(name="Math", func=self.math, description="The Math Tool is a versatile calculator that performs essential mathematical operations, including multiplication, addition, subtraction, division, and greater than or less than comparisons, providing accurate results with ease."), ] tool_names = [tool.name for tool in tools] @@ -295,7 +321,7 @@ def retriever(self, query: str) -> List[str]: # Currently it's raising an error during invoke. retriever = vs.as_retriever() result = retriever.get_relevant_documents(query, callbacks=[self.cb_handler]) - logger.info(result) + logger.debug(result) return [hit.page_content for hit in result] @@ -332,16 +358,28 @@ def math(self, sub_questions: List[str]): """ Places an LLM call to answer mathematical subquestions which do not require search """ + try: + prompt = f"{math_tool_prompt}\nQuestion: {sub_questions[0]}" + prompt += f"Context:\n{fetch_context(self.ledger)}\n" + logger.info(f"Performing Math LLM call with prompt: {prompt}") + llm = get_llm(**self.kwargs) + sub_answer = llm([HumanMessage(content=prompt)]) + sub_answer = json.loads(sub_answer.content) + final_sub_answer= str(sub_answer['variable1'])+sub_answer['operation']+str(sub_answer['variable2']) + final_sub_answer=final_sub_answer+'='+str(eval(final_sub_answer)) + except: + prompt = "Solve this mathematical question:\nQuestion: " + sub_questions[0] + prompt += f"Context:\n{fetch_context(self.ledger)}\n" + prompt += "Be concise and only return the answer." + + logger.info(f"Performing Math LLM call with prompt: {prompt}") + llm = get_llm(**self.kwargs) + sub_answer = llm([HumanMessage(content=prompt)]) + final_sub_answer = sub_answer.content - prompt = "Solve this mathematical question:\nQuestion: " + sub_questions[0] - prompt += f"Context:\n{fetch_context(self.ledger)}\n" - prompt += "Be concise and only return the answer." - logger.info(f"Performing Math LLM call with prompt: {prompt}") - llm = get_llm(**self.kwargs) - sub_answer = llm([HumanMessage(content=prompt)]) self.ledger.question_trace.append(sub_questions[0]) - self.ledger.answer_trace.append(sub_answer.content) + self.ledger.answer_trace.append(final_sub_answer) self.ledger.done = True diff --git a/RetrievalAugmentedGeneration/examples/query_decomposition_rag/requirements.txt b/RetrievalAugmentedGeneration/examples/query_decomposition_rag/requirements.txt deleted file mode 100644 index 39556ee63..000000000 --- a/RetrievalAugmentedGeneration/examples/query_decomposition_rag/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -faiss-cpu==1.7.4 \ No newline at end of file diff --git a/RetrievalAugmentedGeneration/examples/structured_data_rag/chains.py b/RetrievalAugmentedGeneration/examples/structured_data_rag/chains.py index 2f2b3066f..d322bbccb 100644 --- a/RetrievalAugmentedGeneration/examples/structured_data_rag/chains.py +++ b/RetrievalAugmentedGeneration/examples/structured_data_rag/chains.py @@ -106,12 +106,12 @@ def read_and_concatenate_csv(self, file_paths_txt): def ingest_docs(self, filepath: str, filename: str): """Ingest documents to the VectorDB.""" - + if not filename.endswith(".csv"): raise ValueError(f"{filename} is not a valid CSV file") with open(INGESTED_CSV_FILES_LIST, "a+", encoding="UTF-8") as f: - + ref_csv_path = None try: @@ -152,8 +152,7 @@ def llm_chain( system_message + user_input ) - logger.info("Using prompt for response: %s", prompt) - + logger.info(f"Using prompt for response generation: {prompt.format(input=query)}") chain = prompt | get_llm(**kwargs) | StrOutputParser() return chain.stream({"input": query}) @@ -241,4 +240,5 @@ def get_documents(self) -> List[str]: def delete_documents(self, filenames: List[str]): """Delete documents from the vector index.""" - logger.error("delete_documents not implemented") \ No newline at end of file + logger.error("delete_documents not implemented") + return True \ No newline at end of file diff --git a/RetrievalAugmentedGeneration/frontend/Dockerfile b/RetrievalAugmentedGeneration/frontend/Dockerfile index 24d85ea55..4fe4e64c1 100644 --- a/RetrievalAugmentedGeneration/frontend/Dockerfile +++ b/RetrievalAugmentedGeneration/frontend/Dockerfile @@ -1,5 +1,5 @@ ARG BASE_IMAGE_URL=nvcr.io/nvidia/base/ubuntu -ARG BASE_IMAGE_TAG=20.04_x64_2022-09-23 +ARG BASE_IMAGE_TAG=22.04_20240212 FROM ${BASE_IMAGE_URL}:${BASE_IMAGE_TAG} diff --git a/RetrievalAugmentedGeneration/frontend/frontend/chat_client.py b/RetrievalAugmentedGeneration/frontend/frontend/chat_client.py index 406757363..19d8c42a6 100644 --- a/RetrievalAugmentedGeneration/frontend/frontend/chat_client.py +++ b/RetrievalAugmentedGeneration/frontend/frontend/chat_client.py @@ -34,7 +34,7 @@ def __init__(self, server_url: str, model_name: str) -> None: """Initialize the client.""" self.server_url = server_url self._model_name = model_name - self.default_model = "llama2-7B-chat" + self.default_model = "meta/llama3-70b-instruct" @property def model_name(self) -> str: @@ -83,13 +83,6 @@ def predict( } ], "use_knowledge_base": use_knowledge_base, - "temperature": 0.2, - "top_p": 0.7, - "max_tokens": num_tokens, - "seed": 42, - "bad": ["string"], - "stop": ["string"], - "stream": True } url = f"{self.server_url}/generate" _LOGGER.debug( diff --git a/RetrievalAugmentedGeneration/frontend/frontend/configuration.py b/RetrievalAugmentedGeneration/frontend/frontend/configuration.py index c1a7333ac..864ae45b8 100644 --- a/RetrievalAugmentedGeneration/frontend/frontend/configuration.py +++ b/RetrievalAugmentedGeneration/frontend/frontend/configuration.py @@ -39,6 +39,6 @@ class AppConfig(ConfigWizard): ) model_name: str = configfield( "modelName", - default="llama2-7B-chat", + default="meta/llama3-70b-instruct", help_txt="The name of the hosted LLM model.", ) diff --git a/RetrievalAugmentedGeneration/frontend/frontend/pages/kb.py b/RetrievalAugmentedGeneration/frontend/frontend/pages/kb.py index e30bc5b48..b66a2819f 100644 --- a/RetrievalAugmentedGeneration/frontend/frontend/pages/kb.py +++ b/RetrievalAugmentedGeneration/frontend/frontend/pages/kb.py @@ -57,7 +57,7 @@ def build_page(client: chat_client.ChatClient) -> gr.Blocks: message_textbox = gr.Textbox( label="Message", interactive=False, visible=True ) - + with gr.Row(): delete_button = gr.Button("Delete") diff --git a/RetrievalAugmentedGeneration/frontend/frontend/tts_utils.py b/RetrievalAugmentedGeneration/frontend/frontend/tts_utils.py index 1ca4d62ea..2266c138f 100644 --- a/RetrievalAugmentedGeneration/frontend/frontend/tts_utils.py +++ b/RetrievalAugmentedGeneration/frontend/frontend/tts_utils.py @@ -101,10 +101,10 @@ def text_to_speech(text, language, voice, enable_tts): tts_client = riva.client.SpeechSynthesisService(grpc_auth) _LOGGER.info(f"Calling synthesize_online") - - # To manage the 400-character limit for Riva's text-to-speech (TTS), longer answers are segmented by adding 'full stops' at every 400 characters - for i in range(len(text)//400): - indx = text.rfind(' ',i*400) + + # To manage the 400-character limit for Riva's text-to-speech (TTS), longer answers are segmented by adding 'full stops' at every 300 characters (300 instead of 400 to take in account phoneme expansion) + for i in range((len(text)//300)+1): + indx = text.rfind(' ',0,(i+1)*300) text = text[:indx]+' . '+text[indx:] response = tts_client.synthesize_online( diff --git a/RetrievalAugmentedGeneration/llm-inference-server/Dockerfile b/RetrievalAugmentedGeneration/llm-inference-server/Dockerfile deleted file mode 100644 index ef47aa245..000000000 --- a/RetrievalAugmentedGeneration/llm-inference-server/Dockerfile +++ /dev/null @@ -1,22 +0,0 @@ -ARG BASE_IMAGE_URL=nvcr.io/nvidia/nemo/nemofw-inference -ARG BASE_IMAGE_TAG=23.10-for-rag - -FROM ${BASE_IMAGE_URL}:${BASE_IMAGE_TAG} - -ENV LD_LIBRARY_PATH=/opt/tritonserver/backends/tensorrtllm:$LD_LIBRARY_PATH - -# install model-server automation -COPY conversion_scripts /opt/conversion_scripts -COPY ensemble_models /opt/ensemble_models -COPY model_server /opt/model_server -COPY model_server_client /opt/model_server_client -RUN --mount=type=bind,source=requirements.txt,target=/opt/requirements.txt \ - pip install --no-cache-dir -r /opt/requirements.txt - -# Create basic directories - -RUN mkdir /model && chmod 1777 /model && \ - mkdir -p /home/triton-server && chown 1000:1000 /home/triton-server && chmod 700 /home/triton-server - -WORKDIR /opt -ENTRYPOINT ["/usr/bin/python3", "-m", "model_server"] diff --git a/RetrievalAugmentedGeneration/llm-inference-server/conversion_scripts/llama/build.py b/RetrievalAugmentedGeneration/llm-inference-server/conversion_scripts/llama/build.py deleted file mode 100644 index 2a57d4cdb..000000000 --- a/RetrievalAugmentedGeneration/llm-inference-server/conversion_scripts/llama/build.py +++ /dev/null @@ -1,776 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2022-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -import argparse -import json -import os -import time -from pathlib import Path - -import tensorrt as trt -import tensorrt_llm -import torch -import torch.multiprocessing as mp -from tensorrt_llm._utils import str_dtype_to_trt -from tensorrt_llm.builder import Builder -from tensorrt_llm.layers.attention import PositionEmbeddingType -from tensorrt_llm.logger import logger -from tensorrt_llm.mapping import Mapping -from tensorrt_llm.models import ( - fp8_quantize, - smooth_quantize, - weight_only_groupwise_quantize, - weight_only_quantize, -) -from tensorrt_llm.network import net_guard -from tensorrt_llm.plugin.plugin import ContextFMHAType -from tensorrt_llm.quantization import QuantMode -from transformers import LlamaConfig, LlamaForCausalLM -from weight import ( - get_scaling_factors, - load_from_awq_llama, - load_from_binary, - load_from_gptq_llama, - load_from_hf_llama, - load_from_meta_llama, -) - -from weight import parse_ft_config # isort:skip - -MODEL_NAME = "llama" - -# 2 routines: get_engine_name, serialize_engine -# are direct copy from gpt example, TODO: put in utils? - -import onnx -import tensorrt as trt -from onnx import TensorProto, helper - - -def trt_dtype_to_onnx(dtype): - if dtype == trt.float16: - return TensorProto.DataType.FLOAT16 - elif dtype == trt.float32: - return TensorProto.DataType.FLOAT - elif dtype == trt.int32: - return TensorProto.DataType.INT32 - else: - raise TypeError("%s is not supported" % dtype) - - -def to_onnx(network, path): - inputs = [] - for i in range(network.num_inputs): - network_input = network.get_input(i) - inputs.append( - helper.make_tensor_value_info( - network_input.name, - trt_dtype_to_onnx(network_input.dtype), - list(network_input.shape), - ) - ) - - outputs = [] - for i in range(network.num_outputs): - network_output = network.get_output(i) - outputs.append( - helper.make_tensor_value_info( - network_output.name, - trt_dtype_to_onnx(network_output.dtype), - list(network_output.shape), - ) - ) - - nodes = [] - for i in range(network.num_layers): - layer = network.get_layer(i) - layer_inputs = [] - for j in range(layer.num_inputs): - ipt = layer.get_input(j) - if ipt is not None: - layer_inputs.append(layer.get_input(j).name) - layer_outputs = [layer.get_output(j).name for j in range(layer.num_outputs)] - nodes.append( - helper.make_node( - str(layer.type), - name=layer.name, - inputs=layer_inputs, - outputs=layer_outputs, - domain="com.nvidia", - ) - ) - - onnx_model = helper.make_model( - helper.make_graph(nodes, "attention", inputs, outputs, initializer=None), - producer_name="NVIDIA", - ) - onnx.save(onnx_model, path) - - -def get_engine_name(model, dtype, tp_size, pp_size, rank): - if pp_size == 1: - return "{}_{}_tp{}_rank{}.engine".format(model, dtype, tp_size, rank) - return "{}_{}_tp{}_pp{}_rank{}.engine".format(model, dtype, tp_size, pp_size, rank) - - -def serialize_engine(engine, path): - logger.info(f"Serializing engine to {path}...") - tik = time.time() - with open(path, "wb") as f: - f.write(bytearray(engine)) - tok = time.time() - t = time.strftime("%H:%M:%S", time.gmtime(tok - tik)) - logger.info(f"Engine serialized. Total time: {t}") - - -def parse_arguments(): - parser = argparse.ArgumentParser() - parser.add_argument("--world_size", type=int, default=1) - parser.add_argument("--tp_size", type=int, default=1) - parser.add_argument("--pp_size", type=int, default=1) - parser.add_argument("--model_dir", type=str, default=None) - parser.add_argument("--ft_model_dir", type=str, default=None) - parser.add_argument("--meta_ckpt_dir", type=str, default=None) - parser.add_argument("--quant_ckpt_path", type=str, default=None) - parser.add_argument( - "--dtype", - type=str, - default="float16", - choices=["float32", "bfloat16", "float16"], - ) - parser.add_argument( - "--timing_cache", - type=str, - default="model.cache", - help="The path of to read timing cache from, will be ignored if the file does not exist", - ) - parser.add_argument("--log_level", type=str, default="info") - parser.add_argument("--vocab_size", type=int, default=32000) - parser.add_argument("--n_layer", type=int, default=32) - parser.add_argument("--n_positions", type=int, default=2048) - parser.add_argument("--n_embd", type=int, default=4096) - parser.add_argument("--n_head", type=int, default=32) - parser.add_argument("--n_kv_head", type=int, default=None) - parser.add_argument("--multiple_of", type=int, default=256) - parser.add_argument("--ffn_dim_multiplier", type=float, default=1.0) - parser.add_argument("--inter_size", type=int, default=None) - parser.add_argument("--hidden_act", type=str, default="silu") - parser.add_argument("--rms_norm_eps", type=float, default=1e-06) - parser.add_argument("--max_batch_size", type=int, default=8) - parser.add_argument("--max_input_len", type=int, default=2048) - parser.add_argument("--max_output_len", type=int, default=512) - parser.add_argument("--max_beam_width", type=int, default=1) - parser.add_argument("--rotary_base", type=float, default=10000.0) - parser.add_argument("--rotary_scaling", nargs=2, type=str, default=None) - parser.add_argument( - "--use_gpt_attention_plugin", - nargs="?", - const="float16", - type=str, - default=False, - choices=["float16", "bfloat16", "float32"], - ) - parser.add_argument( - "--use_gemm_plugin", - nargs="?", - const="float16", - type=str, - default=False, - choices=["float16", "bfloat16", "float32"], - ) - parser.add_argument( - "--use_rmsnorm_plugin", - nargs="?", - const="float16", - type=str, - default=False, - choices=["float16", "float32", "bfloat16"], - ) - parser.add_argument("--parallel_build", default=False, action="store_true") - parser.add_argument("--enable_context_fmha", default=False, action="store_true") - parser.add_argument( - "--enable_context_fmha_fp32_acc", default=False, action="store_true" - ) - parser.add_argument("--visualize", default=False, action="store_true") - parser.add_argument("--enable_debug_output", default=False, action="store_true") - parser.add_argument("--gpus_per_node", type=int, default=8) - parser.add_argument("--builder_opt", type=int, default=None) - parser.add_argument( - "--output_dir", - type=str, - default="llama_outputs", - help="The path to save the serialized engine files, timing cache file and model configs", - ) - parser.add_argument("--remove_input_padding", default=False, action="store_true") - - # Arguments related to the quantization of the model. - parser.add_argument( - "--use_smooth_quant", - default=False, - action="store_true", - help="Use the SmoothQuant method to quantize activations and weights for the various GEMMs." - "See --per_channel and --per_token for finer-grained quantization options.", - ) - parser.add_argument( - "--per_channel", - default=False, - action="store_true", - help="By default, we use a single static scaling factor for the GEMM's result. " - "per_channel instead uses a different static scaling factor for each channel. " - "The latter is usually more accurate, but a little slower.", - ) - parser.add_argument( - "--per_token", - default=False, - action="store_true", - help="By default, we use a single static scaling factor to scale activations in the int8 range. " - "per_token chooses at run time, and for each token, a custom scaling factor. " - "The latter is usually more accurate, but a little slower.", - ) - parser.add_argument( - "--per_group", - default=False, - action="store_true", - help="By default, we use a single static scaling factor to scale weights in the int4 range. " - "per_group chooses at run time, and for each group, a custom scaling factor. " - "The flag is built for GPTQ/AWQ quantization.", - ) - parser.add_argument( - "--group_size", - type=int, - default=128, - help="Group size used in GPTQ/AWQ quantization.", - ) - parser.add_argument( - "--int8_kv_cache", - default=False, - action="store_true", - help="By default, we use dtype for KV cache. int8_kv_cache chooses int8 quantization for KV", - ) - parser.add_argument( - "--use_parallel_embedding", - action="store_true", - default=False, - help="By default embedding parallelism is disabled. By setting this flag, embedding parallelism is enabled", - ) - parser.add_argument( - "--embedding_sharding_dim", - type=int, - default=1, # Meta does TP on hidden dim - choices=[0, 1], - help="By default the embedding lookup table is sharded along vocab dimension (embedding_sharding_dim=0). " - "To shard it along hidden dimension, set embedding_sharding_dim=1" - "Note: embedding sharing is only enabled when embedding_sharding_dim = 0", - ) - parser.add_argument( - "--enable_fp8", - default=False, - action="store_true", - help="Use FP8 Linear layer for Attention QKV/Dense and MLP.", - ) - parser.add_argument( - "--fp8_kv_cache", - default=False, - action="store_true", - help="By default, we use dtype for KV cache. fp8_kv_cache chooses int8 quantization for KV", - ) - parser.add_argument( - "--quantized_fp8_model_path", - type=str, - default=None, - help="Path of a quantized model checkpoint in .npz format", - ) - parser.add_argument( - "--use_weight_only", - default=False, - action="store_true", - help="Quantize weights for the various GEMMs to INT4/INT8." - "See --weight_only_precision to set the precision", - ) - parser.add_argument( - "--weight_only_precision", - const="int8", - type=str, - nargs="?", - default="int8", - choices=["int8", "int4", "int4_awq", "int4_gptq"], - help="Define the precision for the weights when using weight-only quantization." - "You must also use --use_weight_only for that argument to have an impact.", - ) - parser.add_argument( - "--use_inflight_batching", - action="store_true", - default=False, - help="Activates inflight batching mode of gptAttentionPlugin.", - ) - parser.add_argument( - "--paged_kv_cache", - action="store_true", - default=False, - help="By default we use contiguous KV cache. By setting this flag you enable paged KV cache", - ) - parser.add_argument( - "--tokens_per_block", - type=int, - default=64, - help="Number of tokens per block in paged KV cache", - ) - parser.add_argument( - "--max_num_tokens", - type=int, - default=None, - help="Define the max number of tokens supported by the engine", - ) - parser.add_argument( - "--strongly_typed", - default=False, - action="store_true", - help="This option is introduced with trt 9.1.0.1+ and will reduce the building time significantly for fp8.", - ) - parser.add_argument( - "--use_custom_all_reduce", - action="store_true", - help="Activates latency-optimized algorithm for all-reduce instead of NCCL.", - ) - - args = parser.parse_args() - tensorrt_llm.logger.set_level(args.log_level) - - assert not ( - args.use_smooth_quant and args.use_weight_only - ), "You cannot enable both SmoothQuant and INT8 weight-only together." - - if not args.remove_input_padding: - if args.use_gpt_attention_plugin: - logger.warning( - f"It is recommended to specify --remove_input_padding when using GPT attention plugin" - ) - - if args.use_inflight_batching: - if not args.use_gpt_attention_plugin: - args.use_gpt_attention_plugin = "float16" - logger.info( - f"Using GPT attention plugin for inflight batching mode. Setting to default '{args.use_gpt_attention_plugin}'" - ) - if not args.remove_input_padding: - args.remove_input_padding = True - logger.info("Using remove input padding for inflight batching mode.") - if not args.paged_kv_cache: - args.paged_kv_cache = True - logger.info("Using paged KV cache for inflight batching mode.") - - if args.use_smooth_quant: - args.quant_mode = QuantMode.use_smooth_quant(args.per_token, args.per_channel) - elif args.use_weight_only: - if args.per_group: - args.quant_mode = QuantMode.from_description( - quantize_weights=True, - quantize_activations=False, - per_token=False, - per_channel=False, - per_group=True, - use_int4_weights=True, - ) - else: - args.quant_mode = QuantMode.use_weight_only( - args.weight_only_precision == "int4" - ) - else: - args.quant_mode = QuantMode(0) - - if args.int8_kv_cache: - args.quant_mode = args.quant_mode.set_int8_kv_cache() - elif args.fp8_kv_cache: - args.quant_mode = args.quant_mode.set_fp8_kv_cache() - if args.enable_fp8: - args.quant_mode = args.quant_mode.set_fp8_qdq() - - if args.rotary_scaling is not None: - rotary_scaling = { - "type": args.rotary_scaling[0], - "factor": float(args.rotary_scaling[1]), - } - assert rotary_scaling["type"] in ["linear", "dynamic"] - assert rotary_scaling["factor"] > 1.0 - args.rotary_scaling = rotary_scaling - if rotary_scaling["type"] == "dynamic": - assert not args.remove_input_padding, "TODO: Not supported yet" - - # Since gpt_attenttion_plugin is the only way to apply RoPE now, - # force use the plugin for now with the correct data type. - args.use_gpt_attention_plugin = args.dtype - if args.model_dir is not None: - hf_config = LlamaConfig.from_pretrained(args.model_dir) - args.inter_size = ( - hf_config.intermediate_size - ) # override the inter_size for LLaMA - args.n_embd = hf_config.hidden_size - args.n_head = hf_config.num_attention_heads - if hasattr(hf_config, "num_key_value_heads"): - args.n_kv_head = hf_config.num_key_value_heads - args.n_layer = hf_config.num_hidden_layers - args.n_positions = hf_config.max_position_embeddings - args.vocab_size = hf_config.vocab_size - args.hidden_act = hf_config.hidden_act - args.rms_norm_eps = hf_config.rms_norm_eps - elif args.meta_ckpt_dir is not None: - with open(Path(args.meta_ckpt_dir, "params.json")) as fp: - meta_config: dict = json.load(fp) - args.n_embd = meta_config["dim"] - args.n_head = meta_config["n_heads"] - args.n_layer = meta_config["n_layers"] - args.n_kv_head = meta_config.get("n_kv_heads", args.n_head) - args.multiple_of = meta_config["multiple_of"] - args.ffn_dim_multiplier = meta_config.get("ffn_dim_multiplier", 1) - n_embd = int(4 * args.n_embd * 2 / 3) - args.inter_size = args.multiple_of * ( - (int(n_embd * args.ffn_dim_multiplier) + args.multiple_of - 1) - // args.multiple_of - ) - args.rms_norm_eps = meta_config["norm_eps"] - elif args.ft_model_dir is not None: - ( - n_embd, - n_head, - n_layer, - n_positions, - vocab_size, - hidden_act, - inter_size, - n_kv_head, - ) = parse_ft_config(Path(args.ft_model_dir) / "config.ini") - args.inter_size = inter_size # override the inter_size for LLaMA - args.n_kv_head = n_kv_head - args.n_embd = n_embd - args.n_head = n_head - args.n_layer = n_layer - args.n_positions = n_positions - args.vocab_size = vocab_size - args.hidden_act = hidden_act - args.rms_norm_eps = 1e-06 - logger.warning("Set rms_norm_eps to 1e-06 directly.") - assert args.use_gpt_attention_plugin, "LLaMa must use gpt attention plugin" - if args.n_kv_head is None: - args.n_kv_head = args.n_head - elif args.n_kv_head != args.n_head: - assert ( - args.n_head % args.n_kv_head - ) == 0, "MQA/GQA requires the number of heads to be divisible by the number of K/V heads." - assert (args.n_kv_head % args.tp_size) == 0 or ( - args.tp_size % args.n_kv_head - ) == 0, ( - "MQA/GQA requires either the number of K/V heads to be divisible by the tensor parallelism size OR " - "the tensor parallelism size to be divisible by the number of K/V heads." - ) - - if args.dtype == "bfloat16": - assert args.use_gemm_plugin, "Please use gemm plugin when dtype is bfloat16" - - assert args.pp_size * args.tp_size == args.world_size - - if args.max_num_tokens is not None: - assert args.enable_context_fmha - - if args.inter_size is None: - # this should not be need when loading a real model - # but it is helpful when creating a dummy model without loading any real weights - n_embd = int(4 * args.n_embd * 2 / 3) - args.inter_size = args.multiple_of * ( - (int(n_embd * args.ffn_dim_multiplier) + args.multiple_of - 1) - // args.multiple_of - ) - logger.info(f"Setting inter_size to {args.inter_size}.") - - return args - - -def build_rank_engine( - builder: Builder, - builder_config: tensorrt_llm.builder.BuilderConfig, - engine_name, - rank, - args, -): - """ - @brief: Build the engine on the given rank. - @param rank: The rank to build the engine. - @param args: The cmd line arguments. - @return: The built engine. - """ - dtype = str_dtype_to_trt(args.dtype) - mapping = Mapping( - world_size=args.world_size, - rank=rank, - tp_size=args.tp_size, - pp_size=args.pp_size, - ) - - assert ( - args.n_layer % args.pp_size == 0 - ), f"num_layers {args.n_layer} must be a multiple of pipeline parallelism size {args.pp_size}" - - # Initialize Module - tensorrt_llm_llama = tensorrt_llm.models.LLaMAForCausalLM( - num_layers=args.n_layer, - num_heads=args.n_head, - num_kv_heads=args.n_kv_head, - hidden_size=args.n_embd, - vocab_size=args.vocab_size, - hidden_act=args.hidden_act, - max_position_embeddings=args.n_positions, - dtype=dtype, - mlp_hidden_size=args.inter_size, - position_embedding_type=PositionEmbeddingType.rope_gpt_neox, - mapping=mapping, - rotary_base=args.rotary_base, - rotary_scaling=args.rotary_scaling, - use_parallel_embedding=args.use_parallel_embedding, - embedding_sharding_dim=args.embedding_sharding_dim, - quant_mode=args.quant_mode, - rms_norm_eps=args.rms_norm_eps, - ) - if args.use_smooth_quant: - tensorrt_llm_llama = smooth_quantize(tensorrt_llm_llama, args.quant_mode) - elif args.use_weight_only: - if args.weight_only_precision == "int8": - tensorrt_llm_llama = weight_only_quantize( - tensorrt_llm_llama, args.quant_mode - ) - elif args.weight_only_precision == "int4": - tensorrt_llm_llama = weight_only_quantize( - tensorrt_llm_llama, args.quant_mode - ) - elif args.weight_only_precision == "int4_awq": - tensorrt_llm_llama = weight_only_groupwise_quantize( - model=tensorrt_llm_llama, - quant_mode=args.quant_mode, - group_size=args.group_size, - zero=False, - pre_quant_scale=True, - exclude_modules=[], - ) - elif args.weight_only_precision == "int4_gptq": - tensorrt_llm_llama = weight_only_groupwise_quantize( - model=tensorrt_llm_llama, - quant_mode=args.quant_mode, - group_size=args.group_size, - zero=True, - pre_quant_scale=False, - ) - elif args.enable_fp8 or args.fp8_kv_cache: - logger.info(f"Loading scaling factors from " f"{args.quantized_fp8_model_path}") - quant_scales = get_scaling_factors( - args.quantized_fp8_model_path, - num_layers=args.n_layer, - quant_mode=args.quant_mode, - ) - tensorrt_llm_llama = fp8_quantize( - tensorrt_llm_llama, quant_mode=args.quant_mode, quant_scales=quant_scales - ) - if args.per_group: - load_func = ( - load_from_awq_llama - if args.weight_only_precision == "int4_awq" - else load_from_gptq_llama - ) - load_func( - tensorrt_llm_llama=tensorrt_llm_llama, - quant_ckpt_path=args.quant_ckpt_path, - mapping=mapping, - dtype=args.dtype, - ) - elif args.meta_ckpt_dir is not None: - load_from_meta_llama( - tensorrt_llm_llama, args.meta_ckpt_dir, mapping, args.dtype - ) - elif args.model_dir is not None: - logger.info(f"Loading HF LLaMA ... from {args.model_dir}") - tik = time.time() - hf_llama = LlamaForCausalLM.from_pretrained( - args.model_dir, - device_map={"model": "cpu", "lm_head": "cpu"}, # Load to CPU memory - torch_dtype="auto", - ) - tok = time.time() - t = time.strftime("%H:%M:%S", time.gmtime(tok - tik)) - logger.info(f"HF LLaMA loaded. Total time: {t}") - load_from_hf_llama( - tensorrt_llm_llama, hf_llama, mapping=mapping, dtype=args.dtype - ) - del hf_llama - elif args.ft_model_dir is not None: - load_from_binary( - tensorrt_llm_llama, - args.ft_model_dir, - mapping, - fp16=(args.dtype == "float16"), - multi_query_mode=(args.n_kv_head != args.n_head), - ) - - # Module -> Network - network = builder.create_network() - network.trt_network.name = engine_name - if args.use_gpt_attention_plugin: - network.plugin_config.set_gpt_attention_plugin( - dtype=args.use_gpt_attention_plugin - ) - if args.use_gemm_plugin: - network.plugin_config.set_gemm_plugin(dtype=args.use_gemm_plugin) - if args.use_rmsnorm_plugin: - network.plugin_config.set_rmsnorm_plugin(dtype=args.use_rmsnorm_plugin) - - # Quantization plugins. - if args.use_smooth_quant: - network.plugin_config.set_smooth_quant_gemm_plugin(dtype=args.dtype) - network.plugin_config.set_rmsnorm_quantization_plugin(dtype=args.dtype) - network.plugin_config.set_quantize_tensor_plugin() - network.plugin_config.set_quantize_per_token_plugin() - assert not (args.enable_context_fmha and args.enable_context_fmha_fp32_acc) - if args.enable_context_fmha: - network.plugin_config.set_context_fmha(ContextFMHAType.enabled) - if args.enable_context_fmha_fp32_acc: - network.plugin_config.set_context_fmha(ContextFMHAType.enabled_with_fp32_acc) - if args.use_weight_only: - if args.per_group: - network.plugin_config.set_weight_only_groupwise_quant_matmul_plugin( - dtype="float16" - ) - else: - network.plugin_config.set_weight_only_quant_matmul_plugin(dtype="float16") - if args.world_size > 1: - network.plugin_config.set_nccl_plugin(args.dtype, args.use_custom_all_reduce) - if args.remove_input_padding: - network.plugin_config.enable_remove_input_padding() - if args.paged_kv_cache: - network.plugin_config.enable_paged_kv_cache(args.tokens_per_block) - - with net_guard(network): - # Prepare - network.set_named_parameters(tensorrt_llm_llama.named_parameters()) - - # Forward - inputs = tensorrt_llm_llama.prepare_inputs( - args.max_batch_size, - args.max_input_len, - args.max_output_len, - True, - args.max_beam_width, - args.max_num_tokens, - ) - tensorrt_llm_llama(*inputs) - if args.enable_debug_output: - # mark intermediate nodes' outputs - for k, v in tensorrt_llm_llama.named_network_outputs(): - v = v.trt_tensor - v.name = k - network.trt_network.mark_output(v) - v.dtype = dtype - if args.visualize: - model_path = os.path.join(args.output_dir, "test.onnx") - to_onnx(network.trt_network, model_path) - - tensorrt_llm.graph_rewriting.optimize(network) - - engine = None - - # Network -> Engine - engine = builder.build_engine(network, builder_config) - if rank == 0: - config_path = os.path.join(args.output_dir, "config.json") - builder.save_config(builder_config, config_path) - return engine - - -def build(rank, args): - torch.cuda.set_device(rank % args.gpus_per_node) - logger.set_level(args.log_level) - if not os.path.exists(args.output_dir): - os.makedirs(args.output_dir) - - # when doing serializing build, all ranks share one engine - builder = Builder() - - cache = None - for cur_rank in range(args.world_size): - # skip other ranks if parallel_build is enabled - if args.parallel_build and cur_rank != rank: - continue - # NOTE: when only int8 kv cache is used together with paged kv cache no int8 tensors are exposed to TRT - int8_trt_flag = args.quant_mode.has_act_and_weight_quant() or ( - not args.paged_kv_cache and args.quant_mode.has_int8_kv_cache() - ) - builder_config = builder.create_builder_config( - name=MODEL_NAME, - precision=args.dtype, - timing_cache=args.timing_cache if cache is None else cache, - tensor_parallel=args.tp_size, - pipeline_parallel=args.pp_size, - parallel_build=args.parallel_build, - num_layers=args.n_layer, - num_heads=args.n_head, - num_kv_heads=args.n_kv_head, - hidden_size=args.n_embd, - vocab_size=args.vocab_size, - hidden_act=args.hidden_act, - max_position_embeddings=args.n_positions, - max_batch_size=args.max_batch_size, - max_input_len=args.max_input_len, - max_output_len=args.max_output_len, - max_num_tokens=args.max_num_tokens, - int8=int8_trt_flag, - fp8=args.quant_mode.has_fp8_qdq(), - quant_mode=args.quant_mode, - strongly_typed=args.strongly_typed, - opt_level=args.builder_opt, - ) - engine_name = get_engine_name( - MODEL_NAME, args.dtype, args.tp_size, args.pp_size, cur_rank - ) - engine = build_rank_engine(builder, builder_config, engine_name, cur_rank, args) - assert engine is not None, f"Failed to build engine for rank {cur_rank}" - - if cur_rank == 0: - # Use in-memory timing cache for multiple builder passes. - if not args.parallel_build: - cache = builder_config.trt_builder_config.get_timing_cache() - - serialize_engine(engine, os.path.join(args.output_dir, engine_name)) - - if rank == 0: - ok = builder.save_timing_cache( - builder_config, os.path.join(args.output_dir, "model.cache") - ) - assert ok, "Failed to save timing cache." - - -if __name__ == "__main__": - args = parse_arguments() - tik = time.time() - if ( - args.parallel_build - and args.world_size > 1 - and torch.cuda.device_count() >= args.world_size - ): - logger.warning( - f"Parallelly build TensorRT engines. Please make sure that all of the {args.world_size} GPUs are totally free." - ) - mp.spawn(build, nprocs=args.world_size, args=(args,)) - else: - args.parallel_build = False - logger.info("Serially build TensorRT engines.") - build(0, args) - - tok = time.time() - t = time.strftime("%H:%M:%S", time.gmtime(tok - tik)) - logger.info(f"Total time of building all {args.world_size} engines: {t}") diff --git a/RetrievalAugmentedGeneration/llm-inference-server/conversion_scripts/llama/weight.py b/RetrievalAugmentedGeneration/llm-inference-server/conversion_scripts/llama/weight.py deleted file mode 100644 index 692ae67ff..000000000 --- a/RetrievalAugmentedGeneration/llm-inference-server/conversion_scripts/llama/weight.py +++ /dev/null @@ -1,1446 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2022-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -import configparser -import time -from operator import attrgetter -from pathlib import Path -from typing import Dict, List, Optional, Union - -import numpy as np -import tensorrt_llm -import tensorrt_llm.logger as logger -import torch -from safetensors import safe_open -from tensorrt_llm._utils import str_dtype_to_torch, torch_to_numpy -from tensorrt_llm.mapping import Mapping -from tensorrt_llm.models import LLaMAForCausalLM -from tensorrt_llm.models.quantized.quant import get_dummy_quant_scales -from tensorrt_llm.quantization import QuantMode - - -def get_scaling_factors( - model_path: Union[str, Path], - num_layers: int, - quant_mode: Optional[QuantMode] = None, -) -> Optional[Dict[str, List[int]]]: - """Get the scaling factors for LLaMA model - - Returns a dictionary of scaling factors for the selected layers of the - LLaMA model. - - Args: - model_path (str): Path to the quantized LLaMA model - layers (list): List of layers to get the scaling factors for. If None, - all layers are selected. - - Returns: - dict: Dictionary of scaling factors for the selected layers of the - LLaMA model. - - example: - - { - 'qkv_act': qkv_act_scale, - 'qkv_weights': qkv_weights_scale, - 'qkv_output' : qkv_outputs_scale, - 'dense_act': dense_act_scale, - 'dense_weights': dense_weights_scale, - 'fc_act': fc_act_scale, - 'fc_weights': fc_weights_scale, - 'gate_act': gate_act_scale, - 'gate_weights': gate_weights_scale, - 'proj_act': proj_act_scale, - 'proj_weights': proj_weights_scale, - } - """ - - if model_path is None: - logger.warning( - f"--quantized_fp8_model_path not specified. " - f"Initialize quantization scales automatically." - ) - return get_dummy_quant_scales(num_layers) - weight_dict = np.load(model_path) - - # yapf: disable - scaling_factor = { - 'qkv_act': [], - 'qkv_weights': [], - 'qkv_output': [], - 'dense_act': [], - 'dense_weights': [], - 'fc_act': [], - 'fc_weights': [], - 'gate_act': [], - 'gate_weights': [], - 'proj_act': [], - 'proj_weights': [], - } - - for layer in range(num_layers): - scaling_factor['qkv_act'].append(max( - weight_dict[f'_np:layers:{layer}:attention:qkv:q:activation_scaling_factor'].item(), - weight_dict[f'_np:layers:{layer}:attention:qkv:k:activation_scaling_factor'].item(), - weight_dict[f'_np:layers:{layer}:attention:qkv:v:activation_scaling_factor'].item() - )) - scaling_factor['qkv_weights'].append(max( - weight_dict[f'_np:layers:{layer}:attention:qkv:q:weights_scaling_factor'].item(), - weight_dict[f'_np:layers:{layer}:attention:qkv:k:weights_scaling_factor'].item(), - weight_dict[f'_np:layers:{layer}:attention:qkv:v:weights_scaling_factor'].item() - )) - if quant_mode is not None and quant_mode.has_fp8_kv_cache(): - # Not calibrarting KV cache. - scaling_factor['qkv_output'].append(1.0) - scaling_factor['dense_act'].append(weight_dict[f'_np:layers:{layer}:attention:dense:activation_scaling_factor'].item()) - scaling_factor['dense_weights'].append(weight_dict[f'_np:layers:{layer}:attention:dense:weights_scaling_factor'].item()) - scaling_factor['fc_act'].append(weight_dict[f'_np:layers:{layer}:mlp:fc:activation_scaling_factor'].item()) - scaling_factor['fc_weights'].append(weight_dict[f'_np:layers:{layer}:mlp:fc:weights_scaling_factor'].item()) - scaling_factor['gate_act'].append(weight_dict[f'_np:layers:{layer}:mlp:gate:activation_scaling_factor'].item()) - scaling_factor['gate_weights'].append(weight_dict[f'_np:layers:{layer}:mlp:gate:weights_scaling_factor'].item()) - scaling_factor['proj_act'].append(weight_dict[f'_np:layers:{layer}:mlp:proj:activation_scaling_factor'].item()) - scaling_factor['proj_weights'].append(weight_dict[f'_np:layers:{layer}:mlp:proj:weights_scaling_factor'].item()) - # yapf: enable - for k, v in scaling_factor.items(): - assert ( - len(v) == num_layers - ), f"Expect scaling factor {k} of length {num_layers}, got {len(v)}" - - return scaling_factor - - -def gen_suffix(rank, use_smooth_quant, quant_per_channel): - suffix = f"{rank}.bin" - if use_smooth_quant: - sq_prefix = "int8." - if quant_per_channel: - sq_prefix += "col." - suffix = sq_prefix + suffix - return suffix - - -def extract_layer_idx(name): - ss = name.split(".") - for s in ss: - if s.isdigit(): - return s - return None - - -def split(v, tp_size, idx, dim=0): - if tp_size == 1: - return v - if len(v.shape) == 1: - return np.ascontiguousarray(np.split(v, tp_size)[idx]) - else: - return np.ascontiguousarray(np.split(v, tp_size, axis=dim)[idx]) - - -def dup_kv_weight(v, num_head, tp_size): - assert tp_size % num_head == 0 - reps = tp_size // num_head - head_size = v.shape[0] // num_head - v = v.reshape(num_head, head_size, -1)[:, None, :, :].expand( - num_head, reps, head_size, v.shape[1] - ) - return v.reshape(num_head * reps * head_size, -1).clone() - - -def parse_ft_config(ini_file): - gpt_config = configparser.ConfigParser() - gpt_config.read(ini_file) - - n_embd = gpt_config.getint("llama", "hidden_size") - n_head = gpt_config.getint("llama", "num_attention_heads") - n_layer = gpt_config.getint("llama", "num_hidden_layers") - n_positions = gpt_config.getint("llama", "max_position_embeddings") - vocab_size = gpt_config.getint("llama", "vocab_size") - hidden_act = gpt_config.get("llama", "hidden_act") - inter_size = gpt_config.getint("llama", "intermediate_size", fallback=None) - n_kv_head = gpt_config.getint("llama", "num_key_value_heads", fallback=None) - - if inter_size is None: - inter_size = 4 * n_embd - - return ( - n_embd, - n_head, - n_layer, - n_positions, - vocab_size, - hidden_act, - inter_size, - n_kv_head, - ) - - -def load_from_hf_llama( - tensorrt_llm_llama: tensorrt_llm.models.LLaMAForCausalLM, - hf_llama, - mapping=Mapping(), - dtype="float32", -): - tensorrt_llm.logger.info("Loading weights from HF LLaMA...") - tik = time.time() - - quant_mode = getattr(tensorrt_llm_llama, "quant_mode", QuantMode(0)) - if quant_mode.is_int8_weight_only(): - plugin_weight_only_quant_type = torch.int8 - elif quant_mode.is_int4_weight_only(): - plugin_weight_only_quant_type = torch.quint4x2 - use_weight_only = quant_mode.is_weight_only() - num_kv_heads = tensorrt_llm_llama.num_kv_heads - mha_mode = num_kv_heads == tensorrt_llm_llama.num_heads - - model_params = dict(hf_llama.named_parameters()) - for l in range(hf_llama.config.num_hidden_layers): - prefix = f"model.layers.{l}.self_attn." - q_weight = model_params[prefix + "q_proj.weight"] - k_weight = model_params[prefix + "k_proj.weight"] - v_weight = model_params[prefix + "v_proj.weight"] - if not mha_mode: - head_size = tensorrt_llm_llama.hidden_size // tensorrt_llm_llama.num_heads - if num_kv_heads < mapping.tp_size: - # duplicate the KV heads up to tensor_parallel - k_weight = dup_kv_weight(k_weight, num_kv_heads, mapping.tp_size) - v_weight = dup_kv_weight(v_weight, num_kv_heads, mapping.tp_size) - assert (k_weight.shape[0] % (mapping.tp_size * head_size)) == 0 - assert (v_weight.shape[0] % (mapping.tp_size * head_size)) == 0 - qkv_weight = [q_weight, k_weight, v_weight] - else: - qkv_weight = torch.cat([q_weight, k_weight, v_weight], dim=0) - - model_params[prefix + "qkv_proj.weight"] = qkv_weight - - torch_dtype = str_dtype_to_torch(dtype) - layers_per_pipeline_stage = hf_llama.config.num_hidden_layers // mapping.pp_size - layers_range = list( - range( - mapping.pp_rank * layers_per_pipeline_stage, - (mapping.pp_rank + 1) * layers_per_pipeline_stage, - 1, - ) - ) - for k, v in model_params.items(): - if isinstance(v, list): - v = [torch_to_numpy(vv.to(torch_dtype).detach().cpu()) for vv in v] - else: - v = torch_to_numpy(v.to(torch_dtype).detach().cpu()) - if "model.embed_tokens.weight" in k: - if tensorrt_llm_llama.use_parallel_embedding: - v = split( - v, - mapping.tp_size, - mapping.tp_rank, - tensorrt_llm_llama.embedding_sharding_dim, - ) - if mapping.is_first_pp_rank(): - tensorrt_llm_llama.vocab_embedding.weight.value = v - elif "model.norm.weight" in k: - if mapping.is_last_pp_rank(): - tensorrt_llm_llama.ln_f.weight.value = v - elif "lm_head.weight" in k: - if mapping.is_last_pp_rank(): - tensorrt_llm_llama.lm_head.weight.value = np.ascontiguousarray( - split(v, mapping.tp_size, mapping.tp_rank) - ) - else: - layer_idx = extract_layer_idx(k) - if layer_idx is None or int(layer_idx) not in layers_range: - continue - idx = int(layer_idx) - mapping.pp_rank * layers_per_pipeline_stage - if idx >= tensorrt_llm_llama.num_layers: - continue - if "input_layernorm.weight" in k: - tensorrt_llm_llama.layers[idx].input_layernorm.weight.value = v - elif "post_attention_layernorm.weight" in k: - dst = tensorrt_llm_llama.layers[idx].post_layernorm.weight - dst.value = v - elif "self_attn.qkv_proj.weight" in k: - dst = tensorrt_llm_llama.layers[idx].attention.qkv.weight - if not mha_mode: - assert isinstance(v, list) and len(v) == 3 - wq = split(v[0], mapping.tp_size, mapping.tp_rank) - wk = split(v[1], mapping.tp_size, mapping.tp_rank) - wv = split(v[2], mapping.tp_size, mapping.tp_rank) - split_v = np.concatenate((wq, wk, wv)) - else: - q_emb = v.shape[0] // 3 - model_emb = v.shape[1] - v = v.reshape(3, q_emb, model_emb) - split_v = split(v, mapping.tp_size, mapping.tp_rank, dim=1) - split_v = split_v.reshape(3 * (q_emb // mapping.tp_size), model_emb) - if use_weight_only: - v = np.ascontiguousarray(split_v.transpose()) - ( - processed_torch_weights, - torch_weight_scales, - ) = torch.ops.fastertransformer.symmetric_quantize_last_axis_of_batched_matrix( - torch.tensor(v), plugin_weight_only_quant_type - ) - # workaround for trt not supporting int8 inputs in plugins currently - dst.value = processed_torch_weights.view( - dtype=torch.float32 - ).numpy() - scales = tensorrt_llm_llama.layers[ - idx - ].attention.qkv.per_channel_scale - scales.value = torch_weight_scales.numpy() - else: - dst.value = np.ascontiguousarray(split_v) - elif "self_attn.o_proj.weight" in k: - dst = tensorrt_llm_llama.layers[idx].attention.dense.weight - split_v = split(v, mapping.tp_size, mapping.tp_rank, dim=1) - if use_weight_only: - v = np.ascontiguousarray(split_v.transpose()) - ( - processed_torch_weights, - torch_weight_scales, - ) = torch.ops.fastertransformer.symmetric_quantize_last_axis_of_batched_matrix( - torch.tensor(v), plugin_weight_only_quant_type - ) - # workaround for trt not supporting int8 inputs in plugins currently - dst.value = processed_torch_weights.view( - dtype=torch.float32 - ).numpy() - scales = tensorrt_llm_llama.layers[ - idx - ].attention.dense.per_channel_scale - scales.value = torch_weight_scales.numpy() - else: - dst.value = np.ascontiguousarray(split_v) - elif "mlp.up_proj.weight" in k: - dst = tensorrt_llm_llama.layers[idx].mlp.gate.weight - split_v = split(v, mapping.tp_size, mapping.tp_rank, dim=0) - if use_weight_only: - v = np.ascontiguousarray(split_v.transpose()) - ( - processed_torch_weights, - torch_weight_scales, - ) = torch.ops.fastertransformer.symmetric_quantize_last_axis_of_batched_matrix( - torch.tensor(v), plugin_weight_only_quant_type - ) - # workaround for trt not supporting int8 inputs in plugins currently - dst.value = processed_torch_weights.view( - dtype=torch.float32 - ).numpy() - scales = tensorrt_llm_llama.layers[idx].mlp.gate.per_channel_scale - scales.value = torch_weight_scales.numpy() - else: - dst.value = np.ascontiguousarray(split_v) - elif "mlp.down_proj.weight" in k: - dst = tensorrt_llm_llama.layers[idx].mlp.proj.weight - split_v = split(v, mapping.tp_size, mapping.tp_rank, dim=1) - if use_weight_only: - v = np.ascontiguousarray(split_v.transpose()) - ( - processed_torch_weights, - torch_weight_scales, - ) = torch.ops.fastertransformer.symmetric_quantize_last_axis_of_batched_matrix( - torch.tensor(v), plugin_weight_only_quant_type - ) - # workaround for trt not supporting int8 inputs in plugins currently - dst.value = processed_torch_weights.view( - dtype=torch.float32 - ).numpy() - scales = tensorrt_llm_llama.layers[idx].mlp.proj.per_channel_scale - scales.value = torch_weight_scales.numpy() - else: - dst.value = np.ascontiguousarray(split_v) - elif "mlp.gate_proj.weight" in k: - dst = tensorrt_llm_llama.layers[idx].mlp.fc.weight - split_v = split(v, mapping.tp_size, mapping.tp_rank, dim=0) - if use_weight_only: - v = np.ascontiguousarray(split_v.transpose()) - ( - processed_torch_weights, - torch_weight_scales, - ) = torch.ops.fastertransformer.symmetric_quantize_last_axis_of_batched_matrix( - torch.tensor(v), plugin_weight_only_quant_type - ) - # workaround for trt not supporting int8 inputs in plugins currently - dst.value = processed_torch_weights.view( - dtype=torch.float32 - ).numpy() - scales = tensorrt_llm_llama.layers[idx].mlp.fc.per_channel_scale - scales.value = torch_weight_scales.numpy() - else: - dst.value = np.ascontiguousarray(split_v) - - tok = time.time() - t = time.strftime("%H:%M:%S", time.gmtime(tok - tik)) - tensorrt_llm.logger.info(f"Weights loaded. Total time: {t}") - return - - -def load_from_meta_llama( - tensorrt_llm_llama: tensorrt_llm.models.LLaMAForCausalLM, - meta_ckpt_dir, - mapping=Mapping(), - dtype="float32", -): - torch_dtype = str_dtype_to_torch(dtype) - - def gather_ckpts(ckpts): - gathered = {} - for k in ckpts[0]: - d = 0 - if any([n in k for n in ["wo", "w2", "tok"]]): - d = 1 - if "norm" in k or "rope" in k: # no TP - gathered[k] = ckpts[0][k].clone() - else: - gathered[k] = torch.cat([pt[k] for pt in ckpts], dim=d).clone() - return gathered - - def split_ckpt(ckpt, ranks_per_ckpt, ckpt_rank): - split_ckpt = {} - for k in ckpt: - d = 0 - if any([n in k for n in ["wo", "w2", "tok"]]): - d = 1 - if "norm" in k or "rope" in k: # no TP - split_ckpt[k] = ckpt[k].clone() - elif tensorrt_llm_llama.num_kv_heads < mapping.tp_size and any( - [n in k for n in ["wk", "wv"]] - ): - assert mapping.tp_size % tensorrt_llm_llama.num_kv_heads == 0 - # special case: we need to duplicate KV head - tmp = dup_kv_weight( - ckpt[k], tensorrt_llm_llama.num_kv_heads, mapping.tp_size - ) - split_ckpt[k] = torch.split(tmp, tmp.shape[d] // ranks_per_ckpt, dim=d)[ - ckpt_rank - ].clone() - else: - split_ckpt[k] = torch.split( - ckpt[k], ckpt[k].shape[d] // ranks_per_ckpt, dim=d - )[ckpt_rank].clone() - return split_ckpt - - def get_current_weights(num_ckpts): - if num_ckpts > mapping.tp_size: - # combine ckpts - assert (num_ckpts % mapping.tp_size) == 0 - nf = num_ckpts // mapping.tp_size - fs = nf * mapping.tp_rank - file_ids = list(range(fs, fs + nf)) - ckpts = [] - for f in file_ids: - ckpt = torch.load( - Path(meta_ckpt_dir, f"consolidated.{f:02d}.pth"), map_location="cpu" - ) - ckpts.append(ckpt) - return gather_ckpts(ckpts) - elif num_ckpts < mapping.tp_size: - # split ckpt - assert (mapping.tp_size % num_ckpts) == 0 - ranks_per_ckpt = mapping.tp_size // num_ckpts - ckpt_fid = mapping.tp_rank // ranks_per_ckpt - ckpt_rank = mapping.tp_rank % ranks_per_ckpt - nH_per_ckpt = tensorrt_llm_llama.num_heads // num_ckpts - assert (nH_per_ckpt % ranks_per_ckpt) == 0 - ckpt = torch.load( - Path(meta_ckpt_dir, f"consolidated.{ckpt_fid:02d}.pth"), - map_location="cpu", - ) - return split_ckpt(ckpt, ranks_per_ckpt, ckpt_rank) - - # num_ckpts == tensor_parallel, 1:1 mapping from files to TP - return torch.load( - Path(meta_ckpt_dir, f"consolidated.{mapping.tp_rank:02d}.pth"), - map_location="cpu", - ) - - def permute(w, nH, d, dH): - # due to MQA's wk, nH*dH != d could be true - return w.view(nH, dH // 2, 2, d).transpose(1, 2).reshape(nH * dH, d) - - if not hasattr(load_from_meta_llama, "saved_embed"): - load_from_meta_llama.saved_embed = None - - def gather_embedding(cur_embed, name: str, num_ckpts): - if mapping.tp_size == 1: - # even if num_ckpts > 1, get_current_weights will already have it gathered - return cur_embed - if load_from_meta_llama.saved_embed is None: - embeds = [None] * num_ckpts - for i in range(num_ckpts): - ckpt = torch.load( - Path(meta_ckpt_dir, f"consolidated.{i:02d}.pth"), map_location="cpu" - ) - embeds[i] = ckpt[name] - embed = torch.cat(embeds, dim=1).to(torch_dtype) - load_from_meta_llama.saved_embed = torch_to_numpy( - embed - ) # cache the embedding, not needed if no refit - return load_from_meta_llama.saved_embed - - tensorrt_llm.logger.info("Loading weights from Meta LLaMA checkpoints ...") - tik = time.time() - - quant_mode = getattr(tensorrt_llm_llama, "quant_mode", QuantMode(0)) - if quant_mode.is_int8_weight_only(): - torch.int8 - elif quant_mode.is_int4_weight_only(): - torch.quint4x2 - quant_mode.is_weight_only() - num_kv_heads = tensorrt_llm_llama.num_kv_heads - mha_mode = num_kv_heads == tensorrt_llm_llama.num_heads - - ckpts = list(Path(meta_ckpt_dir).glob("consolidated.*.pth")) - num_ckpts = len(ckpts) - # llama/llama2 doesn't have MQA. So, simplifying loader logic by not worrying about it. - assert ( - num_kv_heads > 1 or num_kv_heads >= num_ckpts - ), f"We don't know how the {num_kv_heads} KV heads are distributed among {num_ckpts} checkpoints." - - head_size = tensorrt_llm_llama.hidden_size // tensorrt_llm_llama.num_heads - ckpt = get_current_weights(num_ckpts) - layers_range = list( - range( - mapping.pp_rank * tensorrt_llm_llama.num_layers, - (mapping.pp_rank + 1) * tensorrt_llm_llama.num_layers, - 1, - ) - ) - - for l in layers_range: - prefix = f"layers.{l}.attention." - q_weight = permute( - ckpt[prefix + "wq.weight"].clone(), - nH=(tensorrt_llm_llama.num_heads // mapping.tp_size), - d=tensorrt_llm_llama.hidden_size, - dH=head_size, - ) - if num_kv_heads < mapping.tp_size and num_ckpts >= mapping.tp_size: - assert mapping.tp_size % num_kv_heads == 0 - assert False, "Not supported yet" - k_weight = permute( - ckpt[prefix + "wk.weight"].clone(), - nH=((num_kv_heads + mapping.tp_size - 1) // mapping.tp_size), - d=tensorrt_llm_llama.hidden_size, - dH=head_size, - ) - v_weight = ckpt[prefix + "wv.weight"].clone() - - qkv_weight = torch.cat([q_weight, k_weight, v_weight], dim=0) - ckpt[prefix + "qkv.weight"] = qkv_weight - - for k, v in ckpt.items(): - v = torch_to_numpy(v.to(torch_dtype).detach().cpu()) - if "tok_embeddings" in k: - if not tensorrt_llm_llama.use_parallel_embedding: - v = gather_embedding(v, k, num_ckpts) - elif tensorrt_llm_llama.embedding_sharding_dim == 0: - # this needs a gather and then resplit along different dims - v = gather_embedding(v, k, num_ckpts) - v = split(v, mapping.tp_size, mapping.tp_rank, 0) - if mapping.is_first_pp_rank(): - tensorrt_llm_llama.vocab_embedding.weight.value = v - elif "output" in k: - if mapping.is_last_pp_rank(): - tensorrt_llm_llama.lm_head.weight.value = v - elif k == "norm.weight": - if mapping.is_last_pp_rank(): - tensorrt_llm_llama.ln_f.weight.value = v - else: - # layer specific weights - layer_idx = extract_layer_idx(k) - if layer_idx is None: - continue - idx = int(layer_idx) - mapping.pp_rank * tensorrt_llm_llama.num_layers - if idx >= tensorrt_llm_llama.num_layers: - continue - if "attention_norm.weight" in k: - tensorrt_llm_llama.layers[idx].input_layernorm.weight.value = v - elif "ffn_norm.weight" in k: - tensorrt_llm_llama.layers[idx].post_layernorm.weight.value = v - elif "feed_forward.w3.weight" in k: - tensorrt_llm_llama.layers[idx].mlp.gate.weight.value = v - elif "feed_forward.w2.weight" in k: - tensorrt_llm_llama.layers[idx].mlp.proj.weight.value = v - elif "feed_forward.w1.weight" in k: - tensorrt_llm_llama.layers[idx].mlp.fc.weight.value = v - elif "attention.wo.weight" in k: - tensorrt_llm_llama.layers[idx].attention.dense.weight.value = v - elif "attention.qkv.weight" in k: - tensorrt_llm_llama.layers[idx].attention.qkv.weight.value = v - - tok = time.time() - t = time.strftime("%H:%M:%S", time.gmtime(tok - tik)) - tensorrt_llm.logger.info(f"Weights loaded. Total time: {t}") - return - - -def load_from_binary( - tensorrt_llm_llama: LLaMAForCausalLM, - dir_path, - mapping=Mapping(), - fp16=False, - multi_query_mode=False, -): - tensorrt_llm.logger.info("Loading weights from FT...") - tik = time.time() - - quant_mode = getattr(tensorrt_llm_llama, "quant_mode", QuantMode(0)) - - ( - n_embd, - n_head, - n_layer, - n_positions, - vocab_size, - hidden_act, - inter_size, - n_kv_head, - ) = parse_ft_config(Path(dir_path) / "config.ini") - np_dtype = np.float16 if fp16 else np.float32 - - def fromfile(dir_path, name, shape=None, dtype=None): - dtype = np_dtype if dtype is None else dtype - p = dir_path + "/" + name - if Path(p).exists(): - t = np.fromfile(p, dtype=dtype) - if shape is not None: - t = t.reshape(shape) - return t - return None - - def set_smoothquant_scale_factors( - module, - pre_scale_weight, - dir_path, - basename, - shape, - per_tok_dyn, - per_channel, - is_qkv=False, - rank=None, - ): - suffix = "bin" - if per_channel: - if rank is not None: - suffix = f"{rank}." + suffix - suffix = "col." + suffix - - col_shape = shape if (per_channel or is_qkv) else [1, 1] - - if per_tok_dyn: - if pre_scale_weight is not None: - pre_scale_weight.value = np.array([1.0], dtype=np.float32) - if is_qkv and not per_channel: - t = fromfile( - dir_path, - f"{basename}scale_w_quant_orig.{rank}.{suffix}", - col_shape, - np.float32, - ) - else: - t = fromfile( - dir_path, - f"{basename}scale_w_quant_orig.{suffix}", - col_shape, - np.float32, - ) - module.per_channel_scale.value = t - else: - t = fromfile(dir_path, f"{basename}scale_x_orig_quant.bin", [1], np.float32) - pre_scale_weight.value = t - if is_qkv: - t = fromfile( - dir_path, - f"{basename}scale_y_accum_quant.{rank}.{suffix}", - col_shape, - np.float32, - ) - else: - t = fromfile( - dir_path, - f"{basename}scale_y_accum_quant.{suffix}", - col_shape, - np.float32, - ) - module.per_channel_scale.value = t - t = fromfile( - dir_path, f"{basename}scale_y_quant_orig.bin", [1, 1], np.float32 - ) - module.act_scale.value = t - - def set_smoother(module, dir_path, base_name, shape, rank): - suffix = f"{rank}.bin" - t = fromfile(dir_path, f"{base_name}.smoother.{suffix}", shape, np.float32) - module.smoother.value = t - - # Determine the quantization mode. - quant_mode = getattr(tensorrt_llm_llama, "quant_mode", QuantMode(0)) - if quant_mode.is_int8_weight_only(): - plugin_weight_only_quant_type = torch.int8 - elif quant_mode.is_int4_weight_only(): - plugin_weight_only_quant_type = torch.quint4x2 - # Do we use SmoothQuant? - use_smooth_quant = quant_mode.has_act_and_weight_quant() - # Do we use quantization per token? - quant_per_token_dyn = quant_mode.has_per_token_dynamic_scaling() - # Do we use quantization per channel? - quant_per_channel = quant_mode.has_per_channel_scaling() - - # Do we use INT4/INT8 weight-only? - use_weight_only = quant_mode.is_weight_only() - - # Int8 KV cache - use_int8_kv_cache = quant_mode.has_int8_kv_cache() - - def sq_trick(x): - return x.view(np.float32) if use_smooth_quant else x - - # Debug - suffix = gen_suffix(mapping.tp_rank, use_smooth_quant, quant_per_channel) - # The type of weights. - w_type = np_dtype if not use_smooth_quant else np.int8 - - if mapping.is_first_pp_rank(): - tensorrt_llm_llama.vocab_embedding.weight.value = fromfile( - dir_path, "vocab_embedding.weight.bin", [vocab_size, n_embd] - ) - - if mapping.is_last_pp_rank(): - tensorrt_llm_llama.ln_f.weight.value = fromfile(dir_path, "ln_f.weight.bin") - # share input embedding - lm_head_weight = fromfile(dir_path, "lm_head.weight.bin", [vocab_size, n_embd]) - - if vocab_size % mapping.tp_size != 0: - # padding - vocab_size_padded = tensorrt_llm_llama.lm_head.out_features * mapping.tp_size - pad_width = vocab_size_padded - vocab_size - lm_head_weight = np.pad( - lm_head_weight, ((0, pad_width), (0, 0)), "constant", constant_values=0 - ) - if mapping.is_last_pp_rank(): - tensorrt_llm_llama.lm_head.weight.value = np.ascontiguousarray( - split(lm_head_weight, mapping.tp_size, mapping.tp_rank) - ) - - layers_range = list( - range( - mapping.pp_rank * tensorrt_llm_llama.num_layers, - (mapping.pp_rank + 1) * tensorrt_llm_llama.num_layers, - 1, - ) - ) - - for i in layers_range: - n_groups = n_head // n_kv_head - c_attn_out_dim = ( - (3 * n_embd // mapping.tp_size) - if not multi_query_mode - else ( - n_embd // mapping.tp_size - + (n_embd // n_head * n_groups) // mapping.tp_size * 2 - ) - ) - idx = i - mapping.pp_rank * tensorrt_llm_llama.num_layers - tensorrt_llm_llama.layers[idx].input_layernorm.weight.value = fromfile( - dir_path, "model.layers." + str(i) + ".input_layernorm.weight.bin" - ) - t = fromfile( - dir_path, - "model.layers." + str(i) + ".attention.query_key_value.weight." + suffix, - [n_embd, c_attn_out_dim], - w_type, - ) - if t is not None: - dst = tensorrt_llm_llama.layers[idx].attention.qkv.weight - if use_smooth_quant: - dst.value = sq_trick(np.ascontiguousarray(np.transpose(t, [1, 0]))) - set_smoothquant_scale_factors( - tensorrt_llm_llama.layers[idx].attention.qkv, - tensorrt_llm_llama.layers[idx].input_layernorm.scale_to_int, - dir_path, - "model.layers." + str(i) + ".attention.query_key_value.", - [1, c_attn_out_dim], - quant_per_token_dyn, - quant_per_channel, - rank=mapping.tp_rank, - is_qkv=True, - ) - elif use_weight_only: - ( - processed_torch_weights, - torch_weight_scales, - ) = torch.ops.fastertransformer.symmetric_quantize_last_axis_of_batched_matrix( - torch.tensor(t), plugin_weight_only_quant_type - ) - # workaround for trt not supporting int8 inputs in plugins currently - dst.value = processed_torch_weights.view(dtype=torch.float32).numpy() - scales = tensorrt_llm_llama.layers[i].attention.qkv.per_channel_scale - scales.value = torch_weight_scales.numpy() - else: - dst.value = np.ascontiguousarray(np.transpose(t, [1, 0])) - - dst = tensorrt_llm_llama.layers[idx].attention.dense.weight - t = fromfile( - dir_path, - "model.layers." + str(i) + ".attention.dense.weight." + suffix, - [n_embd // mapping.tp_size, n_embd], - w_type, - ) - if use_smooth_quant: - dst.value = sq_trick(np.ascontiguousarray(np.transpose(t, [1, 0]))) - dense_scale = getattr( - tensorrt_llm_llama.layers[idx].attention, - "quantization_scaling_factor", - None, - ) - set_smoothquant_scale_factors( - tensorrt_llm_llama.layers[idx].attention.dense, - dense_scale, - dir_path, - "model.layers." + str(i) + ".attention.dense.", - [1, n_embd], - quant_per_token_dyn, - quant_per_channel, - ) - set_smoother( - tensorrt_llm_llama.layers[idx].attention.dense, - dir_path, - "model.layers." + str(i) + ".attention.dense", - [1, n_embd // mapping.tp_size], - mapping.tp_rank, - ) - elif use_weight_only: - ( - processed_torch_weights, - torch_weight_scales, - ) = torch.ops.fastertransformer.symmetric_quantize_last_axis_of_batched_matrix( - torch.tensor(t), plugin_weight_only_quant_type - ) - # workaround for trt not supporting int8 inputs in plugins currently - dst.value = processed_torch_weights.view(dtype=torch.float32).numpy() - scales = tensorrt_llm_llama.layers[i].attention.dense.per_channel_scale - scales.value = torch_weight_scales.numpy() - else: - dst.value = np.ascontiguousarray(np.transpose(t, [1, 0])) - - dst = tensorrt_llm_llama.layers[idx].post_layernorm.weight - dst.value = fromfile( - dir_path, "model.layers." + str(i) + ".post_layernorm.weight.bin" - ) - - t = fromfile( - dir_path, - "model.layers." + str(i) + ".mlp.fc.weight." + suffix, - [n_embd, inter_size // mapping.tp_size], - w_type, - ) - - if use_smooth_quant: - tensorrt_llm_llama.layers[idx].mlp.fc.weight.value = sq_trick( - np.ascontiguousarray(np.transpose(t, [1, 0])) - ) - set_smoothquant_scale_factors( - tensorrt_llm_llama.layers[idx].mlp.fc, - tensorrt_llm_llama.layers[idx].post_layernorm.scale_to_int, - dir_path, - "model.layers." + str(i) + ".mlp.fc.", - [1, inter_size // mapping.tp_size], - quant_per_token_dyn, - quant_per_channel, - rank=mapping.tp_rank, - ) - elif use_weight_only: - dst = tensorrt_llm_llama.layers[i].mlp.fc.weight - ( - processed_torch_weights, - torch_weight_scales, - ) = torch.ops.fastertransformer.symmetric_quantize_last_axis_of_batched_matrix( - torch.tensor(t), plugin_weight_only_quant_type - ) - # workaround for trt not supporting int8 inputs in plugins currently - dst.value = processed_torch_weights.view(dtype=torch.float32).numpy() - scales = tensorrt_llm_llama.layers[i].mlp.fc.per_channel_scale - scales.value = torch_weight_scales.numpy() - else: - tensorrt_llm_llama.layers[idx].mlp.fc.weight.value = np.ascontiguousarray( - np.transpose(t, [1, 0]) - ) - - t = fromfile( - dir_path, - "model.layers." + str(i) + ".mlp.gate.weight." + suffix, - [n_embd, inter_size // mapping.tp_size], - w_type, - ) - if use_smooth_quant: - tensorrt_llm_llama.layers[idx].mlp.gate.weight.value = sq_trick( - np.ascontiguousarray(np.transpose(t, [1, 0])) - ) - set_smoothquant_scale_factors( - tensorrt_llm_llama.layers[idx].mlp.gate, - tensorrt_llm_llama.layers[idx].post_layernorm.scale_to_int, - dir_path, - "model.layers." + str(i) + ".mlp.gate.", - [1, inter_size // mapping.tp_size], - quant_per_token_dyn, - quant_per_channel, - rank=mapping.tp_rank, - ) - elif use_weight_only: - dst = tensorrt_llm_llama.layers[i].mlp.gate.weight - ( - processed_torch_weights, - torch_weight_scales, - ) = torch.ops.fastertransformer.symmetric_quantize_last_axis_of_batched_matrix( - torch.tensor(t), plugin_weight_only_quant_type - ) - # workaround for trt not supporting int8 inputs in plugins currently - dst.value = processed_torch_weights.view(dtype=torch.float32).numpy() - scales = tensorrt_llm_llama.layers[i].mlp.gate.per_channel_scale - scales.value = torch_weight_scales.numpy() - else: - tensorrt_llm_llama.layers[idx].mlp.gate.weight.value = np.ascontiguousarray( - np.transpose(t, [1, 0]) - ) - - t = fromfile( - dir_path, - "model.layers." + str(i) + ".mlp.proj.weight." + suffix, - [inter_size // mapping.tp_size, n_embd], - w_type, - ) - if use_smooth_quant: - tensorrt_llm_llama.layers[idx].mlp.proj.weight.value = sq_trick( - np.ascontiguousarray(np.transpose(t, [1, 0])) - ) - proj_scale = getattr( - tensorrt_llm_llama.layers[idx].mlp, "quantization_scaling_factor", None - ) - set_smoothquant_scale_factors( - tensorrt_llm_llama.layers[idx].mlp.proj, - proj_scale, - dir_path, - "model.layers." + str(i) + ".mlp.proj.", - [1, n_embd], - quant_per_token_dyn, - quant_per_channel, - ) - set_smoother( - tensorrt_llm_llama.layers[idx].mlp.proj, - dir_path, - "model.layers." + str(i) + ".mlp.proj", - [1, inter_size // mapping.tp_size], - mapping.tp_rank, - ) - elif use_weight_only: - dst = tensorrt_llm_llama.layers[i].mlp.proj.weight - ( - processed_torch_weights, - torch_weight_scales, - ) = torch.ops.fastertransformer.symmetric_quantize_last_axis_of_batched_matrix( - torch.tensor(t), plugin_weight_only_quant_type - ) - # workaround for trt not supporting int8 inputs in plugins currently - dst.value = processed_torch_weights.view(dtype=torch.float32).numpy() - scales = tensorrt_llm_llama.layers[i].mlp.proj.per_channel_scale - scales.value = torch_weight_scales.numpy() - else: - tensorrt_llm_llama.layers[idx].mlp.proj.weight.value = np.ascontiguousarray( - np.transpose(t, [1, 0]) - ) - - if use_int8_kv_cache: - t = fromfile( - dir_path, - "model.layers." - + str(i) - + ".attention.query_key_value.scale_y_quant_orig.bin", - [1], - np.float32, - ) - tensorrt_llm_llama.layers[idx].attention.kv_orig_quant_scale.value = 1.0 / t - tensorrt_llm_llama.layers[idx].attention.kv_quant_orig_scale.value = t - - tok = time.time() - t = time.strftime("%H:%M:%S", time.gmtime(tok - tik)) - tensorrt_llm.logger.info(f"Weights loaded. Total time: {t}") - - -def load_from_gptq_llama( - tensorrt_llm_llama, quant_ckpt_path, mapping=Mapping(), dtype="float16" -): - tensorrt_llm.logger.info("Loading weights from groupwise GPTQ LLaMA safetensors...") - tik = time.time() - - if quant_ckpt_path.endswith(".safetensors"): - groupwise_qweight_safetensors = safe_open( - quant_ckpt_path, framework="pt", device=0 - ) - model_params = { - key: groupwise_qweight_safetensors.get_tensor(key) - for key in groupwise_qweight_safetensors.keys() - } - elif quant_ckpt_path.endswith(".pt"): - model_params = torch.load(quant_ckpt_path, map_location=torch.device("cpu")) - else: - assert False, "Quantized checkpoint format not supported!" - - def unpack_int32_into_int8(w_packed): - # Unpack inputs packed in int32/float32 into uint4 and store them in int8 format - w_packed_int4x2 = w_packed.contiguous().view(torch.uint8) - w_unpacked = torch.zeros( - w_packed_int4x2.shape[0], w_packed_int4x2.shape[1] * 2, dtype=torch.int8 - ) - w_unpacked[:, ::2] = w_packed_int4x2 % 16 - w_unpacked[:, 1::2] = w_packed_int4x2 // 16 - return w_unpacked.contiguous() - - def preprocess_groupwise_weight_params( - weight_name, qweight_int32=None, qzeros_int32=None, scales_fp16=None - ): - if weight_name is not None: - qweight_int32 = model_params[weight_name].cpu() - qzeros_int32 = model_params[weight_name[:-7] + "qzeros"].cpu() - scales_fp16 = model_params[weight_name[:-7] + "scales"].cpu() - - UINT4_TO_INT4_FLAG = 1 - GPTQ_FLAG = 1 - packer = torch.ops.fastertransformer.pack_int8_tensor_to_packed_int4 - preprocessor = torch.ops.fastertransformer.preprocess_weights_for_mixed_gemm - - qweight_unpacked_int8 = ( - unpack_int32_into_int8(qweight_int32.T).T.contiguous() - 8 - ) - qweight_interleaved = preprocessor( - packer(qweight_unpacked_int8), torch.quint4x2 - ).view(torch.float32) - # zeros = zeros * scales - qzeros_unpacked_int32 = unpack_int32_into_int8(qzeros_int32) - zeros_x_scales_fp16 = ( - -qzeros_unpacked_int32 + 8 * UINT4_TO_INT4_FLAG - GPTQ_FLAG - ) * scales_fp16 - zeros_x_scales_fp16 = zeros_x_scales_fp16.half() - - # return processed interleaved weight, original scales and zeros * scales - return ( - qweight_interleaved.contiguous(), - scales_fp16.contiguous(), - zeros_x_scales_fp16.contiguous(), - ) - - layer_ids = [extract_layer_idx(key) for key in groupwise_qweight_safetensors.keys()] - layer_ids = [int(layer_idx) for layer_idx in layer_ids if layer_idx is not None] - num_hidden_layers = max(layer_ids) + 1 - num_kv_heads = tensorrt_llm_llama.num_kv_heads - mha_mode = num_kv_heads == tensorrt_llm_llama.num_heads - suffixs = ["qweight", "qzeros", "scales"] - - layers_per_pipeline_stage = num_hidden_layers // mapping.pp_size - layers_range = list( - range( - mapping.pp_rank * layers_per_pipeline_stage, - (mapping.pp_rank + 1) * layers_per_pipeline_stage, - 1, - ) - ) - - for l in layers_range: - prefix = f"model.layers.{l}.self_attn." - split_qkv_suf = [] - - for suf in suffixs: - q_part = model_params[prefix + "q_proj." + suf].cpu() - k_part = model_params[prefix + "k_proj." + suf].cpu() - v_part = model_params[prefix + "v_proj." + suf].cpu() - qkv_part = torch.cat([q_part, k_part, v_part], dim=0) - dim = qkv_part.shape - qkv_part = qkv_part.reshape(3, dim[0] // 3, dim[1]) - split_qkv = qkv_part.split(dim[1] // mapping.tp_size, dim=2)[ - mapping.tp_rank - ] - split_qkv = torch.cat( - [ - split_qkv[0, :, :].squeeze(0), - split_qkv[1, :, :].squeeze(0), - split_qkv[2, :, :].squeeze(0), - ], - dim=1, - ) - split_qkv_suf.append(split_qkv) - - th_qweight, th_zero, th_scale = preprocess_groupwise_weight_params( - None, split_qkv_suf[0], split_qkv_suf[1], split_qkv_suf[2] - ) - - idx = l - mapping.pp_rank * layers_per_pipeline_stage - tensorrt_llm_llama.layers[idx].attention.qkv.qweight.value = th_qweight.numpy() - tensorrt_llm_llama.layers[idx].attention.qkv.scale.value = th_zero.numpy() - tensorrt_llm_llama.layers[idx].attention.qkv.zero.value = th_scale.numpy() - - torch_dtype = str_dtype_to_torch(dtype) - - for k, v in model_params.items(): - if isinstance(v, list): - v = [torch_to_numpy(vv.to(torch_dtype).detach().cpu()) for vv in v] - else: - v = torch_to_numpy(v.to(torch_dtype).detach().cpu()) - if "model.embed_tokens.weight" in k: - if mapping.is_first_pp_rank(): - tensorrt_llm_llama.vocab_embedding.weight.value = v - elif "model.norm.weight" in k: - if mapping.is_last_pp_rank(): - tensorrt_llm_llama.ln_f.weight.value = v - elif "lm_head.weight" in k: - if mapping.is_last_pp_rank(): - tensorrt_llm_llama.lm_head.weight.value = np.ascontiguousarray( - split(v, mapping.tp_size, mapping.tp_rank) - ) - else: - layer_idx = extract_layer_idx(k) - if layer_idx is None: - continue - idx = int(layer_idx) - if idx not in layers_range: - continue - idx = idx - mapping.pp_rank * layers_per_pipeline_stage - - if "input_layernorm.weight" in k: - tensorrt_llm_llama.layers[idx].input_layernorm.weight.value = v - elif "post_attention_layernorm.weight" in k: - tensorrt_llm_llama.layers[idx].post_layernorm.weight.value = v - elif "self_attn.o_proj.qweight" in k: - split_v_suf = [] - for suf in suffixs: - v = model_params[k[:-7] + suf].cpu() - split_v = v.split(v.shape[0] // mapping.tp_size, dim=0)[ - mapping.tp_rank - ] - split_v_suf.append(split_v) - th_qweight, th_zero, th_scale = preprocess_groupwise_weight_params( - None, split_v_suf[0], split_v_suf[1], split_v_suf[2] - ) - tensorrt_llm_llama.layers[ - idx - ].attention.dense.qweight.value = th_qweight.numpy() - tensorrt_llm_llama.layers[ - idx - ].attention.dense.scale.value = th_zero.numpy() - tensorrt_llm_llama.layers[ - idx - ].attention.dense.zero.value = th_scale.numpy() - elif "mlp.up_proj.qweight" in k: - split_v_suf = [] - for suf in suffixs: - v = model_params[k[:-7] + suf].cpu() - split_v = v.split(v.shape[1] // mapping.tp_size, dim=1)[ - mapping.tp_rank - ] - split_v_suf.append(split_v) - th_qweight, th_zero, th_scale = preprocess_groupwise_weight_params( - None, split_v_suf[0], split_v_suf[1], split_v_suf[2] - ) - tensorrt_llm_llama.layers[ - idx - ].mlp.gate.qweight.value = th_qweight.numpy() - tensorrt_llm_llama.layers[idx].mlp.gate.scale.value = th_zero.numpy() - tensorrt_llm_llama.layers[idx].mlp.gate.zero.value = th_scale.numpy() - elif "mlp.down_proj.qweight" in k: - split_v_suf = [] - for suf in suffixs: - v = model_params[k[:-7] + suf].cpu() - split_v = v.split(v.shape[0] // mapping.tp_size, dim=0)[ - mapping.tp_rank - ] - split_v_suf.append(split_v) - th_qweight, th_zero, th_scale = preprocess_groupwise_weight_params( - None, split_v_suf[0], split_v_suf[1], split_v_suf[2] - ) - tensorrt_llm_llama.layers[ - idx - ].mlp.proj.qweight.value = th_qweight.numpy() - tensorrt_llm_llama.layers[idx].mlp.proj.scale.value = th_zero.numpy() - tensorrt_llm_llama.layers[idx].mlp.proj.zero.value = th_scale.numpy() - elif "mlp.gate_proj.qweight" in k: - split_v_suf = [] - for suf in suffixs: - v = model_params[k[:-7] + suf].cpu() - split_v = v.split(v.shape[1] // mapping.tp_size, dim=1)[ - mapping.tp_rank - ] - split_v_suf.append(split_v) - th_qweight, th_zero, th_scale = preprocess_groupwise_weight_params( - None, split_v_suf[0], split_v_suf[1], split_v_suf[2] - ) - tensorrt_llm_llama.layers[idx].mlp.fc.qweight.value = th_qweight.numpy() - tensorrt_llm_llama.layers[idx].mlp.fc.scale.value = th_zero.numpy() - tensorrt_llm_llama.layers[idx].mlp.fc.zero.value = th_scale.numpy() - - tok = time.time() - t = time.strftime("%H:%M:%S", time.gmtime(tok - tik)) - tensorrt_llm.logger.info(f"Weights loaded. Total time: {t}") - return - - -def load_from_awq_llama( - tensorrt_llm_llama: LLaMAForCausalLM, - quant_ckpt_path, - mapping=Mapping(), - dtype="float16", -): - tensorrt_llm.logger.info("Loading weights from groupwise AWQ LLaMA safetensors...") - tik = time.time() - - if quant_ckpt_path.endswith(".safetensors"): - groupwise_qweight_safetensors = safe_open( - quant_ckpt_path, framework="pt", device=0 - ) - awq_llama = { - key: groupwise_qweight_safetensors.get_tensor(key) - for key in groupwise_qweight_safetensors.keys() - } - elif quant_ckpt_path.endswith(".pt"): - awq_llama = torch.load(quant_ckpt_path, map_location=torch.device("cpu")) - else: - assert False, "Quantized checkpoint format not supported!" - - group_size = ( - awq_llama["model.layers.0.self_attn.o_proj.weight"].numel() - // awq_llama["model.layers.0.self_attn.o_proj.weight_quantizer._amax"].numel() - ) - - awq_llama_block_names = [ - "input_layernorm.weight", - "post_attention_layernorm.weight", - ] - - tensorrt_llm_llama_block_names = [ - "input_layernorm.weight", - "post_layernorm.weight", - ] - - getattr(tensorrt_llm_llama, "quant_mode", QuantMode(0)) - - packer = torch.ops.fastertransformer.pack_int8_tensor_to_packed_int4 - preprocessor = torch.ops.fastertransformer.preprocess_weights_for_mixed_gemm - torch_dtype = str_dtype_to_torch(dtype) - - def AWQ_quantize_pack_preprocess(weight, scale): - scale = scale.repeat_interleave(group_size, dim=0) - weight = weight / scale - qweight_int8 = torch.clamp(torch.round(weight.cuda()).char(), -8, 7) - int4_weight = packer(qweight_int8.cpu()) - int4_weight = preprocessor(int4_weight, torch.quint4x2) - return int4_weight.view(torch.float32).cpu().numpy() - - def process_and_assign_weight(awq_llama, mPrefix, mOp, tp_dim=0): - weight = awq_llama[mPrefix + ".weight"].T.contiguous() - [k, n] = weight.shape - weight = weight.split(weight.shape[tp_dim] // mapping.tp_size, dim=tp_dim)[ - mapping.tp_rank - ] - amax = ( - awq_llama[mPrefix + ".weight_quantizer._amax"] - .reshape((n, int(k / group_size))) - .T.contiguous() - ) - amax = amax.split(amax.shape[tp_dim] // mapping.tp_size, dim=tp_dim)[ - mapping.tp_rank - ] - pre_quant_scale = awq_llama[ - mPrefix + ".input_quantizer._pre_quant_scale" - ].reshape((1, k)) - if tp_dim == 0: - pre_quant_scale = pre_quant_scale.split(k // mapping.tp_size, dim=1)[ - mapping.tp_rank - ] - scale = amax / 8.0 - mOp.qweight.value = AWQ_quantize_pack_preprocess(weight, scale) - mOp.scale.value = scale.to(torch_dtype).cpu().numpy() - mOp.pre_quant_scale.value = pre_quant_scale.to(torch_dtype).cpu().numpy() - - def deSmooth(weight, pre_quant_scale): - [k, n] = weight.shape - pre_quant_scale = pre_quant_scale.repeat((n, 1)).transpose(1, 0).contiguous() - weight = weight * pre_quant_scale - return weight - - def reSmooth(weight, pre_quant_scale): - [k, n] = weight.shape - pre_quant_scale = pre_quant_scale.repeat((n, 1)).transpose(1, 0).contiguous() - weight = weight / pre_quant_scale - return weight - - def get_scale(weight): - weight = weight.T.contiguous() - [n, k] = weight.shape - weight = weight.reshape(n, int(k / group_size), group_size) - weight = torch.abs(weight.reshape(-1, group_size)) - amax, idx = weight.max(1) - amax = amax.reshape(n, int(k / group_size)).T.contiguous() - return amax / 8 - - def reSmooth_and_get_scale(weight, pre_quant_scale, avg_pre_quant_scale): - weight = deSmooth(weight, pre_quant_scale) - weight = reSmooth(weight, avg_pre_quant_scale) - scale = get_scale(weight) - return weight, scale - - def process_and_assign_qkv_weight(awq_llama, prefix, mOp): - q_weight = awq_llama[prefix + "self_attn.q_proj.weight"].T.contiguous() - k_weight = awq_llama[prefix + "self_attn.k_proj.weight"].T.contiguous() - v_weight = awq_llama[prefix + "self_attn.v_proj.weight"].T.contiguous() - k = q_weight.shape[0] - - q_weight = q_weight.split(q_weight.shape[1] // mapping.tp_size, dim=1)[ - mapping.tp_rank - ] - k_weight = k_weight.split(k_weight.shape[1] // mapping.tp_size, dim=1)[ - mapping.tp_rank - ] - v_weight = v_weight.split(v_weight.shape[1] // mapping.tp_size, dim=1)[ - mapping.tp_rank - ] - - q_pre_quant_scale = awq_llama[ - prefix + "self_attn.q_proj.input_quantizer._pre_quant_scale" - ].reshape((1, k)) - k_pre_quant_scale = awq_llama[ - prefix + "self_attn.k_proj.input_quantizer._pre_quant_scale" - ].reshape((1, k)) - v_pre_quant_scale = awq_llama[ - prefix + "self_attn.v_proj.input_quantizer._pre_quant_scale" - ].reshape((1, k)) - - qkv_pre_quant_scale = ( - q_pre_quant_scale + k_pre_quant_scale + v_pre_quant_scale - ) / 3.0 - q_weight, q_scale = reSmooth_and_get_scale( - q_weight, q_pre_quant_scale, qkv_pre_quant_scale - ) - k_weight, k_scale = reSmooth_and_get_scale( - k_weight, k_pre_quant_scale, qkv_pre_quant_scale - ) - v_weight, v_scale = reSmooth_and_get_scale( - v_weight, v_pre_quant_scale, qkv_pre_quant_scale - ) - - qkv_weights = torch.cat((q_weight, k_weight, v_weight), dim=1) - qkv_scale = torch.cat((q_scale, k_scale, v_scale), dim=1) - - mOp.pre_quant_scale.value = qkv_pre_quant_scale.to(torch_dtype).cpu().numpy() - mOp.qweight.value = AWQ_quantize_pack_preprocess(qkv_weights, qkv_scale) - mOp.scale.value = qkv_scale.to(torch_dtype).cpu().numpy() - - # Check if we need to pad vocab - v = awq_llama.get("model.embed_tokens.weight") - [vocab_size, k] = v.shape - pad_vocab = False - pad_vocab_size = vocab_size - if vocab_size % 64 != 0: - pad_vocab = True - pad_vocab_size = int((vocab_size + 63) / 64) * 64 - if pad_vocab: - new_v = torch.zeros([pad_vocab_size, k]) - new_v[:vocab_size, :] = v - v = new_v - if mapping.is_first_pp_rank(): - tensorrt_llm_llama.vocab_embedding.weight.value = ( - v.to(torch_dtype).cpu().numpy() - ) - - layer_ids = [extract_layer_idx(key) for key in awq_llama.keys()] - layer_ids = [int(layer_idx) for layer_idx in layer_ids if layer_idx is not None] - - num_hidden_layers = max(layer_ids) + 1 - layers_per_pipeline_stage = num_hidden_layers // mapping.pp_size - layers_range = list( - range( - mapping.pp_rank * layers_per_pipeline_stage, - (mapping.pp_rank + 1) * layers_per_pipeline_stage, - 1, - ) - ) - - for layer_idx in layers_range: - prefix = "model.layers." + str(layer_idx) + "." - tensorrt_llm.logger.info(f"Process weights in layer: {layer_idx}") - for idx, awq_attr in enumerate(awq_llama_block_names): - v = awq_llama[prefix + awq_attr] - layer = attrgetter(tensorrt_llm_llama_block_names[idx])( - tensorrt_llm_llama.layers[layer_idx] - ) - setattr(layer, "value", v.to(torch_dtype).cpu().numpy()) - - # Attention QKV Linear - # concatenate the Q, K, V layers weights. - process_and_assign_qkv_weight( - awq_llama, prefix, tensorrt_llm_llama.layers[layer_idx].attention.qkv - ) - - # Attention Dense (out_proj) Linear - mPrefix = prefix + "self_attn.o_proj" - mOp = tensorrt_llm_llama.layers[layer_idx].attention.dense - process_and_assign_weight(awq_llama, mPrefix, mOp, 0) - - # MLP up_proj (mlp.gate) Linear - mPrefix = prefix + "mlp.up_proj" - mOp = tensorrt_llm_llama.layers[layer_idx].mlp.gate - process_and_assign_weight(awq_llama, mPrefix, mOp, 1) - - # MLP down_proj (mlp.proj) Linear - mPrefix = prefix + "mlp.down_proj" - mOp = tensorrt_llm_llama.layers[layer_idx].mlp.proj - process_and_assign_weight(awq_llama, mPrefix, mOp, 0) - - # MLP gate_proj (mlp.fc) Linear - mPrefix = prefix + "mlp.gate_proj" - mOp = tensorrt_llm_llama.layers[layer_idx].mlp.fc - process_and_assign_weight(awq_llama, mPrefix, mOp, 1) - - v = awq_llama["model.norm.weight"] - if mapping.is_last_pp_rank(): - tensorrt_llm_llama.ln_f.weight.value = v.to(torch_dtype).cpu().numpy() - - # lm_head - if pad_vocab: - weight = awq_llama["lm_head.weight"] - [vocab_size, k] = weight.shape - new_weight = torch.zeros([pad_vocab_size, k]) - new_weight[:vocab_size, :] = weight - new_weight = new_weight.T.contiguous() - amax = awq_llama["lm_head.weight_quantizer._amax"].reshape( - [vocab_size, k // group_size] - ) - new_amax = torch.ones([pad_vocab_size, k // group_size]) - new_amax[:vocab_size, :] = amax - new_amax = new_amax.T.contiguous() - new_scale = new_amax / 8 - tensorrt_llm_llama.lm_head.qweight.value = AWQ_quantize_pack_preprocess( - new_weight, new_scale - ) - tensorrt_llm_llama.lm_head.scale.value = new_scale.to(torch_dtype).cpu().numpy() - tensorrt_llm_llama.lm_head.pre_quant_scale.value = ( - awq_llama["lm_head.input_quantizer._pre_quant_scale"] - .to(torch_dtype) - .cpu() - .numpy() - ) - else: - mPrefix = "lm_head" - mOp = tensorrt_llm_llama.lm_head - if mapping.is_last_pp_rank(): - process_and_assign_weight(awq_llama, mPrefix, mOp, 1) - - tok = time.time() - t = time.strftime("%H:%M:%S", time.gmtime(tok - tik)) - tensorrt_llm.logger.info(f"Weights loaded. Total time: {t}") diff --git a/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/ensemble/config.pbtxt b/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/ensemble/config.pbtxt deleted file mode 100755 index cbd087ce9..000000000 --- a/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/ensemble/config.pbtxt +++ /dev/null @@ -1,228 +0,0 @@ -# Copyright 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of NVIDIA CORPORATION nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY -# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -name: "ensemble" -platform: "ensemble" -max_batch_size: 128 -input [ - { - name: "text_input" - data_type: TYPE_STRING - dims: [ -1 ] - }, - { - name: "max_tokens" - data_type: TYPE_UINT32 - dims: [ -1 ] - }, - { - name: "end_id" - data_type: TYPE_UINT32 - dims: [ 1 ] - optional: true - }, - { - name: "pad_id" - data_type: TYPE_UINT32 - dims: [ 1 ] - optional: true - }, - { - name: "top_k" - data_type: TYPE_UINT32 - dims: [ 1 ] - optional: true - }, - { - name: "top_p" - data_type: TYPE_FP32 - dims: [ 1 ] - optional: true - }, - { - name: "temperature" - data_type: TYPE_FP32 - dims: [ 1 ] - optional: true - }, - { - name: "length_penalty" - data_type: TYPE_FP32 - dims: [ 1 ] - optional: true - }, - { - name: "repetition_penalty" - data_type: TYPE_FP32 - dims: [ 1 ] - optional: true - }, - { - name: "min_length" - data_type: TYPE_UINT32 - dims: [ 1 ] - optional: true - }, - { - name: "presence_penalty" - data_type: TYPE_FP32 - dims: [ 1 ] - optional: true - }, - { - name: "random_seed" - data_type: TYPE_UINT64 - dims: [ 1 ] - optional: true - }, - { - name: "beam_width" - data_type: TYPE_UINT32 - dims: [ 1 ] - optional: true - }, - { - name: "stream" - data_type: TYPE_BOOL - dims: [ 1 ] - optional: true - } -] -output [ - { - name: "text_output" - data_type: TYPE_STRING - dims: [ -1, -1 ] - } -] -ensemble_scheduling { - step [ - { - model_name: "preprocessing" - model_version: -1 - input_map { - key: "QUERY" - value: "text_input" - } - input_map { - key: "REQUEST_OUTPUT_LEN" - value: "max_tokens" - } - output_map { - key: "REQUEST_INPUT_LEN" - value: "_REQUEST_INPUT_LEN" - } - output_map { - key: "INPUT_ID" - value: "_INPUT_ID" - } - output_map { - key: "REQUEST_OUTPUT_LEN" - value: "_REQUEST_OUTPUT_LEN" - } - }, - { - model_name: "tensorrt_llm" - model_version: -1 - input_map { - key: "input_ids" - value: "_INPUT_ID" - } - input_map { - key: "input_lengths" - value: "_REQUEST_INPUT_LEN" - } - input_map { - key: "request_output_len" - value: "_REQUEST_OUTPUT_LEN" - } - input_map { - key: "end_id" - value: "end_id" - } - input_map { - key: "pad_id" - value: "pad_id" - } - input_map { - key: "runtime_top_k" - value: "top_k" - } - input_map { - key: "runtime_top_p" - value: "top_p" - } - input_map { - key: "temperature" - value: "temperature" - } - input_map { - key: "len_penalty" - value: "length_penalty" - } - input_map { - key: "repetition_penalty" - value: "repetition_penalty" - } - input_map { - key: "min_length" - value: "min_length" - } - input_map { - key: "presence_penalty" - value: "presence_penalty" - } - input_map { - key: "random_seed" - value: "random_seed" - } - input_map { - key: "beam_width" - value: "beam_width" - } - input_map { - key: "streaming" - value: "stream" - } - output_map { - key: "output_ids" - value: "_TOKENS_BATCH" - } - }, - { - model_name: "postprocessing" - model_version: -1 - input_map { - key: "TOKENS_BATCH" - value: "_TOKENS_BATCH" - } - output_map { - key: "OUTPUT" - value: "text_output" - } - } - ] -} diff --git a/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/postprocessing/1/model.py b/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/postprocessing/1/model.py deleted file mode 100755 index bb8a73782..000000000 --- a/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/postprocessing/1/model.py +++ /dev/null @@ -1,158 +0,0 @@ -# -*- coding: utf-8 -*- -import json -import os - -import numpy as np -import triton_python_backend_utils as pb_utils -from transformers import LlamaTokenizer - -TOKENIZER_DIR = os.environ.get("TOKENIZER_DIR", "/model") - -SPACE_CHAR = 9601 -NEWLINE_CHAR = 60 -STOP_TOKEN = 2 - - -class TritonPythonModel: - """Your Python model must use the same class name. Every Python model - that is created must have "TritonPythonModel" as the class name. - """ - - def initialize(self, args): - """`initialize` is called only once when the model is being loaded. - Implementing `initialize` function is optional. This function allows - the model to initialize any state associated with this model. - Parameters - ---------- - args : dict - Both keys and values are strings. The dictionary keys and values are: - * model_config: A JSON string containing the model configuration - * model_instance_kind: A string containing model instance kind - * model_instance_device_id: A string containing model instance device ID - * model_repository: Model repository path - * model_version: Model version - * model_name: Model name - """ - # Parse model configs - self.model_config = model_config = json.loads(args["model_config"]) - - # Parse model output configs - output_config = pb_utils.get_output_config_by_name(model_config, "OUTPUT") - - # Convert Triton types to numpy types - self.output_dtype = pb_utils.triton_string_to_numpy(output_config["data_type"]) - - self.tokenizer = LlamaTokenizer.from_pretrained(TOKENIZER_DIR, legacy=False) - vocab = self.tokenizer.convert_ids_to_tokens( - list(range(self.tokenizer.vocab_size)) - ) - - def execute(self, requests): - """`execute` must be implemented in every Python model. `execute` - function receives a list of pb_utils.InferenceRequest as the only - argument. This function is called when an inference is requested - for this model. Depending on the batching configuration (e.g. Dynamic - Batching) used, `requests` may contain multiple requests. Every - Python model, must create one pb_utils.InferenceResponse for every - pb_utils.InferenceRequest in `requests`. If there is an error, you can - set the error argument when creating a pb_utils.InferenceResponse. - Parameters - ---------- - requests : list - A list of pb_utils.InferenceRequest - Returns - ------- - list - A list of pb_utils.InferenceResponse. The length of this list must - be the same as `requests` - """ - - responses = [] - - # Every Python backend must iterate over everyone of the requests - # and create a pb_utils.InferenceResponse for each of them. - for request in requests: - # Get input tensors - tokens_batch = pb_utils.get_input_tensor_by_name( - request, "TOKENS_BATCH" - ).as_numpy() - - # Reshape Input - # tokens_batch = tokens_batch.reshape([-1, tokens_batch.shape[0]]) - # tokens_batch = tokens_batch.T - - # Postprocessing output data. - outputs = self._postprocessing(tokens_batch) - - # Create output tensors. You need pb_utils.Tensor - # objects to create pb_utils.InferenceResponse. - output_tensor = pb_utils.Tensor( - "OUTPUT", np.array(outputs).astype(self.output_dtype) - ) - - # Create InferenceResponse. You can set an error here in case - # there was a problem with handling this inference request. - # Below is an example of how you can set errors in inference - # response: - # - # pb_utils.InferenceResponse( - # output_tensors=..., TritonError("An error occurred")) - inference_response = pb_utils.InferenceResponse( - output_tensors=[output_tensor] - ) - responses.append(inference_response) - - # You should return a list of pb_utils.InferenceResponse. Length - # of this list must match the length of `requests` list. - return responses - - def finalize(self): - """`finalize` is called only once when the model is being unloaded. - `Implementing `finalize` function is optional. This function allows - the model to perform any necessary clean ups before exit. - """ - pb_utils.Logger.log("Finalizing the Post-Processing Model.") - - def _id_to_token(self, token_id): - # handle special tokens (end of string, unknown, etc) - try: - special_token_index = self.tokenizer.all_special_ids.index(token_id) - return self.tokenizer.all_special_tokens[special_token_index] - except ValueError: - pass - - # handle typical tokens - tokens = self.tokenizer.convert_ids_to_tokens(token_id) - if ord(tokens[0]) == SPACE_CHAR: - return f" {tokens[1:]}" - if ord(tokens[0]) == NEWLINE_CHAR: - return "\n" - return tokens - - def _postprocessing(self, tokens_batch): - tokens_batch = tokens_batch.tolist() - return [ - self._id_to_token(token_id) - for beam_tokens in tokens_batch - for token_ids in beam_tokens - for token_id in token_ids - ] - - # for beam_tokens in tokens_batch: - # for token_ids in beam_tokens: - # for token_id in token_ids: - # # handle special tokens (end of string, unknown, etc) - # special_token = self.tokenizer.added_tokens_decoder.get(token_id) - # if special_token: - # tokens = special_token.content - - # # handle typical tokens - # else: - # tokens = self.tokenizer.convert_ids_to_tokens(token_id) - # if ord(tokens[0]) == SPACE_CHAR: - # tokens = f" {tokens[1:]}" - # elif ord(tokens[0]) == NEWLINE_CHAR: - # tokens = "\n" - - # outputs.append(tokens) - # return outputs diff --git a/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/postprocessing/config.pbtxt b/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/postprocessing/config.pbtxt deleted file mode 100755 index 3c3ea10d4..000000000 --- a/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/postprocessing/config.pbtxt +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of NVIDIA CORPORATION nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY -# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -name: "postprocessing" -backend: "python" -max_batch_size: 128 -input [ - { - name: "TOKENS_BATCH" - data_type: TYPE_INT32 - dims: [ -1, -1 ] - } -] -output [ - { - name: "OUTPUT" - data_type: TYPE_STRING - dims: [ -1, -1 ] - } -] - -instance_group [ - { - count: 1 - kind: KIND_CPU - } -] diff --git a/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/preprocessing/1/model.py b/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/preprocessing/1/model.py deleted file mode 100644 index 44e8b9c4a..000000000 --- a/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/preprocessing/1/model.py +++ /dev/null @@ -1,244 +0,0 @@ -# Copyright 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of NVIDIA CORPORATION nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY -# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -import csv -import json -import os - -import numpy as np -import torch -import triton_python_backend_utils as pb_utils -from torch.nn.utils.rnn import pad_sequence -from transformers import LlamaTokenizer - -TOKENIZER_DIR = os.environ.get("TOKENIZER_DIR", "/model") - -END_ID = 2 - -# SYSTEM_PROMPT = ( -# """You are a helpful, respectful and honest assistant.""" -# """Always answer as helpfully as possible, while being safe.""" -# """Please ensure that your responses are positive in nature.""" -# ) - -# LLAMA_PROMPT_TEMPLATE = ( -# "[INST] <>" -# "{system_prompt}" -# "<>" -# "[/INST] {context} [INST] {question} [/INST]" -# ) - - -class TritonPythonModel: - """Your Python model must use the same class name. Every Python model - that is created must have "TritonPythonModel" as the class name. - """ - - def initialize(self, args): - """`initialize` is called only once when the model is being loaded. - Implementing `initialize` function is optional. This function allows - the model to initialize any state associated with this model. - Parameters - ---------- - args : dict - Both keys and values are strings. The dictionary keys and values are: - * model_config: A JSON string containing the model configuration - * model_instance_kind: A string containing model instance kind - * model_instance_device_id: A string containing model instance device ID - * model_repository: Model repository path - * model_version: Model version - * model_name: Model name - """ - # Parse model configs - self.model_config = model_config = json.loads(args["model_config"]) - - # Parse model output configs and convert Triton types to numpy types - input_names = ["INPUT_ID", "REQUEST_INPUT_LEN"] - for input_name in input_names: - setattr( - self, - input_name.lower() + "_dtype", - pb_utils.triton_string_to_numpy( - pb_utils.get_output_config_by_name(model_config, input_name)[ - "data_type" - ] - ), - ) - - self.encoder = LlamaTokenizer.from_pretrained(TOKENIZER_DIR, legacy=False) - - def execute(self, requests): - """`execute` must be implemented in every Python model. `execute` - function receives a list of pb_utils.InferenceRequest as the only - argument. This function is called when an inference is requested - for this model. Depending on the batching configuration (e.g. Dynamic - Batching) used, `requests` may contain multiple requests. Every - Python model, must create one pb_utils.InferenceResponse for every - pb_utils.InferenceRequest in `requests`. If there is an error, you can - set the error argument when creating a pb_utils.InferenceResponse. - Parameters - ---------- - requests : list - A list of pb_utils.InferenceRequest - Returns - ------- - list - A list of pb_utils.InferenceResponse. The length of this list must - be the same as `requests` - """ - - responses = [] - - # Every Python backend must iterate over everyone of the requests - # and create a pb_utils.InferenceResponse for each of them. - for request in requests: - # Get input tensors - query = pb_utils.get_input_tensor_by_name(request, "QUERY").as_numpy() - request_output_len = pb_utils.get_input_tensor_by_name( - request, "REQUEST_OUTPUT_LEN" - ).as_numpy() - - input_id, request_input_len = self._create_request(query) - - # Create output tensors. You need pb_utils.Tensor - # objects to create pb_utils.InferenceResponse. - input_id_tensor = pb_utils.Tensor( - "INPUT_ID", np.array(input_id).astype(self.input_id_dtype) - ) - request_input_len_tensor = pb_utils.Tensor( - "REQUEST_INPUT_LEN", - np.array(request_input_len).astype(self.request_input_len_dtype), - ) - request_output_len_tensor = pb_utils.Tensor( - "REQUEST_OUTPUT_LEN", request_output_len - ) - - # Create InferenceResponse. You can set an error here in case - # there was a problem with handling this inference request. - # Below is an example of how you can set errors in inference - # response: - # - # pb_utils.InferenceResponse( - # output_tensors=..., TritonError("An error occurred")) - inference_response = pb_utils.InferenceResponse( - output_tensors=[ - input_id_tensor, - request_input_len_tensor, - request_output_len_tensor, - ] - ) - responses.append(inference_response) - - # You should return a list of pb_utils.InferenceResponse. Length - # of this list must match the length of `requests` list. - return responses - - def finalize(self): - """`finalize` is called only once when the model is being unloaded. - Implementing `finalize` function is optional. This function allows - the model to perform any necessary clean ups before exit. - """ - pb_utils.Logger.log("Finalizing the Pre-Processing Model.") - - def _create_request(self, prompts): - """ - prompts : batch string (2D numpy array) - """ - - start_ids = [ - torch.IntTensor(self.encoder.encode(prompt[0].decode())) - for prompt in prompts - ] - - start_lengths = torch.IntTensor([[len(ids)] for ids in start_ids]) - - start_ids = pad_sequence(start_ids, batch_first=True, padding_value=END_ID) - - return start_ids, start_lengths - - def _create_word_list(self, word_dict): - flat_ids = [] - offsets = [] - for word_dict_item in word_dict: - item_flat_ids = [] - item_offsets = [] - - words = list(csv.reader([word_dict_item[0].decode()]))[0] - for word in words: - ids = self._encode(word) - - if len(ids) == 0: - continue - - item_flat_ids += ids - item_offsets.append(len(ids)) - - flat_ids.append(np.array(item_flat_ids)) - offsets.append(np.cumsum(np.array(item_offsets))) - - pad_to = max(1, max(len(ids) for ids in flat_ids)) - - for i, (ids, offs) in enumerate(zip(flat_ids, offsets)): - flat_ids[i] = np.pad(ids, (0, pad_to - len(ids)), constant_values=0) - offsets[i] = np.pad(offs, (0, pad_to - len(offs)), constant_values=-1) - - return np.array([flat_ids, offsets], dtype="int32").transpose((1, 0, 2)) - - def to_word_list_format(self, word_dict): - flat_ids = [] - offsets = [] - for word_dict_item in word_dict: - item_flat_ids = [] - item_offsets = [] - - if isinstance(word_dict_item[0], bytes): - word_dict_item = [word_dict_item[0].decode()] - - words = list(csv.reader(word_dict_item))[0] - for word in words: - ids = self.encoder.encode(word) - - if len(ids) == 0: - continue - - item_flat_ids += ids - item_offsets.append(len(ids)) - - flat_ids.append(np.array(item_flat_ids)) - offsets.append(np.cumsum(np.array(item_offsets))) - - pad_to = max(1, max(len(ids) for ids in flat_ids)) - - for i, (ids, offs) in enumerate(zip(flat_ids, offsets)): - flat_ids[i] = np.pad(ids, (0, pad_to - len(ids)), constant_values=0) - offsets[i] = np.pad(offs, (0, pad_to - len(offs)), constant_values=-1) - - return np.array([flat_ids, offsets], dtype="int32").transpose((1, 0, 2)) - - def _encode(self, sentence): - sentence = sentence.decode() if isinstance(sentence, bytes) else sentence - return self.encoder.encode(sentence) diff --git a/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/preprocessing/config.pbtxt b/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/preprocessing/config.pbtxt deleted file mode 100644 index d2e3029a9..000000000 --- a/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/preprocessing/config.pbtxt +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of NVIDIA CORPORATION nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY -# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -name: "preprocessing" -backend: "python" -max_batch_size: 128 -input [ - { - name: "QUERY" - data_type: TYPE_STRING - dims: [ -1 ] - }, - { - name: "REQUEST_OUTPUT_LEN" - data_type: TYPE_UINT32 - dims: [ -1 ] - } -] -output [ - { - name: "INPUT_ID" - data_type: TYPE_INT32 - dims: [ -1 ] - }, - { - name: "REQUEST_INPUT_LEN" - data_type: TYPE_INT32 - dims: [ 1 ] - }, - { - name: "REQUEST_OUTPUT_LEN" - data_type: TYPE_UINT32 - dims: [ -1 ] - } -] - -instance_group [ - { - count: 1 - kind: KIND_CPU - } -] diff --git a/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/tensorrt_llm/1/.gitkeep b/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/tensorrt_llm/1/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/tensorrt_llm/config.pbtxt.j2 b/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/tensorrt_llm/config.pbtxt.j2 deleted file mode 100644 index 4b719b046..000000000 --- a/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/tensorrt_llm/config.pbtxt.j2 +++ /dev/null @@ -1,208 +0,0 @@ -# Copyright 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of NVIDIA CORPORATION nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY -# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -name: "tensorrt_llm" -backend: "tensorrtllm" -max_batch_size: 128 - -model_transaction_policy { - decoupled: {{ decoupled_mode }} -} - -input [ - { - name: "input_ids" - data_type: TYPE_INT32 - dims: [ -1 ] - }, - { - name: "input_lengths" - data_type: TYPE_INT32 - dims: [ 1 ] - reshape: { shape: [ ] } - }, - { - name: "request_output_len" - data_type: TYPE_UINT32 - dims: [ 1 ] - }, - { - name: "end_id" - data_type: TYPE_UINT32 - dims: [ 1 ] - reshape: { shape: [ ] } - optional: true - }, - { - name: "pad_id" - data_type: TYPE_UINT32 - dims: [ 1 ] - reshape: { shape: [ ] } - optional: true - }, - { - name: "beam_width" - data_type: TYPE_UINT32 - dims: [ 1 ] - reshape: { shape: [ ] } - optional: true - }, - { - name: "temperature" - data_type: TYPE_FP32 - dims: [ 1 ] - reshape: { shape: [ ] } - optional: true - }, - { - name: "runtime_top_k" - data_type: TYPE_UINT32 - dims: [ 1 ] - reshape: { shape: [ ] } - optional: true - }, - { - name: "runtime_top_p" - data_type: TYPE_FP32 - dims: [ 1 ] - reshape: { shape: [ ] } - optional: true - }, - { - name: "len_penalty" - data_type: TYPE_FP32 - dims: [ 1 ] - reshape: { shape: [ ] } - optional: true - }, - { - name: "repetition_penalty" - data_type: TYPE_FP32 - dims: [ 1 ] - reshape: { shape: [ ] } - optional: true - }, - { - name: "min_length" - data_type: TYPE_UINT32 - dims: [ 1 ] - reshape: { shape: [ ] } - optional: true - }, - { - name: "presence_penalty" - data_type: TYPE_FP32 - dims: [ 1 ] - reshape: { shape: [ ] } - optional: true - }, - { - name: "random_seed" - data_type: TYPE_UINT64 - dims: [ 1 ] - reshape: { shape: [ ] } - optional: true - }, - { - name: "stop" - data_type: TYPE_BOOL - dims: [ 1 ] - optional: true - }, - { - name: "streaming" - data_type: TYPE_BOOL - dims: [ 1 ] - optional: true - } -] -output [ - { - name: "output_ids" - data_type: TYPE_INT32 - dims: [ -1, -1 ] - } -] -instance_group [ - { - count: 1 - kind : KIND_CPU - } -] -parameters: { - key: "max_beam_width" - value: { - string_value: "1" - } -} -parameters: { - key: "FORCE_CPU_ONLY_INPUT_TENSORS" - value: { - string_value: "no" - } -} -parameters: { - key: "gpt_model_type" - value: { - string_value: "{{ gpt_model_type }}" - } -} -parameters: { - key: "gpt_model_path" - value: { - string_value: "{{ engine_dir }}" - } -} -parameters: { - key: "max_tokens_in_paged_kv_cache" - value: { - string_value: "" - } -} -parameters: { - key: "batch_scheduler_policy" - value: { - string_value: "guaranteed_completion" - } -} -parameters: { - key: "kv_cache_free_gpu_mem_fraction" - value: { - string_value: ".75" - } -} -parameters: { - key: "max_num_sequences" - value: { - string_value: "" - } -} -parameters: { - key: "enable_trt_overlap" - value: { - string_value: "" - } -} diff --git a/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/ensemble/1/.tmp b/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/ensemble/1/.tmp deleted file mode 100644 index e69de29bb..000000000 diff --git a/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/ensemble/config.pbtxt b/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/ensemble/config.pbtxt deleted file mode 100755 index cbd087ce9..000000000 --- a/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/ensemble/config.pbtxt +++ /dev/null @@ -1,228 +0,0 @@ -# Copyright 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of NVIDIA CORPORATION nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY -# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -name: "ensemble" -platform: "ensemble" -max_batch_size: 128 -input [ - { - name: "text_input" - data_type: TYPE_STRING - dims: [ -1 ] - }, - { - name: "max_tokens" - data_type: TYPE_UINT32 - dims: [ -1 ] - }, - { - name: "end_id" - data_type: TYPE_UINT32 - dims: [ 1 ] - optional: true - }, - { - name: "pad_id" - data_type: TYPE_UINT32 - dims: [ 1 ] - optional: true - }, - { - name: "top_k" - data_type: TYPE_UINT32 - dims: [ 1 ] - optional: true - }, - { - name: "top_p" - data_type: TYPE_FP32 - dims: [ 1 ] - optional: true - }, - { - name: "temperature" - data_type: TYPE_FP32 - dims: [ 1 ] - optional: true - }, - { - name: "length_penalty" - data_type: TYPE_FP32 - dims: [ 1 ] - optional: true - }, - { - name: "repetition_penalty" - data_type: TYPE_FP32 - dims: [ 1 ] - optional: true - }, - { - name: "min_length" - data_type: TYPE_UINT32 - dims: [ 1 ] - optional: true - }, - { - name: "presence_penalty" - data_type: TYPE_FP32 - dims: [ 1 ] - optional: true - }, - { - name: "random_seed" - data_type: TYPE_UINT64 - dims: [ 1 ] - optional: true - }, - { - name: "beam_width" - data_type: TYPE_UINT32 - dims: [ 1 ] - optional: true - }, - { - name: "stream" - data_type: TYPE_BOOL - dims: [ 1 ] - optional: true - } -] -output [ - { - name: "text_output" - data_type: TYPE_STRING - dims: [ -1, -1 ] - } -] -ensemble_scheduling { - step [ - { - model_name: "preprocessing" - model_version: -1 - input_map { - key: "QUERY" - value: "text_input" - } - input_map { - key: "REQUEST_OUTPUT_LEN" - value: "max_tokens" - } - output_map { - key: "REQUEST_INPUT_LEN" - value: "_REQUEST_INPUT_LEN" - } - output_map { - key: "INPUT_ID" - value: "_INPUT_ID" - } - output_map { - key: "REQUEST_OUTPUT_LEN" - value: "_REQUEST_OUTPUT_LEN" - } - }, - { - model_name: "tensorrt_llm" - model_version: -1 - input_map { - key: "input_ids" - value: "_INPUT_ID" - } - input_map { - key: "input_lengths" - value: "_REQUEST_INPUT_LEN" - } - input_map { - key: "request_output_len" - value: "_REQUEST_OUTPUT_LEN" - } - input_map { - key: "end_id" - value: "end_id" - } - input_map { - key: "pad_id" - value: "pad_id" - } - input_map { - key: "runtime_top_k" - value: "top_k" - } - input_map { - key: "runtime_top_p" - value: "top_p" - } - input_map { - key: "temperature" - value: "temperature" - } - input_map { - key: "len_penalty" - value: "length_penalty" - } - input_map { - key: "repetition_penalty" - value: "repetition_penalty" - } - input_map { - key: "min_length" - value: "min_length" - } - input_map { - key: "presence_penalty" - value: "presence_penalty" - } - input_map { - key: "random_seed" - value: "random_seed" - } - input_map { - key: "beam_width" - value: "beam_width" - } - input_map { - key: "streaming" - value: "stream" - } - output_map { - key: "output_ids" - value: "_TOKENS_BATCH" - } - }, - { - model_name: "postprocessing" - model_version: -1 - input_map { - key: "TOKENS_BATCH" - value: "_TOKENS_BATCH" - } - output_map { - key: "OUTPUT" - value: "text_output" - } - } - ] -} diff --git a/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/postprocessing/1/model.py b/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/postprocessing/1/model.py deleted file mode 100755 index 0e563c960..000000000 --- a/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/postprocessing/1/model.py +++ /dev/null @@ -1,173 +0,0 @@ -# -*- coding: utf-8 -*- -# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import json -import os - -import numpy as np -import triton_python_backend_utils as pb_utils -from transformers import LlamaTokenizer - -TOKENIZER_DIR = os.environ.get("TOKENIZER_DIR", "/model") - -SPACE_CHAR = 9601 -NEWLINE_CHAR = 60 -STOP_TOKEN = 2 - - -class TritonPythonModel: - """Your Python model must use the same class name. Every Python model - that is created must have "TritonPythonModel" as the class name. - """ - - def initialize(self, args): - """`initialize` is called only once when the model is being loaded. - Implementing `initialize` function is optional. This function allows - the model to initialize any state associated with this model. - Parameters - ---------- - args : dict - Both keys and values are strings. The dictionary keys and values are: - * model_config: A JSON string containing the model configuration - * model_instance_kind: A string containing model instance kind - * model_instance_device_id: A string containing model instance device ID - * model_repository: Model repository path - * model_version: Model version - * model_name: Model name - """ - # Parse model configs - self.model_config = model_config = json.loads(args["model_config"]) - - # Parse model output configs - output_config = pb_utils.get_output_config_by_name(model_config, "OUTPUT") - - # Convert Triton types to numpy types - self.output_dtype = pb_utils.triton_string_to_numpy(output_config["data_type"]) - - self.tokenizer = LlamaTokenizer.from_pretrained(TOKENIZER_DIR, legacy=False) - vocab = self.tokenizer.convert_ids_to_tokens( - list(range(self.tokenizer.vocab_size)) - ) - - def execute(self, requests): - """`execute` must be implemented in every Python model. `execute` - function receives a list of pb_utils.InferenceRequest as the only - argument. This function is called when an inference is requested - for this model. Depending on the batching configuration (e.g. Dynamic - Batching) used, `requests` may contain multiple requests. Every - Python model, must create one pb_utils.InferenceResponse for every - pb_utils.InferenceRequest in `requests`. If there is an error, you can - set the error argument when creating a pb_utils.InferenceResponse. - Parameters - ---------- - requests : list - A list of pb_utils.InferenceRequest - Returns - ------- - list - A list of pb_utils.InferenceResponse. The length of this list must - be the same as `requests` - """ - - responses = [] - - # Every Python backend must iterate over everyone of the requests - # and create a pb_utils.InferenceResponse for each of them. - for request in requests: - # Get input tensors - tokens_batch = pb_utils.get_input_tensor_by_name( - request, "TOKENS_BATCH" - ).as_numpy() - - # Reshape Input - # tokens_batch = tokens_batch.reshape([-1, tokens_batch.shape[0]]) - # tokens_batch = tokens_batch.T - - # Postprocessing output data. - outputs = self._postprocessing(tokens_batch) - - # Create output tensors. You need pb_utils.Tensor - # objects to create pb_utils.InferenceResponse. - output_tensor = pb_utils.Tensor( - "OUTPUT", np.array(outputs).astype(self.output_dtype) - ) - - # Create InferenceResponse. You can set an error here in case - # there was a problem with handling this inference request. - # Below is an example of how you can set errors in inference - # response: - # - # pb_utils.InferenceResponse( - # output_tensors=..., TritonError("An error occurred")) - inference_response = pb_utils.InferenceResponse( - output_tensors=[output_tensor] - ) - responses.append(inference_response) - - # You should return a list of pb_utils.InferenceResponse. Length - # of this list must match the length of `requests` list. - return responses - - def finalize(self): - """`finalize` is called only once when the model is being unloaded. - `Implementing `finalize` function is optional. This function allows - the model to perform any necessary clean ups before exit. - """ - pb_utils.Logger.log("Finalizing the Post-Processing Model.") - - def _id_to_token(self, token_id): - # handle special tokens (end of string, unknown, etc) - try: - special_token_index = self.tokenizer.all_special_ids.index(token_id) - return self.tokenizer.all_special_tokens[special_token_index] - except ValueError: - pass - - # handle typical tokens - tokens = self.tokenizer.convert_ids_to_tokens(token_id) - if ord(tokens[0]) == SPACE_CHAR: - return f" {tokens[1:]}" - if ord(tokens[0]) == NEWLINE_CHAR: - return "\n" - return tokens - - def _postprocessing(self, tokens_batch): - tokens_batch = tokens_batch.tolist() - return [ - self._id_to_token(token_id) - for beam_tokens in tokens_batch - for token_ids in beam_tokens - for token_id in token_ids - ] - - # for beam_tokens in tokens_batch: - # for token_ids in beam_tokens: - # for token_id in token_ids: - # # handle special tokens (end of string, unknown, etc) - # special_token = self.tokenizer.added_tokens_decoder.get(token_id) - # if special_token: - # tokens = special_token.content - - # # handle typical tokens - # else: - # tokens = self.tokenizer.convert_ids_to_tokens(token_id) - # if ord(tokens[0]) == SPACE_CHAR: - # tokens = f" {tokens[1:]}" - # elif ord(tokens[0]) == NEWLINE_CHAR: - # tokens = "\n" - - # outputs.append(tokens) - # return outputs diff --git a/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/postprocessing/config.pbtxt b/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/postprocessing/config.pbtxt deleted file mode 100755 index 3c3ea10d4..000000000 --- a/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/postprocessing/config.pbtxt +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of NVIDIA CORPORATION nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY -# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -name: "postprocessing" -backend: "python" -max_batch_size: 128 -input [ - { - name: "TOKENS_BATCH" - data_type: TYPE_INT32 - dims: [ -1, -1 ] - } -] -output [ - { - name: "OUTPUT" - data_type: TYPE_STRING - dims: [ -1, -1 ] - } -] - -instance_group [ - { - count: 1 - kind: KIND_CPU - } -] diff --git a/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/preprocessing/1/model.py b/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/preprocessing/1/model.py deleted file mode 100644 index 44e8b9c4a..000000000 --- a/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/preprocessing/1/model.py +++ /dev/null @@ -1,244 +0,0 @@ -# Copyright 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of NVIDIA CORPORATION nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY -# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -import csv -import json -import os - -import numpy as np -import torch -import triton_python_backend_utils as pb_utils -from torch.nn.utils.rnn import pad_sequence -from transformers import LlamaTokenizer - -TOKENIZER_DIR = os.environ.get("TOKENIZER_DIR", "/model") - -END_ID = 2 - -# SYSTEM_PROMPT = ( -# """You are a helpful, respectful and honest assistant.""" -# """Always answer as helpfully as possible, while being safe.""" -# """Please ensure that your responses are positive in nature.""" -# ) - -# LLAMA_PROMPT_TEMPLATE = ( -# "[INST] <>" -# "{system_prompt}" -# "<>" -# "[/INST] {context} [INST] {question} [/INST]" -# ) - - -class TritonPythonModel: - """Your Python model must use the same class name. Every Python model - that is created must have "TritonPythonModel" as the class name. - """ - - def initialize(self, args): - """`initialize` is called only once when the model is being loaded. - Implementing `initialize` function is optional. This function allows - the model to initialize any state associated with this model. - Parameters - ---------- - args : dict - Both keys and values are strings. The dictionary keys and values are: - * model_config: A JSON string containing the model configuration - * model_instance_kind: A string containing model instance kind - * model_instance_device_id: A string containing model instance device ID - * model_repository: Model repository path - * model_version: Model version - * model_name: Model name - """ - # Parse model configs - self.model_config = model_config = json.loads(args["model_config"]) - - # Parse model output configs and convert Triton types to numpy types - input_names = ["INPUT_ID", "REQUEST_INPUT_LEN"] - for input_name in input_names: - setattr( - self, - input_name.lower() + "_dtype", - pb_utils.triton_string_to_numpy( - pb_utils.get_output_config_by_name(model_config, input_name)[ - "data_type" - ] - ), - ) - - self.encoder = LlamaTokenizer.from_pretrained(TOKENIZER_DIR, legacy=False) - - def execute(self, requests): - """`execute` must be implemented in every Python model. `execute` - function receives a list of pb_utils.InferenceRequest as the only - argument. This function is called when an inference is requested - for this model. Depending on the batching configuration (e.g. Dynamic - Batching) used, `requests` may contain multiple requests. Every - Python model, must create one pb_utils.InferenceResponse for every - pb_utils.InferenceRequest in `requests`. If there is an error, you can - set the error argument when creating a pb_utils.InferenceResponse. - Parameters - ---------- - requests : list - A list of pb_utils.InferenceRequest - Returns - ------- - list - A list of pb_utils.InferenceResponse. The length of this list must - be the same as `requests` - """ - - responses = [] - - # Every Python backend must iterate over everyone of the requests - # and create a pb_utils.InferenceResponse for each of them. - for request in requests: - # Get input tensors - query = pb_utils.get_input_tensor_by_name(request, "QUERY").as_numpy() - request_output_len = pb_utils.get_input_tensor_by_name( - request, "REQUEST_OUTPUT_LEN" - ).as_numpy() - - input_id, request_input_len = self._create_request(query) - - # Create output tensors. You need pb_utils.Tensor - # objects to create pb_utils.InferenceResponse. - input_id_tensor = pb_utils.Tensor( - "INPUT_ID", np.array(input_id).astype(self.input_id_dtype) - ) - request_input_len_tensor = pb_utils.Tensor( - "REQUEST_INPUT_LEN", - np.array(request_input_len).astype(self.request_input_len_dtype), - ) - request_output_len_tensor = pb_utils.Tensor( - "REQUEST_OUTPUT_LEN", request_output_len - ) - - # Create InferenceResponse. You can set an error here in case - # there was a problem with handling this inference request. - # Below is an example of how you can set errors in inference - # response: - # - # pb_utils.InferenceResponse( - # output_tensors=..., TritonError("An error occurred")) - inference_response = pb_utils.InferenceResponse( - output_tensors=[ - input_id_tensor, - request_input_len_tensor, - request_output_len_tensor, - ] - ) - responses.append(inference_response) - - # You should return a list of pb_utils.InferenceResponse. Length - # of this list must match the length of `requests` list. - return responses - - def finalize(self): - """`finalize` is called only once when the model is being unloaded. - Implementing `finalize` function is optional. This function allows - the model to perform any necessary clean ups before exit. - """ - pb_utils.Logger.log("Finalizing the Pre-Processing Model.") - - def _create_request(self, prompts): - """ - prompts : batch string (2D numpy array) - """ - - start_ids = [ - torch.IntTensor(self.encoder.encode(prompt[0].decode())) - for prompt in prompts - ] - - start_lengths = torch.IntTensor([[len(ids)] for ids in start_ids]) - - start_ids = pad_sequence(start_ids, batch_first=True, padding_value=END_ID) - - return start_ids, start_lengths - - def _create_word_list(self, word_dict): - flat_ids = [] - offsets = [] - for word_dict_item in word_dict: - item_flat_ids = [] - item_offsets = [] - - words = list(csv.reader([word_dict_item[0].decode()]))[0] - for word in words: - ids = self._encode(word) - - if len(ids) == 0: - continue - - item_flat_ids += ids - item_offsets.append(len(ids)) - - flat_ids.append(np.array(item_flat_ids)) - offsets.append(np.cumsum(np.array(item_offsets))) - - pad_to = max(1, max(len(ids) for ids in flat_ids)) - - for i, (ids, offs) in enumerate(zip(flat_ids, offsets)): - flat_ids[i] = np.pad(ids, (0, pad_to - len(ids)), constant_values=0) - offsets[i] = np.pad(offs, (0, pad_to - len(offs)), constant_values=-1) - - return np.array([flat_ids, offsets], dtype="int32").transpose((1, 0, 2)) - - def to_word_list_format(self, word_dict): - flat_ids = [] - offsets = [] - for word_dict_item in word_dict: - item_flat_ids = [] - item_offsets = [] - - if isinstance(word_dict_item[0], bytes): - word_dict_item = [word_dict_item[0].decode()] - - words = list(csv.reader(word_dict_item))[0] - for word in words: - ids = self.encoder.encode(word) - - if len(ids) == 0: - continue - - item_flat_ids += ids - item_offsets.append(len(ids)) - - flat_ids.append(np.array(item_flat_ids)) - offsets.append(np.cumsum(np.array(item_offsets))) - - pad_to = max(1, max(len(ids) for ids in flat_ids)) - - for i, (ids, offs) in enumerate(zip(flat_ids, offsets)): - flat_ids[i] = np.pad(ids, (0, pad_to - len(ids)), constant_values=0) - offsets[i] = np.pad(offs, (0, pad_to - len(offs)), constant_values=-1) - - return np.array([flat_ids, offsets], dtype="int32").transpose((1, 0, 2)) - - def _encode(self, sentence): - sentence = sentence.decode() if isinstance(sentence, bytes) else sentence - return self.encoder.encode(sentence) diff --git a/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/preprocessing/config.pbtxt b/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/preprocessing/config.pbtxt deleted file mode 100644 index d2e3029a9..000000000 --- a/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/preprocessing/config.pbtxt +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of NVIDIA CORPORATION nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY -# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -name: "preprocessing" -backend: "python" -max_batch_size: 128 -input [ - { - name: "QUERY" - data_type: TYPE_STRING - dims: [ -1 ] - }, - { - name: "REQUEST_OUTPUT_LEN" - data_type: TYPE_UINT32 - dims: [ -1 ] - } -] -output [ - { - name: "INPUT_ID" - data_type: TYPE_INT32 - dims: [ -1 ] - }, - { - name: "REQUEST_INPUT_LEN" - data_type: TYPE_INT32 - dims: [ 1 ] - }, - { - name: "REQUEST_OUTPUT_LEN" - data_type: TYPE_UINT32 - dims: [ -1 ] - } -] - -instance_group [ - { - count: 1 - kind: KIND_CPU - } -] diff --git a/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/tensorrt_llm/1/.gitkeep b/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/tensorrt_llm/1/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/tensorrt_llm/config.pbtxt.j2 b/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/tensorrt_llm/config.pbtxt.j2 deleted file mode 100644 index 4b719b046..000000000 --- a/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/llama/tensorrt_llm/config.pbtxt.j2 +++ /dev/null @@ -1,208 +0,0 @@ -# Copyright 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of NVIDIA CORPORATION nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY -# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY -# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -name: "tensorrt_llm" -backend: "tensorrtllm" -max_batch_size: 128 - -model_transaction_policy { - decoupled: {{ decoupled_mode }} -} - -input [ - { - name: "input_ids" - data_type: TYPE_INT32 - dims: [ -1 ] - }, - { - name: "input_lengths" - data_type: TYPE_INT32 - dims: [ 1 ] - reshape: { shape: [ ] } - }, - { - name: "request_output_len" - data_type: TYPE_UINT32 - dims: [ 1 ] - }, - { - name: "end_id" - data_type: TYPE_UINT32 - dims: [ 1 ] - reshape: { shape: [ ] } - optional: true - }, - { - name: "pad_id" - data_type: TYPE_UINT32 - dims: [ 1 ] - reshape: { shape: [ ] } - optional: true - }, - { - name: "beam_width" - data_type: TYPE_UINT32 - dims: [ 1 ] - reshape: { shape: [ ] } - optional: true - }, - { - name: "temperature" - data_type: TYPE_FP32 - dims: [ 1 ] - reshape: { shape: [ ] } - optional: true - }, - { - name: "runtime_top_k" - data_type: TYPE_UINT32 - dims: [ 1 ] - reshape: { shape: [ ] } - optional: true - }, - { - name: "runtime_top_p" - data_type: TYPE_FP32 - dims: [ 1 ] - reshape: { shape: [ ] } - optional: true - }, - { - name: "len_penalty" - data_type: TYPE_FP32 - dims: [ 1 ] - reshape: { shape: [ ] } - optional: true - }, - { - name: "repetition_penalty" - data_type: TYPE_FP32 - dims: [ 1 ] - reshape: { shape: [ ] } - optional: true - }, - { - name: "min_length" - data_type: TYPE_UINT32 - dims: [ 1 ] - reshape: { shape: [ ] } - optional: true - }, - { - name: "presence_penalty" - data_type: TYPE_FP32 - dims: [ 1 ] - reshape: { shape: [ ] } - optional: true - }, - { - name: "random_seed" - data_type: TYPE_UINT64 - dims: [ 1 ] - reshape: { shape: [ ] } - optional: true - }, - { - name: "stop" - data_type: TYPE_BOOL - dims: [ 1 ] - optional: true - }, - { - name: "streaming" - data_type: TYPE_BOOL - dims: [ 1 ] - optional: true - } -] -output [ - { - name: "output_ids" - data_type: TYPE_INT32 - dims: [ -1, -1 ] - } -] -instance_group [ - { - count: 1 - kind : KIND_CPU - } -] -parameters: { - key: "max_beam_width" - value: { - string_value: "1" - } -} -parameters: { - key: "FORCE_CPU_ONLY_INPUT_TENSORS" - value: { - string_value: "no" - } -} -parameters: { - key: "gpt_model_type" - value: { - string_value: "{{ gpt_model_type }}" - } -} -parameters: { - key: "gpt_model_path" - value: { - string_value: "{{ engine_dir }}" - } -} -parameters: { - key: "max_tokens_in_paged_kv_cache" - value: { - string_value: "" - } -} -parameters: { - key: "batch_scheduler_policy" - value: { - string_value: "guaranteed_completion" - } -} -parameters: { - key: "kv_cache_free_gpu_mem_fraction" - value: { - string_value: ".75" - } -} -parameters: { - key: "max_num_sequences" - value: { - string_value: "" - } -} -parameters: { - key: "enable_trt_overlap" - value: { - string_value: "" - } -} diff --git a/RetrievalAugmentedGeneration/llm-inference-server/model_server/__init__.py b/RetrievalAugmentedGeneration/llm-inference-server/model_server/__init__.py deleted file mode 100644 index f0aa9420a..000000000 --- a/RetrievalAugmentedGeneration/llm-inference-server/model_server/__init__.py +++ /dev/null @@ -1,93 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""Model-Server converts LLMs to TensorRT engines and hosts them with Triton.""" -import argparse -import logging - -from .conversion import ConversionOptions, convert -from .errors import ModelServerException -from .model import Model, ModelFormats -from .server import ModelServer - -_LOGGER = logging.getLogger(__name__) - - -def _should_convert(args: argparse.Namespace, model: "Model") -> bool: - """Determine if the conversion step should run.""" - if args.force_conversion: - return True - - if args.no_conversion: - return False - - return model.conversion_is_needed() - - -def main(args: argparse.Namespace) -> int: - """Execute the model server.""" - - # load the model directory - _LOGGER.info("Reading the model directory.") - model = Model(model_type=args.type, world_size=args.world_size) - - if model._format == ModelFormats.UNKNOWN: - raise ModelServerException( - f"""No known model formats detected in the provided MODEL_DIRECTORY. - Supported formats are Pytorch(.pth or .pt), Huggingface (.bin) and Onnx (.onnx). - Please check if the absolute path provided with the help of environment variable - MODEL_DIRECTORY in compose.env file is correct and has been set properly.""" - ) - - # calculate the default parallism parameters - if not args.tensor_parallelism: - args.tensor_parallelism = max( - int(model.world_size / args.pipeline_parallelism), 1 - ) - if args.pipeline_parallelism * args.tensor_parallelism != model.world_size: - raise ModelServerException( - "Tensor Parallelism * Pipeline Parallelism must be equal to World Size" - ) - - conversion_opts = ConversionOptions( - max_input_length=args.max_input_length, - max_output_length=args.max_output_length, - tensor_parallelism=args.tensor_parallelism, - pipline_parallelism=args.pipeline_parallelism, - quantization = args.quantization, - ) - - # print discovered model parameters - _LOGGER.info("Model file format: %s", model.format.name) - _LOGGER.info("World Size: %d", model.world_size) - _LOGGER.info("Max input length: %s", args.max_input_length) - _LOGGER.info("Max output length: %s", args.max_output_length) - _LOGGER.info("Compute Capability: %s", model.compute_cap) - _LOGGER.info("Quantization: %s", conversion_opts.quantization) - - # convert model - if _should_convert(args, model): - _LOGGER.info("Starting TensorRT Conversion.") - convert(model, conversion_opts) - else: - _LOGGER.info("TensorRT Conversion not required. Skipping.") - - # host model - if not args.no_hosting: - _LOGGER.info("Starting Triton Inference Server.") - inference_server = ModelServer(model, args.http) - return inference_server.run() - - return 0 diff --git a/RetrievalAugmentedGeneration/llm-inference-server/model_server/__main__.py b/RetrievalAugmentedGeneration/llm-inference-server/model_server/__main__.py deleted file mode 100644 index a72a7a005..000000000 --- a/RetrievalAugmentedGeneration/llm-inference-server/model_server/__main__.py +++ /dev/null @@ -1,203 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""Main entrypoint for the model-server application.""" -import argparse -import logging -import os -import sys - -from . import main -from .errors import ModelServerException -from .model import ModelTypes - -TERMINATION_LOG = "/dev/termination-log" - -_LOG_FMT = f"[{os.getpid()}] %(asctime)15s [%(levelname)7s] - %(name)s - %(message)s" -_LOG_DATE_FMT = "%b %d %H:%M:%S" -_LOGGER = logging.getLogger("main") - - -def parse_args() -> argparse.Namespace: - """Parse the comamnd line arguments.""" - parser = argparse.ArgumentParser( - prog="model-server", - description="Ingest models and host them with NVIDIA TensorRT LLM", - ) - - # options - parser.add_argument( - "-w", - "--world-size", - default=None, - type=int, - help="The number of GPUs to shard the model across. " - + "By default, this value will be equal to the number of available GPUs.", - ) - parser.add_argument( - "--force-conversion", - action="store_true", - help="When this flag is set, the TensorRT engine conversion will occur, " - + "even if a valid engine is in the cache.", - ) - parser.add_argument( - "--no-conversion", - action="store_true", - help="Skip the conversion. If no engine is available in the cache, an error will be raised.", - ) - parser.add_argument( - "--no-hosting", - action="store_true", - help="Do not start the Triton Inference Server. Only convert the model then exit.", - ) - parser.add_argument( - "-v", - "--verbose", - action="count", - default=1, - help="increase output verbosity", - ) - parser.add_argument( - "-q", - "--quiet", - action="count", - default=0, - help="decrease output verbosity", - ) - - # builder customization - parser.add_argument( - "--max-input-length", - type=int, - default=3000, - help="maximum number of input tokens", - ) - parser.add_argument( - "--max-output-length", - type=int, - default=512, - help="maximum number of output tokens", - ) - parser.add_argument( - "--tensor-parallelism", - type=int, - default=None, - help="number of tensor parallelism divisions (default: world_size/pipeline_parallelism)", - ) - parser.add_argument( - "--pipeline-parallelism", - type=int, - default=1, - help="number of pipeline parallism divisions (default: 1)", - ) - - parser.add_argument( - "--quantization", - type=str, - default=None, - help="Quantization type to be used for LLMs", - ) - - # server customization - parser.add_argument( - "--http", - action="store_true", - help="change the api server to http instead of grpc (note: this will disable token streaming)", - ) - - # positional arguments - supported_model_types = [e.name.lower().replace("_", "-") for e in ModelTypes] - parser.add_argument( - "type", - metavar="TYPE", - choices=supported_model_types, - type=str.lower, - help=f"{supported_model_types} The type of model to process.", - ) - - args = parser.parse_args() - - if args.force_conversion and args.no_conversion: - parser.error("--force_conversion and --no-conversion are mutually exclusive.") - - return args - - -def _bootstrap_logging(verbosity: int = 0) -> None: - """Configure Python's logger according to the given verbosity level. - - :param verbosity: The desired verbosity level. Must be one of 0, 1, or 2. - :type verbosity: typing.Literal[0, 1, 2] - """ - # determine log level - verbosity = min(2, max(0, verbosity)) # limit verbosity to 0-2 - log_level = [logging.WARN, logging.INFO, logging.DEBUG][verbosity] - - # configure python's logger - logging.basicConfig(format=_LOG_FMT, datefmt=_LOG_DATE_FMT, level=log_level) - # update existing loggers - _LOGGER.setLevel(log_level) - # pylint: disable-next=no-member; false positive - for logger_name in logging.root.manager.loggerDict: - logger = logging.getLogger(logger_name) - for handler in logger.handlers: - handler.setFormatter(logging.Formatter(fmt=_LOG_FMT, datefmt=_LOG_DATE_FMT)) - - -def _k8s_error_handler(err: Exception) -> None: - """When running in Kubernetes, write errors to the termination log.""" - with open(TERMINATION_LOG, "w", encoding="UTF-8") as term_log: - # recursively write nested exceptions - def _write_errors_to_term_log(e: BaseException) -> None: - term_log.write(f"{type(e)}: {e}\n") - if e.__cause__: - _write_errors_to_term_log(e.__cause__) - - _write_errors_to_term_log(err) - - -def _error_handler(err: Exception) -> int: - """Catch and handle exceptions from the applicaiton.""" - # keybaord interrupts are fine - if isinstance(err, KeyboardInterrupt): - return 0 - - # on k8s, write errors to log file - if os.path.isfile(TERMINATION_LOG): - _k8s_error_handler(err) - - # raise uncaught errors - if not isinstance(err, ModelServerException): - raise err - - # gracefully handle caught errors - _LOGGER.error(str(err)) - - # if there is a nested error, raise it - if err.__cause__: - raise err.__cause__ - - # we decided to quite gracefully - return 1 - - -if __name__ == "__main__": - try: - _ARGS = parse_args() - _bootstrap_logging(_ARGS.verbose - _ARGS.quiet) - sys.exit(main(_ARGS)) - # pylint: disable-next=broad-exception-caught; Error handling based on type is done in the handler - except Exception as _ERR: - sys.exit(_error_handler(_ERR)) diff --git a/RetrievalAugmentedGeneration/llm-inference-server/model_server/conversion/__init__.py b/RetrievalAugmentedGeneration/llm-inference-server/model_server/conversion/__init__.py deleted file mode 100644 index f729920bd..000000000 --- a/RetrievalAugmentedGeneration/llm-inference-server/model_server/conversion/__init__.py +++ /dev/null @@ -1,74 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""This module contains the logic for doing model conversions to TensorRT.""" -from dataclasses import dataclass -from typing import Optional - -from ..errors import ModelServerException -from ..model import Model, ModelFormats, ModelTypes - - -@dataclass -class ConversionOptions: - """Class containing the options used in TRT conversion.""" - - max_input_length: int - max_output_length: int - pipline_parallelism: int - tensor_parallelism: int - vocab_size: Optional[int] = None - quantization: Optional[str] = "" - - -def convert(model: Model, opts: ConversionOptions) -> None: - """ - Convert the provided model to TensorRT. - - Supported types and formats: - +----------+---------+---------+---------+---------+---------+ - | | NEMO | PYTORCH | ONNX | HFACE | UNKNOWN | - +----------+---------+---------+---------+---------+---------+ - | LLAMA | ✅ | ✅ | ❌ | ✅ | ❌ | - | GPTNEXT | ✅ | ❌ | ❌ | ❌ | ❌ | - +----------+---------+---------+---------+---------+---------+ - """ - if model.format == ModelFormats.NEMO: - # pylint: disable-next=import-outside-toplevel # preventing circular imports - from . import nemo - - nemo.convert(model, opts) - - elif model.type == ModelTypes.LLAMA: - # pylint: disable-next=import-outside-toplevel # preventing circular imports - from . import llama - - opts.vocab_size = 32000 - llama.convert(model, opts) - - elif model.type == ModelTypes.CODE_LLAMA: - # pylint: disable-next=import-outside-toplevel # preventing circular imports - from . import llama - - opts.vocab_size = 32016 - llama.convert(model, opts) - - else: - supported_types = [e.name for e in ModelTypes] - raise ModelServerException( - f"Unsupported model type. Conversion is supported for the following types: {supported_types}" - ) - - model.write_hash() diff --git a/RetrievalAugmentedGeneration/llm-inference-server/model_server/conversion/llama.py b/RetrievalAugmentedGeneration/llm-inference-server/model_server/conversion/llama.py deleted file mode 100644 index 60b93c667..000000000 --- a/RetrievalAugmentedGeneration/llm-inference-server/model_server/conversion/llama.py +++ /dev/null @@ -1,127 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""This module contains the logic for exporting a Llama model in PyTorch format to TensorRT.""" -import logging -import os -import subprocess -import sys -import typing - -from ..errors import ModelServerException, UnsupportedFormatException -from ..model import Model -from . import ConversionOptions - -_CONVERSION_SCRIPTS = "/opt/conversion_scripts/llama" - -_CHECKPOINT_ARGS_FLAGS = {"PYTORCH": "--meta_ckpt_dir", "HUGGINGFACE": "--model_dir"} -_QUANTIZATIONS = ["int4_awq"] - -_LOGGER = logging.getLogger(__name__) - -def find_pt_file(directory): - for root, dirs, files in os.walk(directory): - for file in files: - if file.endswith(".pt"): - return os.path.join(root, file) - return None - -def convert(model: Model, opts: ConversionOptions) -> None: - """Convert a llama model.""" - _LOGGER.debug("Running Llama model conversion.") - _LOGGER.info(f"Model Format: {model.format.name}") - - # construct builder executable path - cwd = _CONVERSION_SCRIPTS - exe = [sys.executable, "build.py"] - - # construct builder env variables - env = os.environ - - # construct builder arguments - try: - raw_args: typing.List[str] = [ - "--max_input_len", - str(opts.max_input_length), - "--max_output_len", - str(opts.max_output_length), - "--dtype", - "float16", - "--use_gpt_attention_plugin", - "float16", - "--use_inflight_batching", - "--paged_kv_cache", - "--remove_input_padding", - "--use_gemm_plugin", - "float16", - "--output_dir", - model.engine_dir, - "--world_size", - str(model.world_size), - "--tp_size", - str(opts.tensor_parallelism), - "--pp_size", - str(opts.pipline_parallelism), - "--vocab_size", - str(opts.vocab_size), - ] - - if opts.quantization: - if opts.quantization == "int4_awq" and model.format.name == "PYTORCH": - ckpt_dir = find_pt_file(model.model_dir) - raw_args.extend([ - "--use_weight_only", - "--weight_only_precision", - "int4_awq", - "--per_group", - "--quant_ckpt_path", - str(ckpt_dir), - ]) - else: - raise Exception( - "Unsupported quantization or model format, " \ - + f"supported quantizations: {_QUANTIZATIONS}, " \ - + "with format: PYTORCH" - ) - else: - raw_args.extend([ - _CHECKPOINT_ARGS_FLAGS[model.format.name], - model.model_dir, - ]) - - except KeyError as err: - raise UnsupportedFormatException( - model.format.name, ["PyTorch", "Hugging Face"] - ) from err - - # start the builder - _LOGGER.debug( - "Starting Llama exporter with the command: %s", " ".join(exe + raw_args) - ) - _LOGGER.debug("Starting Llama exporter with the env vars: %s", repr(env)) - with subprocess.Popen(exe + raw_args, env=env, cwd=cwd) as proc: - try: - retcode = proc.wait() - except KeyboardInterrupt: - proc.kill() - except Exception as err: - raise ModelServerException( - "Error running TensorRT model conversion." - ) from err - else: - if retcode != 0: - raise ModelServerException( - "TensorRT conversion returned a non-zero exit code." - ) diff --git a/RetrievalAugmentedGeneration/llm-inference-server/model_server/conversion/nemo.py b/RetrievalAugmentedGeneration/llm-inference-server/model_server/conversion/nemo.py deleted file mode 100644 index 437f30751..000000000 --- a/RetrievalAugmentedGeneration/llm-inference-server/model_server/conversion/nemo.py +++ /dev/null @@ -1,65 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""This module contains the code for converting any .nemo formatted model to TRT LLM.""" -import logging -import os -from glob import glob -from tarfile import TarFile -from typing import IO, cast - -import yaml - -# pylint: disable-next=import-error -from nemo.export import TensorRTLLM # type: ignore - -from ..errors import ModelServerException -from ..model import Model -from . import ConversionOptions - -_LOGGER = logging.getLogger(__name__) - - -def convert(model: Model, opts: ConversionOptions) -> None: - """Convert a .nemo formatted model.""" - # find the .nemo model file - model_files = glob(os.path.join(model.model_dir, "*.nemo")) - if len(model_files) > 1: - raise ModelServerException( - "More than one NeMo checkpoint found in the model directory. " - + "Please only include one NeMo checkpoint file." - ) - - # verify that the model parallelism matchines the - config = {} - with TarFile(model_files[0], "r") as archive: - try: - config_file = cast(IO[bytes], archive.extractfile("./model_config.yaml")) - except KeyError: - config_file = cast(IO[bytes], archive.extractfile("model_config.yaml")) - config = yaml.safe_load(config_file) - config_file.close() - - # run the nemo to trt llm conversion - trt_llm_exporter = TensorRTLLM(model_dir=model.engine_dir) - _LOGGER.info(".nemo to TensorRT Conversion started. This will take a few minutes.") - _LOGGER.info(model.engine_dir) - trt_llm_exporter.export( - nemo_checkpoint_path=model_files[0], - model_type=model.family, - n_gpus=model.world_size, - max_input_token=opts.max_input_length, - max_output_token=opts.max_output_length - ) diff --git a/RetrievalAugmentedGeneration/llm-inference-server/model_server/errors.py b/RetrievalAugmentedGeneration/llm-inference-server/model_server/errors.py deleted file mode 100644 index 5609a58a9..000000000 --- a/RetrievalAugmentedGeneration/llm-inference-server/model_server/errors.py +++ /dev/null @@ -1,32 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""The custom errors raised by the model server.""" -import typing - - -class ModelServerException(Exception): - """The base class for any custom expections.""" - - -class UnsupportedFormatException(ModelServerException): - """An error that indicates the model format is not supported for the provided type.""" - - def __init__(self, model_type: str, supported: typing.List[str]): - """Initialize the exception.""" - super().__init__( - "Unsupported model type and format combination. " - + f"{model_type} models are supported in the following formats: {str(supported)}" - ) diff --git a/RetrievalAugmentedGeneration/llm-inference-server/model_server/model.py b/RetrievalAugmentedGeneration/llm-inference-server/model_server/model.py deleted file mode 100644 index 0f83459ba..000000000 --- a/RetrievalAugmentedGeneration/llm-inference-server/model_server/model.py +++ /dev/null @@ -1,246 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""This module contains the model class that represents the model mounted to the container.""" -import glob -import hashlib -import logging -import os -import pathlib -import subprocess -import typing -from enum import Enum, auto, unique - -from .errors import ModelServerException - -DEFAULT_MODEL_DIR = "/model" -HASH_COMMAND = "sha1sum" -_LOGGER = logging.getLogger(__name__) - - -def _fast_hash_dir(dir_path: str) -> str: - """ - Read the files in a directory and quickly create a hash. - - This hash IS NOT cryptographically secure, but it is designed to be computed as quickly as reasonably possible. - This function will only hash top level files and will not traverse directories. - """ - # create a threaded pool of workers to calculate individual hases - workers = [] - for obj in os.listdir(dir_path): - obj_path = os.path.join(dir_path, obj) - if not os.path.isfile(obj_path): - continue - - workers += [ - # pylint: disable-next=consider-using-with - subprocess.Popen( - [HASH_COMMAND, obj_path], stdout=subprocess.PIPE, stderr=subprocess.PIPE - ) - ] - - # wait for workers to complete - all_shas = b"" - for proc in workers: - stdout, _ = proc.communicate() - all_shas += stdout.split(b" ", maxsplit=1)[0] - - hasher = hashlib.sha1(usedforsecurity=False) - hasher.update(all_shas) - return hasher.hexdigest() - - -@unique -class ModelFormats(Enum): - """A Enumerator containing all of the supported model types.""" - - UNKNOWN = auto() - ONNX = auto() - PYTORCH = auto() - HUGGINGFACE = auto() - NEMO = auto() - - -@unique -class ModelTypes(Enum): - """A enumerator of the supported model types.""" - - LLAMA = auto() - CODE_LLAMA = auto() - GPTNEXT = auto() - - @property - def family(self) -> str: - """Return the family grouping of the model.""" - return ["llama", "llama", "gptnext"][self.value - 1] - - -class Model: - """A representation of the mounted model.""" - - def __init__( - self, - model_type: str, - model_dir: typing.Optional[str] = None, - world_size: typing.Optional[int] = None, - ): - """Initialize the model class.""" - try: - self._type = ModelTypes[model_type.upper().replace("-", "_")] - except KeyError as err: - raise ModelServerException(f"Unrecognized model type {type}") from err - - self._model_dir = model_dir or DEFAULT_MODEL_DIR - self._gpu_info = self._init_gpu_info(world_size=world_size) - self._hash: typing.Optional[str] = None - self._engine_dir = self._init_engine_dir() - self._format = self._init_model_format() - - @classmethod - def _init_gpu_info( - cls, - world_size: typing.Optional[int] = None, - ) -> typing.Dict[str, typing.Union[str, int]]: - """ - Get the product name and architecture for the first GPU in the system. - - Returns - ------- - Tuple: A tuple of the product name and architecture. - """ - query_cmd = ["nvidia-smi", "--query-gpu=compute_cap", "--format=csv,noheader"] - gpu_info_raw = subprocess.check_output(query_cmd) - compute_caps = [cap.decode() for cap in gpu_info_raw.strip().split(b"\n")] - # FUTURE: convert this to use nvml instead - - # do basic error checking - if len(compute_caps) == 0: - raise ModelServerException("No GPUs attached to the container.") - if len(set(compute_caps)) > 1: - raise ModelServerException( - "Attached GPUs are dissimilar. All GPUs must be of the same type." - ) - if not world_size: - world_size = len(compute_caps) - - return {"compute_cap": compute_caps[0], "world_size": world_size} - - def _init_engine_dir(self) -> str: - """Create and return the path to the TensorRT cache directory for this model.""" - cache_dir = f"trt-w{self.world_size}-cc{self.compute_cap}" - cache_path = os.path.join(self.model_dir, cache_dir) - pathlib.Path(cache_path).mkdir(parents=True, exist_ok=True) - return cache_path - - def _init_model_format(self) -> ModelFormats: - """Determine the format of model that has been mounted.""" - # look for nemo checkpoints - nemo_count = self._file_ext_count("nemo") - if nemo_count == 1: - return ModelFormats.NEMO - if nemo_count > 1: - raise ModelServerException( - f"Only one nemo checkpoint file may be in the model directory. Found {nemo_count}", - ) - - # look for pytorch saved models - pytorch_count = self._file_ext_count("pth") + self._file_ext_count("pt") - if pytorch_count: - return ModelFormats.PYTORCH - - # look for huggingface saved models - hf_count = self._file_ext_count("bin") - if hf_count: - return ModelFormats.HUGGINGFACE - - # look for onnx models - onnx_count = self._file_ext_count("onnx") - if onnx_count: - return ModelFormats.ONNX - - return ModelFormats.UNKNOWN - - def _file_ext_count(self, extension: str) -> int: - """Count the files in a directory with a given extension.""" - path = os.path.join(self.model_dir, f"*.{extension}") - return len(glob.glob(path)) - - @property - def type(self) -> ModelTypes: - """Return the type of the model.""" - return self._type - - @property - def family(self) -> str: - """Return the model family grouping.""" - return self._type.family - - @property - def model_dir(self) -> str: - """Return the stored model directory.""" - return self._model_dir - - @property - def engine_dir(self) -> str: - """Return the stored engine directory.""" - return self._engine_dir - - @property - def world_size(self) -> int: - """Return the world size.""" - ws = self._gpu_info["world_size"] - return typing.cast(int, ws) - - @property - def compute_cap(self) -> str: - """Return the compute capability version.""" - cc = self._gpu_info["compute_cap"] - return typing.cast(str, cc) - - @property - def format(self) -> ModelFormats: - """Return the format of the model.""" - return self._format - - @property - def hash(self) -> str: - """Return the hash of the model.""" - if not self._hash: - _LOGGER.info("Calculating model hash.") - self._hash = _fast_hash_dir(self.model_dir) - return self._hash - - @property - def _last_hash_path(self) -> str: - """Return the path to the last known hash file.""" - return os.path.join(self.engine_dir, "hash") - - def conversion_is_needed(self) -> bool: - """Determine if the engine conversion is required.""" - if not os.path.isfile(self._last_hash_path): - _LOGGER.debug("No engine file exists. Will generate an engine file.") - return True - with open(self._last_hash_path, "r", encoding="ASCII") as hash_file: - last_hash = hash_file.read() - if last_hash != self.hash: - _LOGGER.debug("Change in model hash detected. Will regnerate engine file.") - return True - _LOGGER.debug("Existing engine file found.") - return False - - def write_hash(self) -> None: - """Write the model hash to the engine directory.""" - with open(self._last_hash_path, "w", encoding="ASCII") as hash_file: - hash_file.write(self.hash) diff --git a/RetrievalAugmentedGeneration/llm-inference-server/model_server/server.py b/RetrievalAugmentedGeneration/llm-inference-server/model_server/server.py deleted file mode 100644 index 272234ec5..000000000 --- a/RetrievalAugmentedGeneration/llm-inference-server/model_server/server.py +++ /dev/null @@ -1,155 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""This module contains the code to statup triton inference servers.""" -import logging -import os -import subprocess -import typing - -from jinja2 import Environment, FileSystemLoader - -from .model import Model, ModelFormats - -_ENSEMBLE_MODEL_DIR = "/opt/ensemble_models" -_TRITON_BIN = "/opt/tritonserver/bin/tritonserver" -_MPIRUN_BIN = "/usr/local/mpi/bin/mpirun" -_LOGGER = logging.getLogger(__name__) - - -class ModelServer: - """Abstraction of a multi-gpu triton inference server cluster.""" - - def __init__(self, model: Model, http: bool = False) -> None: - """Initialize the model server.""" - self._model = model - self._http = http - - @property - def _decoupled_mode(self) -> str: - """Indicate if the Triton models should be hosted in decoupled mode for streaming.""" - if self._model.format == ModelFormats.NEMO: - return "false" - return "true" if not self._http else "false" - - @property - def _allow_http(self) -> str: - """Indicate if Triton should allow http connections.""" - if self._model.format == ModelFormats.NEMO: - return "true" - return "true" if self._http else "false" - - @property - def _allow_grpc(self) -> str: - """Inidicate if Triton should allow grpc connections.""" - return "true" if not self._http else "false" - - @property - def _tokenizer_model_dir(self) -> str: - """Inidicate where the tokenizer model can be found.""" - if self._model.format == ModelFormats.NEMO: - return self._model.engine_dir - return self._model.model_dir - - @property - def _gpt_model_type(self) -> str: - """Indicate the TRT LLM Backend mode.""" - if self._model.format == ModelFormats.NEMO: - return "V1" - return "inflight_fused_batching" - - @property - def model_repository(self) -> str: - """Return the triton model repository.""" - return os.path.join(_ENSEMBLE_MODEL_DIR, self._model.family) - - def _triton_server_cmd(self, rank: int) -> typing.List[str]: - """Generate the command to start a single triton server of given rank.""" - return [ - "-n", - "1", - _TRITON_BIN, - "--allow-http", - self._allow_http, - "--allow-grpc", - self._allow_grpc, - "--model-repository", - self.model_repository, - "--disable-auto-complete-config", - f"--backend-config=python,shm-region-prefix-name=prefix{rank}_", - ":", - ] - - @property - def _cmd(self) -> typing.List[str]: - """Generate the full command.""" - cmd = [_MPIRUN_BIN] - for rank in range(self._model.world_size): - cmd += self._triton_server_cmd(rank) - return cmd - - @property - def _env(self) -> typing.Dict[str, str]: - """Return the environment variable for the triton inference server.""" - env = dict(os.environ) - env["TRT_ENGINE_DIR"] = self._model.engine_dir - env["TOKENIZER_DIR"] = self._tokenizer_model_dir - if os.getuid() == 0: - _LOGGER.warning( - "Triton server will be running as root. It is recommended that you don't run this container as root." - ) - env["OMPI_ALLOW_RUN_AS_ROOT"] = "1" - env["OMPI_ALLOW_RUN_AS_ROOT_CONFIRM"] = "1" - return env - - def _render_model_templates(self) -> None: - """Render and Jinja templates in the model directory.""" - env = Environment( - loader=FileSystemLoader(searchpath=self.model_repository), - autoescape=False, - ) # nosec; all the provided values are from code, not the user - - template_path = os.path.join("tensorrt_llm", "config.pbtxt.j2") - output_path = os.path.join( - self.model_repository, "tensorrt_llm", "config.pbtxt" - ) - - template = env.get_template(template_path) - - with open(output_path, "w", encoding="UTF-8") as out: - template_args = { - "engine_dir": self._model.engine_dir, - "decoupled_mode": self._decoupled_mode, - "gpt_model_type": self._gpt_model_type, - } - out.write(template.render(**template_args)) - - def run(self) -> int: - """Start the triton inference server.""" - cmd = self._cmd - env = self._env - - _LOGGER.debug("Rendering the ensemble models.") - self._render_model_templates() - - _LOGGER.debug("Starting triton with the command: %s", " ".join(cmd)) - _LOGGER.debug("Starting triton with the env vars: %s", repr(env)) - with subprocess.Popen(cmd, env=env) as proc: - try: - retcode = proc.wait() - except KeyboardInterrupt: - proc.kill() - return 0 - return retcode diff --git a/RetrievalAugmentedGeneration/llm-inference-server/model_server_client/trt_llm.py b/RetrievalAugmentedGeneration/llm-inference-server/model_server_client/trt_llm.py deleted file mode 100644 index 7291db4c1..000000000 --- a/RetrievalAugmentedGeneration/llm-inference-server/model_server_client/trt_llm.py +++ /dev/null @@ -1,544 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""A Langchain LLM component for connecting to Triton + TensorRT LLM backend.""" -# pylint: disable=too-many-lines -import abc -import json -import queue -import random -import time -from functools import partial -from typing import Any, Callable, Dict, List, Optional, Type, Union - -import google.protobuf.json_format -import numpy as np -import tritonclient.grpc as grpcclient -import tritonclient.http as httpclient -from tritonclient.grpc.service_pb2 import ModelInferResponse -from tritonclient.utils import np_to_triton_dtype - -try: - from langchain.callbacks.manager import CallbackManagerForLLMRun - from langchain.llms.base import LLM - from langchain.pydantic_v1 import Field, root_validator - - USE_LANGCHAIN = True -except ImportError: - USE_LANGCHAIN = False - - -STOP_WORDS = [""] -RANDOM_SEED = 0 - -if USE_LANGCHAIN: - # pylint: disable-next=too-few-public-methods # Interface is defined by LangChain - class TensorRTLLM(LLM): # type: ignore # LLM class not typed in langchain - """A custom Langchain LLM class that integrates with TRTLLM triton models. - - Arguments: - server_url: (str) The URL of the Triton inference server to use. - model_name: (str) The name of the Triton TRT model to use. - temperature: (str) Temperature to use for sampling - top_p: (float) The top-p value to use for sampling - top_k: (float) The top k values use for sampling - beam_width: (int) Last n number of tokens to penalize - repetition_penalty: (int) Last n number of tokens to penalize - length_penalty: (float) The penalty to apply repeated tokens - tokens: (int) The maximum number of tokens to generate. - client: The client object used to communicate with the inference server - """ - - server_url: str = Field(None, alias="server_url") - - # # all the optional arguments - model_name: str = "ensemble" - temperature: Optional[float] = 1.0 - top_p: Optional[float] = 0 - top_k: Optional[int] = 1 - tokens: Optional[int] = 100 - beam_width: Optional[int] = 1 - repetition_penalty: Optional[float] = 1.0 - length_penalty: Optional[float] = 1.0 - client: Any - streaming: Optional[bool] = True - - @root_validator() # type: ignore # typing not declared in langchain - @classmethod - def validate_environment(cls, values: Dict[str, Any]) -> Dict[str, Any]: - """Validate that python package exists in environment.""" - try: - if values.get("streaming", True): - values["client"] = GrpcTritonClient(values["server_url"]) - else: - values["client"] = HttpTritonClient(values["server_url"]) - - except ImportError as err: - raise ImportError( - "Could not import triton client python package. " - "Please install it with `pip install tritonclient[all]`." - ) from err - return values - - @property - def _get_model_default_parameters(self) -> Dict[str, Any]: - return { - "tokens": self.tokens, - "top_k": self.top_k, - "top_p": self.top_p, - "temperature": self.temperature, - "repetition_penalty": self.repetition_penalty, - "length_penalty": self.length_penalty, - "beam_width": self.beam_width, - } - - @property - def _invocation_params(self, **kwargs: Any) -> Dict[str, Any]: - params = {**self._get_model_default_parameters, **kwargs} - return params - - @property - def _identifying_params(self) -> Dict[str, Any]: - """Get all the identifying parameters.""" - return { - "server_url": self.server_url, - "model_name": self.model_name, - } - - @property - def _llm_type(self) -> str: - return "triton_tensorrt" - - def _call( - self, - prompt: str, - stop: Optional[List[str]] = None, # pylint: disable=unused-argument - run_manager: Optional[CallbackManagerForLLMRun] = None, - **kwargs: Any, - ) -> str: - """ - Execute an inference request. - - Args: - prompt: The prompt to pass into the model. - stop: A list of strings to stop generation when encountered - - Returns: - The string generated by the model - """ - text_callback = None - if run_manager: - text_callback = partial( - run_manager.on_llm_new_token, verbose=self.verbose - ) - - invocation_params = self._get_model_default_parameters - invocation_params.update(kwargs) - invocation_params["prompt"] = [[prompt]] - model_params = self._identifying_params - model_params.update(kwargs) - request_id = str(random.randint(1, 9999999)) # nosec - - self.client.load_model(model_params["model_name"]) - if isinstance(self.client, GrpcTritonClient): - return self._streaming_request( - model_params, request_id, invocation_params, text_callback - ) - return self._request(model_params, invocation_params, text_callback) - - def _streaming_request( - self, - model_params: Dict[str, Any], - request_id: str, - invocation_params: Dict[str, Any], - text_callback: Optional[Callable[[str], None]], - ) -> str: - """Request a streaming inference session.""" - result_queue = self.client.request_streaming( - model_params["model_name"], request_id, **invocation_params - ) - - response = "" - for token in result_queue: - if text_callback: - text_callback(token) - response = response + token - return response - - def _request( - self, - model_params: Dict[str, Any], - invocation_params: Dict[str, Any], - text_callback: Optional[Callable[[str], None]], - ) -> str: - """Request a streaming inference session.""" - token: str = self.client.request( - model_params["model_name"], **invocation_params - ) - if text_callback: - text_callback(token) - return token - - -class StreamingResponseGenerator(queue.Queue[Optional[str]]): - """A Generator that provides the inference results from an LLM.""" - - def __init__( - self, client: "GrpcTritonClient", request_id: str, force_batch: bool - ) -> None: - """Instantiate the generator class.""" - super().__init__() - self._client = client - self.request_id = request_id - self._batch = force_batch - - def __iter__(self) -> "StreamingResponseGenerator": - """Return self as a generator.""" - return self - - def __next__(self) -> str: - """Return the next retrieved token.""" - val = self.get() - if val is None or val in STOP_WORDS: - self._stop_stream() - raise StopIteration() - return val - - def _stop_stream(self) -> None: - """Drain and shutdown the Triton stream.""" - self._client.stop_stream( - "tensorrt_llm", self.request_id, signal=not self._batch - ) - - -class _BaseTritonClient(abc.ABC): - """An abstraction of the connection to a triton inference server.""" - - def __init__(self, server_url: str) -> None: - """Initialize the client.""" - self._server_url = server_url - self._client = self._inference_server_client(server_url) - - @property - @abc.abstractmethod - def _inference_server_client( - self, - ) -> Union[ - Type[grpcclient.InferenceServerClient], Type[httpclient.InferenceServerClient] - ]: - """Return the prefered InferenceServerClient class.""" - - @property - @abc.abstractmethod - def _infer_input( - self, - ) -> Union[Type[grpcclient.InferInput], Type[httpclient.InferInput]]: - """Return the preferred InferInput.""" - - @property - @abc.abstractmethod - def _infer_output( - self, - ) -> Union[ - Type[grpcclient.InferRequestedOutput], Type[httpclient.InferRequestedOutput] - ]: - """Return the preferred InferRequestedOutput.""" - - def load_model(self, model_name: str, timeout: int = 1000) -> None: - """Load a model into the server.""" - if self._client.is_model_ready(model_name): - return - - self._client.load_model(model_name) - t0 = time.perf_counter() - t1 = t0 - while not self._client.is_model_ready(model_name) and t1 - t0 < timeout: - t1 = time.perf_counter() - - if not self._client.is_model_ready(model_name): - raise RuntimeError(f"Failed to load {model_name} on Triton in {timeout}s") - - def get_model_list(self) -> List[str]: - """Get a list of models loaded in the triton server.""" - res = self._client.get_model_repository_index(as_json=True) - return [model["name"] for model in res["models"]] - - def get_model_concurrency(self, model_name: str, timeout: int = 1000) -> int: - """Get the modle concurrency.""" - self.load_model(model_name, timeout) - instances = self._client.get_model_config(model_name, as_json=True)["config"][ - "instance_group" - ] - return sum(instance["count"] * len(instance["gpus"]) for instance in instances) - - def _generate_stop_signals( - self, - ) -> List[Union[grpcclient.InferInput, httpclient.InferInput]]: - """Generate the signal to stop the stream.""" - inputs = [ - self._infer_input("input_ids", [1, 1], "INT32"), - self._infer_input("input_lengths", [1, 1], "INT32"), - self._infer_input("request_output_len", [1, 1], "UINT32"), - self._infer_input("stop", [1, 1], "BOOL"), - ] - inputs[0].set_data_from_numpy(np.empty([1, 1], dtype=np.int32)) - inputs[1].set_data_from_numpy(np.zeros([1, 1], dtype=np.int32)) - inputs[2].set_data_from_numpy(np.array([[0]], dtype=np.uint32)) - inputs[3].set_data_from_numpy(np.array([[True]], dtype="bool")) - return inputs - - def _generate_outputs( - self, - ) -> List[Union[grpcclient.InferRequestedOutput, httpclient.InferRequestedOutput]]: - """Generate the expected output structure.""" - return [self._infer_output("text_output")] - - def _prepare_tensor( - self, name: str, input_data: Any - ) -> Union[grpcclient.InferInput, httpclient.InferInput]: - """Prepare an input data structure.""" - t = self._infer_input( - name, input_data.shape, np_to_triton_dtype(input_data.dtype) - ) - t.set_data_from_numpy(input_data) - return t - - def _generate_inputs( # pylint: disable=too-many-arguments,too-many-locals - self, - prompt: str, - tokens: int = 300, - temperature: float = 1.0, - top_k: float = 1, - top_p: float = 0, - beam_width: int = 1, - repetition_penalty: float = 1, - length_penalty: float = 1.0, - stream: bool = True, - ) -> List[Union[grpcclient.InferInput, httpclient.InferInput]]: - """Create the input for the triton inference server.""" - query = np.array(prompt).astype(object) - request_output_len = np.array([tokens]).astype(np.uint32).reshape((1, -1)) - runtime_top_k = np.array([top_k]).astype(np.uint32).reshape((1, -1)) - runtime_top_p = np.array([top_p]).astype(np.float32).reshape((1, -1)) - temperature_array = np.array([temperature]).astype(np.float32).reshape((1, -1)) - len_penalty = np.array([length_penalty]).astype(np.float32).reshape((1, -1)) - repetition_penalty_array = ( - np.array([repetition_penalty]).astype(np.float32).reshape((1, -1)) - ) - random_seed = np.array([RANDOM_SEED]).astype(np.uint64).reshape((1, -1)) - beam_width_array = np.array([beam_width]).astype(np.uint32).reshape((1, -1)) - streaming_data = np.array([[stream]], dtype=bool) - - inputs = [ - self._prepare_tensor("text_input", query), - self._prepare_tensor("max_tokens", request_output_len), - self._prepare_tensor("top_k", runtime_top_k), - self._prepare_tensor("top_p", runtime_top_p), - self._prepare_tensor("temperature", temperature_array), - self._prepare_tensor("length_penalty", len_penalty), - self._prepare_tensor("repetition_penalty", repetition_penalty_array), - self._prepare_tensor("random_seed", random_seed), - self._prepare_tensor("beam_width", beam_width_array), - self._prepare_tensor("stream", streaming_data), - ] - return inputs - - def _trim_batch_response(self, result_str: str) -> str: - """Trim the resulting response from a batch request by removing provided prompt and extra generated text.""" - # extract the generated part of the prompt - split = result_str.split("[/INST]", 1) - generated = split[-1] - end_token = generated.find("") - if end_token == -1: - return generated - generated = generated[:end_token].strip() - return generated - - -class GrpcTritonClient(_BaseTritonClient): - """GRPC connection to a triton inference server.""" - - @property - def _inference_server_client( - self, - ) -> Type[grpcclient.InferenceServerClient]: - """Return the prefered InferenceServerClient class.""" - return grpcclient.InferenceServerClient # type: ignore - - @property - def _infer_input(self) -> Type[grpcclient.InferInput]: - """Return the preferred InferInput.""" - return grpcclient.InferInput # type: ignore - - @property - def _infer_output( - self, - ) -> Type[grpcclient.InferRequestedOutput]: - """Return the preferred InferRequestedOutput.""" - return grpcclient.InferRequestedOutput # type: ignore - - def _send_stop_signals(self, model_name: str, request_id: str) -> None: - """Send the stop signal to the Triton Inference server.""" - stop_inputs = self._generate_stop_signals() - self._client.async_stream_infer( - model_name, - stop_inputs, - request_id=request_id, - parameters={"Streaming": True}, - ) - - @staticmethod - def _process_result(result: Dict[str, str]) -> str: - """Post-process the result from the server.""" - message = ModelInferResponse() - generated_text: str = "" - google.protobuf.json_format.Parse(json.dumps(result), message) - infer_result = grpcclient.InferResult(message) - np_res = infer_result.as_numpy("text_output") - - generated_text = "" - if np_res is not None: - generated_text = "".join([token.decode() for token in np_res]) - - return generated_text - - def _stream_callback( - self, - result_queue: queue.Queue[Union[Optional[Dict[str, str]], str]], - force_batch: bool, - result: Any, - error: str, - ) -> None: - """Add streamed result to queue.""" - if error: - result_queue.put(error) - else: - response_raw = result.get_response(as_json=True) - if "outputs" in response_raw: - # the very last response might have no output, just the final flag - response = self._process_result(response_raw) - if force_batch: - response = self._trim_batch_response(response) - - if response in STOP_WORDS: - result_queue.put(None) - else: - result_queue.put(response) - - if response_raw["parameters"]["triton_final_response"]["bool_param"]: - # end of the generation - result_queue.put(None) - - # pylint: disable-next=too-many-arguments - def _send_prompt_streaming( - self, - model_name: str, - request_inputs: Any, - request_outputs: Optional[Any], - request_id: str, - result_queue: StreamingResponseGenerator, - force_batch: bool = False, - ) -> None: - """Send the prompt and start streaming the result.""" - self._client.start_stream( - callback=partial(self._stream_callback, result_queue, force_batch) - ) - self._client.async_stream_infer( - model_name=model_name, - inputs=request_inputs, - outputs=request_outputs, - request_id=request_id, - ) - - def request_streaming( - self, - model_name: str, - request_id: Optional[str] = None, - force_batch: bool = False, - **params: Any, - ) -> StreamingResponseGenerator: - """Request a streaming connection.""" - if not self._client.is_model_ready(model_name): - raise RuntimeError("Cannot request streaming, model is not loaded") - - if not request_id: - request_id = str(random.randint(1, 9999999)) # nosec - - result_queue = StreamingResponseGenerator(self, request_id, force_batch) - inputs = self._generate_inputs(stream=not force_batch, **params) - outputs = self._generate_outputs() - self._send_prompt_streaming( - model_name, - inputs, - outputs, - request_id, - result_queue, - force_batch, - ) - return result_queue - - def stop_stream( - self, model_name: str, request_id: str, signal: bool = True - ) -> None: - """Close the streaming connection.""" - if signal: - self._send_stop_signals(model_name, request_id) - self._client.stop_stream() - - -class HttpTritonClient(_BaseTritonClient): - """HTTP connection to a triton inference server.""" - - @property - def _inference_server_client( - self, - ) -> Type[httpclient.InferenceServerClient]: - """Return the prefered InferenceServerClient class.""" - return httpclient.InferenceServerClient # type: ignore - - @property - def _infer_input(self) -> Type[httpclient.InferInput]: - """Return the preferred InferInput.""" - return httpclient.InferInput # type: ignore - - @property - def _infer_output( - self, - ) -> Type[httpclient.InferRequestedOutput]: - """Return the preferred InferRequestedOutput.""" - return httpclient.InferRequestedOutput # type: ignore - - def request( - self, - model_name: str, - **params: Any, - ) -> str: - """Request inferencing from the triton server.""" - if not self._client.is_model_ready(model_name): - raise RuntimeError("Cannot request streaming, model is not loaded") - - # create model inputs and outputs - inputs = self._generate_inputs(stream=False, **params) - outputs = self._generate_outputs() - - # call the model for inference - result = self._client.infer(model_name, inputs=inputs, outputs=outputs) - result_str = "".join( - [val.decode("utf-8") for val in result.as_numpy("text_output").tolist()] - ) - - # extract the generated part of the prompt - # return(result_str) - return self._trim_batch_response(result_str) diff --git a/RetrievalAugmentedGeneration/llm-inference-server/requirements.txt b/RetrievalAugmentedGeneration/llm-inference-server/requirements.txt deleted file mode 100644 index 3f6a77344..000000000 --- a/RetrievalAugmentedGeneration/llm-inference-server/requirements.txt +++ /dev/null @@ -1,7 +0,0 @@ -jinja2 -langchain -numpy -protobuf -requests -tritonclient[all] -pyyaml diff --git a/RetrievalAugmentedGeneration/llm-inference-server/tools/resize_nemo_model.sh b/RetrievalAugmentedGeneration/llm-inference-server/tools/resize_nemo_model.sh deleted file mode 100755 index fa35fe16c..000000000 --- a/RetrievalAugmentedGeneration/llm-inference-server/tools/resize_nemo_model.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash -set -x - -MODEL_STORE="$1" -MODEL_IN="$2" -MODEL_IN_DIR=$(cd $(dirname "$MODEL_IN"); pwd) -MODEL_OUT="$3" -MODEL_OUT_DIR=$(cd $(dirname "$MODEL_OUT"); pwd) -TARGET_SIZE="$4" - -TRAINING_CONTAINER="nvcr.io/nvaie/nemo-framework-training:23.08.03" - -# init -echo $MODEL_IN " -> " $MODEL_OUT -cd "$MODEL_STORE" -mkdir -p "$MODEL_OUT_DIR" - -# find tokenizer -tar xvf $MODEL_IN model_config.yaml -mv model_config.yaml "$MODEL_OUT_DIR" -tokenizer=$(grep "tokenizer_model" gpt_8b_strict_skua_bf16_nemo_yi_dong_us_v1.0-tp1/model_config.yaml | awk -F: '{ - print $3 }') -tar xvf $MODEL_IN $tokenizer -mv $tokenizer $MODEL_OUT_DIR - -# run conversion -docker run --rm -it --gpus all --ipc host \ - -v $MODEL_STORE:$MODEL_STORE \ - -w $MODEL_STORE \ - $TRAINING_CONTAINER \ - /usr/bin/python3 \ - /opt/NeMo/examples/nlp/language_modeling/megatron_change_num_partitions.py \ - --model_file $MODEL_IN \ - --target_file $MODEL_OUT \ - --tensor_model_parallel_size=-1 \ - --target_tensor_model_parallel_size=$TARGET_SIZE \ - --pipeline_model_parallel_size=-1 \ - --target_pipeline_model_parallel_size=1 \ - --precision=bf16 \ - --tokenizer_model_path $MODEL_OUT_DIR/$tokenizer diff --git a/RetrievalAugmentedGeneration/requirements.txt b/RetrievalAugmentedGeneration/requirements.txt index 7f230915b..d24f72f81 100644 --- a/RetrievalAugmentedGeneration/requirements.txt +++ b/RetrievalAugmentedGeneration/requirements.txt @@ -3,8 +3,9 @@ uvicorn[standard]==0.27.1 python-multipart==0.0.9 langchain==0.1.9 unstructured[all-docs]==0.12.5 -sentence-transformers==2.5.1 +sentence-transformers==3.0.0 llama-index-core==0.10.27 +llama-index-readers-file==0.1.22 llama-index-llms-langchain==0.1.3 llama-index-embeddings-langchain==0.1.2 llama-index-vector-stores-milvus==0.1.6 @@ -17,9 +18,7 @@ asyncpg==0.29.0 psycopg2-binary==2.9.9 pgvector==0.2.5 langchain-core==0.1.29 -langchain-nvidia-ai-endpoints==0.0.11 -langchain-nvidia-trt==0.0.1rc0 -nemollm==0.3.4 +langchain-nvidia-ai-endpoints==0.1.1 opentelemetry-sdk==1.23.0 opentelemetry-api==1.23.0 opentelemetry-exporter-otlp-proto-grpc==1.23.0 diff --git a/deploy/compose/compose.env b/deploy/compose/compose.env index 929b33c6b..f7b90945b 100644 --- a/deploy/compose/compose.env +++ b/deploy/compose/compose.env @@ -1,44 +1,39 @@ -# full path to the local copy of the model weights +# Path where models will be stored # NOTE: This should be an absolute path and not relative path -export MODEL_DIRECTORY="/home/nvidia/llama2_13b_chat_hf_v1/" +export MODEL_DIRECTORY="/home/ubuntu/model-cache" -# the number of GPUs needed by nemollm inference ms to deploy the model -export NUM_GPU=1 +# GPU id which nemo embedding ms will use +# export EMBEDDING_MS_GPU_ID=0 # To control which GPU the vector database uses, specify the device ID. # export VECTORSTORE_GPU_DEVICE_ID=0 +# GPU id which ranking ms will use (Make sure it is different from the one used for nim ms) +# export RANKING_MS_GPU_ID=1 + # Fill this out if you dont have a GPU. Leave this empty if you have a local GPU export NVIDIA_API_KEY=${NVIDIA_API_KEY} -# flag to enable activation aware quantization for the LLM -# export QUANTIZATION="int4_awq" - -# the architecture of the model. eg: llama, gptnext (for nemotron use gptnext) -export MODEL_ARCHITECTURE="llama" - - -# the name of the model being used - only for displaying on rag-playground -# export MODEL_NAME="Llama-2-13b-chat-hf" - -# [OPTIONAL] the maximum number of input tokens -# export MODEL_MAX_INPUT_LENGTH=3000 - # [OPTIONAL] the number of GPUs to make available to the inference server # export INFERENCE_GPU_COUNT="all" # [OPTIONAL] the base directory inside which all persistent volumes will be created # export DOCKER_VOLUME_DIRECTORY="." -# full path to the model store directory storing the nemo embedding model -export EMBEDDING_MODEL_DIRECTORY="/home/nvidia/nv-embed-qa_v4" # name of the nemo embedding model -export EMBEDDING_MODEL_NAME="NV-Embed-QA" -export EMBEDDING_MODEL_CKPT_NAME="NV-Embed-QA-4.nemo" +# Both arctic-embed-l & NV-Embed-QA are versions of e5-large-unsupervised +export APP_EMBEDDINGS_MODELNAME="NV-Embed-QA" +export EMBEDDING_MODEL_CKPT_NAME="snowflake-arctic-embed-l" +export EMBEDDING_MODEL_PATH="https://huggingface.co/Snowflake/snowflake-arctic-embed-l" -# GPU id which nemo embedding ms will use -# export EMBEDDING_MS_GPU_ID=0 +# name of the nemo re-rank model +export RANKING_MODEL_NAME="NV-Rerank-QA-Mistral-4B" +export RANKING_MODEL_CKPT_NAME="nv-rerank-qa-mistral-4b_v2" +export RANKING_MODEL_PATH="ohlfw0olaadg/ea-participants/nv-rerank-qa-mistral-4b:2" + +# name of the nemo retriever pipeline one of ranked_hybrid or hybrid +NEMO_RETRIEVER_PIPELINE="ranked_hybrid" # parameters for PGVector, update this when using PGVector Vector store # export POSTGRES_PASSWORD=password @@ -69,3 +64,12 @@ export TTS_SAMPLE_RATE=48000 export OPENTELEMETRY_CONFIG_FILE="./configs/otel-collector-config.yaml" # the config file for Jaeger export JAEGER_CONFIG_FILE="./configs/jaeger.yaml" + +# [OPTIONAL] Set the logging level for the chain server. Possible values are NOTSET, DEBUG, INFO, WARN, ERROR, CRITICAL. +export LOGLEVEL="INFO" + +# User permissoin for containers +export DOCKER_USER=$(id -u):$(id -g) + +# Download script path, this will be mounted at runtime +export DOWNLOAD_SCRIPT=$PWD/deploy/compose/download_model.sh diff --git a/deploy/compose/docker-compose-evaluation-application.yaml b/deploy/compose/docker-compose-evaluation-application.yaml index 66ea7461e..efe4d506b 100644 --- a/deploy/compose/docker-compose-evaluation-application.yaml +++ b/deploy/compose/docker-compose-evaluation-application.yaml @@ -1,7 +1,7 @@ services: rag_evaluator: container_name: rag-evaluator - image: rag-evaluator:latest + image: rag-evaluator:${TAG:-latest} build: context: ../../ dockerfile: ./tools/evaluation/Dockerfile @@ -18,7 +18,7 @@ services: synthetic_data_generator: container_name: data-generator - image: data-generator:latest + image: data-generator:${TAG:-latest} build: context: ../../ dockerfile: ./tools/evaluation/Dockerfile diff --git a/deploy/compose/docker-compose-nemotron.yaml b/deploy/compose/docker-compose-nemotron.yaml deleted file mode 100644 index 930555f7c..000000000 --- a/deploy/compose/docker-compose-nemotron.yaml +++ /dev/null @@ -1,184 +0,0 @@ -services: - - llm: - container_name: llm-inference-server - image: llm-inference-server:latest - build: - context: ../.././RetrievalAugmentedGeneration/llm-inference-server/ - dockerfile: Dockerfile - volumes: - - ${MODEL_DIRECTORY:?please update the env file and source it before running}:/model - command: ${MODEL_ARCHITECTURE:?please update the env file and source it before running} --http --max-input-length ${MODEL_MAX_INPUT_LENGTH:-3000} ${QUANTIZATION:+--quantization $QUANTIZATION} - ports: - - "8000:8000" - - "8001:8001" - - "8002:8002" - expose: - - "8000" - - "8001" - - "8002" - shm_size: 20gb - deploy: - resources: - reservations: - devices: - - driver: nvidia - device_ids: ["0", "1"] - capabilities: [gpu] - - jupyter-server: - container_name: notebook-server - image: notebook-server:latest - build: - context: ../../ - dockerfile: ./notebooks/Dockerfile.notebooks - ports: - - "8888:8888" - expose: - - "8888" - deploy: - resources: - reservations: - devices: - - driver: nvidia - count: 1 - capabilities: [gpu] - depends_on: - - "llm" - - etcd: - container_name: milvus-etcd - image: quay.io/coreos/etcd:v3.5.5 - environment: - - ETCD_AUTO_COMPACTION_MODE=revision - - ETCD_AUTO_COMPACTION_RETENTION=1000 - - ETCD_QUOTA_BACKEND_BYTES=4294967296 - - ETCD_SNAPSHOT_COUNT=50000 - volumes: - - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/etcd:/etcd - command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd - healthcheck: - test: ["CMD", "etcdctl", "endpoint", "health"] - interval: 30s - timeout: 20s - retries: 3 - - minio: - container_name: milvus-minio - image: minio/minio:RELEASE.2023-03-20T20-16-18Z - environment: - MINIO_ACCESS_KEY: minioadmin - MINIO_SECRET_KEY: minioadmin - ports: - - "9011:9011" - - "9010:9010" - volumes: - - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/minio:/minio_data - command: minio server /minio_data --console-address ":9011" --address ":9010" - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:9010/minio/health/live"] - interval: 30s - timeout: 20s - retries: 3 - - milvus: - container_name: milvus-standalone - image: milvusdb/milvus:v2.4.0.1-gpu-beta - command: ["milvus", "run", "standalone"] - environment: - ETCD_ENDPOINTS: etcd:2379 - MINIO_ADDRESS: minio:9010 - KNOWHERE_GPU_MEM_POOL_SIZE: 2048;4096 - volumes: - - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/milvus:/var/lib/milvus - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"] - interval: 30s - start_period: 90s - timeout: 20s - retries: 3 - ports: - - "19530:19530" - - "9091:9091" - depends_on: - - "etcd" - - "minio" - deploy: - resources: - reservations: - devices: - - driver: nvidia - capabilities: ["gpu"] - count: 1 - - chain-server: - container_name: chain-server - image: chain-server:latest - build: - context: ../../ - dockerfile: ./RetrievalAugmentedGeneration/Dockerfile - args: - EXAMPLE_NAME: ${RAG_EXAMPLE} - command: --port 8081 --host 0.0.0.0 - environment: - APP_VECTORSTORE_URL: "http://milvus:19530" - APP_VECTORSTORE_NAME: "milvus" - COLLECTION_NAME: ${RAG_EXAMPLE} - MILVUS_DB: ${RAG_EXAMPLE} - APP_LLM_SERVERURL: "llm:8001" - APP_LLM_MODELNAME: ensemble - APP_LLM_MODELENGINE: triton-trt-llm - OTEL_EXPORTER_OTLP_ENDPOINT: http://otel-collector:4317 - OTEL_EXPORTER_OTLP_PROTOCOL: grpc - ENABLE_TRACING: false - APP_RETRIEVER_TOPK: 4 - APP_RETRIEVER_SCORETHRESHOLD: 0.25 - ports: - - "8081:8081" - expose: - - "8081" - shm_size: 5gb - deploy: - resources: - reservations: - devices: - - driver: nvidia - count: 1 - capabilities: [gpu] - # healthcheck: - # test: ["CMD", "curl", "-f", "http://localhost:8080/"] - # interval: 30s - # timeout: 20s - # retries: 3 - depends_on: - - "milvus" - - "llm" - - rag-playground: - container_name: rag-playground - image: rag-playground:latest - build: - context: ../.././RetrievalAugmentedGeneration/frontend/ - dockerfile: Dockerfile - command: --port 8090 - environment: - APP_SERVERURL: http://chain-server - APP_SERVERPORT: 8081 - APP_MODELNAME: ${MODEL_NAME:-${MODEL_ARCHITECTURE}} - OTEL_EXPORTER_OTLP_ENDPOINT: http://otel-collector:4317 - OTEL_EXPORTER_OTLP_PROTOCOL: grpc - ENABLE_TRACING: false - RIVA_API_URI: ${RIVA_API_URI:-} - RIVA_API_KEY: ${RIVA_API_KEY:-} - RIVA_FUNCTION_ID: ${RIVA_FUNCTION_ID:-} - TTS_SAMPLE_RATE: ${TTS_SAMPLE_RATE:-48000} - ports: - - "8090:8090" - expose: - - "8090" - depends_on: - - chain-server - -networks: - default: - name: nvidia-llm diff --git a/deploy/compose/docker-compose-nim-ms.yaml b/deploy/compose/docker-compose-nim-ms.yaml index a7a372718..310943fd4 100644 --- a/deploy/compose/docker-compose-nim-ms.yaml +++ b/deploy/compose/docker-compose-nim-ms.yaml @@ -1,14 +1,16 @@ services: nemollm-inference: container_name: nemollm-inference-microservice - image: nvcr.io/ohlfw0olaadg/ea-participants/nim_llm:24.02 + image: nvcr.io/nim/meta/llama3-8b-instruct:1.0.0 volumes: - - ${MODEL_DIRECTORY:?please update the env file and source it before running}:/model-store - command: nemollm_inference_ms --model ${APP_LLM_MODELNAME:-mixtral-8x7b-instruct} --openai_port 9999 --nemo_port 9998 --num_gpus=${NUM_GPU:-1} + - ${MODEL_DIRECTORY}:/opt/nim/.cache + user: ${DOCKER_USER} ports: - - "9999:9999" + - "8000:8000" expose: - - "9999" + - "8000" + environment: + NGC_API_KEY: ${NGC_API_KEY} shm_size: 20gb deploy: resources: @@ -17,17 +19,20 @@ services: - driver: nvidia count: ${INFERENCE_GPU_COUNT:-all} capabilities: [gpu] + profiles: ["llm-embedding", "nemo-retriever"] nemollm-embedding: container_name: nemo-retriever-embedding-microservice - image: nvcr.io/ohlfw0olaadg/ea-participants/nemo-retriever-embedding-microservice:24.02 + image: nvcr.io/ohlfw0olaadg/ea-participants/nemo-retriever-embedding-microservice:24.04 volumes: - - ${EMBEDDING_MODEL_DIRECTORY:?please update the env file and source it before running}:/model-checkpoint-path - command: bin/web -p 9080 -c /model-checkpoint-path/${EMBEDDING_MODEL_CKPT_NAME} -g model_config_templates/${EMBEDDING_MODEL_NAME}_template.yaml + - $MODEL_DIRECTORY:/model-checkpoint-path + - $MODEL_DIRECTORY/embedding/cache:/model-store/ + command: ["/bin/bash", "-c", "[ -f /model-store/service_config.yaml ] && bin/web -m /model-store -p 9080 || bin/web -p 9080 -c /model-checkpoint-path/${EMBEDDING_MODEL_CKPT_NAME} -g model_config_templates/${APP_EMBEDDINGS_MODELNAME}_template.yaml"] ports: - "9080:9080" expose: - "9080" + user: ${DOCKER_USER} shm_size: 8gb deploy: resources: @@ -43,6 +48,116 @@ services: timeout: 20s retries: 3 start_period: 10m + depends_on: + nemollm-embedding-download-ngc: + condition: service_completed_successfully + nemollm-embedding-download-hf: + condition: service_completed_successfully + profiles: ["llm-embedding", "nemo-retriever"] + + ranking-ms: + image: "nvcr.io/ohlfw0olaadg/ea-participants/nemo-retriever-reranking-microservice:24.04" + volumes: + - $MODEL_DIRECTORY:/model-checkpoint-path + - $MODEL_DIRECTORY/reranking/cache:/triton-model-repository/ + command: ["/bin/bash", "-c", "[ -f /triton-model-repository/service_config.yaml ] && ./bin/web -p 8080 -r /triton-model-repository || bin/web -p 8080 -c /model-checkpoint-path/${RANKING_MODEL_CKPT_NAME} -g model_config_templates/${RANKING_MODEL_NAME}_template.yaml"] + ports: + - "1976:8080" + user: ${DOCKER_USER} + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8080/health"] + interval: 10s + timeout: 20s + retries: 100 + deploy: + resources: + reservations: + devices: + - driver: nvidia + device_ids: ['${RANKING_MS_GPU_ID:-0}'] + capabilities: [gpu] + depends_on: + ranking-model-download-ngc: + condition: service_completed_successfully + ranking-model-download-hf: + condition: service_completed_successfully + profiles: ["nemo-retriever"] + + nemollm-embedding-download-ngc: + container_name: nemollm-embedding-download-ngc + image: nvcr.io/ohlfw0olaadg/ea-participants/ngc-cli:v3.41.2 + user: ${DOCKER_USER} + entrypoint: ["bash", "/download_script.sh"] + volumes: + - source: $MODEL_DIRECTORY + target: /model-store + type: bind + - source: $DOWNLOAD_SCRIPT + target: /download_script.sh + type: bind + environment: + NGC_CLI_API_KEY: ${NGC_API_KEY} + NGC_CLI_ORG: ${NGC_CLI_ORG} + MODEL_PATH: ${EMBEDDING_MODEL_PATH} + MODEL_DOWNLOAD_PATH: /model-store/${EMBEDDING_MODEL_CKPT_NAME} + MODEL_TYPE: "embedding" + profiles: ["llm-embedding", "nemo-retriever"] + + nemollm-embedding-download-hf: + container_name: nemollm-embedding-download-hf + image: bitnami/git:latest + user: ${DOCKER_USER} + entrypoint: ["bash", "/download_script.sh"] + volumes: + - source: $MODEL_DIRECTORY + target: /model-store + type: bind + - source: $DOWNLOAD_SCRIPT + target: /download_script.sh + type: bind + environment: + MODEL_PATH: ${EMBEDDING_MODEL_PATH} + MODEL_DOWNLOAD_PATH: /model-store/${EMBEDDING_MODEL_CKPT_NAME} + MODEL_TYPE: "embedding" + profiles: ["llm-embedding", "nemo-retriever"] + + ranking-model-download-ngc: + container_name: ranking-model-download-ngc + image: nvcr.io/ohlfw0olaadg/ea-participants/ngc-cli:v3.41.2 + user: ${DOCKER_USER} + entrypoint: ["bash", "/download_script.sh"] + volumes: + - source: $MODEL_DIRECTORY + target: /model-store + type: bind + - source: $DOWNLOAD_SCRIPT + target: /download_script.sh + type: bind + environment: + NGC_CLI_API_KEY: ${NGC_API_KEY} + NGC_CLI_ORG: ${NGC_CLI_ORG} + MODEL_PATH: ${RANKING_MODEL_PATH} + MODEL_DOWNLOAD_PATH: /model-store/${RANKING_MODEL_CKPT_NAME} + MODEL_TYPE: "reranking" + profiles: ["nemo-retriever"] + + ranking-model-download-hf: + container_name: ranking-model-download-hf + image: bitnami/git:latest + user: ${DOCKER_USER} + entrypoint: ["bash", "/download_script.sh"] + volumes: + - source: $MODEL_DIRECTORY + target: /model-store + type: bind + - source: $DOWNLOAD_SCRIPT + target: /download_script.sh + type: bind + environment: + MODEL_PATH: ${RANKING_MODEL_PATH} + MODEL_DOWNLOAD_PATH: /model-store/${RANKING_MODEL_CKPT_NAME} + MODEL_TYPE: "reranking" + profiles: ["nemo-retriever"] networks: default: diff --git a/deploy/compose/docker-compose-vectordb.yaml b/deploy/compose/docker-compose-vectordb.yaml index d26e9c590..98c625ab7 100644 --- a/deploy/compose/docker-compose-vectordb.yaml +++ b/deploy/compose/docker-compose-vectordb.yaml @@ -12,6 +12,8 @@ services: - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-password} - POSTGRES_USER=${POSTGRES_USER:-postgres} - POSTGRES_DB=${POSTGRES_DB:-api} + profiles: ["llm-embedding"] + etcd: container_name: milvus-etcd @@ -29,10 +31,11 @@ services: interval: 30s timeout: 20s retries: 3 + profiles: ["llm-embedding", "nemo-retriever"] minio: container_name: milvus-minio - image: minio/minio:RELEASE.2023-03-20T20-16-18Z + image: minio/minio:RELEASE.2024-05-01T01-11-10Z environment: MINIO_ACCESS_KEY: minioadmin MINIO_SECRET_KEY: minioadmin @@ -47,10 +50,11 @@ services: interval: 30s timeout: 20s retries: 3 + profiles: ["llm-embedding", "nemo-retriever"] milvus: container_name: milvus-standalone - image: milvusdb/milvus:v2.4.0.1-gpu-beta + image: milvusdb/milvus:v2.4.4-gpu command: ["milvus", "run", "standalone"] environment: ETCD_ENDPOINTS: etcd:2379 @@ -77,6 +81,41 @@ services: - driver: nvidia capabilities: ["gpu"] device_ids: ['${VECTORSTORE_GPU_DEVICE_ID:-0}'] + profiles: ["llm-embedding", "nemo-retriever"] + + elasticsearch: + image: "docker.elastic.co/elasticsearch/elasticsearch:8.12.0" + ports: + - 9200:9200 + restart: on-failure + environment: + - discovery.type=single-node + - "ES_JAVA_OPTS=-Xms1024m -Xmx1024m" + - xpack.security.enabled=false + - xpack.license.self_generated.type=basic + - network.host=0.0.0.0 + - cluster.routing.allocation.disk.threshold_enabled=false + hostname: elasticsearch + healthcheck: + test: ["CMD", "curl", "-s", "-f", "http://localhost:9200/_cat/health"] + interval: 10s + timeout: 1s + retries: 10 + profiles: ["nemo-retriever"] + + postgres: + image: postgres:16.1 + restart: always + environment: + POSTGRES_PASSWORD: pgadmin + volumes: + - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/postgres_data:/var/lib/postgresql/data:Z + healthcheck: + test: ["CMD-SHELL", "sh -c 'pg_isready -U postgres -d postgres'"] + interval: 10s + timeout: 3s + retries: 3 + profiles: ["nemo-retriever"] networks: default: diff --git a/deploy/compose/download_model.sh b/deploy/compose/download_model.sh new file mode 100644 index 000000000..4bb0c2064 --- /dev/null +++ b/deploy/compose/download_model.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +mkdir -p /model-store/embedding/cache +mkdir -p /model-store/reranking/cache + +mkdir -p $MODEL_DOWNLOAD_PATH +echo "Downloading model in $MODEL_DOWNLOAD_PATH $MODEL_PATH" + +if [[ "$MODEL_PATH" == *"huggingface"* ]]; then + + if command -v git &> /dev/null; then + if [[ $(find $MODEL_DOWNLOAD_PATH -name "config.json" | wc -l) -eq 0 ]]; then + echo "Downloading from hf" + GIT_CLONE_PROTECTION_ACTIVE=false git clone $MODEL_PATH $MODEL_DOWNLOAD_PATH + pushd $MODEL_DOWNLOAD_PATH + git lfs install --local + git lfs pull + fi + + fi + +else + if command -v ngc &> /dev/null; then + if [[ $(find $MODEL_DOWNLOAD_PATH -name "config.json" | wc -l) -eq 0 ]]; then + echo "Downloading from ngc" + echo ngc registry model download-version --dest /model-store $MODEL_PATH + ngc registry model download-version --dest /model-store $MODEL_PATH + fi + fi +fi diff --git a/deploy/compose/rag-app-api-catalog-text-chatbot.yaml b/deploy/compose/rag-app-api-catalog-text-chatbot.yaml index cda076426..c0da6a6f0 100644 --- a/deploy/compose/rag-app-api-catalog-text-chatbot.yaml +++ b/deploy/compose/rag-app-api-catalog-text-chatbot.yaml @@ -1,7 +1,7 @@ services: chain-server: container_name: chain-server - image: chain-server:latest + image: chain-server:${TAG:-latest} build: context: ../../ dockerfile: ./RetrievalAugmentedGeneration/Dockerfile @@ -11,14 +11,14 @@ services: environment: APP_VECTORSTORE_URL: "http://milvus:19530" APP_VECTORSTORE_NAME: "milvus" - APP_LLM_MODELNAME: ${APP_LLM_MODELNAME:-ai-mixtral-8x7b-instruct} + APP_LLM_MODELNAME: ${APP_LLM_MODELNAME:-"meta/llama3-70b-instruct"} APP_LLM_MODELENGINE: nvidia-ai-endpoints APP_LLM_SERVERURL: ${APP_LLM_SERVERURL:-""} - APP_EMBEDDINGS_MODELNAME: ${APP_EMBEDDINGS_MODELNAME:-ai-embed-qa-4} - APP_EMBEDDINGS_MODELENGINE: nvidia-ai-endpoints + APP_EMBEDDINGS_MODELNAME: ${APP_EMBEDDINGS_MODELNAME:-snowflake/arctic-embed-l} + APP_EMBEDDINGS_MODELENGINE: ${APP_EMBEDDINGS_MODELENGINE:-nvidia-ai-endpoints} APP_EMBEDDINGS_SERVERURL: ${APP_EMBEDDINGS_SERVERURL:-""} - APP_TEXTSPLITTER_MODELNAME: WhereIsAI/UAE-Large-V1 - APP_TEXTSPLITTER_CHUNKSIZE: 510 + APP_TEXTSPLITTER_MODELNAME: Snowflake/snowflake-arctic-embed-l + APP_TEXTSPLITTER_CHUNKSIZE: 506 APP_TEXTSPLITTER_CHUNKOVERLAP: 200 NVIDIA_API_KEY: ${NVIDIA_API_KEY} APP_PROMPTS_CHATTEMPLATE: "You are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe. Please ensure that your responses are positive in nature." @@ -26,12 +26,13 @@ services: POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-password} POSTGRES_USER: ${POSTGRES_USER:-postgres} POSTGRES_DB: ${POSTGRES_DB:-api} - COLLECTION_NAME: nvidia_api_catalog + COLLECTION_NAME: ${COLLECTION_NAME:-nvidia_api_catalog} APP_RETRIEVER_TOPK: 4 APP_RETRIEVER_SCORETHRESHOLD: 0.25 OTEL_EXPORTER_OTLP_ENDPOINT: http://otel-collector:4317 OTEL_EXPORTER_OTLP_PROTOCOL: grpc ENABLE_TRACING: false + LOGLEVEL: ${LOGLEVEL:-INFO} ports: - "8081:8081" expose: @@ -47,7 +48,7 @@ services: rag-playground: container_name: rag-playground - image: rag-playground:latest + image: rag-playground:${TAG:-latest} build: context: ../.././RetrievalAugmentedGeneration/frontend/ dockerfile: Dockerfile @@ -55,7 +56,7 @@ services: environment: APP_SERVERURL: http://chain-server APP_SERVERPORT: 8081 - APP_MODELNAME: ${APP_LLM_MODELNAME:-ai-mixtral-8x7b-instruct} + APP_MODELNAME: ${APP_LLM_MODELNAME:-"meta/llama3-70b-instruct"} RIVA_API_URI: ${RIVA_API_URI:-} RIVA_API_KEY: ${RIVA_API_KEY:-} RIVA_FUNCTION_ID: ${RIVA_FUNCTION_ID:-} diff --git a/deploy/compose/rag-app-multimodal-chatbot.yaml b/deploy/compose/rag-app-multimodal-chatbot.yaml index 89bdf5f9b..cd44a7109 100644 --- a/deploy/compose/rag-app-multimodal-chatbot.yaml +++ b/deploy/compose/rag-app-multimodal-chatbot.yaml @@ -1,7 +1,7 @@ services: chain-server: container_name: chain-server - image: chain-server:latest + image: chain-server:${TAG:-latest} build: context: ../../ dockerfile: ./RetrievalAugmentedGeneration/Dockerfile @@ -9,13 +9,13 @@ services: EXAMPLE_NAME: multimodal_rag command: --port 8081 --host 0.0.0.0 environment: - APP_LLM_MODELNAME: ${APP_LLM_MODELNAME:-ai-mixtral-8x7b-instruct} + APP_LLM_MODELNAME: ${APP_LLM_MODELNAME:-"meta/llama3-8b-instruct"} APP_LLM_MODELENGINE: nvidia-ai-endpoints APP_LLM_SERVERURL: ${APP_LLM_SERVERURL:-""} - APP_EMBEDDINGS_MODELNAME: ${APP_EMBEDDINGS_MODELNAME:-ai-embed-qa-4} - APP_EMBEDDINGS_MODELENGINE: nvidia-ai-endpoints + APP_EMBEDDINGS_MODELNAME: ${APP_EMBEDDINGS_MODELNAME:-snowflake/arctic-embed-l} + APP_EMBEDDINGS_MODELENGINE: ${APP_EMBEDDINGS_MODELENGINE:-nvidia-ai-endpoints} APP_EMBEDDINGS_SERVERURL: ${APP_EMBEDDINGS_SERVERURL:-""} - APP_TEXTSPLITTER_MODELNAME: WhereIsAI/UAE-Large-V1 + APP_TEXTSPLITTER_MODELNAME: Snowflake/snowflake-arctic-embed-l APP_TEXTSPLITTER_CHUNKSIZE: 510 APP_TEXTSPLITTER_CHUNKOVERLAP: 200 NVIDIA_API_KEY: ${NVIDIA_API_KEY} @@ -23,12 +23,13 @@ services: APP_RETRIEVER_SCORETHRESHOLD: 0.25 APP_VECTORSTORE_URL: "http://milvus:19530" APP_VECTORSTORE_NAME: "milvus" - COLLECTION_NAME: multimodal_rag + COLLECTION_NAME: ${COLLECTION_NAME:-multimodal_rag} APP_PROMPTS_CHATTEMPLATE: "You are a helpful and friendly multimodal intelligent AI assistant named Multimodal Chatbot Assistant. You are an expert in the content of the document provided and can provide information using both text and images. The user may also provide an image input, and you will use the image description to retrieve similar images, tables and text. The context given below will provide some technical or financial documentation and whitepapers to help you answer the question. Based on this context, answer the question truthfully. If the question is not related to this, please refrain from answering. Most importantly, if the context provided does not include information about the question from the user, reply saying that you don't know. Do not utilize any information that is not provided in the documents below. All documents will be preceded by tags, for example [[DOCUMENT 1]], [[DOCUMENT 2]], and so on. You can reference them in your reply but without the brackets, so just say document 1 or 2. The question will be preceded by a [[QUESTION]] tag. Be succinct, clear, and helpful. Remember to describe everything in detail by using the knowledge provided, or reply that you don't know the answer. Do not fabricate any responses. Note that you have the ability to reference images, tables, and other multimodal elements when necessary. You can also refer to the image provided by the user, if any." APP_PROMPTS_RAGTEMPLATE: "You are a helpful and friendly multimodal intelligent AI assistant named Multimodal Chatbot Assistant. You are an expert in the content of the document provided and can provide information using both text and images. The user may also provide an image input, and you will use the image description to retrieve similar images, tables and text. The context given below will provide some technical or financial documentation and whitepapers to help you answer the question. Based on this context, answer the question truthfully. If the question is not related to this, please refrain from answering. Most importantly, if the context provided does not include information about the question from the user, reply saying that you don't know. Do not utilize any information that is not provided in the documents below. All documents will be preceded by tags, for example [[DOCUMENT 1]], [[DOCUMENT 2]], and so on. You can reference them in your reply but without the brackets, so just say document 1 or 2. The question will be preceded by a [[QUESTION]] tag. Be succinct, clear, and helpful. Remember to describe everything in detail by using the knowledge provided, or reply that you don't know the answer. Do not fabricate any responses. Note that you have the ability to reference images, tables, and other multimodal elements when necessary. You can also refer to the image provided by the user, if any." OTEL_EXPORTER_OTLP_ENDPOINT: http://otel-collector:4317 OTEL_EXPORTER_OTLP_PROTOCOL: grpc ENABLE_TRACING: false + LOGLEVEL: ${LOGLEVEL:-INFO} ports: - "8081:8081" expose: @@ -37,7 +38,7 @@ services: rag-playground: container_name: rag-playground - image: rag-playground:latest + image: rag-playground:${TAG:-latest} build: context: ../.././RetrievalAugmentedGeneration/frontend/ dockerfile: Dockerfile @@ -45,7 +46,7 @@ services: environment: APP_SERVERURL: http://chain-server APP_SERVERPORT: 8081 - APP_MODELNAME: ${APP_LLM_MODELNAME:-ai-mixtral-8x7b-instruct} + APP_MODELNAME: ${APP_LLM_MODELNAME:-"meta/llama3-8b-instruct"} RIVA_API_URI: ${RIVA_API_URI:-} RIVA_API_KEY: ${RIVA_API_KEY:-} RIVA_FUNCTION_ID: ${RIVA_FUNCTION_ID:-} diff --git a/deploy/compose/rag-app-multiturn-chatbot.yaml b/deploy/compose/rag-app-multiturn-chatbot.yaml index f6d18e2cb..c8251e876 100644 --- a/deploy/compose/rag-app-multiturn-chatbot.yaml +++ b/deploy/compose/rag-app-multiturn-chatbot.yaml @@ -1,7 +1,7 @@ services: chain-server: container_name: chain-server - image: chain-server:latest + image: chain-server:${TAG:-latest} build: context: ../../ dockerfile: ./RetrievalAugmentedGeneration/Dockerfile @@ -11,14 +11,14 @@ services: environment: APP_VECTORSTORE_URL: "http://milvus:19530" APP_VECTORSTORE_NAME: "milvus" - APP_LLM_MODELNAME: ${APP_LLM_MODELNAME:-ai-mixtral-8x7b-instruct} + APP_LLM_MODELNAME: ${APP_LLM_MODELNAME:-"meta/llama3-8b-instruct"} APP_LLM_MODELENGINE: nvidia-ai-endpoints APP_LLM_SERVERURL: ${APP_LLM_SERVERURL:-""} - APP_EMBEDDINGS_MODELNAME: ${APP_EMBEDDINGS_MODELNAME:-ai-embed-qa-4} - APP_EMBEDDINGS_MODELENGINE: nvidia-ai-endpoints + APP_EMBEDDINGS_MODELNAME: ${APP_EMBEDDINGS_MODELNAME:-snowflake/arctic-embed-l} + APP_EMBEDDINGS_MODELENGINE: ${APP_EMBEDDINGS_MODELENGINE:-nvidia-ai-endpoints} APP_EMBEDDINGS_SERVERURL: ${APP_EMBEDDINGS_SERVERURL:-""} - APP_TEXTSPLITTER_MODELNAME: WhereIsAI/UAE-Large-V1 - APP_TEXTSPLITTER_CHUNKSIZE: 510 + APP_TEXTSPLITTER_MODELNAME: Snowflake/snowflake-arctic-embed-l + APP_TEXTSPLITTER_CHUNKSIZE: 506 APP_TEXTSPLITTER_CHUNKOVERLAP: 200 NVIDIA_API_KEY: ${NVIDIA_API_KEY} APP_RETRIEVER_TOPK: 4 @@ -26,10 +26,11 @@ services: POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-password} POSTGRES_USER: ${POSTGRES_USER:-postgres} POSTGRES_DB: ${POSTGRES_DB:-api} - COLLECTION_NAME: multi_turn_rag + COLLECTION_NAME: ${COLLECTION_NAME:-multi_turn_rag} OTEL_EXPORTER_OTLP_ENDPOINT: http://otel-collector:4317 OTEL_EXPORTER_OTLP_PROTOCOL: grpc ENABLE_TRACING: false + LOGLEVEL: ${LOGLEVEL:-INFO} ports: - "8081:8081" expose: @@ -45,7 +46,7 @@ services: rag-playground: container_name: rag-playground - image: rag-playground:latest + image: rag-playground:${TAG:-latest} build: context: ../.././RetrievalAugmentedGeneration/frontend/ dockerfile: Dockerfile @@ -53,7 +54,7 @@ services: environment: APP_SERVERURL: http://chain-server APP_SERVERPORT: 8081 - APP_MODELNAME: ${APP_LLM_MODELNAME:-ai-mixtral-8x7b-instruct} + APP_MODELNAME: ${APP_LLM_MODELNAME:-"meta/llama3-8b-instruct"} RIVA_API_URI: ${RIVA_API_URI:-} RIVA_API_KEY: ${RIVA_API_KEY:-} RIVA_FUNCTION_ID: ${RIVA_FUNCTION_ID:-} diff --git a/deploy/compose/rag-app-query-decomposition-agent.yaml b/deploy/compose/rag-app-query-decomposition-agent.yaml index 5972621d4..9bb8448bb 100644 --- a/deploy/compose/rag-app-query-decomposition-agent.yaml +++ b/deploy/compose/rag-app-query-decomposition-agent.yaml @@ -1,7 +1,7 @@ services: chain-server: container_name: chain-server - image: chain-server:latest + image: chain-server:${TAG:-latest} build: context: ../../ dockerfile: ./RetrievalAugmentedGeneration/Dockerfile @@ -11,14 +11,14 @@ services: environment: APP_VECTORSTORE_URL: "http://milvus:19530" APP_VECTORSTORE_NAME: "milvus" - APP_LLM_MODELNAME: ${APP_LLM_MODELNAME:-ai-llama2-70b} + APP_LLM_MODELNAME: ${APP_LLM_MODELNAME:-"meta/llama3-70b-instruct"} APP_LLM_MODELENGINE: nvidia-ai-endpoints APP_LLM_SERVERURL: ${APP_LLM_SERVERURL:-""} - APP_EMBEDDINGS_MODELNAME: ${APP_EMBEDDINGS_MODELNAME:-ai-embed-qa-4} - APP_EMBEDDINGS_MODELENGINE: nvidia-ai-endpoints + APP_EMBEDDINGS_MODELNAME: ${APP_EMBEDDINGS_MODELNAME:-snowflake/arctic-embed-l} + APP_EMBEDDINGS_MODELENGINE: ${APP_EMBEDDINGS_MODELENGINE:-nvidia-ai-endpoints} APP_EMBEDDINGS_SERVERURL: ${APP_EMBEDDINGS_SERVERURL:-""} - APP_TEXTSPLITTER_MODELNAME: WhereIsAI/UAE-Large-V1 - APP_TEXTSPLITTER_CHUNKSIZE: 510 + APP_TEXTSPLITTER_MODELNAME: Snowflake/snowflake-arctic-embed-l + APP_TEXTSPLITTER_CHUNKSIZE: 506 APP_TEXTSPLITTER_CHUNKOVERLAP: 200 NVIDIA_API_KEY: ${NVIDIA_API_KEY} APP_PROMPTS_CHATTEMPLATE: "You are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe. Please ensure that your responses are positive in nature." @@ -28,10 +28,11 @@ services: POSTGRES_DB: ${POSTGRES_DB:-api} APP_RETRIEVER_TOPK: 4 APP_RETRIEVER_SCORETHRESHOLD: 0.25 - COLLECTION_NAME: query_decomposition + COLLECTION_NAME: ${COLLECTION_NAME:-query_decomposition} OTEL_EXPORTER_OTLP_ENDPOINT: http://otel-collector:4317 OTEL_EXPORTER_OTLP_PROTOCOL: grpc ENABLE_TRACING: false + LOGLEVEL: ${LOGLEVEL:-INFO} ports: - "8081:8081" expose: @@ -47,7 +48,7 @@ services: rag-playground: container_name: rag-playground - image: rag-playground:latest + image: rag-playground:${TAG:-latest} build: context: ../.././RetrievalAugmentedGeneration/frontend/ dockerfile: Dockerfile @@ -55,7 +56,7 @@ services: environment: APP_SERVERURL: http://chain-server APP_SERVERPORT: 8081 - APP_MODELNAME: ${APP_LLM_MODELNAME:-ai-llama2-70b} + APP_MODELNAME: ${APP_LLM_MODELNAME:-"meta/llama3-70b-instruct"} RIVA_API_URI: ${RIVA_API_URI:-} RIVA_API_KEY: ${RIVA_API_KEY:-} RIVA_FUNCTION_ID: ${RIVA_FUNCTION_ID:-} diff --git a/deploy/compose/rag-app-structured-data-chatbot.yaml b/deploy/compose/rag-app-structured-data-chatbot.yaml index fd95f6786..c8723d896 100644 --- a/deploy/compose/rag-app-structured-data-chatbot.yaml +++ b/deploy/compose/rag-app-structured-data-chatbot.yaml @@ -1,7 +1,7 @@ services: chain-server: container_name: chain-server - image: chain-server:latest + image: chain-server:${TAG:-latest} build: context: ../../ dockerfile: ./RetrievalAugmentedGeneration/Dockerfile @@ -9,15 +9,16 @@ services: EXAMPLE_NAME: structured_data_rag command: --port 8081 --host 0.0.0.0 environment: - APP_LLM_MODELNAME: ${APP_LLM_MODELNAME:-ai-llama3-70b} + APP_LLM_MODELNAME: ${APP_LLM_MODELNAME:-meta/llama3-70b-instruct} APP_LLM_MODELENGINE: nvidia-ai-endpoints APP_LLM_SERVERURL: ${APP_LLM_SERVERURL:-""} - APP_LLM_MODELNAMEPANDASAI: ${APP_LLM_MODELNAME:-ai-llama3-70b} + APP_LLM_MODELNAMEPANDASAI: ${APP_LLM_MODELNAME:-meta/llama3-70b-instruct} APP_PROMPTS_CHATTEMPLATE: "You are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe. Please ensure that your responses are positive in nature." APP_PROMPTS_RAGTEMPLATE: "You are a helpful AI assistant named Envie. You will reply to questions only based on the context that you are provided. If something is out of context, you will refrain from replying and politely decline to respond to the user." NVIDIA_API_KEY: ${NVIDIA_API_KEY} - COLLECTION_NAME: structured_data_rag + COLLECTION_NAME: ${COLLECTION_NAME:-structured_data_rag} CSV_NAME: PdM_machines + LOGLEVEL: ${LOGLEVEL:-INFO} ports: - "8081:8081" expose: @@ -33,7 +34,7 @@ services: rag-playground: container_name: rag-playground - image: rag-playground:latest + image: rag-playground:${TAG:-latest} build: context: ../.././RetrievalAugmentedGeneration/frontend/ dockerfile: Dockerfile @@ -41,7 +42,7 @@ services: environment: APP_SERVERURL: http://chain-server APP_SERVERPORT: 8081 - APP_MODELNAME: ${APP_LLM_MODELNAME:-ai-llama3-70b} + APP_MODELNAME: ${APP_LLM_MODELNAME:-meta/llama3-70b-instruct} RIVA_API_URI: ${RIVA_API_URI:-} RIVA_API_KEY: ${RIVA_API_KEY:-} RIVA_FUNCTION_ID: ${RIVA_FUNCTION_ID:-} diff --git a/deploy/compose/rag-app-text-chatbot.yaml b/deploy/compose/rag-app-text-chatbot.yaml index 6d5a602fb..1342367ea 100644 --- a/deploy/compose/rag-app-text-chatbot.yaml +++ b/deploy/compose/rag-app-text-chatbot.yaml @@ -1,33 +1,7 @@ services: - llm: - container_name: llm-inference-server - image: llm-inference-server:latest - build: - context: ../.././RetrievalAugmentedGeneration/llm-inference-server/ - dockerfile: Dockerfile - volumes: - - ${MODEL_DIRECTORY:?please update the env file and source it before running}:/model - command: ${MODEL_ARCHITECTURE:?please update the env file and source it before running} --max-input-length ${MODEL_MAX_INPUT_LENGTH:-3000} ${QUANTIZATION:+--quantization $QUANTIZATION} - ports: - - "8000:8000" - - "8001:8001" - - "8002:8002" - expose: - - "8000" - - "8001" - - "8002" - shm_size: 20gb - deploy: - resources: - reservations: - devices: - - driver: nvidia - count: ${INFERENCE_GPU_COUNT:-all} - capabilities: [gpu] - jupyter-server: container_name: notebook-server - image: notebook-server:latest + image: notebook-server:${TAG:-latest} build: context: ../../ dockerfile: ./notebooks/Dockerfile.notebooks # replace GPU enabled Dockerfile ./notebooks/Dockerfile.gpu_notebook @@ -45,7 +19,7 @@ services: chain-server: container_name: chain-server - image: chain-server:latest + image: chain-server:${TAG:-latest} build: context: ../../ dockerfile: ./RetrievalAugmentedGeneration/Dockerfile @@ -55,25 +29,26 @@ services: environment: APP_VECTORSTORE_URL: "http://milvus:19530" APP_VECTORSTORE_NAME: "milvus" - APP_LLM_SERVERURL: ${APP_LLM_SERVERURL:-"llm:8001"} - APP_LLM_MODELNAME: ${APP_LLM_MODELNAME:-ensemble} - APP_LLM_MODELENGINE: ${APP_LLM_MODELENGINE:-triton-trt-llm} - APP_EMBEDDINGS_MODELNAME: ${APP_EMBEDDINGS_MODELNAME:-WhereIsAI/UAE-Large-V1} - APP_EMBEDDINGS_MODELENGINE: ${APP_EMBEDDINGS_MODELENGINE:-huggingface} + APP_EMBEDDINGS_MODELNAME: ${APP_EMBEDDINGS_MODELNAME:-snowflake/arctic-embed-l} + APP_EMBEDDINGS_MODELENGINE: ${APP_EMBEDDINGS_MODELENGINE:-nvidia-ai-endpoints} APP_EMBEDDINGS_SERVERURL: ${APP_EMBEDDINGS_SERVERURL:-""} + APP_LLM_SERVERURL: ${APP_LLM_SERVERURL:-""} + APP_LLM_MODELNAME: ${APP_LLM_MODELNAME:-"meta/llama3-8b-instruct"} + APP_LLM_MODELENGINE: ${APP_LLM_MODELENGINE:-nvidia-ai-endpoints} NVIDIA_API_KEY: ${NVIDIA_API_KEY} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-password} POSTGRES_USER: ${POSTGRES_USER:-postgres} POSTGRES_DB: ${POSTGRES_DB:-api} - COLLECTION_NAME: developer_rag + COLLECTION_NAME: ${COLLECTION_NAME:-developer_rag} APP_RETRIEVER_TOPK: 4 APP_RETRIEVER_SCORETHRESHOLD: 0.25 OTEL_EXPORTER_OTLP_ENDPOINT: http://otel-collector:4317 OTEL_EXPORTER_OTLP_PROTOCOL: grpc ENABLE_TRACING: false - APP_TEXTSPLITTER_MODELNAME: WhereIsAI/UAE-Large-V1 - APP_TEXTSPLITTER_CHUNKSIZE: 510 + APP_TEXTSPLITTER_MODELNAME: Snowflake/snowflake-arctic-embed-l + APP_TEXTSPLITTER_CHUNKSIZE: 506 APP_TEXTSPLITTER_CHUNKOVERLAP: 200 + LOGLEVEL: ${LOGLEVEL:-INFO} ports: - "8081:8081" expose: @@ -86,12 +61,10 @@ services: - driver: nvidia count: 1 capabilities: [gpu] - depends_on: - - "llm" rag-playground: container_name: rag-playground - image: rag-playground:latest + image: rag-playground:${TAG:-latest} build: context: ../.././RetrievalAugmentedGeneration/frontend/ dockerfile: Dockerfile @@ -99,7 +72,7 @@ services: environment: APP_SERVERURL: http://chain-server APP_SERVERPORT: 8081 - APP_MODELNAME: ${MODEL_NAME:-${MODEL_ARCHITECTURE}} + APP_MODELNAME: ${APP_LLM_MODELNAME:-"meta/llama3-8b-instruct"} OTEL_EXPORTER_OTLP_ENDPOINT: http://otel-collector:4317 OTEL_EXPORTER_OTLP_PROTOCOL: grpc ENABLE_TRACING: false diff --git a/deploy/k8s-operator/kube-trailblazer/.dockerignore b/deploy/k8s-operator/kube-trailblazer/.dockerignore deleted file mode 100644 index 0f046820f..000000000 --- a/deploy/k8s-operator/kube-trailblazer/.dockerignore +++ /dev/null @@ -1,4 +0,0 @@ -# More info: https://docs.docker.com/engine/reference/builder/#dockerignore-file -# Ignore build and test binaries. -bin/ -testbin/ diff --git a/deploy/k8s-operator/kube-trailblazer/.patches/root.go b/deploy/k8s-operator/kube-trailblazer/.patches/root.go deleted file mode 100644 index fa1eb832a..000000000 --- a/deploy/k8s-operator/kube-trailblazer/.patches/root.go +++ /dev/null @@ -1,8 +0,0 @@ -package chart - -// NotRoot not root -func (ch *Chart) NotRoot() { - ch.parent = nil - ch.dependencies = nil - ch.Metadata.Dependencies = nil -} diff --git a/deploy/k8s-operator/kube-trailblazer/Dockerfile b/deploy/k8s-operator/kube-trailblazer/Dockerfile deleted file mode 100644 index e4d416857..000000000 --- a/deploy/k8s-operator/kube-trailblazer/Dockerfile +++ /dev/null @@ -1,56 +0,0 @@ -# Build the manager binary -FROM golang:1.20 as builder -ARG TARGETOS -ARG TARGETARCH - -WORKDIR /workspace -# Copy the Go Modules manifests -COPY go.mod go.mod -COPY go.sum go.sum -# cache deps before building and copying source so that we don't need to re-download as much -# and so that source changes don't invalidate our downloaded layer -#RUN go mod download -COPY vendor/ vendor/ - -# Copy the go source -COPY main.go main.go -COPY api/ api/ -COPY controllers/ controllers/ -COPY pkg/ pkg/ -COPY .kustomize/ /kustomize/ -COPY helm-charts/ helm-charts/ -COPY helm-plugins/ helm-plugins/ -COPY Makefile Makefile -COPY Makefile.helm.mk Makefile.helm.mk - -RUN chown -R 65532:65532 /kustomize - -RUN ["make", "helm-repo-index"] -# Build -# the GOARCH has not a default value to allow the binary be built according to the host where the command -# was called. For example, if we call make docker-build in a local env which has the Apple Silicon M1 SO -# the docker BUILDPLATFORM arg will be linux/arm64 when for Apple x86 it will be linux/amd64. Therefore, -# by leaving it empty we can ensure that the container and binary shipped on it will have the same platform. -RUN CGO_ENABLED=0 GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH} go build -a -o manager main.go - -# Use distroless as minimal base image to package the manager binary -# Refer to https://github.com/GoogleContainerTools/distroless for more details -#FROM gcr.io/distroless/static:nonroot -FROM debian:bullseye-slim -#FROM ubuntu:latest -ENV HELM_PLUGINS /opt/helm-plugins - -WORKDIR / -COPY --from=builder /workspace/manager . - -COPY --from=builder --chown=65532:65532 /kustomize /kustomize -COPY --from=builder --chown=65532:65532 /workspace/build/helm-charts /helm-charts -COPY --from=builder --chown=65532:65532 /workspace/helm-plugins /opt/helm-plugins - -COPY artifacts/kustomize /usr/local/bin/kustomize - -COPY NVIDIA_AI_Product_License_1Sept2023.pdf / - -USER 65532:65532 - -ENTRYPOINT ["/manager"] diff --git a/deploy/k8s-operator/kube-trailblazer/Makefile b/deploy/k8s-operator/kube-trailblazer/Makefile deleted file mode 100644 index e09f92afd..000000000 --- a/deploy/k8s-operator/kube-trailblazer/Makefile +++ /dev/null @@ -1,282 +0,0 @@ -include *.mk -# VERSION defines the project version for the bundle. -# Update this value when you upgrade the version of your project. -# To re-generate a bundle for another specific version without changing the standard setup, you can: -# - use the VERSION as arg of the bundle target (e.g make bundle VERSION=0.0.2) -# - use environment variables to overwrite this value (e.g export VERSION=0.0.2) -VERSION ?= 0.0.1 - -# CHANNELS define the bundle channels used in the bundle. -# Add a new line here if you would like to change its default config. (E.g CHANNELS = "candidate,fast,stable") -# To re-generate a bundle for other specific channels without changing the standard setup, you can: -# - use the CHANNELS as arg of the bundle target (e.g make bundle CHANNELS=candidate,fast,stable) -# - use environment variables to overwrite this value (e.g export CHANNELS="candidate,fast,stable") -ifneq ($(origin CHANNELS), undefined) -BUNDLE_CHANNELS := --channels=$(CHANNELS) -endif - -# DEFAULT_CHANNEL defines the default channel used in the bundle. -# Add a new line here if you would like to change its default config. (E.g DEFAULT_CHANNEL = "stable") -# To re-generate a bundle for any other default channel without changing the default setup, you can: -# - use the DEFAULT_CHANNEL as arg of the bundle target (e.g make bundle DEFAULT_CHANNEL=stable) -# - use environment variables to overwrite this value (e.g export DEFAULT_CHANNEL="stable") -ifneq ($(origin DEFAULT_CHANNEL), undefined) -BUNDLE_DEFAULT_CHANNEL := --default-channel=$(DEFAULT_CHANNEL) -endif -BUNDLE_METADATA_OPTS ?= $(BUNDLE_CHANNELS) $(BUNDLE_DEFAULT_CHANNEL) - -# IMAGE_TAG_BASE defines the docker.io namespace and part of the image name for remote images. -# This variable is used to construct full image tags for bundle and catalog images. -# -# For example, running 'make bundle-build bundle-push catalog-build catalog-push' will build and push both -# nvidia.com/kube-trailblazer-bundle:$VERSION and nvidia.com/kube-trailblazer-catalog:$VERSION. -IMAGE_TAG_BASE ?= nvidia.com/kube-trailblazer - -# BUNDLE_IMG defines the image:tag used for the bundle. -# You can use it as an arg. (E.g make bundle-build BUNDLE_IMG=/:) -BUNDLE_IMG ?= $(IMAGE_TAG_BASE)-bundle:v$(VERSION) - -# BUNDLE_GEN_FLAGS are the flags passed to the operator-sdk generate bundle command -BUNDLE_GEN_FLAGS ?= -q --overwrite --version $(VERSION) $(BUNDLE_METADATA_OPTS) - -# USE_IMAGE_DIGESTS defines if images are resolved via tags or digests -# You can enable this value if you would like to use SHA Based Digests -# To enable set flag to true -USE_IMAGE_DIGESTS ?= false -ifeq ($(USE_IMAGE_DIGESTS), true) - BUNDLE_GEN_FLAGS += --use-image-digests -endif - -# Set the Operator SDK version to use. By default, what is installed on the system is used. -# This is useful for CI or a project to utilize a specific version of the operator-sdk toolkit. -OPERATOR_SDK_VERSION ?= v1.32.0 - -# Image URL to use all building/pushing image targets -IMG ?= controller:latest -# ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary. -ENVTEST_K8S_VERSION = 1.26.0 - -# Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set) -ifeq (,$(shell go env GOBIN)) -GOBIN=$(shell go env GOPATH)/bin -else -GOBIN=$(shell go env GOBIN) -endif - -# Setting SHELL to bash allows bash commands to be executed by recipes. -# Options are set to exit when a recipe line exits non-zero or a piped command fails. -SHELL = /usr/bin/env bash -o pipefail -.SHELLFLAGS = -ec - -.PHONY: all -all: build - -##@ General - -# The help target prints out all targets with their descriptions organized -# beneath their categories. The categories are represented by '##@' and the -# target descriptions by '##'. The awk commands is responsible for reading the -# entire set of makefiles included in this invocation, looking for lines of the -# file as xyz: ## something, and then pretty-format the target and help. Then, -# if there's a line with ##@ something, that gets pretty-printed as a category. -# More info on the usage of ANSI control characters for terminal formatting: -# https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_parameters -# More info on the awk command: -# http://linuxcommand.org/lc3_adv_awk.php - -.PHONY: help -help: ## Display this help. - @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m\033[0m\n"} /^[a-zA-Z_0-9-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST) - -##@ Development - -.PHONY: manifests -manifests: controller-gen ## Generate WebhookConfiguration, ClusterRole and CustomResourceDefinition objects. - $(CONTROLLER_GEN) rbac:roleName=manager-role crd webhook paths="./..." output:crd:artifacts:config=config/crd/bases - -.PHONY: generate -generate: controller-gen ## Generate code containing DeepCopy, DeepCopyInto, and DeepCopyObject method implementations. - $(CONTROLLER_GEN) object:headerFile="hack/boilerplate.go.txt" paths="./..." - -.PHONY: fmt -fmt: ## Run go fmt against code. - go fmt ./... - -.PHONY: vet -vet: ## Run go vet against code. - go vet ./... - -.PHONY: test -test: manifests generate fmt vet envtest ## Run tests. - KUBEBUILDER_ASSETS="$(shell $(ENVTEST) use $(ENVTEST_K8S_VERSION) --bin-dir $(LOCALBIN) -p path)" go test ./... -coverprofile cover.out - -##@ Build - -.PHONY: build -build: manifests generate fmt vet patch ## Build manager binary. - go build -o bin/manager main.go - -.PHONY: run -run: manifests generate fmt vet ## Run a controller from your host. - go run ./main.go - -# If you wish built the manager image targeting other platforms you can use the --platform flag. -# (i.e. docker build --platform linux/arm64 ). However, you must enable docker buildKit for it. -# More info: https://docs.docker.com/develop/develop-images/build_enhancements/ -.PHONY: docker-build -docker-build: go-mod manifests generate patch # test ## Build docker image with the manager. - docker build -t ${IMG} . - -.PHONY: docker-push -docker-push: ## Push docker image with the manager. - docker push ${IMG} - -# PLATFORMS defines the target platforms for the manager image be build to provide support to multiple -# architectures. (i.e. make docker-buildx IMG=myregistry/mypoperator:0.0.1). To use this option you need to: -# - able to use docker buildx . More info: https://docs.docker.com/build/buildx/ -# - have enable BuildKit, More info: https://docs.docker.com/develop/develop-images/build_enhancements/ -# - be able to push the image for your registry (i.e. if you do not inform a valid value via IMG=> then the export will fail) -# To properly provided solutions that supports more than one platform you should use this option. -PLATFORMS ?= linux/arm64,linux/amd64,linux/s390x,linux/ppc64le -.PHONY: docker-buildx -docker-buildx: test ## Build and push docker image for the manager for cross-platform support - # copy existing Dockerfile and insert --platform=${BUILDPLATFORM} into Dockerfile.cross, and preserve the original Dockerfile - sed -e '1 s/\(^FROM\)/FROM --platform=\$$\{BUILDPLATFORM\}/; t' -e ' 1,// s//FROM --platform=\$$\{BUILDPLATFORM\}/' Dockerfile > Dockerfile.cross - - docker buildx create --name project-v3-builder - docker buildx use project-v3-builder - - docker buildx build --push --platform=$(PLATFORMS) --tag ${IMG} -f Dockerfile.cross . - - docker buildx rm project-v3-builder - rm Dockerfile.cross - -##@ Deployment - -ifndef ignore-not-found - ignore-not-found = false -endif - -.PHONY: install -install: manifests kustomize ## Install CRDs into the K8s cluster specified in ~/.kube/config. - $(KUSTOMIZE) build config/crd | kubectl apply -f - - -.PHONY: uninstall -uninstall: manifests kustomize ## Uninstall CRDs from the K8s cluster specified in ~/.kube/config. Call with ignore-not-found=true to ignore resource not found errors during deletion. - $(KUSTOMIZE) build config/crd | kubectl delete --ignore-not-found=$(ignore-not-found) -f - - -.PHONY: deploy -deploy: manifests kustomize ## Deploy controller to the K8s cluster specified in ~/.kube/config. - cd config/manager && $(KUSTOMIZE) edit set image controller=${IMG} - $(KUSTOMIZE) build config/default | kubectl apply -f - - -.PHONY: undeploy -undeploy: ## Undeploy controller from the K8s cluster specified in ~/.kube/config. Call with ignore-not-found=true to ignore resource not found errors during deletion. - $(KUSTOMIZE) build config/default | kubectl delete --ignore-not-found=$(ignore-not-found) -f - - -##@ Build Dependencies - -## Location to install dependencies to -LOCALBIN ?= $(shell pwd)/bin -$(LOCALBIN): - mkdir -p $(LOCALBIN) - -## Tool Binaries -KUSTOMIZE ?= $(LOCALBIN)/kustomize -CONTROLLER_GEN ?= $(LOCALBIN)/controller-gen -ENVTEST ?= $(LOCALBIN)/setup-envtest - -## Tool Versions -KUSTOMIZE_VERSION ?= v3.8.7 -CONTROLLER_TOOLS_VERSION ?= v0.11.1 - -KUSTOMIZE_INSTALL_SCRIPT ?= "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" -.PHONY: kustomize -kustomize: $(KUSTOMIZE) ## Download kustomize locally if necessary. If wrong version is installed, it will be removed before downloading. -$(KUSTOMIZE): $(LOCALBIN) - @if test -x $(LOCALBIN)/kustomize && ! $(LOCALBIN)/kustomize version | grep -q $(KUSTOMIZE_VERSION); then \ - echo "$(LOCALBIN)/kustomize version is not expected $(KUSTOMIZE_VERSION). Removing it before installing."; \ - rm -rf $(LOCALBIN)/kustomize; \ - fi - test -s $(LOCALBIN)/kustomize || { curl -Ss $(KUSTOMIZE_INSTALL_SCRIPT) | bash -s -- $(subst v,,$(KUSTOMIZE_VERSION)) $(LOCALBIN); } - -.PHONY: controller-gen -controller-gen: $(CONTROLLER_GEN) ## Download controller-gen locally if necessary. If wrong version is installed, it will be overwritten. -$(CONTROLLER_GEN): $(LOCALBIN) - test -s $(LOCALBIN)/controller-gen && $(LOCALBIN)/controller-gen --version | grep -q $(CONTROLLER_TOOLS_VERSION) || \ - GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-tools/cmd/controller-gen@$(CONTROLLER_TOOLS_VERSION) - -.PHONY: envtest -envtest: $(ENVTEST) ## Download envtest-setup locally if necessary. -$(ENVTEST): $(LOCALBIN) - test -s $(LOCALBIN)/setup-envtest || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest - -.PHONY: operator-sdk -OPERATOR_SDK ?= $(LOCALBIN)/operator-sdk -operator-sdk: ## Download operator-sdk locally if necessary. -ifeq (,$(wildcard $(OPERATOR_SDK))) -ifeq (, $(shell which operator-sdk 2>/dev/null)) - @{ \ - set -e ;\ - mkdir -p $(dir $(OPERATOR_SDK)) ;\ - OS=$(shell go env GOOS) && ARCH=$(shell go env GOARCH) && \ - curl -sSLo $(OPERATOR_SDK) https://github.com/operator-framework/operator-sdk/releases/download/$(OPERATOR_SDK_VERSION)/operator-sdk_$${OS}_$${ARCH} ;\ - chmod +x $(OPERATOR_SDK) ;\ - } -else -OPERATOR_SDK = $(shell which operator-sdk) -endif -endif - -.PHONY: bundle -bundle: manifests kustomize operator-sdk ## Generate bundle manifests and metadata, then validate generated files. - $(OPERATOR_SDK) generate kustomize manifests -q - cd config/manager && $(KUSTOMIZE) edit set image controller=$(IMG) - $(KUSTOMIZE) build config/manifests | $(OPERATOR_SDK) generate bundle $(BUNDLE_GEN_FLAGS) - $(OPERATOR_SDK) bundle validate ./bundle - -.PHONY: bundle-build -bundle-build: ## Build the bundle image. - docker build -f bundle.Dockerfile -t $(BUNDLE_IMG) . - -.PHONY: bundle-push -bundle-push: ## Push the bundle image. - $(MAKE) docker-push IMG=$(BUNDLE_IMG) - -.PHONY: opm -OPM = ./bin/opm -opm: ## Download opm locally if necessary. -ifeq (,$(wildcard $(OPM))) -ifeq (,$(shell which opm 2>/dev/null)) - @{ \ - set -e ;\ - mkdir -p $(dir $(OPM)) ;\ - OS=$(shell go env GOOS) && ARCH=$(shell go env GOARCH) && \ - curl -sSLo $(OPM) https://github.com/operator-framework/operator-registry/releases/download/v1.23.0/$${OS}-$${ARCH}-opm ;\ - chmod +x $(OPM) ;\ - } -else -OPM = $(shell which opm) -endif -endif - -# A comma-separated list of bundle images (e.g. make catalog-build BUNDLE_IMGS=example.com/operator-bundle:v0.1.0,example.com/operator-bundle:v0.2.0). -# These images MUST exist in a registry and be pull-able. -BUNDLE_IMGS ?= $(BUNDLE_IMG) - -# The image tag given to the resulting catalog image (e.g. make catalog-build CATALOG_IMG=example.com/operator-catalog:v0.2.0). -CATALOG_IMG ?= $(IMAGE_TAG_BASE)-catalog:v$(VERSION) - -# Set CATALOG_BASE_IMG to an existing catalog image tag to add $BUNDLE_IMGS to that image. -ifneq ($(origin CATALOG_BASE_IMG), undefined) -FROM_INDEX_OPT := --from-index $(CATALOG_BASE_IMG) -endif - -# Build a catalog image by adding bundle images to an empty catalog using the operator package manager tool, 'opm'. -# This recipe invokes 'opm' in 'semver' bundle add mode. For more information on add modes, see: -# https://github.com/operator-framework/community-operators/blob/7f1438c/docs/packaging-operator.md#updating-your-existing-operator -.PHONY: catalog-build -catalog-build: opm ## Build a catalog image. - $(OPM) index add --container-tool docker --mode semver --tag $(CATALOG_IMG) --bundles $(BUNDLE_IMGS) $(FROM_INDEX_OPT) - -# Push the catalog image. -.PHONY: catalog-push -catalog-push: ## Push a catalog image. - $(MAKE) docker-push IMG=$(CATALOG_IMG) diff --git a/deploy/k8s-operator/kube-trailblazer/Makefile.helm.mk b/deploy/k8s-operator/kube-trailblazer/Makefile.helm.mk deleted file mode 100644 index 80f3978dd..000000000 --- a/deploy/k8s-operator/kube-trailblazer/Makefile.helm.mk +++ /dev/null @@ -1,62 +0,0 @@ -HELM_CHARTS_DIR = helm-charts -HELM_BUILD_ROOT_DIR = build -HELM_BUILD_DIR = $(HELM_BUILD_ROOT_DIR)/$(HELM_CHARTS_DIR) -HELM_REPOS = $(shell ls -d $(HELM_BUILD_DIR)/*/) - - - -helm-lint: helm helm-copy-charts - @echo "=> HelmRepo: $(HELM_REPOS)" - @for repo in $(HELM_REPOS); do \ - cd $$repo; \ - helm lint -f ../global-values.yaml `ls -d */`; \ - cd ../../..; \ - done - -helm-repo-index: helm-lint - @for repo in $(HELM_REPOS); do \ - cd $$repo; \ - helm package `ls -d */`; \ - file_url=`echo $$repo |sed 's/$(HELM_BUILD_ROOT_DIR)\///g'`; \ - helm repo index . --url=file:///$$file_url; \ - cd ../../..; \ - done - - -helm-copy-charts: - rm -rf $(HELM_BUILD_DIR) - mkdir -p $(HELM_BUILD_DIR) - cp -r $(HELM_CHARTS_DIR)/* $(HELM_BUILD_DIR) - - -helm: -ifeq (, $(shell which helm)) - @{ \ - set -e ;\ - HELM_GEN_TMP_DIR=$$(mktemp -d) ;\ - cd $$HELM_GEN_TMP_DIR ;\ - OS=$(shell go env GOOS) && ARCH=$(shell go env GOARCH); \ - curl https://get.helm.sh/helm-v3.6.0-$$OS-$$ARCH.tar.gz -o helm.tar.gz ;\ - tar xvfpz helm.tar.gz ;\ - mv linux-amd64/helm /usr/local/bin ;\ - chmod +x /usr/local/bin/helm ;\ - rm -rf $$HELM_GEN_TMP_DIR ;\ - } -HELM=/usr/local/bin/helm -else -HELM=$(shell which helm) -endif - - -# Operator specific - -CSPLIT ?= csplit - --prefix="" --suppress-matched --suffix-format="%04d_operator_manifests.yaml" /---/ '{*}' 1>/dev/null -HELM_CHART_NAME = developer-llm-operator - -.PHONY: helm-chart - -helm-chart: manifests kustomize ## Deploy controller to the K8s cluster specified in ~/.kube/config. - cd config/manager && $(KUSTOMIZE) edit set image controller=${IMG} - cd $(HELM_CHARTS_DIR)/staging/$(HELM_CHART_NAME)/templates && $(KUSTOMIZE) build ../../../../config/default | $(CSPLIT) -## Remove namespace creation, helm can do that ... - rm $(HELM_CHARTS_DIR)/staging/$(HELM_CHART_NAME)/templates/0000_operator_manifests.yaml diff --git a/deploy/k8s-operator/kube-trailblazer/Makefile.helmer.mk b/deploy/k8s-operator/kube-trailblazer/Makefile.helmer.mk deleted file mode 100644 index 36612e043..000000000 --- a/deploy/k8s-operator/kube-trailblazer/Makefile.helmer.mk +++ /dev/null @@ -1,11 +0,0 @@ - - -.PHONY: go-mod -go-mod: ## Runs go mod tidy/vendor to sync vendor directory with go.mod. - go mod tidy - go mod vendor - -.PHONY: patch -patch: - cp .patches/root.go vendor/helm.sh/helm/v3/pkg/chart/. - diff --git a/deploy/k8s-operator/kube-trailblazer/NVIDIA_AI_Product_License_1Sept2023.pdf b/deploy/k8s-operator/kube-trailblazer/NVIDIA_AI_Product_License_1Sept2023.pdf deleted file mode 100644 index 749f02857cdb9e7e46a25a8cc5dad3cc21729882..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 239181 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­)VSd3cFEtcf@x;_DhXS#fb>s4r)_% zcymnpR{r#lLD@}7hdBNRU5z`A4#fGGS^lca3xORmOaxgHC$nVk1S{g|JvzVgW{D1U zN0M^WE}3J7rEq%;W(Bk#NJh~*-Jt~rLmt0ei-Y9fleT4)h77!HM#$ccHY!czi4yw8 zwrw^`I2gGkc^X}FX?KvK3b)e2;dy*l=Z6@b7S0s6G3qhu(z_Lj9-;G&wvM(c0(-<2 z&u>+7j*(kT@7f<_ww*jbB8{ztk2NU2JwmNcWWGIeS>-RYqo^e4Ygb8BrY_jL$2mz` z8$IF{KA0KpvL)WvdgMya`Rqr(!=fo4`=O|PxN8*gb&}_jzl=BDh?$E_e|UIU8*}&V zPvyt;rO)!CUP(iGQE3_{@3pRbB(XvEPYynB{zynj2_fD1-7K`c^y1(qZ`yug#3O<%_wxYU?#AAX)dzrIex*X#LKFNTzS3=tI_z)d=E%~bjjjIb`g2seE-SSZMl|;YZJm_ft9585JSFc zVf5Yw#sYdMpZ^*|eUNL+i7oC>m-uj1TXZOY71g19OI`3vu$3y^=Im`|i0HwkM+zSn zQcFE!UL_@4iH<$5q$r|&5#E10l8%|uF6P20i&eZLDXBE~ZC$YgMnN+B++YRq7)Xle z^|{b(?#br1EaPm2~z@)40KW*Y+4zC66!H5(U>5+!lQMF+4c_ zx)81>ewtu_LQ+$P!c=dD;-U)c4qMFO%}t?jeg&qvUxag)C$0LtD5OUNzCXFWz}08} zkGDld0$UruAm36P?eiRq1V}!2iPFwb4Y^7AkTVN~DkQZQbx-%2DQ%Xp9%%I~Y8|po z+Rr|W`q&vP+vO<_NF6ZVzXS z9=SB?#>z+Hwi$I7B0BL84eEfz3uBRQ(tWKniGR7rq)R?NB%Hg{LL2OHZI7wA=*lcK z90uNXnKV~feI50+lHiLdo?!(7rUueq@*ntKtcq0=uyG{} zwpum0X$CshU2Ev*ym)+JnxO^1rRICvo%=Op>oy<8;w3&zgl-o}WeMksCOo5jz~sPE zD8L*p<#uzld#mn`g_7eL@xPcjk2Q)$$wF z{oxhwVNe-C$WTn=am|jB^8S@5VOpi@#^0u3Hh2-P!@^G}6`x%Dh&Rt{-w}FM;%RZ$ z{XR-kXt0uhh%bIfiZ8)h-vkc+%UVy!m)ErreV=1z8|Qw^LP569f>Za3#2x|eNz>Af z>ovhNr9B2WcH_Kec;*tlXvgPon^2V!vSJ%jq$_IIb7ce3Crc2CqyER|3(<{Nhx$=* z>e0R`zP-MCQ^%obq25W&(CXa~aAhw#H;4;2tgr2a z-4M(=GelsVXY^KBw}FInFL_Q-r39zgrlcK6BYNn>iD*jm5sn=V_tga7cXp|dkyp_; zXd+koE+c-|xQ|6c3+4Co|A@H6;-_sC*YhTzTr0}j-^h=w(Z2DH;$DfrH~ApP)ug^m zkEmLl;(;mZzMU-dw;`{x(oG4Bf27v~2|U;)42&W&{-gPRq~hXN|Kf=Eo+B}4i%Cr` zchL0H1x$R831$5QIl>3Db&WbD*Md@hUKZ-cry`PVRx#VzVmV1`l7)MKZm%$^d zH~H=IjK@t^QL4Bv9ZyFZE6k(H0uz~Jg~y|xI={G)&0T=%MP^w&dhvl~pk+S2~_Voh#0^WDL1Cnp|*niM!Bf zQ5a%zb5Qtd4%bMfUzi@3=Z;9cpIYOJCS0fU)<}3y@FTO3_ZcLdnjdrNX5CqW`W*J#JnVfR)qHAOjj3p}XWh$X!Dn_t+r;U3Garh@zFAI(=x47*2ek8QDwgMi{-s!BsYxQU%YXEnm0~QB=SHPf7Nm~ zp6j5T7%qh3R?j~gTX>Y#)w--^P^WGnw!``>7EW)y(7bvvHxkEmjstJ;QNay?d(iK( zKZ~wyHrv2eK#8 z!6F|IZhdr5uJxkWT$F1IzpAFIYm_7+7x*RIUhe%M)07dfps>7u0uF|tm}od~S>(y> zqbRSox8EL$MwWM_O@-6un%wgT8r$K={y@EsS{4V_iC7dBIhsjS9|7w+kUsR?U<&X&0P8C$`!mEt_d97 zA(>z8B1s!|p9s`T^F>4Py2LM1u!_klM<6pCgmR? z*EJgDZtdua?7#flKDh@Y?_^hqrc5Wd8uJ>%8&?|N z-CvR8sqGHj8(tTr_BLx?v)X@06j?H5PqQ*(PA_?c9{SY79-(Ky9U|&O<256!&mBe$ ztZZ=GP<|q6t~8)T5zYh}jB#7x1m-msl2MjlY*v3XgiomBXTa_nbt%$u(w>;V%kML0 z9gR!3&^SZWdkSQ+vTKZ}Z>#sFdz^@Z%FoC6L~_Z=YzTz-MEcKBLNgu8G2#|A_T19@ z9pvW27uB^JrRj2KKmHkv^8ftepZJ#`%r=o~f*)S*X6m{1b$|ZtMkjnG-s}^qJIwat zOnl=$3wQn1zr1y|)B0&2ez@2FtouU6`_rp!qrQB;YK>;T-6`SqaSgI-H=jXLBpeyu z31@j*w=c+6wI=v9d5)X5)28Rb=HTg`1Emu(Y1a!Hr}OCW25RAU-bXhnO9oHkN}L^q`{P%}F63SmyyQu4z5VlM zQ;^8MA|5^dl;~|w)@LLE>&e#yZ!S)Bk*;1jy|PcZuC@JCKFsyDL@nN7==+AVpb9VU zEVvc&K3QmFPcq)Ht@Wo)Sbghy9vV$R)cQ@4a3W+%2kOZlXxsYjAz>%*0cAZ|bH$CH z5Wmy&fjPTh`3-aSkH@dy?5G+Js65wFU^W$q1^**$z2N3)Y*T~sz6Snp=_!4-WA*@_ ze+vsaaYmJYav|$q-O`r{FG%||s61ntwNci$uZ^!Cz+S45|4s0^Anw@H!@CT&msbC< zNNR6PCZstF#$SItg1PEnY3P`Axwt}Vo^=1{GWzZ}c0awV+tT-aE_#usuj#$tMH#rV z5OzPCddtmE8fezEE=!qswHZ#q@A&cW!IUKCm@8;vZoP)a`*ri0!@e$YLx=yaX3kux zdRjd$UU$dGG@6I){6uW43jJ1h1hs4?NWU zQ>Y!qs;Vu)HJ6f{vSp-S*u#g*JT6r(7s`(LChaFj8wJocpW6y<)Ds`bO`^W}Fy8O; zBx0|)V&<38>9whQpL1qSsF+RhLa#l~k2YiRfk3P44(dT^+(|@+1e(Y}g|Mx*T`8my zNBfLZ=Wv|M^g%5NeH-ppyzA4*`Mu37PvVB8f?1L+U@~Jv|CfiuG1)2aL^sJM(=mMU zfWKfKvL&=xku`7R{j_i3hV!$##o|Ui%1+mQh(VzDV}g@YWXEo=UXN}iger`6rx*rT zYK^h1l9Ohc`f1)92nN1OzClo=wR{uuTwq$x{yxq1q~4*vD6Q`=c1$9y?&&CZ7Z^*K zO6f>srN6ae;_J9LtU>&8utQmk>vP+NLv_MkijMxx>jx?aj#UqAV*59l$z$2)nm0dh znr&*Rmgv+o>c2jkGjNkl#DA`+%}TQ=x}n&sxTKh&=$)xx{>a?U-2CUfqT93lL-X7x zVoy@Xs1AtQv)c$*bC@7XRsJ6)QpT>kQO$L=ttqOD>j`Vo9$bp$%leVS>LRxLevHbE z$V6>65>PHs(Gp+TO$L-N0m?~$^0=55ty_G%g~gs(3?Ji>(rQ?(fAPIduJ%Q|m3XJ! zy=Qz(rI)@_Rnui0URw9@nDuI2dq3sUw$5j@@AYWk%iPt=*p(JqE67tT2(68v(o4Ff zmjr~=dis=lcL@uk0|(ifm)M(^ESs08o0ps#JIn$HJz5MsW?5ZnaSI?wi2mhTPpb7z z(F+hE=E=E1JlBJ=i+bJ`+_v7@jok_)`v+7PgoNOe3uZXS$0HXY4f2g0B)GMn?2~h& z7a;mLwVrn;=RAPOH`X^#d|&H#uZLWz^~`rWKAj}Z>wN0A1wkIiQG0U|HoOYdXKyYjo9h3xZei(K2Cp5V z)}tjXpmf!}tS7gfd*C+N|7HEqZ>oQIz546=qM@rZyp{`9yGc~A8mIw?d)MzFYTc>y z>WB&i12y!UbK2Gy&0Kd-TRe^HHQ(2%&G*Tuz5NLrA}0IEYTbPY$=nCNs&s1|9?Zs! zA7Vm(UXnF_l3rKw3^}#7)qKq49pdw)VJaiwCR<9n6zN+=nLaXulVNDb&oVZCbd6bG#UA|G3FJ!e<*LIvehgNyB3Mvib2{+S|6T zDn1|zc_yirgn9L%etdA7uikJ=YVgn#5}lsHyqu(ZIp8W7pWG^cpwlZNWO4(=X-=m2 z%xGUhN4;HgeS76?c|scW6Mr}p8K*8;|nVM+2Yrxds92s%}qgq;kW9yn<^i95y8T^JUB z5`A#{$xO3(BNiID!rh4RfPX>4Zlx%Gwe-#gUN zpmi(t<<}OW%VUr$3m%+9km9_o*J;TkA-G<1ntP?_L9zDii3mCK@7G0#J+a1oqna6d z)sd^oqrdYe?&K+0`g2*o(~NSS79MzhRqHO7u~$@WKyGw_@w-~)r4jw&#P9MP3rJTv zz0izJL}C}*m8E;S%#Bv>bx>8Sb$(^D?&=2Ko|^#O98@m}H91^+d(MzzgT@8Nc^RDjSp^41XR?m(#P1B)LPmeX} zFJIJj<}^9j6+9w3QrL~()!7~0O5wZDN$Td_%6izZiByv7XU=|Gt%}s( zRF&zME>m~Q4!6h|$=c2KU(DpqqR;GFg!PL%tKnn^EoR}XLHc!elr%Eyv!!-aPWu0F zPP>&E($C-=Tdl2|D&1FRQCKanTVSIo+81t-c`MyUxmhjiR9s@kwHPTc@CE zR8{j2WtV3jB_5$V^AS#@ddY(wODj7Y`Rj-7;(9^_4XDPN@6qvnfY2$cnrfcK{vcJoRsOMrmD%>mFDm+|VUEEXaYHFe5 znrk)%O*NmX7k(@;*KLenwoO5OiC>o6NO$k8{Wb12PH3Bs>WE+I+z?t9+7{Z3+?PCw zJW)6{I?XsWJGK8!@cWrhv0lT^lOh?TP9si3PNO`-JR@DBI>S06FT)r}QQ$|%^y7@< z467Tu`gA7I2hdZt_>j8_8KD?MVx7nZ1=Qq0@8HJqFF}5v!z+nGC!~o&UZmYg^#KbC z6Q8y+e1LyP8^@1nL(@YCTemU{PHZmeS+5oA&q5|2_fGuM_ui_Dm?@o=Opx!AdJ$qK z&vytpEO>tPRL>{rO@NvFf&_&)#dEhJR}PJ@kKVB({IS6!)B5q@h5f!6Xy9Vco7>{3I9dwRm4+;hiRGfOIW=Dz{(@Gd_Cb(vwFb zD-LYksx?34pEcM+M7x{&IGO(iuIV7IWfgly(wsD9xJ2-+uwR#ToJn*Xd@7(EH%N%hxw4 z#U*Je{4-q-ZNq}Pe&4`tpvM{gHr^j+I9buNCTn%z68d!FQ?>Zbn$dURf$V+K?E>Rs z1IcjWceXU;Bw0uPo}!%TRx>I`m5Z5z0=3qF!g;U`2JW&Wc*E6-Rx zhH+-BAR(n*W9(z~Ha(c@F5mRSs+v!QmG;Ko@Ga9{cXn1Sn|NNPNOHWhFQc?K8azsB zn`LT6H~Ph*$f7*n*$h%Bq%M_HTbSv4q&9;Kp;{xBkH+N_f+M zNW{LZ(ocZF=4SKIJ?KM1Gs_k$XuQCk^5>8t?UN^jyB5-{%mH<;l-bkBN8?|?LsL|k{XdYal7PRkc%!J`9A156LK zsB?+Nib_^!R!72@CHO5+<&Y`pk#Y^Qt$9WH=w|53?h`>6DiLr7B|P9Za(bNIG=%?U4#qa0tuL+KsoF_9tKT?z>l zVi8-#j*8pc9|l#%es*rnhtj*p>ZNI}Ek}LrB_1H@O=kyC>lX9D?!PQ;rAxf=Q6cSkK$~ zEo%!T>#d$w_1j->%z5JIf6>_JKNhZ+=z8Ti>xvPUkBOc&#)!+u_Rc!FO`PqU>xwA} zmLzHqF)U@tDC+O$iQ`$S@6+04Byw#6{tsZ}Dpa@F|R#^`wsun&>{K3RJaW8}C zl{wQ0jD;7!J;CX+$!%HzEh1-SuP+u^1+-n?X$LnnX+OIdaxCBEt$Q=GZ6ESxfza+s z5$lScq?YJNO+*Pz9bXYkDPO=av%91Lr@17Xao)CI)5v#0Sa8|zL?P=b1%hNB&b4Tv zl}QCj7ICw7Yth+$u~#B`at39r=?Z39>zqXOCQTLGo+a$MNf0WtG+sk#!NO#JO#8pp<@5iGjI4h3LnnGLTY2Qn1 zzde?uGh@7D7LzAyM)bmCfoX3wVyxzmDi@O3ae)^e6pVYTX>f~y`26h1V)h-KhnhuO z$w&Hx3JpD!r6|W6O_Y7_p>J9&3{Ag7ue@F4+#&BsSt?1*<=J_S5MqazG-(q;99n2zDPo8pF6_gaG`tgea&3N8!BB^g*TtxR0qz0q2@ zVMWrKhqEjfqGmblSF(3UrZenhVST`JXRn3FR>&#{<=p<8^3?3j>!f!Fzd26hb{b12 z_I7!zFV}voyiNJ}<31yI*M*tTkCoRc7oOT1+4bA%M$4zCQaWm5XtlDV-;b;huMOUZ zxBuqn)BZiVmb3Cv=)~3(d_LBeC6GNM{v-PP-p>s*YaC~)j%-PC{GKwK5^4u z(vJDms9s&jzR@T6?xlexPd_1PbmVV}M4WF52oCPl-OXXOZ+`1ncux4%WRH-eUlWbG zOE|6AM?aO9(7O7>c_%dyEQ@Q89tv0-4PQvSF;08hIgCn1e$x5IJMwO2{K*TiSg$g# zJb@NEw{gC2ETbyRS-XrURt zOqy2MGTSfMfs1&ee4aNn?X3^yg_;oL_{CZyOQ#3K)g$_cENsdOwYBqd2hRB&B;(R-zj$2@ycb-tyh21-@Rx{RG43SC2);+g0vpRFUSw&$M7Th1^Am6 zt(;4)XaPIivr_3#*nMB8tH=EK|=)9H!-z!C;mt8Tq#yH<1}lz*@7=u~*Z-;sEF zlY+SVrO*OH*8<&h0^02#ybJG@c=z6f&5U-ZcJqDurnEs3F&jX9NSEXhhFN=KKVEb^ zHZuVWaU6KtpE~4zs?@2^z#r{I$1jv4rrTSZ$)KjD2MyJE)JOpLCpb zyu0?^T7{4EXOrKTzRa9t{5J>7@cipw865_09R?mGa7GUU95}28SRi3wKw!{13~&@u zm*MXx_n`hO(w~ZdJ=F*Oug`!}eN^4-OdxV5P6oyXP6iMaXG5nmfu@}7zYh0-b94Xg zbRT{pS33hEOA{vsLld*dHUf-mH4TgmkBtQwHIQ=La(1F7=8vV^9ZXc*DoAQ{h2W?BU@_-@BswM1&5p^ z1UZZOmz4gQyT3?4(>6Bxcb4s(9jyM$u(1)u#LC3l#Ky@HNFMrU^2SEIM!?BTPPPt$ ze|oKAV*igfR*wZ$oE;5p7$hFsIJy5L8-VN|Z~oMR{59_XFq=T_{5zk2D*{&oJ0OqT zf94TT;uZZzCRJ^1tpw#B8#w^Gh)kUrG;AG=`61^&=l{3BL<~4IN)W~kgL6V*oKS=+ z6vK-|^1>19+}ym}+<%Gs56wSg%Gnw}Hg)^|67w&b|I>N`vMML{|6Byt*8eI6IXPZ2 zTO;SQ8hjuo=}Y3Y z;0APWR3AH8nJ_pxIGdauPzj{*kMly|+<(#jbM&C8Y+?#gdF*b&fP`~HG;|oC3~)i z-ycZ|1^Sw2+5WFHNs)sdo(j%1pEtHn6&Q)aJm}&ZVd80DO21?}UDwSFlV8zd&($ zBWcm1)n}0CqGVO_u7vTMp2`;Umo^Bwz>nO$<^!!#@_yD5Tj3I+eo?livQIfu)%4NE zA5?EyTiklg9=3g5qT+%C!qnJ)C^ui3B=YRXVd?547jT%gizO`BX3 z;~!3`o9~O*fyb(jql;V6)q}}*JfQs%x17@{v$n#X5-`kkG&sR9= zm&E3=lqmYbt@~c6;%|`&gm;@BC=%RAX1Vi`&F)@bz=$I5;>X8!ya`v$?lYO=hbLb} z1erd3Z8j_&sQ&Guc9T}r#g+GYe4Tlx2$f`Hsb5L5fRnG|dnTu+Ty|Vefm_M!3Ahv= zaqMn?_}H4z<7lOOQAsMuChEeEWZdn*#BT&#{xZoV+y3=-7(!q6_d*YGE=@^S-pcpm zpu}%x;PZAaAwB7*z1nPWdA9mRCOs8VDg*APMokpeR`g(VnH?>S6H~`=8@keO>40Cy zEs6xyQ}W+$&bJF=mJ0SR`TUU z-@8+fUGd39DraLws0#00;fTE;V{&bLmm~J0GM)l&tzT333A3x;(#4OV>-e>V9aCzW z7uctWT#598PzGeVfyj08TB4=*Pf^$Dyf|xd*BWcqFXRU8O)(AqLEmILgcm<4vrqY? zF{2Pi&@XSD%9D81fZFpy&HEcqn&|fNpEL^&5$HF&tP{OvI99C>pr7*Czu^7!#O@Do z7Z*t%9~YXZ_x6b*s$Vb)Ib1&VZMORwp1aHB)10(Uag6)Bv7vV9mQBOGq*=SY8O2We z$3=Lhc%`hlH)d)UN_T6b)n5Rw*vc1E-p@S5Z>k^1ha5=}jLp&rJ+KvjEB;IzD{P(d zTf7vB%h<#?nDRBHo^cSrL)J??U;L%Gfp|tM?cMg=^7~%EUtZ#6;_X2AQal4BGyvo; zf#l1`uEZ^ekcZw6Js&blIcfK4+|l}1`1U@K67sU^5UGMMV@=8k<2N7!Qz=vJI2Soz za%gkh%C~yon^K?B%lHMqL?#1C{xdJQ5U=zsWG!jSKYRVmV=d8)1M+42msc&4D!9Tt z8_>aqyzOJjh&{fjJ4r8muANlKFHqSnLwU4zykH(>KwzrL7 zv@f0_QrCT%;C$Z8;ewK2Zea|!iHWk?9&@H1Pp=Rt6d#TOo{Nhfg3Fp z`0t-TJTPEV2nk0roPG4qA1E;YbN0hv^KTiH2RNbloD7Bm?)~RvJlwGJG88utFlY34 zJroRv6&Hm-V%b0;xv}FS&ronKJro>UhCyNF1r0@DrH6)NfRn2Ko*o(r!zu$b5{WHC zL9x?AVX*9CxZ%J_*?+fzfpKHy8G``PL&4A6fC4p!Ekj|I6%>g<0>u5BT__I>alV{k zFdnS>1!@R=-d`97g;iESE8scr8yuLgIG;Z_63KHuJvb5#w7y(LCjVZ3 zXbb{zzO4Z^fI9!X-kA)<51?IP>tXwW#O4Q(9*7^ny$L%#Fh4-*1GuKK;$lGj0Pf@1 zdLVuP_e5;H^S%M)0@M+<9*7?p5I=zX#`(BV;GT#r!}bFTlqt3zwjWS#Y(Id>XOOtq zen7dg{eS{I!nO1eOgbh#yc8KY;rXcHHxMMq`lJ{Ss~{6vPi0 zh#xQzKY;rcmR%T#A21LPsuFW5HD`^L=;1^QuFdcY_hTL$6>9K;Wx|AHMC z#1EjyiLD3X2OPu?pznhn7sL+)h#x@z04pxQC~O&s9|#aXfW8!VTo6AHAbtRSQS7)N zegOR(EIoj~*fJ15kRW~_LHq#PICgpdAUp?VBG2goLl=Mn z=gS!ej7hN5J6}iK+(5@2L=U@N0fR6QJ?#2`0oM$cT@aqbKzI(rVmII$&~~wW1K~Lg zgy(1D9_+k;_yLS(u=POv0O2_dgy%32p2I+R4g=vi420*vXdF9#AUub`K>PsVIShp7 zz#t6U1_;k#AUub`LE04v&tY&7KR|d61K~Lg82@6`5eUy=AUr=Cb7IE@xjsO6el|CP z9T&t85T3(8cn$-`OjzlG@Eiuha~KlD4-lTiKzI%es6p(4_yNN6v$-4WJcIZF!gCl1 z&tV{Qj4%+M!$5cr1K~L^*@B%vU|s+#&sdBH?tdUWhk@`Mn0&xa513EHvVp~Tzy=7< zVIVw*f$$s#!gCnN_#B4Cc)%_Q&tV`uKbz;m@&jai4#Q&nnGKM31;TR}2+x5DF%Y{T z?FxkFFc6-@KzI%V;W-S1=P(eS!$5cr%y?qw8HDF&bK&R96xjR-BExQ1zyubE9`^kT z4l+K6gYX>AjeUKu0I0(<-AUua-u^R(y@5S!(!$Eis2jMv!gy(P&p2IIrsx2IlXvt_2XD!?DKV z7+@T5er_FT8z4M~gYX;qn#V4C5T3(9cn$~QIUI!Na1fruL3j=a;W-?H=Wr07!$Eis2jMv!gy(P& zp2I=L=Wr07!$Eis2jMv!gy(1LwOH*Qgy&~#BG`H$`~cxO9E9g*Ymn#DLjY^I*fMOM zBS6OI2oRnlKzNP-;W+|?=Lis@r?J{S2+t89JV$`=909^}1jzUtfyH|2$1nP0*moLo|2oRnlKzNP-;W+|? z=Lis|2oRnlK*s05w;Hki0O2_jgy%>Qo}cYWIDcItL3oY?;W-k7=SUEq z1CJjEv4QOe5`^bS5S}Bk*bQt!0~mjPEQAE%ITD2DND!U_X`Rb6U<0@x{M`m11M2*| z40C?p7nBFsHgayy7?cNkmcPHn1!U;+Hh?W{(DVEMfQ1;WeTQc_!_^D;D0AODs)IT$>)GI1cn2fjl4&#mv!|KIn! z|6@bDfrHaOwt)hR2QVm_2%ni*{Qu0~jh73yHq?NZYd~D5A5fH92Hcela+E%3Pe5=< TE|6;m3^#O#1G^ZOFoy#G?AoWA diff --git a/deploy/k8s-operator/kube-trailblazer/PROJECT b/deploy/k8s-operator/kube-trailblazer/PROJECT deleted file mode 100644 index a0762acbf..000000000 --- a/deploy/k8s-operator/kube-trailblazer/PROJECT +++ /dev/null @@ -1,23 +0,0 @@ -# Code generated by tool. DO NOT EDIT. -# This file is used to track the info used to scaffold your project -# and allow the plugins properly work. -# More info: https://book.kubebuilder.io/reference/project-config.html -domain: nvidia.com -layout: -- go.kubebuilder.io/v3 -plugins: - manifests.sdk.operatorframework.io/v2: {} - scorecard.sdk.operatorframework.io/v2: {} -projectName: kube-trailblazer -repo: github.com/nvidia/kube-trailblazer -resources: -- api: - crdVersion: v1 - namespaced: true - controller: true - domain: nvidia.com - group: package - kind: HelmPipeline - path: github.com/nvidia/kube-trailblazer/api/v1alpha1 - version: v1alpha1 -version: "3" diff --git a/deploy/k8s-operator/kube-trailblazer/api/v1alpha1/groupversion_info.go b/deploy/k8s-operator/kube-trailblazer/api/v1alpha1/groupversion_info.go deleted file mode 100644 index 84c28e79c..000000000 --- a/deploy/k8s-operator/kube-trailblazer/api/v1alpha1/groupversion_info.go +++ /dev/null @@ -1,36 +0,0 @@ -/* -Copyright 2023. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Package v1alpha1 contains API Schema definitions for the package v1alpha1 API group -// +kubebuilder:object:generate=true -// +groupName=package.nvidia.com -package v1alpha1 - -import ( - "k8s.io/apimachinery/pkg/runtime/schema" - "sigs.k8s.io/controller-runtime/pkg/scheme" -) - -var ( - // GroupVersion is group version used to register these objects - GroupVersion = schema.GroupVersion{Group: "package.nvidia.com", Version: "v1alpha1"} - - // SchemeBuilder is used to add go types to the GroupVersionKind scheme - SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} - - // AddToScheme adds the types in this group-version to the given scheme. - AddToScheme = SchemeBuilder.AddToScheme -) diff --git a/deploy/k8s-operator/kube-trailblazer/api/v1alpha1/helmpipeline_types.go b/deploy/k8s-operator/kube-trailblazer/api/v1alpha1/helmpipeline_types.go deleted file mode 100644 index a04c6e032..000000000 --- a/deploy/k8s-operator/kube-trailblazer/api/v1alpha1/helmpipeline_types.go +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright 2023. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package v1alpha1 - -import ( - "github.com/nvidia/kube-trailblazer/pkg/helmer" - operatorv1 "github.com/openshift/api/operator/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" -) - -// EDIT THIS FILE! THIS IS SCAFFOLDING FOR YOU TO OWN! -// NOTE: json tags are required. Any new fields you add must have json tags for the fields to be serialized. - -// HelmPipelineSpec defines the desired state of HelmPipeline -type HelmPipelineSpec struct { - // Orchard: A planned and managed group of Helm trees. - Pipeline helmer.Pipeline `json:"pipeline"` - // +kubebuilder:validation:Optional - ManagementState operatorv1.ManagementState `json:"managementState,omitempty"` // INSERT ADDITIONAL SPEC FIELDS - desired state of cluster -} - -// HelmPipelineStatus defines the observed state of HelmPipeline -type HelmPipelineStatus struct { - // INSERT ADDITIONAL STATUS FIELD - define observed state of cluster - // Important: Run "make" to regenerate code after modifying this file -} - -//+kubebuilder:object:root=true -//+kubebuilder:subresource:status - -// HelmPipeline is the Schema for the helmpipelines API -type HelmPipeline struct { - metav1.TypeMeta `json:",inline"` - metav1.ObjectMeta `json:"metadata,omitempty"` - - Spec HelmPipelineSpec `json:"spec,omitempty"` - Status HelmPipelineStatus `json:"status,omitempty"` -} - -//+kubebuilder:object:root=true - -// HelmPipelineList contains a list of HelmPipeline -type HelmPipelineList struct { - metav1.TypeMeta `json:",inline"` - metav1.ListMeta `json:"metadata,omitempty"` - Items []HelmPipeline `json:"items"` -} - -func init() { - SchemeBuilder.Register(&HelmPipeline{}, &HelmPipelineList{}) -} diff --git a/deploy/k8s-operator/kube-trailblazer/api/v1alpha1/zz_generated.deepcopy.go b/deploy/k8s-operator/kube-trailblazer/api/v1alpha1/zz_generated.deepcopy.go deleted file mode 100644 index a21890900..000000000 --- a/deploy/k8s-operator/kube-trailblazer/api/v1alpha1/zz_generated.deepcopy.go +++ /dev/null @@ -1,123 +0,0 @@ -//go:build !ignore_autogenerated -// +build !ignore_autogenerated - -/* -Copyright 2023. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by controller-gen. DO NOT EDIT. - -package v1alpha1 - -import ( - "github.com/nvidia/kube-trailblazer/pkg/helmer" - runtime "k8s.io/apimachinery/pkg/runtime" -) - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *HelmPipeline) DeepCopyInto(out *HelmPipeline) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) - in.Spec.DeepCopyInto(&out.Spec) - out.Status = in.Status -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmPipeline. -func (in *HelmPipeline) DeepCopy() *HelmPipeline { - if in == nil { - return nil - } - out := new(HelmPipeline) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *HelmPipeline) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *HelmPipelineList) DeepCopyInto(out *HelmPipelineList) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ListMeta.DeepCopyInto(&out.ListMeta) - if in.Items != nil { - in, out := &in.Items, &out.Items - *out = make([]HelmPipeline, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmPipelineList. -func (in *HelmPipelineList) DeepCopy() *HelmPipelineList { - if in == nil { - return nil - } - out := new(HelmPipelineList) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *HelmPipelineList) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *HelmPipelineSpec) DeepCopyInto(out *HelmPipelineSpec) { - *out = *in - if in.Pipeline != nil { - in, out := &in.Pipeline, &out.Pipeline - *out = make(helmer.Pipeline, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmPipelineSpec. -func (in *HelmPipelineSpec) DeepCopy() *HelmPipelineSpec { - if in == nil { - return nil - } - out := new(HelmPipelineSpec) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *HelmPipelineStatus) DeepCopyInto(out *HelmPipelineStatus) { - *out = *in -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmPipelineStatus. -func (in *HelmPipelineStatus) DeepCopy() *HelmPipelineStatus { - if in == nil { - return nil - } - out := new(HelmPipelineStatus) - in.DeepCopyInto(out) - return out -} diff --git a/deploy/k8s-operator/kube-trailblazer/config/crd/bases/package.nvidia.com_helmpipelines.yaml b/deploy/k8s-operator/kube-trailblazer/config/crd/bases/package.nvidia.com_helmpipelines.yaml deleted file mode 100644 index a3c682b48..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/crd/bases/package.nvidia.com_helmpipelines.yaml +++ /dev/null @@ -1,234 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.11.1 - creationTimestamp: null - name: helmpipelines.package.nvidia.com -spec: - group: package.nvidia.com - names: - kind: HelmPipeline - listKind: HelmPipelineList - plural: helmpipelines - singular: helmpipeline - scope: Namespaced - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: HelmPipeline is the Schema for the helmpipelines API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: HelmPipelineSpec defines the desired state of HelmPipeline - properties: - managementState: - pattern: ^(Managed|Unmanaged|Force|Removed)$ - type: string - pipeline: - description: 'Orchard: A planned and managed group of Helm trees.' - items: - description: A shelter of vines or branches or of latticework covered - with climbing shrubs or vines, also latin for tree - properties: - chartSpec: - properties: - atomic: - description: Atomic indicates whether to install resources - atomically. 'Wait' will automatically be set to true when - using Atomic. - type: boolean - chart: - type: string - cleanupOnFail: - description: CleanupOnFail indicates whether to cleanup - the release on failure. - type: boolean - createNamespace: - description: CreateNamespace indicates whether to create - the namespace if it does not exist. - type: boolean - dependencyUpdate: - description: DependencyUpdate indicates whether to update - the chart release if the dependencies have changed. - type: boolean - description: - description: Description specifies a custom description - for the uninstalled release - type: string - disableHooks: - description: DisableHooks indicates whether to disable hooks. - type: boolean - dryRun: - description: DryRun indicates whether to perform a dry run. - type: boolean - force: - description: Force indicates whether to force the operation. - type: boolean - generateName: - description: GenerateName indicates that the release name - should be generated. - type: boolean - keepHistory: - description: KeepHistory indicates whether to retain or - purge the release history during uninstall - type: boolean - maxHistory: - description: MaxHistory limits the maximum number of revisions - saved per release. - type: integer - nameTemplate: - description: NameTemplate is the template used to generate - the release name if GenerateName is configured. - type: string - namespace: - description: Namespace where the chart release is deployed. - Note that helmclient.Options.Namespace should ideally - match the namespace configured here. - type: string - recreate: - description: Recreate indicates whether to recreate the - release if it already exists. - type: boolean - release: - type: string - replace: - description: Replace indicates whether to replace the chart - release if it already exists. - type: boolean - resetValues: - description: ResetValues indicates whether to reset the - values.yaml file during installation. - type: boolean - reuseValues: - description: ReuseValues indicates whether to reuse the - values.yaml file during installation. - type: boolean - skipCRDs: - description: SkipCRDs indicates whether to skip CRDs during - installation. - type: boolean - subNotes: - description: SubNotes indicates whether to print sub-notes. - type: boolean - timeout: - description: Timeout configures the time to wait for any - individual Kubernetes operation (like Jobs for hooks). - format: int64 - type: integer - upgradeCRDs: - description: Upgrade indicates whether to perform a CRD - upgrade during installation. - type: boolean - valuesOptions: - description: Specify values similar to the cli - properties: - JSONValues: - items: - type: string - type: array - fileValues: - items: - type: string - type: array - strinValues: - items: - type: string - type: array - valueFiles: - items: - type: string - type: array - values: - items: - type: string - type: array - required: - - JSONValues - - fileValues - - strinValues - - valueFiles - - values - type: object - valuesYaml: - description: ValuesYaml is the values.yaml content. use - string instead of map[string]interface{} https://github.com/kubernetes-sigs/kubebuilder/issues/528#issuecomment-466449483 - and https://github.com/kubernetes-sigs/controller-tools/pull/317 - type: string - version: - description: Version of the chart release. - type: string - wait: - description: Wait indicates whether to wait for the release - to be deployed or not. - type: boolean - waitForJobs: - description: WaitForJobs indicates whether to wait for completion - of release Jobs before marking the release as successful. - 'Wait' has to be specified for this to take effect. The - timeout may be specified via the 'Timeout' field. - type: boolean - required: - - chart - type: object - chartValues: - description: TODO ChartValues json.RawMessage `json:"chartValues"` - type: object - x-kubernetes-preserve-unknown-fields: true - releaseName: - type: string - repoEntry: - description: Entry represents a collection of parameters for - chart repository, since we cannot annotate the internal helm - struct we're doing it here - properties: - caFile: - type: string - certFile: - type: string - insecure_skip_tls_verify: - type: boolean - keyFile: - type: string - name: - type: string - pass_credentials_all: - type: boolean - password: - type: string - url: - type: string - username: - type: string - required: - - url - type: object - required: - - chartSpec - - repoEntry - type: object - type: array - required: - - pipeline - type: object - status: - description: HelmPipelineStatus defines the observed state of HelmPipeline - type: object - type: object - served: true - storage: true - subresources: - status: {} diff --git a/deploy/k8s-operator/kube-trailblazer/config/crd/kustomization.yaml b/deploy/k8s-operator/kube-trailblazer/config/crd/kustomization.yaml deleted file mode 100644 index f6c2911b7..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/crd/kustomization.yaml +++ /dev/null @@ -1,21 +0,0 @@ -# This kustomization.yaml is not intended to be run by itself, -# since it depends on service name and namespace that are out of this kustomize package. -# It should be run by config/default -resources: -- bases/package.nvidia.com_helmpipelines.yaml -#+kubebuilder:scaffold:crdkustomizeresource - -patchesStrategicMerge: -# [WEBHOOK] To enable webhook, uncomment all the sections with [WEBHOOK] prefix. -# patches here are for enabling the conversion webhook for each CRD -#- patches/webhook_in_helmpipelines.yaml -#+kubebuilder:scaffold:crdkustomizewebhookpatch - -# [CERTMANAGER] To enable cert-manager, uncomment all the sections with [CERTMANAGER] prefix. -# patches here are for enabling the CA injection for each CRD -#- patches/cainjection_in_helmpipelines.yaml -#+kubebuilder:scaffold:crdkustomizecainjectionpatch - -# the following config is for teaching kustomize how to do kustomization for CRDs. -configurations: -- kustomizeconfig.yaml diff --git a/deploy/k8s-operator/kube-trailblazer/config/crd/kustomizeconfig.yaml b/deploy/k8s-operator/kube-trailblazer/config/crd/kustomizeconfig.yaml deleted file mode 100644 index ec5c150a9..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/crd/kustomizeconfig.yaml +++ /dev/null @@ -1,19 +0,0 @@ -# This file is for teaching kustomize how to substitute name and namespace reference in CRD -nameReference: -- kind: Service - version: v1 - fieldSpecs: - - kind: CustomResourceDefinition - version: v1 - group: apiextensions.k8s.io - path: spec/conversion/webhook/clientConfig/service/name - -namespace: -- kind: CustomResourceDefinition - version: v1 - group: apiextensions.k8s.io - path: spec/conversion/webhook/clientConfig/service/namespace - create: false - -varReference: -- path: metadata/annotations diff --git a/deploy/k8s-operator/kube-trailblazer/config/crd/patches/cainjection_in_helmpipelines.yaml b/deploy/k8s-operator/kube-trailblazer/config/crd/patches/cainjection_in_helmpipelines.yaml deleted file mode 100644 index 4ca9b78ba..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/crd/patches/cainjection_in_helmpipelines.yaml +++ /dev/null @@ -1,7 +0,0 @@ -# The following patch adds a directive for certmanager to inject CA into the CRD -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: $(CERTIFICATE_NAMESPACE)/$(CERTIFICATE_NAME) - name: helmpipelines.package.nvidia.com diff --git a/deploy/k8s-operator/kube-trailblazer/config/crd/patches/webhook_in_helmpipelines.yaml b/deploy/k8s-operator/kube-trailblazer/config/crd/patches/webhook_in_helmpipelines.yaml deleted file mode 100644 index e52065b94..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/crd/patches/webhook_in_helmpipelines.yaml +++ /dev/null @@ -1,16 +0,0 @@ -# The following patch enables a conversion webhook for the CRD -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: helmpipelines.package.nvidia.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - namespace: system - name: webhook-service - path: /convert - conversionReviewVersions: - - v1 diff --git a/deploy/k8s-operator/kube-trailblazer/config/default/kustomization.yaml b/deploy/k8s-operator/kube-trailblazer/config/default/kustomization.yaml deleted file mode 100644 index be30e9553..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/default/kustomization.yaml +++ /dev/null @@ -1,72 +0,0 @@ -# Adds namespace to all resources. -namespace: kube-trailblazer-system - -# Value of this field is prepended to the -# names of all resources, e.g. a deployment named -# "wordpress" becomes "alices-wordpress". -# Note that it should also match with the prefix (text before '-') of the namespace -# field above. -namePrefix: kube-trailblazer- - -# Labels to add to all resources and selectors. -#commonLabels: -# someName: someValue - -bases: -- ../crd -- ../rbac -- ../manager -# [WEBHOOK] To enable webhook, uncomment all the sections with [WEBHOOK] prefix including the one in -# crd/kustomization.yaml -#- ../webhook -# [CERTMANAGER] To enable cert-manager, uncomment all sections with 'CERTMANAGER'. 'WEBHOOK' components are required. -#- ../certmanager -# [PROMETHEUS] To enable prometheus monitor, uncomment all sections with 'PROMETHEUS'. -#- ../prometheus - -patchesStrategicMerge: -# Protect the /metrics endpoint by putting it behind auth. -# If you want your controller-manager to expose the /metrics -# endpoint w/o any authn/z, please comment the following line. -- manager_auth_proxy_patch.yaml - - - -# [WEBHOOK] To enable webhook, uncomment all the sections with [WEBHOOK] prefix including the one in -# crd/kustomization.yaml -#- manager_webhook_patch.yaml - -# [CERTMANAGER] To enable cert-manager, uncomment all sections with 'CERTMANAGER'. -# Uncomment 'CERTMANAGER' sections in crd/kustomization.yaml to enable the CA injection in the admission webhooks. -# 'CERTMANAGER' needs to be enabled to use ca injection -#- webhookcainjection_patch.yaml - -# the following config is for teaching kustomize how to do var substitution -vars: -# [CERTMANAGER] To enable cert-manager, uncomment all sections with 'CERTMANAGER' prefix. -#- name: CERTIFICATE_NAMESPACE # namespace of the certificate CR -# objref: -# kind: Certificate -# group: cert-manager.io -# version: v1 -# name: serving-cert # this name should match the one in certificate.yaml -# fieldref: -# fieldpath: metadata.namespace -#- name: CERTIFICATE_NAME -# objref: -# kind: Certificate -# group: cert-manager.io -# version: v1 -# name: serving-cert # this name should match the one in certificate.yaml -#- name: SERVICE_NAMESPACE # namespace of the service -# objref: -# kind: Service -# version: v1 -# name: webhook-service -# fieldref: -# fieldpath: metadata.namespace -#- name: SERVICE_NAME -# objref: -# kind: Service -# version: v1 -# name: webhook-service diff --git a/deploy/k8s-operator/kube-trailblazer/config/default/manager_auth_proxy_patch.yaml b/deploy/k8s-operator/kube-trailblazer/config/default/manager_auth_proxy_patch.yaml deleted file mode 100644 index b75126616..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/default/manager_auth_proxy_patch.yaml +++ /dev/null @@ -1,55 +0,0 @@ -# This patch inject a sidecar container which is a HTTP proxy for the -# controller manager, it performs RBAC authorization against the Kubernetes API using SubjectAccessReviews. -apiVersion: apps/v1 -kind: Deployment -metadata: - name: controller-manager - namespace: system -spec: - template: - spec: - affinity: - nodeAffinity: - requiredDuringSchedulingIgnoredDuringExecution: - nodeSelectorTerms: - - matchExpressions: - - key: kubernetes.io/arch - operator: In - values: - - amd64 - - arm64 - - ppc64le - - s390x - - key: kubernetes.io/os - operator: In - values: - - linux - containers: - - name: kube-rbac-proxy - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - "ALL" - image: gcr.io/kubebuilder/kube-rbac-proxy:v0.13.1 - args: - - "--secure-listen-address=0.0.0.0:8443" - - "--upstream=http://127.0.0.1:8080/" - - "--logtostderr=true" - - "--v=0" - ports: - - containerPort: 8443 - protocol: TCP - name: https - resources: - limits: - cpu: 500m - memory: 128Mi - requests: - cpu: 5m - memory: 64Mi - - name: manager - args: - - "--health-probe-bind-address=:8081" - - "--metrics-bind-address=127.0.0.1:8080" - - "--leader-elect" diff --git a/deploy/k8s-operator/kube-trailblazer/config/default/manager_config_patch.yaml b/deploy/k8s-operator/kube-trailblazer/config/default/manager_config_patch.yaml deleted file mode 100644 index f6f589169..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/default/manager_config_patch.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: controller-manager - namespace: system -spec: - template: - spec: - containers: - - name: manager diff --git a/deploy/k8s-operator/kube-trailblazer/config/manager/kustomization.yaml b/deploy/k8s-operator/kube-trailblazer/config/manager/kustomization.yaml deleted file mode 100644 index b20824356..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/manager/kustomization.yaml +++ /dev/null @@ -1,8 +0,0 @@ -resources: -- manager.yaml -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -images: -- name: controller - newName: nvcr.io/nvstaging/cloud-native/developer-llm-operator - newTag: v0.0.1 diff --git a/deploy/k8s-operator/kube-trailblazer/config/manager/manager.yaml b/deploy/k8s-operator/kube-trailblazer/config/manager/manager.yaml deleted file mode 100644 index ec2f77cb3..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/manager/manager.yaml +++ /dev/null @@ -1,105 +0,0 @@ -apiVersion: v1 -kind: Namespace -metadata: - labels: - control-plane: controller-manager - app.kubernetes.io/name: namespace - app.kubernetes.io/instance: system - app.kubernetes.io/component: manager - app.kubernetes.io/created-by: kube-trailblazer - app.kubernetes.io/part-of: kube-trailblazer - app.kubernetes.io/managed-by: kustomize - name: system ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: controller-manager - namespace: system - labels: - control-plane: controller-manager - app.kubernetes.io/name: deployment - app.kubernetes.io/instance: controller-manager - app.kubernetes.io/component: manager - app.kubernetes.io/created-by: kube-trailblazer - app.kubernetes.io/part-of: kube-trailblazer - app.kubernetes.io/managed-by: kustomize -spec: - selector: - matchLabels: - control-plane: controller-manager - replicas: 1 - template: - metadata: - annotations: - kubectl.kubernetes.io/default-container: manager - labels: - control-plane: controller-manager - spec: - # TODO(user): Uncomment the following code to configure the nodeAffinity expression - # according to the platforms which are supported by your solution. - # It is considered best practice to support multiple architectures. You can - # build your manager image using the makefile target docker-buildx. - # affinity: - # nodeAffinity: - # requiredDuringSchedulingIgnoredDuringExecution: - # nodeSelectorTerms: - # - matchExpressions: - # - key: kubernetes.io/arch - # operator: In - # values: - # - amd64 - # - arm64 - # - ppc64le - # - s390x - # - key: kubernetes.io/os - # operator: In - # values: - # - linux - securityContext: - runAsNonRoot: true - # TODO(user): For common cases that do not require escalating privileges - # it is recommended to ensure that all your Pods/Containers are restrictive. - # More info: https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted - # Please uncomment the following code if your project does NOT have to work on old Kubernetes - # versions < 1.19 or on vendors versions which do NOT support this field by default (i.e. Openshift < 4.11 ). - # seccompProfile: - # type: RuntimeDefault - containers: - - command: - - /manager - args: - - --leader-elect - image: controller:latest - name: manager - imagePullPolicy: Always - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - "ALL" - livenessProbe: - httpGet: - path: /healthz - port: 8081 - initialDelaySeconds: 15 - periodSeconds: 20 - readinessProbe: - httpGet: - path: /readyz - port: 8081 - initialDelaySeconds: 5 - periodSeconds: 10 - # TODO(user): Configure the resources accordingly based on the project requirements. - # More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ - resources: - limits: - cpu: 500m - memory: 512Mi - requests: - cpu: 100m - memory: 128Mi - serviceAccountName: controller-manager - terminationGracePeriodSeconds: 10 - imagePullSecrets: - - name: nvcrio diff --git a/deploy/k8s-operator/kube-trailblazer/config/manifests/kustomization.yaml b/deploy/k8s-operator/kube-trailblazer/config/manifests/kustomization.yaml deleted file mode 100644 index 4230a0127..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/manifests/kustomization.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# These resources constitute the fully configured set of manifests -# used to generate the 'manifests/' directory in a bundle. -resources: -- bases/kube-trailblazer.clusterserviceversion.yaml -- ../default -- ../samples -- ../scorecard - -# [WEBHOOK] To enable webhooks, uncomment all the sections with [WEBHOOK] prefix. -# Do NOT uncomment sections with prefix [CERTMANAGER], as OLM does not support cert-manager. -# These patches remove the unnecessary "cert" volume and its manager container volumeMount. -#patchesJson6902: -#- target: -# group: apps -# version: v1 -# kind: Deployment -# name: controller-manager -# namespace: system -# patch: |- -# # Remove the manager container's "cert" volumeMount, since OLM will create and mount a set of certs. -# # Update the indices in this path if adding or removing containers/volumeMounts in the manager's Deployment. -# - op: remove -# path: /spec/template/spec/containers/1/volumeMounts/0 -# # Remove the "cert" volume, since OLM will create and mount a set of certs. -# # Update the indices in this path if adding or removing volumes in the manager's Deployment. -# - op: remove -# path: /spec/template/spec/volumes/0 diff --git a/deploy/k8s-operator/kube-trailblazer/config/prometheus/kustomization.yaml b/deploy/k8s-operator/kube-trailblazer/config/prometheus/kustomization.yaml deleted file mode 100644 index ed137168a..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/prometheus/kustomization.yaml +++ /dev/null @@ -1,2 +0,0 @@ -resources: -- monitor.yaml diff --git a/deploy/k8s-operator/kube-trailblazer/config/prometheus/monitor.yaml b/deploy/k8s-operator/kube-trailblazer/config/prometheus/monitor.yaml deleted file mode 100644 index aa105981c..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/prometheus/monitor.yaml +++ /dev/null @@ -1,26 +0,0 @@ - -# Prometheus Monitor Service (Metrics) -apiVersion: monitoring.coreos.com/v1 -kind: ServiceMonitor -metadata: - labels: - control-plane: controller-manager - app.kubernetes.io/name: servicemonitor - app.kubernetes.io/instance: controller-manager-metrics-monitor - app.kubernetes.io/component: metrics - app.kubernetes.io/created-by: kube-trailblazer - app.kubernetes.io/part-of: kube-trailblazer - app.kubernetes.io/managed-by: kustomize - name: controller-manager-metrics-monitor - namespace: system -spec: - endpoints: - - path: /metrics - port: https - scheme: https - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token - tlsConfig: - insecureSkipVerify: true - selector: - matchLabels: - control-plane: controller-manager diff --git a/deploy/k8s-operator/kube-trailblazer/config/rbac/auth_proxy_client_clusterrole.yaml b/deploy/k8s-operator/kube-trailblazer/config/rbac/auth_proxy_client_clusterrole.yaml deleted file mode 100644 index 9dcad6a9f..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/rbac/auth_proxy_client_clusterrole.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - labels: - app.kubernetes.io/name: clusterrole - app.kubernetes.io/instance: metrics-reader - app.kubernetes.io/component: kube-rbac-proxy - app.kubernetes.io/created-by: kube-trailblazer - app.kubernetes.io/part-of: kube-trailblazer - app.kubernetes.io/managed-by: kustomize - name: metrics-reader -rules: -- nonResourceURLs: - - "/metrics" - verbs: - - get diff --git a/deploy/k8s-operator/kube-trailblazer/config/rbac/auth_proxy_role.yaml b/deploy/k8s-operator/kube-trailblazer/config/rbac/auth_proxy_role.yaml deleted file mode 100644 index c893b21ab..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/rbac/auth_proxy_role.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - labels: - app.kubernetes.io/name: clusterrole - app.kubernetes.io/instance: proxy-role - app.kubernetes.io/component: kube-rbac-proxy - app.kubernetes.io/created-by: kube-trailblazer - app.kubernetes.io/part-of: kube-trailblazer - app.kubernetes.io/managed-by: kustomize - name: proxy-role -rules: -- apiGroups: - - authentication.k8s.io - resources: - - tokenreviews - verbs: - - create -- apiGroups: - - authorization.k8s.io - resources: - - subjectaccessreviews - verbs: - - create diff --git a/deploy/k8s-operator/kube-trailblazer/config/rbac/auth_proxy_role_binding.yaml b/deploy/k8s-operator/kube-trailblazer/config/rbac/auth_proxy_role_binding.yaml deleted file mode 100644 index 22adf7212..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/rbac/auth_proxy_role_binding.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - labels: - app.kubernetes.io/name: clusterrolebinding - app.kubernetes.io/instance: proxy-rolebinding - app.kubernetes.io/component: kube-rbac-proxy - app.kubernetes.io/created-by: kube-trailblazer - app.kubernetes.io/part-of: kube-trailblazer - app.kubernetes.io/managed-by: kustomize - name: proxy-rolebinding -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: proxy-role -subjects: -- kind: ServiceAccount - name: controller-manager - namespace: system diff --git a/deploy/k8s-operator/kube-trailblazer/config/rbac/auth_proxy_service.yaml b/deploy/k8s-operator/kube-trailblazer/config/rbac/auth_proxy_service.yaml deleted file mode 100644 index 1f6f8afc3..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/rbac/auth_proxy_service.yaml +++ /dev/null @@ -1,21 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - labels: - control-plane: controller-manager - app.kubernetes.io/name: service - app.kubernetes.io/instance: controller-manager-metrics-service - app.kubernetes.io/component: kube-rbac-proxy - app.kubernetes.io/created-by: kube-trailblazer - app.kubernetes.io/part-of: kube-trailblazer - app.kubernetes.io/managed-by: kustomize - name: controller-manager-metrics-service - namespace: system -spec: - ports: - - name: https - port: 8443 - protocol: TCP - targetPort: https - selector: - control-plane: controller-manager diff --git a/deploy/k8s-operator/kube-trailblazer/config/rbac/helmpipeline_editor_role.yaml b/deploy/k8s-operator/kube-trailblazer/config/rbac/helmpipeline_editor_role.yaml deleted file mode 100644 index 85316651e..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/rbac/helmpipeline_editor_role.yaml +++ /dev/null @@ -1,31 +0,0 @@ -# permissions for end users to edit helmpipelines. -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - labels: - app.kubernetes.io/name: clusterrole - app.kubernetes.io/instance: helmpipeline-editor-role - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: kube-trailblazer - app.kubernetes.io/part-of: kube-trailblazer - app.kubernetes.io/managed-by: kustomize - name: helmpipeline-editor-role -rules: -- apiGroups: - - package.nvidia.com - resources: - - helmpipelines - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - package.nvidia.com - resources: - - helmpipelines/status - verbs: - - get diff --git a/deploy/k8s-operator/kube-trailblazer/config/rbac/helmpipeline_viewer_role.yaml b/deploy/k8s-operator/kube-trailblazer/config/rbac/helmpipeline_viewer_role.yaml deleted file mode 100644 index 2f837d67a..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/rbac/helmpipeline_viewer_role.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# permissions for end users to view helmpipelines. -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - labels: - app.kubernetes.io/name: clusterrole - app.kubernetes.io/instance: helmpipeline-viewer-role - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: kube-trailblazer - app.kubernetes.io/part-of: kube-trailblazer - app.kubernetes.io/managed-by: kustomize - name: helmpipeline-viewer-role -rules: -- apiGroups: - - package.nvidia.com - resources: - - helmpipelines - verbs: - - get - - list - - watch -- apiGroups: - - package.nvidia.com - resources: - - helmpipelines/status - verbs: - - get diff --git a/deploy/k8s-operator/kube-trailblazer/config/rbac/kustomization.yaml b/deploy/k8s-operator/kube-trailblazer/config/rbac/kustomization.yaml deleted file mode 100644 index 731832a6a..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/rbac/kustomization.yaml +++ /dev/null @@ -1,18 +0,0 @@ -resources: -# All RBAC will be applied under this service account in -# the deployment namespace. You may comment out this resource -# if your manager will use a service account that exists at -# runtime. Be sure to update RoleBinding and ClusterRoleBinding -# subjects if changing service account names. -- service_account.yaml -- role.yaml -- role_binding.yaml -- leader_election_role.yaml -- leader_election_role_binding.yaml -# Comment the following 4 lines if you want to disable -# the auth proxy (https://github.com/brancz/kube-rbac-proxy) -# which protects your /metrics endpoint. -- auth_proxy_service.yaml -- auth_proxy_role.yaml -- auth_proxy_role_binding.yaml -- auth_proxy_client_clusterrole.yaml diff --git a/deploy/k8s-operator/kube-trailblazer/config/rbac/leader_election_role.yaml b/deploy/k8s-operator/kube-trailblazer/config/rbac/leader_election_role.yaml deleted file mode 100644 index f7fc4f769..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/rbac/leader_election_role.yaml +++ /dev/null @@ -1,44 +0,0 @@ -# permissions to do leader election. -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - labels: - app.kubernetes.io/name: role - app.kubernetes.io/instance: leader-election-role - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: kube-trailblazer - app.kubernetes.io/part-of: kube-trailblazer - app.kubernetes.io/managed-by: kustomize - name: leader-election-role -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch diff --git a/deploy/k8s-operator/kube-trailblazer/config/rbac/leader_election_role_binding.yaml b/deploy/k8s-operator/kube-trailblazer/config/rbac/leader_election_role_binding.yaml deleted file mode 100644 index 881e07c93..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/rbac/leader_election_role_binding.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - labels: - app.kubernetes.io/name: rolebinding - app.kubernetes.io/instance: leader-election-rolebinding - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: kube-trailblazer - app.kubernetes.io/part-of: kube-trailblazer - app.kubernetes.io/managed-by: kustomize - name: leader-election-rolebinding -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: leader-election-role -subjects: -- kind: ServiceAccount - name: controller-manager - namespace: system diff --git a/deploy/k8s-operator/kube-trailblazer/config/rbac/role.yaml b/deploy/k8s-operator/kube-trailblazer/config/rbac/role.yaml deleted file mode 100644 index 4e80601cf..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/rbac/role.yaml +++ /dev/null @@ -1,1228 +0,0 @@ ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - creationTimestamp: null - name: manager-role -rules: -- apiGroups: - - "" - resources: - - nodes/finalizers - verbs: - - update -- apiGroups: - - "" - resources: - - nodes/proxy - verbs: - - get -- apiGroups: - - "" - resources: - - nodes/status - verbs: - - get - - list - - patch - - update -- apiGroups: - - "" - resources: - - pods - verbs: - - deletecollection -- apiGroups: - - "" - resources: - - podtemplates - verbs: - - create - - get - - list - - update - - watch -- apiGroups: - - "" - resources: - - podtemplates/finalizers - verbs: - - update -- apiGroups: - - '*' - resources: - - cronjobs - verbs: - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - '*' - resources: - - daemonsets - verbs: - - get -- apiGroups: - - '*' - resources: - - deployments - verbs: - - get -- apiGroups: - - '*' - resources: - - imagepolicies - verbs: - - delete - - get - - update -- apiGroups: - - '*' - resources: - - jobs - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - '*' - resources: - - mutatingwebhookconfigurations - verbs: - - get -- apiGroups: - - '*' - resources: - - pods - verbs: - - get -- apiGroups: - - '*' - resources: - - replicacontrollers - verbs: - - get -- apiGroups: - - '*' - resources: - - replicasets - verbs: - - get -- apiGroups: - - '*' - resources: - - statefulsets - verbs: - - get -- apiGroups: - - acme.cert-manager.io - resources: - - challenges - verbs: - - create - - delete - - deletecollection - - get - - list - - patch - - update - - watch -- apiGroups: - - acme.cert-manager.io - resources: - - challenges/finalizers - verbs: - - update -- apiGroups: - - acme.cert-manager.io - resources: - - challenges/status - verbs: - - update -- apiGroups: - - acme.cert-manager.io - resources: - - orders - verbs: - - create - - delete - - deletecollection - - get - - list - - patch - - update - - watch -- apiGroups: - - acme.cert-manager.io - resources: - - orders/finalizers - verbs: - - update -- apiGroups: - - acme.cert-manager.io - resources: - - orders/status - verbs: - - update -- apiGroups: - - admissionregistration.k8s.io - resources: - - mutatingwebhookconfigurations - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - admissionregistration.k8s.io - resources: - - validatingwebhookconfigurations - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - admissionregistration.k8s.io/v1beta1 - resources: - - mutatingwebhookconfigurations - verbs: - - create - - delete - - list - - update -- apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - apiregistration.k8s.io - resources: - - apiservices - verbs: - - get - - list - - update - - watch -- apiGroups: - - apps - resources: - - daemonsets - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - apps - resources: - - deployments - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - apps - resourceNames: - - shipwright-build - resources: - - deployments/finalizers - verbs: - - update -- apiGroups: - - apps - resources: - - replicasets - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - apps - resources: - - statefulsets - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - auditregistration.k8s.io - resources: - - auditsinks - verbs: - - get - - list - - update - - watch -- apiGroups: - - batch - resources: - - jobs - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - batch - resources: - - jobs/finalizers - verbs: - - update -- apiGroups: - - build.openshift.io - resources: - - buildconfigs - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - build.openshift.io - resources: - - builds - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - cert-manager.io - resources: - - certificaterequests - verbs: - - create - - delete - - deletecollection - - get - - list - - patch - - update - - watch -- apiGroups: - - cert-manager.io - resources: - - certificaterequests/finalizers - verbs: - - update -- apiGroups: - - cert-manager.io - resources: - - certificaterequests/status - verbs: - - update -- apiGroups: - - cert-manager.io - resources: - - certificates - verbs: - - create - - delete - - deletecollection - - get - - list - - patch - - update - - watch -- apiGroups: - - cert-manager.io - resources: - - certificates/finalizers - verbs: - - update -- apiGroups: - - cert-manager.io - resources: - - certificates/status - verbs: - - update -- apiGroups: - - cert-manager.io - resources: - - clusterissuers - verbs: - - deletecollection - - get - - list - - update - - watch -- apiGroups: - - cert-manager.io - resources: - - clusterissuers/status - verbs: - - update -- apiGroups: - - cert-manager.io - resources: - - issuers - verbs: - - create - - delete - - deletecollection - - get - - list - - patch - - update - - watch -- apiGroups: - - cert-manager.io - resources: - - issuers/status - verbs: - - update -- apiGroups: - - cert-manager.io - resourceNames: - - clusterissuers.cert-manager.io/* - resources: - - signers - verbs: - - approve -- apiGroups: - - cert-manager.io - resourceNames: - - issuers.cert-manager.io/* - resources: - - signers - verbs: - - approve -- apiGroups: - - certificates.k8s.io - resources: - - certificatesigningrequests - verbs: - - get - - list - - update - - watch -- apiGroups: - - certificates.k8s.io - resources: - - certificatesigningrequests/status - verbs: - - update -- apiGroups: - - certificates.k8s.io - resourceNames: - - clusterissuers.cert-manager.io/* - resources: - - signers - verbs: - - sign -- apiGroups: - - certificates.k8s.io - resourceNames: - - issuers.cert-manager.io/* - resources: - - signers - verbs: - - sign -- apiGroups: - - config.openshift.io - resources: - - clusterversions - verbs: - - get -- apiGroups: - - config.openshift.io - resources: - - proxies - verbs: - - get - - list -- apiGroups: - - connaisseur.policy - resources: - - imagepolicies - verbs: - - create -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - create - - delete - - get - - list - - update - - watch -- apiGroups: - - coordination.k8s.io - resourceNames: - - cert-manager-cainjector-election-core - resources: - - leases - verbs: - - patch -- apiGroups: - - coordination.k8s.io - resourceNames: - - cert-manager-cainjector-leader-election - resources: - - leases - verbs: - - patch -- apiGroups: - - coordination.k8s.io - resourceNames: - - cert-manager-cainjector-leader-election-core - resources: - - leases - verbs: - - patch -- apiGroups: - - coordination.k8s.io - resourceNames: - - cert-manager-controller - resources: - - leases - verbs: - - patch -- apiGroups: - - "" - resources: - - configmaps - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - endpoints - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - events - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - imagestreams/layers - verbs: - - get -- apiGroups: - - "" - resources: - - namespaces - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - nodes - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - persistentvolumeclaims - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - persistentvolumeclaims/status - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - persistentvolumes - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - pods - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - pods/log - verbs: - - get -- apiGroups: - - "" - resources: - - secrets - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - serviceaccounts - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - services - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - services/finalizers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - csi.storage.k8s.io - resources: - - csidrivers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - extensions - resources: - - jobs - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - fpga.silicom.dk - resources: - - '*' - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - image.openshift.io - resources: - - imagestreams - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - image.openshift.io - resources: - - imagestreams/finalizers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - image.openshift.io - resources: - - imagestreams/layers - verbs: - - get -- apiGroups: - - infoscale.veritas.com - resources: - - infoscaleclusters - verbs: - - get - - list - - patch - - update -- apiGroups: - - monitoring.coreos.com - resources: - - prometheusrules - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - monitoring.coreos.com - resources: - - servicemonitors - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - networking.k8s.io - resources: - - clustercidrs - verbs: - - list - - watch -- apiGroups: - - networking.k8s.io - resources: - - ingresses - verbs: - - create - - delete - - get - - list - - update - - watch -- apiGroups: - - networking.k8s.io - resources: - - ingresses/finalizers - verbs: - - update -- apiGroups: - - networking.x-k8s.io - resources: - - gateways - verbs: - - get - - list - - watch -- apiGroups: - - networking.x-k8s.io - resources: - - gateways/finalizers - verbs: - - update -- apiGroups: - - networking.x-k8s.io - resources: - - httproutes - verbs: - - create - - delete - - get - - list - - update - - watch -- apiGroups: - - networking.x-k8s.io - resources: - - httproutes/finalisers - verbs: - - update -- apiGroups: - - nfd.k8s-sigs.io - resources: - - nodefeaturerules - verbs: - - get - - list - - watch -- apiGroups: - - nfd.k8s-sigs.io - resources: - - nodefeatures - verbs: - - create - - delete - - get - - list - - update - - watch -- apiGroups: - - nvidia.com - resources: - - clusterpolicies - verbs: - - get - - list - - patch - - watch -- apiGroups: - - operator.cert-manager.io - resources: - - certmanagers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - operators.coreos.com - resources: - - operatorgroups - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - operators.coreos.com - resources: - - subscriptions - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - package.nvidia.com - resources: - - helmpipelines - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - package.nvidia.com - resources: - - helmpipelines/finalizers - verbs: - - update -- apiGroups: - - package.nvidia.com - resources: - - helmpipelines/status - verbs: - - get - - patch - - update -- apiGroups: - - rbac.authorization.k8s.io - resources: - - clusterrolebindings - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - rbac.authorization.k8s.io - resources: - - clusterroles - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - rbac.authorization.k8s.io - resources: - - rolebindings - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - rbac.authorization.k8s.io - resources: - - roles - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - route.openshift.io - resources: - - routes - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - route.openshift.io - resources: - - routes/custom-host - verbs: - - create -- apiGroups: - - security.openshift.io - resources: - - securitycontextconstraints - verbs: - - create - - delete - - get - - list - - patch - - update - - use - - watch -- apiGroups: - - shipwright.io - resources: - - '*' - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - shipwright.io - resources: - - buildruns - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - shipwright.io - resources: - - buildstrategies - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - shipwright.io - resources: - - clusterbuildstrategies - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - snapshot.storage.k8s.io - resources: - - volumesnapshotclasses - verbs: - - get - - list - - watch -- apiGroups: - - snapshot.storage.k8s.io - resources: - - volumesnapshotcontents - verbs: - - create - - delete - - get - - list - - update - - watch -- apiGroups: - - snapshot.storage.k8s.io - resources: - - volumesnapshotcontents/status - verbs: - - create - - delete - - get - - list - - update - - watch -- apiGroups: - - snapshot.storage.k8s.io - resources: - - volumesnapshots - verbs: - - get - - list - - update - - watch -- apiGroups: - - snapshot.storage.k8s.io - resources: - - volumesnapshots/status - verbs: - - create - - delete - - get - - list - - update - - watch -- apiGroups: - - sro.openshift.io - resources: - - specialresources - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - sro.openshift.io - resources: - - specialresources/finalizers - verbs: - - get - - patch - - update -- apiGroups: - - sro.openshift.io - resources: - - specialresources/status - verbs: - - get - - patch - - update -- apiGroups: - - storage.k8s.io - resources: - - csidrivers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - storage.k8s.io - resources: - - csinodes - verbs: - - get - - list - - watch -- apiGroups: - - storage.k8s.io - resources: - - storageclasses - verbs: - - get - - list - - watch -- apiGroups: - - storage.k8s.io - resources: - - volumeattachments - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - sts.silicom.com - resources: - - '*' - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - tekton.dev - resources: - - taskruns - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - tekton.dev - resources: - - tasks - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - topology.node.k8s.io - resources: - - noderesourcetopologies - verbs: - - delete - - list diff --git a/deploy/k8s-operator/kube-trailblazer/config/rbac/role_binding.yaml b/deploy/k8s-operator/kube-trailblazer/config/rbac/role_binding.yaml deleted file mode 100644 index 64c93eef5..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/rbac/role_binding.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - labels: - app.kubernetes.io/name: clusterrolebinding - app.kubernetes.io/instance: manager-rolebinding - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: kube-trailblazer - app.kubernetes.io/part-of: kube-trailblazer - app.kubernetes.io/managed-by: kustomize - name: manager-rolebinding -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: manager-role -subjects: -- kind: ServiceAccount - name: controller-manager - namespace: system diff --git a/deploy/k8s-operator/kube-trailblazer/config/rbac/service_account.yaml b/deploy/k8s-operator/kube-trailblazer/config/rbac/service_account.yaml deleted file mode 100644 index b92e8b958..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/rbac/service_account.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: ServiceAccount -metadata: - labels: - app.kubernetes.io/name: serviceaccount - app.kubernetes.io/instance: controller-manager - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: kube-trailblazer - app.kubernetes.io/part-of: kube-trailblazer - app.kubernetes.io/managed-by: kustomize - name: controller-manager - namespace: system diff --git a/deploy/k8s-operator/kube-trailblazer/config/samples/kustomization.yaml b/deploy/k8s-operator/kube-trailblazer/config/samples/kustomization.yaml deleted file mode 100644 index 828521d79..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/samples/kustomization.yaml +++ /dev/null @@ -1,4 +0,0 @@ -## Append samples you want in your CSV to this file as resources ## -resources: -- package_v1alpha1_helmpipeline.yaml -#+kubebuilder:scaffold:manifestskustomizesamples diff --git a/deploy/k8s-operator/kube-trailblazer/config/samples/package_v1alpha1_helmpipeline.yaml b/deploy/k8s-operator/kube-trailblazer/config/samples/package_v1alpha1_helmpipeline.yaml deleted file mode 100644 index bdf4d4c20..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/samples/package_v1alpha1_helmpipeline.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: package.nvidia.com/v1alpha1 -kind: HelmPipeline -metadata: - labels: - app.kubernetes.io/name: helmpipeline - app.kubernetes.io/instance: helmpipeline-sample - app.kubernetes.io/part-of: kube-trailblazer - app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/created-by: kube-trailblazer - name: helmpipeline-sample -spec: - # TODO(user): Add fields here diff --git a/deploy/k8s-operator/kube-trailblazer/config/scorecard/bases/config.yaml b/deploy/k8s-operator/kube-trailblazer/config/scorecard/bases/config.yaml deleted file mode 100644 index c77047841..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/scorecard/bases/config.yaml +++ /dev/null @@ -1,7 +0,0 @@ -apiVersion: scorecard.operatorframework.io/v1alpha3 -kind: Configuration -metadata: - name: config -stages: -- parallel: true - tests: [] diff --git a/deploy/k8s-operator/kube-trailblazer/config/scorecard/kustomization.yaml b/deploy/k8s-operator/kube-trailblazer/config/scorecard/kustomization.yaml deleted file mode 100644 index 50cd2d084..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/scorecard/kustomization.yaml +++ /dev/null @@ -1,16 +0,0 @@ -resources: -- bases/config.yaml -patchesJson6902: -- path: patches/basic.config.yaml - target: - group: scorecard.operatorframework.io - version: v1alpha3 - kind: Configuration - name: config -- path: patches/olm.config.yaml - target: - group: scorecard.operatorframework.io - version: v1alpha3 - kind: Configuration - name: config -#+kubebuilder:scaffold:patchesJson6902 diff --git a/deploy/k8s-operator/kube-trailblazer/config/scorecard/patches/basic.config.yaml b/deploy/k8s-operator/kube-trailblazer/config/scorecard/patches/basic.config.yaml deleted file mode 100644 index 472a98823..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/scorecard/patches/basic.config.yaml +++ /dev/null @@ -1,10 +0,0 @@ -- op: add - path: /stages/0/tests/- - value: - entrypoint: - - scorecard-test - - basic-check-spec - image: quay.io/operator-framework/scorecard-test:v1.32.0 - labels: - suite: basic - test: basic-check-spec-test diff --git a/deploy/k8s-operator/kube-trailblazer/config/scorecard/patches/olm.config.yaml b/deploy/k8s-operator/kube-trailblazer/config/scorecard/patches/olm.config.yaml deleted file mode 100644 index 343c6d8d8..000000000 --- a/deploy/k8s-operator/kube-trailblazer/config/scorecard/patches/olm.config.yaml +++ /dev/null @@ -1,50 +0,0 @@ -- op: add - path: /stages/0/tests/- - value: - entrypoint: - - scorecard-test - - olm-bundle-validation - image: quay.io/operator-framework/scorecard-test:v1.32.0 - labels: - suite: olm - test: olm-bundle-validation-test -- op: add - path: /stages/0/tests/- - value: - entrypoint: - - scorecard-test - - olm-crds-have-validation - image: quay.io/operator-framework/scorecard-test:v1.32.0 - labels: - suite: olm - test: olm-crds-have-validation-test -- op: add - path: /stages/0/tests/- - value: - entrypoint: - - scorecard-test - - olm-crds-have-resources - image: quay.io/operator-framework/scorecard-test:v1.32.0 - labels: - suite: olm - test: olm-crds-have-resources-test -- op: add - path: /stages/0/tests/- - value: - entrypoint: - - scorecard-test - - olm-spec-descriptors - image: quay.io/operator-framework/scorecard-test:v1.32.0 - labels: - suite: olm - test: olm-spec-descriptors-test -- op: add - path: /stages/0/tests/- - value: - entrypoint: - - scorecard-test - - olm-status-descriptors - image: quay.io/operator-framework/scorecard-test:v1.32.0 - labels: - suite: olm - test: olm-status-descriptors-test diff --git a/deploy/k8s-operator/kube-trailblazer/controllers/helmpipeline.go b/deploy/k8s-operator/kube-trailblazer/controllers/helmpipeline.go deleted file mode 100644 index 8f24f5bb5..000000000 --- a/deploy/k8s-operator/kube-trailblazer/controllers/helmpipeline.go +++ /dev/null @@ -1,37 +0,0 @@ -package controllers - -import ( - "context" - - "github.com/nvidia/kube-trailblazer/api/v1alpha1" - ctrl "sigs.k8s.io/controller-runtime" - "sigs.k8s.io/controller-runtime/pkg/client" -) - -func findRequestingHelmPipeline(a []v1alpha1.HelmPipeline, x string, by string) (int, bool) { - for i, n := range a { - if by == "Name" { - if x == n.GetName() { - return i, true - } - } - } - return -1, false -} - -func (r *HelmPipelineReconciler) listHelmPipelines(ctx context.Context, req ctrl.Request) (*v1alpha1.HelmPipeline, *v1alpha1.HelmPipelineList, error) { - helmPipelines := &v1alpha1.HelmPipelineList{} - - opts := []client.ListOption{} - err := r.KubeClient.List(ctx, helmPipelines, opts...) - if err != nil { - return nil, nil, err - } - - var idx int - var found bool - if idx, found = findRequestingHelmPipeline(helmPipelines.Items, req.Name, "Name"); !found { - return nil, nil, nil - } - return &helmPipelines.Items[idx], helmPipelines, nil -} diff --git a/deploy/k8s-operator/kube-trailblazer/controllers/helmpipeline_controller.go b/deploy/k8s-operator/kube-trailblazer/controllers/helmpipeline_controller.go deleted file mode 100644 index 2921041d2..000000000 --- a/deploy/k8s-operator/kube-trailblazer/controllers/helmpipeline_controller.go +++ /dev/null @@ -1,135 +0,0 @@ -/* -Copyright 2023. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package controllers - -import ( - "context" - "fmt" - - appsv1 "k8s.io/api/apps/v1" - v1 "k8s.io/api/core/v1" - rbacv1 "k8s.io/api/rbac/v1" - storagev1 "k8s.io/api/storage/v1" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/client-go/rest" - "k8s.io/klog/v2" - ctrl "sigs.k8s.io/controller-runtime" - "sigs.k8s.io/controller-runtime/pkg/client" - "sigs.k8s.io/controller-runtime/pkg/log" - - v1alpha1 "github.com/nvidia/kube-trailblazer/api/v1alpha1" - "github.com/nvidia/kube-trailblazer/pkg/clients" - "github.com/nvidia/kube-trailblazer/pkg/filter" - "github.com/nvidia/kube-trailblazer/pkg/helmer" -) - -// HelmPipelineReconciler reconciles a HelmPipeline object -type HelmPipelineReconciler struct { - client.Client - Scheme *runtime.Scheme - Filter filter.Filter - KubeClient clients.ClientsInterface - RestConf *rest.Config -} - -//+kubebuilder:rbac:groups=package.nvidia.com,resources=helmpipelines,verbs=get;list;watch;create;update;patch;delete -//+kubebuilder:rbac:groups=package.nvidia.com,resources=helmpipelines/status,verbs=get;update;patch -//+kubebuilder:rbac:groups=package.nvidia.com,resources=helmpipelines/finalizers,verbs=update - -// Reconcile is part of the main kubernetes reconciliation loop which aims to -// move the current state of the cluster closer to the desired state. -// TODO(user): Modify the Reconcile function to compare the state specified by -// the HelmPipeline object against the actual cluster state, and then -// perform operations to make the cluster state reflect the state specified by -// the user. -// -// For more details, check Reconcile and its Result here: -// - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.14.1/pkg/reconcile -func (r *HelmPipelineReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) { - _ = log.FromContext(ctx) - - klog.Infof("%s -- reconciling -- request %s:%s", r.Filter.GetMode(), req.Namespace, req.Name) - - klog.Info("TODO: preflight checks") - - tb, _, err := r.listHelmPipelines(ctx, req) - if err != nil { - klog.Error(err, "[Reconcile]\tfailed to list HelmOrchards") - return ctrl.Result{}, err - } - - for { - var ok bool - var tb *v1alpha1.HelmPipeline - - item := filter.WorkStack["DELETE"].Pop() - if item == nil { - break - } - if tb, ok = item.(*v1alpha1.HelmPipeline); !ok { - klog.Info(fmt.Sprintf("DEBUG WorkStack Item: %+v", item)) - //panic(errors.New("owned object is not a HelmPipeline")) - continue - - } - err = helmer.ReconcileDelete(tb.Spec.Pipeline, r.RestConf) - if err != nil { - klog.Info("SUCCESS: ReconcileDelete") - return ctrl.Result{}, err - } - } - - // This happens if Helmer was reconciling and the HelmOrchard was deleted - if tb == nil { - klog.Info("SUCCESS: reconcile (tb == nil)") - return ctrl.Result{}, nil - } - - klog.Infof("[Reconcile] -- %s -- HelmPipeline %s:%s", r.Filter.GetMode(), tb.GetNamespace(), tb.GetName()) - releases, err := helmer.ReconcileCreate(tb.Spec.Pipeline, r.RestConf) - if err != nil { - klog.Warning(err, "[Reconcile]\trequeue request due to error") - return ctrl.Result{Requeue: true}, nil - } - - klog.Info("TODO: metrics") - for _, release := range releases { - klog.Infof("[Reconcile]\tRELEASES: %s:%s", release.Namespace, release.Name) - } - - klog.Info("SUCCESS: reconcile") - return ctrl.Result{}, nil -} - -// SetupWithManager sets up the controller with the Manager. -func (r *HelmPipelineReconciler) SetupWithManager(mgr ctrl.Manager) error { - return ctrl.NewControllerManagedBy(mgr). - For(&v1alpha1.HelmPipeline{}). - Owns(&v1.Pod{}). - Owns(&appsv1.DaemonSet{}). - Owns(&appsv1.Deployment{}). - Owns(&storagev1.CSIDriver{}). - Owns(&v1.ConfigMap{}). - Owns(&v1.ServiceAccount{}). - Owns(&rbacv1.Role{}). - Owns(&rbacv1.RoleBinding{}). - Owns(&rbacv1.ClusterRole{}). - Owns(&rbacv1.ClusterRoleBinding{}). - Owns(&v1.Secret{}). - WithEventFilter(r.Filter.GetPredicates()). - Complete(r) -} diff --git a/deploy/k8s-operator/kube-trailblazer/controllers/helmpipeline_rbac.go b/deploy/k8s-operator/kube-trailblazer/controllers/helmpipeline_rbac.go deleted file mode 100644 index d0ec76a7e..000000000 --- a/deploy/k8s-operator/kube-trailblazer/controllers/helmpipeline_rbac.go +++ /dev/null @@ -1,12 +0,0 @@ -package controllers - -//+kubebuilder:rbac:groups=package.nvidia.com,resources=helmpipelines,verbs=get;list;watch;create;update;patch;delete -//+kubebuilder:rbac:groups=package.nvidia.com,resources=helmpipelines/status,verbs=get;update;patch -//+kubebuilder:rbac:groups=package.nvidia.com,resources=helmpipelines/finalizers,verbs=update -//+kubebuilder:rbac:groups="",resources=nodes/status,verbs=get;list -//+kubebuilder:rbac:groups="",resources=nodes/proxy,verbs=get -//+kubebuilder:rbac:groups=nfd.k8s-sigs.io,resources=nodefeaturerules,verbs=get;list;watch -//+kubebuilder:rbac:groups=nfd.k8s-sigs.io,resources=nodefeatures,verbs=get;list;watch;delete;create;update -//+kubebuilder:rbac:groups=topology.node.k8s.io,resources=noderesourcetopologies,verbs=delete;list -//+kubebuilder:rbac:groups=networking.k8s.io, resources=clustercidrs, verbs=list;watch -//+kubebuilder:rbac:groups=nvidia.com, resources=clusterpolicies, verbs=get;list;watch;patch diff --git a/deploy/k8s-operator/kube-trailblazer/controllers/suite_test.go b/deploy/k8s-operator/kube-trailblazer/controllers/suite_test.go deleted file mode 100644 index e8aafe4f0..000000000 --- a/deploy/k8s-operator/kube-trailblazer/controllers/suite_test.go +++ /dev/null @@ -1,80 +0,0 @@ -/* -Copyright 2023. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package controllers - -import ( - "path/filepath" - "testing" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - - "k8s.io/client-go/kubernetes/scheme" - "k8s.io/client-go/rest" - "sigs.k8s.io/controller-runtime/pkg/client" - "sigs.k8s.io/controller-runtime/pkg/envtest" - logf "sigs.k8s.io/controller-runtime/pkg/log" - "sigs.k8s.io/controller-runtime/pkg/log/zap" - - packagev1alpha1 "github.com/nvidia/kube-trailblazer/api/v1alpha1" - //+kubebuilder:scaffold:imports -) - -// These tests use Ginkgo (BDD-style Go testing framework). Refer to -// http://onsi.github.io/ginkgo/ to learn more about Ginkgo. - -var cfg *rest.Config -var k8sClient client.Client -var testEnv *envtest.Environment - -func TestAPIs(t *testing.T) { - RegisterFailHandler(Fail) - - RunSpecs(t, "Controller Suite") -} - -var _ = BeforeSuite(func() { - logf.SetLogger(zap.New(zap.WriteTo(GinkgoWriter), zap.UseDevMode(true))) - - By("bootstrapping test environment") - testEnv = &envtest.Environment{ - CRDDirectoryPaths: []string{filepath.Join("..", "config", "crd", "bases")}, - ErrorIfCRDPathMissing: true, - } - - var err error - // cfg is defined in this file globally. - cfg, err = testEnv.Start() - Expect(err).NotTo(HaveOccurred()) - Expect(cfg).NotTo(BeNil()) - - err = packagev1alpha1.AddToScheme(scheme.Scheme) - Expect(err).NotTo(HaveOccurred()) - - //+kubebuilder:scaffold:scheme - - k8sClient, err = client.New(cfg, client.Options{Scheme: scheme.Scheme}) - Expect(err).NotTo(HaveOccurred()) - Expect(k8sClient).NotTo(BeNil()) - -}) - -var _ = AfterSuite(func() { - By("tearing down the test environment") - err := testEnv.Stop() - Expect(err).NotTo(HaveOccurred()) -}) diff --git a/deploy/k8s-operator/kube-trailblazer/go.mod b/deploy/k8s-operator/kube-trailblazer/go.mod deleted file mode 100644 index b675965e0..000000000 --- a/deploy/k8s-operator/kube-trailblazer/go.mod +++ /dev/null @@ -1,167 +0,0 @@ -module github.com/nvidia/kube-trailblazer - -go 1.20 - -replace github.com/mittwald/go-helm-client => /zvonkok/github.com/zvonkok/go-helm-client - -require ( - github.com/golang/mock v1.6.0 - github.com/mittwald/go-helm-client v0.9.0 - github.com/onsi/ginkgo/v2 v2.11.0 - github.com/onsi/gomega v1.27.10 - github.com/openshift-psap/special-resource-operator v0.0.0-20220818111522-5e97683a2041 - github.com/openshift/api v0.0.0-20231128111040-e1845c5a7acd - github.com/openshift/client-go v0.0.0-20231121143148-910ca30a1a9a - github.com/pkg/errors v0.9.1 - github.com/urfave/cli/v2 v2.26.0 - golang.design/x/lockfree v0.0.1 - helm.sh/helm/v3 v3.13.2 - k8s.io/api v0.28.4 - k8s.io/apimachinery v0.28.4 - k8s.io/cli-runtime v0.28.4 - k8s.io/client-go v0.28.4 - k8s.io/klog/v2 v2.100.1 - sigs.k8s.io/controller-runtime v0.16.3 - sigs.k8s.io/yaml v1.3.0 -) - -require ( - github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 // indirect - github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect - github.com/BurntSushi/toml v1.3.2 // indirect - github.com/MakeNowJust/heredoc v1.0.0 // indirect - github.com/Masterminds/goutils v1.1.1 // indirect - github.com/Masterminds/semver/v3 v3.2.1 // indirect - github.com/Masterminds/sprig/v3 v3.2.3 // indirect - github.com/Masterminds/squirrel v1.5.4 // indirect - github.com/Microsoft/hcsshim v0.11.0 // indirect - github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.2.0 // indirect - github.com/chai2010/gettext-go v1.0.2 // indirect - github.com/changkun/lockfree v0.0.1 // indirect - github.com/containerd/containerd v1.7.6 // indirect - github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect - github.com/cyphar/filepath-securejoin v0.2.4 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/docker/cli v24.0.6+incompatible // indirect - github.com/docker/distribution v2.8.2+incompatible // indirect - github.com/docker/docker v24.0.7+incompatible // indirect - github.com/docker/docker-credential-helpers v0.7.0 // indirect - github.com/docker/go-connections v0.4.0 // indirect - github.com/docker/go-metrics v0.0.1 // indirect - github.com/docker/go-units v0.5.0 // indirect - github.com/emicklei/go-restful/v3 v3.11.0 // indirect - github.com/evanphx/json-patch v5.6.0+incompatible // indirect - github.com/evanphx/json-patch/v5 v5.6.0 // indirect - github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f // indirect - github.com/fatih/color v1.13.0 // indirect - github.com/fsnotify/fsnotify v1.6.0 // indirect - github.com/go-errors/errors v1.4.2 // indirect - github.com/go-gorp/gorp/v3 v3.1.0 // indirect - github.com/go-logr/logr v1.2.4 // indirect - github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-logr/zapr v1.2.4 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect - github.com/gobwas/glob v0.2.3 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.3 // indirect - github.com/google/btree v1.1.2 // indirect - github.com/google/gnostic-models v0.6.8 // indirect - github.com/google/go-cmp v0.5.9 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1 // indirect - github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/gorilla/mux v1.8.0 // indirect - github.com/gosuri/uitable v0.0.4 // indirect - github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 // indirect - github.com/hashicorp/errwrap v1.1.0 // indirect - github.com/hashicorp/go-multierror v1.1.1 // indirect - github.com/huandu/xstrings v1.4.0 // indirect - github.com/imdario/mergo v0.3.13 // indirect - github.com/inconshreveable/mousetrap v1.1.0 // indirect - github.com/jmoiron/sqlx v1.3.5 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.16.0 // indirect - github.com/lann/builder v0.0.0-20180802200727-47ae307949d0 // indirect - github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0 // indirect - github.com/lib/pq v1.10.9 // indirect - github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de // indirect - github.com/mailru/easyjson v0.7.7 // indirect - github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.17 // indirect - github.com/mattn/go-runewidth v0.0.14 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect - github.com/mitchellh/copystructure v1.2.0 // indirect - github.com/mitchellh/go-wordwrap v1.0.1 // indirect - github.com/mitchellh/hashstructure/v2 v2.0.2 // indirect - github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/moby/locker v1.0.1 // indirect - github.com/moby/spdystream v0.2.0 // indirect - github.com/moby/term v0.5.0 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 // indirect - github.com/morikuni/aec v1.0.0 // indirect - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/opencontainers/go-digest v1.0.0 // indirect - github.com/opencontainers/image-spec v1.1.0-rc5 // indirect - github.com/peterbourgon/diskv v2.0.1+incompatible // indirect - github.com/prometheus/client_golang v1.16.0 // indirect - github.com/prometheus/client_model v0.4.0 // indirect - github.com/prometheus/common v0.44.0 // indirect - github.com/prometheus/procfs v0.10.1 // indirect - github.com/rivo/uniseg v0.4.2 // indirect - github.com/rubenv/sql-migrate v1.5.2 // indirect - github.com/russross/blackfriday/v2 v2.1.0 // indirect - github.com/shopspring/decimal v1.3.1 // indirect - github.com/sirupsen/logrus v1.9.3 // indirect - github.com/spf13/cast v1.5.0 // indirect - github.com/spf13/cobra v1.7.0 // indirect - github.com/spf13/pflag v1.0.5 // indirect - github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect - github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect - github.com/xeipuuv/gojsonschema v1.2.0 // indirect - github.com/xlab/treeprint v1.2.0 // indirect - github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect - go.opentelemetry.io/otel v1.14.0 // indirect - go.opentelemetry.io/otel/trace v1.14.0 // indirect - go.starlark.net v0.0.0-20230525235612-a134d8f9ddca // indirect - go.uber.org/multierr v1.11.0 // indirect - go.uber.org/zap v1.25.0 // indirect - golang.org/x/crypto v0.15.0 // indirect - golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa // indirect - golang.org/x/net v0.18.0 // indirect - golang.org/x/oauth2 v0.8.0 // indirect - golang.org/x/sync v0.5.0 // indirect - golang.org/x/sys v0.14.0 // indirect - golang.org/x/term v0.14.0 // indirect - golang.org/x/text v0.14.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.15.0 // indirect - gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect - google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 // indirect - google.golang.org/grpc v1.56.3 // indirect - google.golang.org/protobuf v1.31.0 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/apiextensions-apiserver v0.28.3 // indirect - k8s.io/apiserver v0.28.3 // indirect - k8s.io/component-base v0.28.4 // indirect - k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect - k8s.io/kubectl v0.28.4 // indirect - k8s.io/utils v0.0.0-20230505201702-9f6742963106 // indirect - oras.land/oras-go v1.2.4 // indirect - sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3 // indirect - sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect -) diff --git a/deploy/k8s-operator/kube-trailblazer/go.sum b/deploy/k8s-operator/kube-trailblazer/go.sum deleted file mode 100644 index b594b8361..000000000 --- a/deploy/k8s-operator/kube-trailblazer/go.sum +++ /dev/null @@ -1,590 +0,0 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 h1:bvDV9vkmnHYOMsOr4WLk+Vo07yKIzd94sVoIqshQ4bU= -github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24/go.mod h1:8o94RPi1/7XTJvwPpRSzSUedZrtlirdB3r9Z20bi2f8= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8= -github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= -github.com/DATA-DOG/go-sqlmock v1.5.0 h1:Shsta01QNfFxHCfpW6YH2STWB0MudeXXEWMr20OEh60= -github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ4pzQ= -github.com/MakeNowJust/heredoc v1.0.0/go.mod h1:mG5amYoWBHf8vpLOuehzbGGw0EHxpZZ6lCpQ4fNJ8LE= -github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI= -github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= -github.com/Masterminds/semver/v3 v3.2.0/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= -github.com/Masterminds/semver/v3 v3.2.1 h1:RN9w6+7QoMeJVGyfmbcgs28Br8cvmnucEXnY0rYXWg0= -github.com/Masterminds/semver/v3 v3.2.1/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= -github.com/Masterminds/sprig/v3 v3.2.3 h1:eL2fZNezLomi0uOLqjQoN6BfsDD+fyLtgbJMAj9n6YA= -github.com/Masterminds/sprig/v3 v3.2.3/go.mod h1:rXcFaZ2zZbLRJv/xSysmlgIM1u11eBaRMhvYXJNkGuM= -github.com/Masterminds/squirrel v1.5.4 h1:uUcX/aBc8O7Fg9kaISIUsHXdKuqehiXAMQTYX8afzqM= -github.com/Masterminds/squirrel v1.5.4/go.mod h1:NNaOrjSoIDfDA40n7sr2tPNZRfjzjA400rg+riTZj10= -github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= -github.com/Microsoft/hcsshim v0.11.0 h1:7EFNIY4igHEXUdj1zXgAyU3fLc7QfOKHbkldRVTBdiM= -github.com/Microsoft/hcsshim v0.11.0/go.mod h1:OEthFdQv/AD2RAdzR6Mm1N1KPCztGKDurW1Z8b8VGMM= -github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d h1:UrqY+r/OJnIp5u0s1SbQ8dVfLCZJsnvazdBP5hS4iRs= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= -github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d h1:Byv0BzEl3/e6D5CLfI0j/7hiIEtvGVFPCZ7Ei2oq8iQ= -github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= -github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bshuster-repo/logrus-logstash-hook v1.0.0 h1:e+C0SB5R1pu//O4MQ3f9cFuPGoOVeF2fE4Og9otCc70= -github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd h1:rFt+Y/IK1aEZkEHchZRSq9OQbsSzIT/OrI8YFFmRIng= -github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b h1:otBG+dV+YK+Soembjv71DPz3uX/V/6MMlSyD9JBQ6kQ= -github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0 h1:nvj0OLI3YqYXer/kZD8Ri1aaunCxIEsOst1BVJswV0o= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= -github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/chai2010/gettext-go v1.0.2 h1:1Lwwip6Q2QGsAdl/ZKPCwTe9fe0CjlUbqj5bFNSjIRk= -github.com/chai2010/gettext-go v1.0.2/go.mod h1:y+wnP2cHYaVj19NZhYKAwEMH2CI1gNHeQQ+5AjwawxA= -github.com/changkun/lockfree v0.0.1 h1:5WefVJLglY4IHRqOQmh6Ao6wkJYaJkarshKU8VUtId4= -github.com/changkun/lockfree v0.0.1/go.mod h1:3bKiaXn/iNzIPlSvSOMSVbRQUQtAp8qUAyBUtzU11s4= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/containerd/cgroups v1.1.0 h1:v8rEWFl6EoqHB+swVNjVoCJE8o3jX7e8nqBGPLaDFBM= -github.com/containerd/containerd v1.7.6 h1:oNAVsnhPoy4BTPQivLgTzI9Oleml9l/+eYIDYXRCYo8= -github.com/containerd/containerd v1.7.6/go.mod h1:SY6lrkkuJT40BVNO37tlYTSnKJnP5AXBc0fhx0q+TJ4= -github.com/containerd/continuity v0.4.2 h1:v3y/4Yz5jwnvqPKJJ+7Wf93fyWoCB3F5EclWG023MDM= -github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= -github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= -github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= -github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/distribution/distribution/v3 v3.0.0-20221208165359-362910506bc2 h1:aBfCb7iqHmDEIp6fBvC/hQUddQfg+3qdYjwzaiP9Hnc= -github.com/docker/cli v24.0.6+incompatible h1:fF+XCQCgJjjQNIMjzaSmiKJSCcfcXb3TWTcc7GAneOY= -github.com/docker/cli v24.0.6+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= -github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8= -github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v24.0.7+incompatible h1:Wo6l37AuwP3JaMnZa226lzVXGA3F9Ig1seQen0cKYlM= -github.com/docker/docker v24.0.7+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker-credential-helpers v0.7.0 h1:xtCHsjxogADNZcdv1pKUHXryefjlVRqWqIhk/uXJp0A= -github.com/docker/docker-credential-helpers v0.7.0/go.mod h1:rETQfLdHNT3foU5kuNkFR1R1V12OJRRO5lzt2D1b5X0= -github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= -github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= -github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c h1:+pKlWGMw7gf6bQ+oDZB4KHQFypsfjYlq/C4rfL7D3g8= -github.com/docker/go-metrics v0.0.1 h1:AgB/0SvBxihN0X8OR4SjsblXkbMvalQ8cjmtKQ2rQV8= -github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= -github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= -github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1 h1:ZClxb8laGDf5arXfYcAtECDFgAgHklGI8CxgjHnXKJ4= -github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g= -github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/evanphx/json-patch v5.6.0+incompatible h1:jBYDEEiFBPxA0v50tFdvOzQQTCvpL6mnFh5mB2/l16U= -github.com/evanphx/json-patch v5.6.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/evanphx/json-patch/v5 v5.6.0 h1:b91NhWfaz02IuVxO9faSllyAtNXHMPkC5J8sJCLunww= -github.com/evanphx/json-patch/v5 v5.6.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2VvlbKOFpnXhI9Bw4= -github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f h1:Wl78ApPPB2Wvf/TIe2xdyJxTlb6obmF18d8QdkxNDu4= -github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f/go.mod h1:OSYXu++VVOHnXeitef/D8n/6y4QV8uLHSFXX4NeXMGc= -github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= -github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= -github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk= -github.com/foxcpp/go-mockdns v1.0.0 h1:7jBqxd3WDWwi/6WhDvacvH1XsN3rOLXyHM1uhvIx6FI= -github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= -github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= -github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= -github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= -github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= -github.com/go-gorp/gorp/v3 v3.1.0 h1:ItKF/Vbuj31dmV4jxA1qblpSwkl9g1typ24xoe70IGs= -github.com/go-gorp/gorp/v3 v3.1.0/go.mod h1:dLEjIyyRNiXvNZ8PSmzpt1GsWAUK8kjVhEpjH8TixEw= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= -github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= -github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-logr/zapr v1.2.4 h1:QHVo+6stLbfJmYGkQ7uGHUCu5hnAFAj6mDe6Ea0SeOo= -github.com/go-logr/zapr v1.2.4/go.mod h1:FyHWQIzQORZ0QVE1BtVHv3cKtNLuXsbNLtpuhNapBOA= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= -github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= -github.com/gobuffalo/logger v1.0.6 h1:nnZNpxYo0zx+Aj9RfMPBm+x9zAU2OayFh/xrAWi34HU= -github.com/gobuffalo/packd v1.0.1 h1:U2wXfRr4E9DH8IdsDLlRFwTZTK7hLfq9qT/QHXGVe/0= -github.com/gobuffalo/packr/v2 v2.8.3 h1:xE1yzvnO56cUC0sTpKR3DIbxZgB54AftTFMhB2XEWlY= -github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= -github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/gomodule/redigo v1.8.2 h1:H5XSIre1MB5NbPYFp+i1NBbb5qN1W8Y8YAQoAYbkm8k= -github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU= -github.com/google/btree v1.1.2/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1 h1:K6RDEckDVWvDI9JAJYCmNdQXq6neHJOYx3V6jnqNEec= -github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= -github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= -github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= -github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gosuri/uitable v0.0.4 h1:IG2xLKRvErL3uhY6e1BylFzG+aJiwQviDDTfOKeKTpY= -github.com/gosuri/uitable v0.0.4/go.mod h1:tKR86bXuXPZazfOTG1FIzvjIdXzd0mo4Vtn16vt0PJo= -github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 h1:+ngKgrYPPJrOjhax5N+uePQ0Fh1Z7PheYoUI/0nzkPA= -github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= -github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= -github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= -github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= -github.com/huandu/xstrings v1.3.3/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= -github.com/huandu/xstrings v1.4.0 h1:D17IlohoQq4UcpqD7fDk80P7l+lwAmlFaBHgOipl2FU= -github.com/huandu/xstrings v1.4.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= -github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= -github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= -github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jmoiron/sqlx v1.3.5 h1:vFFPA71p1o5gAeqtEAwLU4dnX2napprKtHr7PYIcN3g= -github.com/jmoiron/sqlx v1.3.5/go.mod h1:nRVWtLre0KfCLJvgxzCsLVMogSvQ1zNJtpYr2Ccp0mQ= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/karrick/godirwalk v1.16.1 h1:DynhcF+bztK8gooS0+NDJFrdNZjJ3gzVzC545UNA9iw= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.16.0 h1:iULayQNOReoYUe+1qtKOqw9CwJv3aNQu8ivo7lw1HU4= -github.com/klauspost/compress v1.16.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/lann/builder v0.0.0-20180802200727-47ae307949d0 h1:SOEGU9fKiNWd/HOJuq6+3iTQz8KNCLtVX6idSoTLdUw= -github.com/lann/builder v0.0.0-20180802200727-47ae307949d0/go.mod h1:dXGbAdH5GtBTC4WfIxhKZfyBF/HBFgRZSWwZ9g/He9o= -github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0 h1:P6pPBnrTSX3DEVR4fDembhRWSsG5rVo6hYhAB/ADZrk= -github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0/go.mod h1:vmVJ0l/dxyfGW6FmdpVm2joNMFikkuWg0EoCKLGUMNw= -github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= -github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de h1:9TO3cAIGXtEhnIaL+V+BEER86oLrvS+kWobKpbJuye0= -github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9B/r2mtpb6U+EI2rYA5OAXxsYw6wTamcNW+zcE= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/markbates/errx v1.1.0 h1:QDFeR+UP95dO12JgW+tgi2UVfo0V8YBHiUIOaeBPiEI= -github.com/markbates/oncer v1.0.0 h1:E83IaVAHygyndzPimgUYJjbshhDTALZyXxvk9FOlQRY= -github.com/markbates/safe v1.0.1 h1:yjZkbvRM6IzKj9tlu/zMJLS0n/V351OZWRnF3QfaUxI= -github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= -github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= -github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng= -github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU= -github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= -github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= -github.com/mattn/go-sqlite3 v1.14.15 h1:vfoHhTN1af61xCRSWzFIWzx2YskyMTwHLrExkBOjvxI= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= -github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/miekg/dns v1.1.25 h1:dFwPR6SfLtrSwgDcIq2bcU/gVutB4sNApq2HBdqcakg= -github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= -github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= -github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= -github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= -github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= -github.com/mitchellh/hashstructure/v2 v2.0.2 h1:vGKWl0YJqUNxE8d+h8f6NJLcCJrgbhC4NcD46KavDd4= -github.com/mitchellh/hashstructure/v2 v2.0.2/go.mod h1:MG3aRVU/N29oo/V/IhBX8GR/zz4kQkprJgF2EVszyDE= -github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= -github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg= -github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= -github.com/moby/spdystream v0.2.0 h1:cjW1zVyyoiM0T7b6UoySUFqzXMoqRckQtXwGPiBhOM8= -github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= -github.com/moby/sys/mountinfo v0.6.2 h1:BzJjoreD5BMFNmD9Rus6gdd1pLuecOFPt8wC+Vygl78= -github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0= -github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 h1:n6/2gBQ3RWajuToeY6ZtZTIKv2v7ThUy5KKusIT0yc0= -github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00/go.mod h1:Pm3mSP3c5uWn86xMLZ5Sa7JB9GsEZySvHYXCTK4E9q4= -github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= -github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/onsi/ginkgo/v2 v2.11.0 h1:WgqUCUt/lT6yXoQ8Wef0fsNn5cAuMK7+KT9UFRz2tcU= -github.com/onsi/ginkgo/v2 v2.11.0/go.mod h1:ZhrRA5XmEE3x3rhlzamx/JJvujdZoJ2uvgI7kR0iZvM= -github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= -github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= -github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= -github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= -github.com/opencontainers/image-spec v1.1.0-rc5 h1:Ygwkfw9bpDvs+c9E34SdgGOj41dX/cbdlwvlWt0pnFI= -github.com/opencontainers/image-spec v1.1.0-rc5/go.mod h1:X4pATf0uXsnn3g5aiGIsVnJBR4mxhKzfwmvK/B2NTm8= -github.com/openshift-psap/special-resource-operator v0.0.0-20220818111522-5e97683a2041 h1:7Hrj7tgy1phUDhXYHgzvEbwC88OAhxvuMVOwjZGTiLg= -github.com/openshift-psap/special-resource-operator v0.0.0-20220818111522-5e97683a2041/go.mod h1:SLNy0FiA4IEd9YTCIDnydsyIV7BBKzK5D+KZuoTfyc0= -github.com/openshift/api v0.0.0-20231128111040-e1845c5a7acd h1:bkX3IPDizf3+oYTIn10KbSIHTCsns1Ov6Ilv86Vm+Yc= -github.com/openshift/api v0.0.0-20231128111040-e1845c5a7acd/go.mod h1:qNtV0315F+f8ld52TLtPvrfivZpdimOzTi3kn9IVbtU= -github.com/openshift/client-go v0.0.0-20231121143148-910ca30a1a9a h1:4FVrw8hz0Wb3izbf6JfOEK+pJTYpEvteRR73mCh2g/A= -github.com/openshift/client-go v0.0.0-20231121143148-910ca30a1a9a/go.mod h1:arApQobmOjZqtxw44TwnQdUCH+t9DgZ8geYPFqksHws= -github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI= -github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= -github.com/phayes/freeport v0.0.0-20220201140144-74d24b5ae9f5 h1:Ii+DKncOVM8Cu1Hc+ETb5K+23HdAMvESYE3ZJ5b5cMI= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/poy/onpar v1.1.2 h1:QaNrNiZx0+Nar5dLgTVp5mXkyoVFIbepjyEoGSnhbAY= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g= -github.com/prometheus/client_golang v1.16.0 h1:yk/hx9hDbrGHovbci4BY+pRMfSuuat626eFsHb7tmT8= -github.com/prometheus/client_golang v1.16.0/go.mod h1:Zsulrv/L9oM40tJ7T815tM89lFEugiJ9HzIqaAx4LKc= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.4.0 h1:5lQXD3cAg1OXBf4Wq03gTrXHeaV0TQvGfUooCfx1yqY= -github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= -github.com/prometheus/common v0.44.0 h1:+5BrQJwiBB9xsMygAB3TNvpQKOwlkc25LbISbrdOOfY= -github.com/prometheus/common v0.44.0/go.mod h1:ofAIvZbQ1e/nugmZGz4/qCb9Ap1VoSTIO7x0VV9VvuY= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= -github.com/prometheus/procfs v0.10.1 h1:kYK1Va/YMlutzCGazswoHKo//tZVlFpKYh+PymziUAg= -github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM= -github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= -github.com/rivo/uniseg v0.4.2 h1:YwD0ulJSJytLpiaWua0sBDusfsCZohxjxzVTYjwxfV8= -github.com/rivo/uniseg v0.4.2/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rubenv/sql-migrate v1.5.2 h1:bMDqOnrJVV/6JQgQ/MxOpU+AdO8uzYYA/TxFUBzFtS0= -github.com/rubenv/sql-migrate v1.5.2/go.mod h1:H38GW8Vqf8F0Su5XignRyaRcbXbJunSWxs+kmzlg0Is= -github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= -github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= -github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= -github.com/shopspring/decimal v1.3.1 h1:2Usl1nmF/WZucqkFZhnfFYxxxu8LG21F6nPQBE5gKV8= -github.com/shopspring/decimal v1.3.1/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= -github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= -github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= -github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= -github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/urfave/cli/v2 v2.26.0 h1:3f3AMg3HpThFNT4I++TKOejZO8yU55t3JnnSr4S4QEI= -github.com/urfave/cli/v2 v2.26.0/go.mod h1:8qnjx1vcq5s2/wpsqoZFndg2CE5tNFyrTvS6SinrnYQ= -github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= -github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo= -github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= -github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= -github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= -github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= -github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= -github.com/xlab/treeprint v1.2.0 h1:HzHnuAF1plUN2zGlAFHbSQP2qJ0ZAD3XF5XD7OesXRQ= -github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= -github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU= -github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43 h1:+lm10QQTNSBd8DVTNGHx7o/IKu9HYDvLMffDhbyLccI= -github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50 h1:hlE8//ciYMztlGpl/VA+Zm1AcTPHYkHJPbHqE6WJUXE= -github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f h1:ERexzlUfuTvpE74urLSbIQW0Z/6hF9t8U4NsJLaioAY= -go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= -go.opentelemetry.io/otel v1.14.0 h1:/79Huy8wbf5DnIPhemGB+zEPVwnN6fuQybr/SRXa6hM= -go.opentelemetry.io/otel v1.14.0/go.mod h1:o4buv+dJzx8rohcUeRmWUZhqupFvzWis188WlggnNeU= -go.opentelemetry.io/otel/trace v1.14.0 h1:wp2Mmvj41tDsyAJXiWDWpfNsOiIyd38fy85pyKcFq/M= -go.opentelemetry.io/otel/trace v1.14.0/go.mod h1:8avnQLK+CG77yNLUae4ea2JDQ6iT+gozhnZjy/rw9G8= -go.starlark.net v0.0.0-20230525235612-a134d8f9ddca h1:VdD38733bfYv5tUZwEIskMM93VanwNIi5bIKnDrJdEY= -go.starlark.net v0.0.0-20230525235612-a134d8f9ddca/go.mod h1:jxU+3+j+71eXOW14274+SmmuW82qJzl6iZSeqEtTGds= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= -go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= -go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= -go.uber.org/zap v1.25.0 h1:4Hvk6GtkucQ790dqmj7l1eEnRdKm3k3ZUrUMS2d5+5c= -go.uber.org/zap v1.25.0/go.mod h1:JIAUzQIH94IC4fOJQm7gMmBJP5k7wQfdcnYdPoEXJYk= -golang.design/x/lockfree v0.0.1 h1:IHFNwZgM5bnZYWkEbzn5lWHMYr8WsRBdCJ/RBVY0xMM= -golang.design/x/lockfree v0.0.1/go.mod h1:iaZUx6UgZaOdePjzI6wFd+seYMl1i0rsG8+xKvA8c4I= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= -golang.org/x/crypto v0.15.0 h1:frVn1TEaCEaZcn3Tmd7Y2b5KKPaZ+I32Q2OA3kYp5TA= -golang.org/x/crypto v0.15.0/go.mod h1:4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72g= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa h1:FRnLl4eNAQl8hwxVVC17teOw8kdjVDVAiFMtgUdTSRQ= -golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa/go.mod h1:zk2irFbV9DP96SEBUUAy67IdHUaZuSnrz1n472HUCLE= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= -golang.org/x/net v0.18.0 h1:mIYleuAkSbHh0tCv7RvjL3F6ZVbLjq4+R7zbOn3Kokg= -golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8= -golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= -golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q= -golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= -golang.org/x/term v0.14.0 h1:LGK9IlZ8T9jvdy6cTdfKUCltatMFOehAQo9SRC46UQ8= -golang.org/x/term v0.14.0/go.mod h1:TySc+nGkYR6qt8km8wUhuFRTVSMIX3XPR58y2lC8vww= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.15.0 h1:zdAyfUGbYmuVokhzVmghFl2ZJh5QhcfebBgmVPFYA+8= -golang.org/x/tools v0.15.0/go.mod h1:hpksKq4dtpQWS1uQ61JkdqWM3LscIS6Slf+VVkm+wQk= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -gomodules.xyz/jsonpatch/v2 v2.4.0 h1:Ci3iUJyx9UeRx7CeFN8ARgGbkESwJK+KB9lLcWxY/Zw= -gomodules.xyz/jsonpatch/v2 v2.4.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 h1:0nDDozoAU19Qb2HwhXadU8OcsiO/09cnTqhUtq2MEOM= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.56.3 h1:8I4C0Yq1EjstUzUJzpcRVbuYA2mODtEmpWiQoN/b2nc= -google.golang.org/grpc v1.56.3/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= -google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o= -helm.sh/helm/v3 v3.13.2 h1:IcO9NgmmpetJODLZhR3f3q+6zzyXVKlRizKFwbi7K8w= -helm.sh/helm/v3 v3.13.2/go.mod h1:GIHDwZggaTGbedevTlrQ6DB++LBN6yuQdeGj0HNaDx0= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -k8s.io/api v0.28.4 h1:8ZBrLjwosLl/NYgv1P7EQLqoO8MGQApnbgH8tu3BMzY= -k8s.io/api v0.28.4/go.mod h1:axWTGrY88s/5YE+JSt4uUi6NMM+gur1en2REMR7IRj0= -k8s.io/apiextensions-apiserver v0.28.3 h1:Od7DEnhXHnHPZG+W9I97/fSQkVpVPQx2diy+2EtmY08= -k8s.io/apiextensions-apiserver v0.28.3/go.mod h1:NE1XJZ4On0hS11aWWJUTNkmVB03j9LM7gJSisbRt8Lc= -k8s.io/apimachinery v0.28.4 h1:zOSJe1mc+GxuMnFzD4Z/U1wst50X28ZNsn5bhgIIao8= -k8s.io/apimachinery v0.28.4/go.mod h1:wI37ncBvfAoswfq626yPTe6Bz1c22L7uaJ8dho83mgg= -k8s.io/apiserver v0.28.3 h1:8Ov47O1cMyeDzTXz0rwcfIIGAP/dP7L8rWbEljRcg5w= -k8s.io/apiserver v0.28.3/go.mod h1:YIpM+9wngNAv8Ctt0rHG4vQuX/I5rvkEMtZtsxW2rNM= -k8s.io/cli-runtime v0.28.4 h1:IW3aqSNFXiGDllJF4KVYM90YX4cXPGxuCxCVqCD8X+Q= -k8s.io/cli-runtime v0.28.4/go.mod h1:MLGRB7LWTIYyYR3d/DOgtUC8ihsAPA3P8K8FDNIqJ0k= -k8s.io/client-go v0.28.4 h1:Np5ocjlZcTrkyRJ3+T3PkXDpe4UpatQxj85+xjaD2wY= -k8s.io/client-go v0.28.4/go.mod h1:0VDZFpgoZfelyP5Wqu0/r/TRYcLYuJ2U1KEeoaPa1N4= -k8s.io/component-base v0.28.4 h1:c/iQLWPdUgI90O+T9TeECg8o7N3YJTiuz2sKxILYcYo= -k8s.io/component-base v0.28.4/go.mod h1:m9hR0uvqXDybiGL2nf/3Lf0MerAfQXzkfWhUY58JUbU= -k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg= -k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ= -k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9/go.mod h1:wZK2AVp1uHCp4VamDVgBP2COHZjqD1T68Rf0CM3YjSM= -k8s.io/kubectl v0.28.4 h1:gWpUXW/T7aFne+rchYeHkyB8eVDl5UZce8G4X//kjUQ= -k8s.io/kubectl v0.28.4/go.mod h1:CKOccVx3l+3MmDbkXtIUtibq93nN2hkDR99XDCn7c/c= -k8s.io/utils v0.0.0-20230505201702-9f6742963106 h1:EObNQ3TW2D+WptiYXlApGNLVy0zm/JIBVY9i+M4wpAU= -k8s.io/utils v0.0.0-20230505201702-9f6742963106/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -oras.land/oras-go v1.2.4 h1:djpBY2/2Cs1PV87GSJlxv4voajVOMZxqqtq9AB8YNvY= -oras.land/oras-go v1.2.4/go.mod h1:DYcGfb3YF1nKjcezfX2SNlDAeQFKSXmf+qrFmrh4324= -sigs.k8s.io/controller-runtime v0.16.3 h1:2TuvuokmfXvDUamSx1SuAOO3eTyye+47mJCigwG62c4= -sigs.k8s.io/controller-runtime v0.16.3/go.mod h1:j7bialYoSn142nv9sCOJmQgDXQXxnroFU4VnX/brVJ0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3 h1:XX3Ajgzov2RKUdc5jW3t5jwY7Bo7dcRm+tFxT+NfgY0= -sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3/go.mod h1:9n16EZKMhXBNSiUC5kSdFQJkdH3zbxS/JoO619G1VAY= -sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 h1:W6cLQc5pnqM7vh3b7HvGNfXrJ/xL6BDMS0v1V/HHg5U= -sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3/go.mod h1:JWP1Fj0VWGHyw3YUPjXSQnRnrwezrZSrApfX5S0nIag= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/deploy/k8s-operator/kube-trailblazer/hack/boilerplate.go.txt b/deploy/k8s-operator/kube-trailblazer/hack/boilerplate.go.txt deleted file mode 100644 index 65b862271..000000000 --- a/deploy/k8s-operator/kube-trailblazer/hack/boilerplate.go.txt +++ /dev/null @@ -1,15 +0,0 @@ -/* -Copyright 2023. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ \ No newline at end of file diff --git a/deploy/k8s-operator/kube-trailblazer/helm-charts/global-values.yaml b/deploy/k8s-operator/kube-trailblazer/helm-charts/global-values.yaml deleted file mode 100644 index e69de29bb..000000000 diff --git a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/.helmignore b/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/.helmignore deleted file mode 100644 index 0e8a0eb36..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/Chart.yaml b/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/Chart.yaml deleted file mode 100644 index 1dea245bb..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/Chart.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: v2 -name: developer-llm-operator -description: A Helm chart for Kubernetes - -# A chart can be either an 'application' or a 'library' chart. -# -# Application charts are a collection of templates that can be packaged into versioned archives -# to be deployed. -# -# Library charts provide useful utilities or functions for the chart developer. They're included as -# a dependency of application charts to inject those utilities and functions into the rendering -# pipeline. Library charts do not define any templates and therefore cannot be deployed. -type: application - -# This is the chart version. This version number should be incremented each time you make changes -# to the chart and its templates, including the app version. -# Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.1.0 - -# This is the version number of the application being deployed. This version number should be -# incremented each time you make changes to the application. Versions are not expected to -# follow Semantic Versioning. They should reflect the version the application is using. -# It is recommended to use it with quotes. -appVersion: "0.1.0" diff --git a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0001_operator_manifests.yaml b/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0001_operator_manifests.yaml deleted file mode 100644 index 6b945d8a2..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0001_operator_manifests.yaml +++ /dev/null @@ -1,201 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.11.1 - creationTimestamp: null - name: helmpipelines.package.nvidia.com -spec: - group: package.nvidia.com - names: - kind: HelmPipeline - listKind: HelmPipelineList - plural: helmpipelines - singular: helmpipeline - scope: Namespaced - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: HelmPipeline is the Schema for the helmpipelines API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: HelmPipelineSpec defines the desired state of HelmPipeline - properties: - managementState: - pattern: ^(Managed|Unmanaged|Force|Removed)$ - type: string - pipeline: - description: 'Orchard: A planned and managed group of Helm trees.' - items: - description: A shelter of vines or branches or of latticework covered with climbing shrubs or vines, also latin for tree - properties: - chartSpec: - properties: - atomic: - description: Atomic indicates whether to install resources atomically. 'Wait' will automatically be set to true when using Atomic. - type: boolean - chart: - type: string - cleanupOnFail: - description: CleanupOnFail indicates whether to cleanup the release on failure. - type: boolean - createNamespace: - description: CreateNamespace indicates whether to create the namespace if it does not exist. - type: boolean - dependencyUpdate: - description: DependencyUpdate indicates whether to update the chart release if the dependencies have changed. - type: boolean - description: - description: Description specifies a custom description for the uninstalled release - type: string - disableHooks: - description: DisableHooks indicates whether to disable hooks. - type: boolean - dryRun: - description: DryRun indicates whether to perform a dry run. - type: boolean - force: - description: Force indicates whether to force the operation. - type: boolean - generateName: - description: GenerateName indicates that the release name should be generated. - type: boolean - keepHistory: - description: KeepHistory indicates whether to retain or purge the release history during uninstall - type: boolean - maxHistory: - description: MaxHistory limits the maximum number of revisions saved per release. - type: integer - nameTemplate: - description: NameTemplate is the template used to generate the release name if GenerateName is configured. - type: string - namespace: - description: Namespace where the chart release is deployed. Note that helmclient.Options.Namespace should ideally match the namespace configured here. - type: string - recreate: - description: Recreate indicates whether to recreate the release if it already exists. - type: boolean - release: - type: string - replace: - description: Replace indicates whether to replace the chart release if it already exists. - type: boolean - resetValues: - description: ResetValues indicates whether to reset the values.yaml file during installation. - type: boolean - reuseValues: - description: ReuseValues indicates whether to reuse the values.yaml file during installation. - type: boolean - skipCRDs: - description: SkipCRDs indicates whether to skip CRDs during installation. - type: boolean - subNotes: - description: SubNotes indicates whether to print sub-notes. - type: boolean - timeout: - description: Timeout configures the time to wait for any individual Kubernetes operation (like Jobs for hooks). - format: int64 - type: integer - upgradeCRDs: - description: Upgrade indicates whether to perform a CRD upgrade during installation. - type: boolean - valuesOptions: - description: Specify values similar to the cli - properties: - JSONValues: - items: - type: string - type: array - fileValues: - items: - type: string - type: array - strinValues: - items: - type: string - type: array - valueFiles: - items: - type: string - type: array - values: - items: - type: string - type: array - required: - - JSONValues - - fileValues - - strinValues - - valueFiles - - values - type: object - valuesYaml: - description: ValuesYaml is the values.yaml content. use string instead of map[string]interface{} https://github.com/kubernetes-sigs/kubebuilder/issues/528#issuecomment-466449483 and https://github.com/kubernetes-sigs/controller-tools/pull/317 - type: string - version: - description: Version of the chart release. - type: string - wait: - description: Wait indicates whether to wait for the release to be deployed or not. - type: boolean - waitForJobs: - description: WaitForJobs indicates whether to wait for completion of release Jobs before marking the release as successful. 'Wait' has to be specified for this to take effect. The timeout may be specified via the 'Timeout' field. - type: boolean - required: - - chart - type: object - chartValues: - description: TODO ChartValues json.RawMessage `json:"chartValues"` - type: object - x-kubernetes-preserve-unknown-fields: true - releaseName: - type: string - repoEntry: - description: Entry represents a collection of parameters for chart repository, since we cannot annotate the internal helm struct we're doing it here - properties: - caFile: - type: string - certFile: - type: string - insecure_skip_tls_verify: - type: boolean - keyFile: - type: string - name: - type: string - pass_credentials_all: - type: boolean - password: - type: string - url: - type: string - username: - type: string - required: - - url - type: object - required: - - chartSpec - - repoEntry - type: object - type: array - required: - - pipeline - type: object - status: - description: HelmPipelineStatus defines the observed state of HelmPipeline - type: object - type: object - served: true - storage: true - subresources: - status: {} diff --git a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0002_operator_manifests.yaml b/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0002_operator_manifests.yaml deleted file mode 100644 index 88ed3ac36..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0002_operator_manifests.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: ServiceAccount -metadata: - labels: - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: kube-trailblazer - app.kubernetes.io/instance: controller-manager - app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/name: serviceaccount - app.kubernetes.io/part-of: kube-trailblazer - name: kube-trailblazer-controller-manager - namespace: {{ .Release.Namespace }} diff --git a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0003_operator_manifests.yaml b/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0003_operator_manifests.yaml deleted file mode 100644 index 6080cb991..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0003_operator_manifests.yaml +++ /dev/null @@ -1,44 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - labels: - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: kube-trailblazer - app.kubernetes.io/instance: leader-election-role - app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/name: role - app.kubernetes.io/part-of: kube-trailblazer - name: kube-trailblazer-leader-election-role - namespace: kube-trailblazer-system -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch diff --git a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0004_operator_manifests.yaml b/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0004_operator_manifests.yaml deleted file mode 100644 index 6a8509e5d..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0004_operator_manifests.yaml +++ /dev/null @@ -1,1227 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - creationTimestamp: null - name: kube-trailblazer-manager-role -rules: -- apiGroups: - - "" - resources: - - nodes/finalizers - verbs: - - update -- apiGroups: - - "" - resources: - - nodes/proxy - verbs: - - get -- apiGroups: - - "" - resources: - - nodes/status - verbs: - - get - - list - - patch - - update -- apiGroups: - - "" - resources: - - pods - verbs: - - deletecollection -- apiGroups: - - "" - resources: - - podtemplates - verbs: - - create - - get - - list - - update - - watch -- apiGroups: - - "" - resources: - - podtemplates/finalizers - verbs: - - update -- apiGroups: - - '*' - resources: - - cronjobs - verbs: - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - '*' - resources: - - daemonsets - verbs: - - get -- apiGroups: - - '*' - resources: - - deployments - verbs: - - get -- apiGroups: - - '*' - resources: - - imagepolicies - verbs: - - delete - - get - - update -- apiGroups: - - '*' - resources: - - jobs - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - '*' - resources: - - mutatingwebhookconfigurations - verbs: - - get -- apiGroups: - - '*' - resources: - - pods - verbs: - - get -- apiGroups: - - '*' - resources: - - replicacontrollers - verbs: - - get -- apiGroups: - - '*' - resources: - - replicasets - verbs: - - get -- apiGroups: - - '*' - resources: - - statefulsets - verbs: - - get -- apiGroups: - - acme.cert-manager.io - resources: - - challenges - verbs: - - create - - delete - - deletecollection - - get - - list - - patch - - update - - watch -- apiGroups: - - acme.cert-manager.io - resources: - - challenges/finalizers - verbs: - - update -- apiGroups: - - acme.cert-manager.io - resources: - - challenges/status - verbs: - - update -- apiGroups: - - acme.cert-manager.io - resources: - - orders - verbs: - - create - - delete - - deletecollection - - get - - list - - patch - - update - - watch -- apiGroups: - - acme.cert-manager.io - resources: - - orders/finalizers - verbs: - - update -- apiGroups: - - acme.cert-manager.io - resources: - - orders/status - verbs: - - update -- apiGroups: - - admissionregistration.k8s.io - resources: - - mutatingwebhookconfigurations - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - admissionregistration.k8s.io - resources: - - validatingwebhookconfigurations - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - admissionregistration.k8s.io/v1beta1 - resources: - - mutatingwebhookconfigurations - verbs: - - create - - delete - - list - - update -- apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - apiregistration.k8s.io - resources: - - apiservices - verbs: - - get - - list - - update - - watch -- apiGroups: - - apps - resources: - - daemonsets - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - apps - resources: - - deployments - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - apps - resourceNames: - - shipwright-build - resources: - - deployments/finalizers - verbs: - - update -- apiGroups: - - apps - resources: - - replicasets - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - apps - resources: - - statefulsets - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - auditregistration.k8s.io - resources: - - auditsinks - verbs: - - get - - list - - update - - watch -- apiGroups: - - batch - resources: - - jobs - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - batch - resources: - - jobs/finalizers - verbs: - - update -- apiGroups: - - build.openshift.io - resources: - - buildconfigs - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - build.openshift.io - resources: - - builds - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - cert-manager.io - resources: - - certificaterequests - verbs: - - create - - delete - - deletecollection - - get - - list - - patch - - update - - watch -- apiGroups: - - cert-manager.io - resources: - - certificaterequests/finalizers - verbs: - - update -- apiGroups: - - cert-manager.io - resources: - - certificaterequests/status - verbs: - - update -- apiGroups: - - cert-manager.io - resources: - - certificates - verbs: - - create - - delete - - deletecollection - - get - - list - - patch - - update - - watch -- apiGroups: - - cert-manager.io - resources: - - certificates/finalizers - verbs: - - update -- apiGroups: - - cert-manager.io - resources: - - certificates/status - verbs: - - update -- apiGroups: - - cert-manager.io - resources: - - clusterissuers - verbs: - - deletecollection - - get - - list - - update - - watch -- apiGroups: - - cert-manager.io - resources: - - clusterissuers/status - verbs: - - update -- apiGroups: - - cert-manager.io - resources: - - issuers - verbs: - - create - - delete - - deletecollection - - get - - list - - patch - - update - - watch -- apiGroups: - - cert-manager.io - resources: - - issuers/status - verbs: - - update -- apiGroups: - - cert-manager.io - resourceNames: - - clusterissuers.cert-manager.io/* - resources: - - signers - verbs: - - approve -- apiGroups: - - cert-manager.io - resourceNames: - - issuers.cert-manager.io/* - resources: - - signers - verbs: - - approve -- apiGroups: - - certificates.k8s.io - resources: - - certificatesigningrequests - verbs: - - get - - list - - update - - watch -- apiGroups: - - certificates.k8s.io - resources: - - certificatesigningrequests/status - verbs: - - update -- apiGroups: - - certificates.k8s.io - resourceNames: - - clusterissuers.cert-manager.io/* - resources: - - signers - verbs: - - sign -- apiGroups: - - certificates.k8s.io - resourceNames: - - issuers.cert-manager.io/* - resources: - - signers - verbs: - - sign -- apiGroups: - - config.openshift.io - resources: - - clusterversions - verbs: - - get -- apiGroups: - - config.openshift.io - resources: - - proxies - verbs: - - get - - list -- apiGroups: - - connaisseur.policy - resources: - - imagepolicies - verbs: - - create -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - create - - delete - - get - - list - - update - - watch -- apiGroups: - - coordination.k8s.io - resourceNames: - - cert-manager-cainjector-election-core - resources: - - leases - verbs: - - patch -- apiGroups: - - coordination.k8s.io - resourceNames: - - cert-manager-cainjector-leader-election - resources: - - leases - verbs: - - patch -- apiGroups: - - coordination.k8s.io - resourceNames: - - cert-manager-cainjector-leader-election-core - resources: - - leases - verbs: - - patch -- apiGroups: - - coordination.k8s.io - resourceNames: - - cert-manager-controller - resources: - - leases - verbs: - - patch -- apiGroups: - - "" - resources: - - configmaps - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - endpoints - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - events - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - imagestreams/layers - verbs: - - get -- apiGroups: - - "" - resources: - - namespaces - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - nodes - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - persistentvolumeclaims - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - persistentvolumeclaims/status - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - persistentvolumes - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - pods - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - pods/log - verbs: - - get -- apiGroups: - - "" - resources: - - secrets - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - serviceaccounts - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - services - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - "" - resources: - - services/finalizers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - csi.storage.k8s.io - resources: - - csidrivers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - extensions - resources: - - jobs - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - fpga.silicom.dk - resources: - - '*' - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - image.openshift.io - resources: - - imagestreams - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - image.openshift.io - resources: - - imagestreams/finalizers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - image.openshift.io - resources: - - imagestreams/layers - verbs: - - get -- apiGroups: - - infoscale.veritas.com - resources: - - infoscaleclusters - verbs: - - get - - list - - patch - - update -- apiGroups: - - monitoring.coreos.com - resources: - - prometheusrules - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - monitoring.coreos.com - resources: - - servicemonitors - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - networking.k8s.io - resources: - - clustercidrs - verbs: - - list - - watch -- apiGroups: - - networking.k8s.io - resources: - - ingresses - verbs: - - create - - delete - - get - - list - - update - - watch -- apiGroups: - - networking.k8s.io - resources: - - ingresses/finalizers - verbs: - - update -- apiGroups: - - networking.x-k8s.io - resources: - - gateways - verbs: - - get - - list - - watch -- apiGroups: - - networking.x-k8s.io - resources: - - gateways/finalizers - verbs: - - update -- apiGroups: - - networking.x-k8s.io - resources: - - httproutes - verbs: - - create - - delete - - get - - list - - update - - watch -- apiGroups: - - networking.x-k8s.io - resources: - - httproutes/finalisers - verbs: - - update -- apiGroups: - - nfd.k8s-sigs.io - resources: - - nodefeaturerules - verbs: - - get - - list - - watch -- apiGroups: - - nfd.k8s-sigs.io - resources: - - nodefeatures - verbs: - - create - - delete - - get - - list - - update - - watch -- apiGroups: - - nvidia.com - resources: - - clusterpolicies - verbs: - - get - - list - - patch - - watch -- apiGroups: - - operator.cert-manager.io - resources: - - certmanagers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - operators.coreos.com - resources: - - operatorgroups - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - operators.coreos.com - resources: - - subscriptions - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - package.nvidia.com - resources: - - helmpipelines - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - package.nvidia.com - resources: - - helmpipelines/finalizers - verbs: - - update -- apiGroups: - - package.nvidia.com - resources: - - helmpipelines/status - verbs: - - get - - patch - - update -- apiGroups: - - rbac.authorization.k8s.io - resources: - - clusterrolebindings - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - rbac.authorization.k8s.io - resources: - - clusterroles - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - rbac.authorization.k8s.io - resources: - - rolebindings - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - rbac.authorization.k8s.io - resources: - - roles - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - route.openshift.io - resources: - - routes - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - route.openshift.io - resources: - - routes/custom-host - verbs: - - create -- apiGroups: - - security.openshift.io - resources: - - securitycontextconstraints - verbs: - - create - - delete - - get - - list - - patch - - update - - use - - watch -- apiGroups: - - shipwright.io - resources: - - '*' - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - shipwright.io - resources: - - buildruns - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - shipwright.io - resources: - - buildstrategies - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - shipwright.io - resources: - - clusterbuildstrategies - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - snapshot.storage.k8s.io - resources: - - volumesnapshotclasses - verbs: - - get - - list - - watch -- apiGroups: - - snapshot.storage.k8s.io - resources: - - volumesnapshotcontents - verbs: - - create - - delete - - get - - list - - update - - watch -- apiGroups: - - snapshot.storage.k8s.io - resources: - - volumesnapshotcontents/status - verbs: - - create - - delete - - get - - list - - update - - watch -- apiGroups: - - snapshot.storage.k8s.io - resources: - - volumesnapshots - verbs: - - get - - list - - update - - watch -- apiGroups: - - snapshot.storage.k8s.io - resources: - - volumesnapshots/status - verbs: - - create - - delete - - get - - list - - update - - watch -- apiGroups: - - sro.openshift.io - resources: - - specialresources - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - sro.openshift.io - resources: - - specialresources/finalizers - verbs: - - get - - patch - - update -- apiGroups: - - sro.openshift.io - resources: - - specialresources/status - verbs: - - get - - patch - - update -- apiGroups: - - storage.k8s.io - resources: - - csidrivers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - storage.k8s.io - resources: - - csinodes - verbs: - - get - - list - - watch -- apiGroups: - - storage.k8s.io - resources: - - storageclasses - verbs: - - get - - list - - watch -- apiGroups: - - storage.k8s.io - resources: - - volumeattachments - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - sts.silicom.com - resources: - - '*' - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - tekton.dev - resources: - - taskruns - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - tekton.dev - resources: - - tasks - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - topology.node.k8s.io - resources: - - noderesourcetopologies - verbs: - - delete - - list diff --git a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0005_operator_manifests.yaml b/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0005_operator_manifests.yaml deleted file mode 100644 index c66e93e3f..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0005_operator_manifests.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - labels: - app.kubernetes.io/component: kube-rbac-proxy - app.kubernetes.io/created-by: kube-trailblazer - app.kubernetes.io/instance: metrics-reader - app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/name: clusterrole - app.kubernetes.io/part-of: kube-trailblazer - name: kube-trailblazer-metrics-reader -rules: -- nonResourceURLs: - - /metrics - verbs: - - get diff --git a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0006_operator_manifests.yaml b/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0006_operator_manifests.yaml deleted file mode 100644 index 238d975f5..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0006_operator_manifests.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - labels: - app.kubernetes.io/component: kube-rbac-proxy - app.kubernetes.io/created-by: kube-trailblazer - app.kubernetes.io/instance: proxy-role - app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/name: clusterrole - app.kubernetes.io/part-of: kube-trailblazer - name: kube-trailblazer-proxy-role -rules: -- apiGroups: - - authentication.k8s.io - resources: - - tokenreviews - verbs: - - create -- apiGroups: - - authorization.k8s.io - resources: - - subjectaccessreviews - verbs: - - create diff --git a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0007_operator_manifests.yaml b/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0007_operator_manifests.yaml deleted file mode 100644 index 09bc970a4..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0007_operator_manifests.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - labels: - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: kube-trailblazer - app.kubernetes.io/instance: leader-election-rolebinding - app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/name: rolebinding - app.kubernetes.io/part-of: kube-trailblazer - name: kube-trailblazer-leader-election-rolebinding - namespace: {{ .Release.Namespace }} -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: kube-trailblazer-leader-election-role -subjects: -- kind: ServiceAccount - name: kube-trailblazer-controller-manager - namespace: {{ .Release.Namespace }} diff --git a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0008_operator_manifests.yaml b/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0008_operator_manifests.yaml deleted file mode 100644 index 2fd15af61..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0008_operator_manifests.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - labels: - app.kubernetes.io/component: rbac - app.kubernetes.io/created-by: kube-trailblazer - app.kubernetes.io/instance: manager-rolebinding - app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/name: clusterrolebinding - app.kubernetes.io/part-of: kube-trailblazer - name: kube-trailblazer-manager-rolebinding -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: kube-trailblazer-manager-role -subjects: -- kind: ServiceAccount - name: kube-trailblazer-controller-manager - namespace: {{ .Release.Namespace }} diff --git a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0009_operator_manifests.yaml b/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0009_operator_manifests.yaml deleted file mode 100644 index 083907701..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0009_operator_manifests.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - labels: - app.kubernetes.io/component: kube-rbac-proxy - app.kubernetes.io/created-by: kube-trailblazer - app.kubernetes.io/instance: proxy-rolebinding - app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/name: clusterrolebinding - app.kubernetes.io/part-of: kube-trailblazer - name: kube-trailblazer-proxy-rolebinding -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: kube-trailblazer-proxy-role -subjects: -- kind: ServiceAccount - name: kube-trailblazer-controller-manager - namespace: {{ .Release.Namespace }} diff --git a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0010_operator_manifests.yaml b/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0010_operator_manifests.yaml deleted file mode 100644 index b8c0afb53..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0010_operator_manifests.yaml +++ /dev/null @@ -1,21 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - labels: - app.kubernetes.io/component: kube-rbac-proxy - app.kubernetes.io/created-by: kube-trailblazer - app.kubernetes.io/instance: controller-manager-metrics-service - app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/name: service - app.kubernetes.io/part-of: kube-trailblazer - control-plane: controller-manager - name: kube-trailblazer-controller-manager-metrics-service - namespace: {{ .Release.Namespace }} -spec: - ports: - - name: https - port: 8443 - protocol: TCP - targetPort: https - selector: - control-plane: controller-manager diff --git a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0011_operator_manifests.yaml b/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0011_operator_manifests.yaml deleted file mode 100644 index 6541ce594..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/0011_operator_manifests.yaml +++ /dev/null @@ -1,106 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - labels: - app.kubernetes.io/component: manager - app.kubernetes.io/created-by: kube-trailblazer - app.kubernetes.io/instance: controller-manager - app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/name: deployment - app.kubernetes.io/part-of: kube-trailblazer - control-plane: controller-manager - name: kube-trailblazer-controller-manager - namespace: {{ .Release.Namespace }} -spec: - replicas: 1 - selector: - matchLabels: - control-plane: controller-manager - template: - metadata: - annotations: - kubectl.kubernetes.io/default-container: manager - labels: - control-plane: controller-manager - spec: - affinity: - nodeAffinity: - requiredDuringSchedulingIgnoredDuringExecution: - nodeSelectorTerms: - - matchExpressions: - - key: kubernetes.io/arch - operator: In - values: - - amd64 - - arm64 - - ppc64le - - s390x - - key: kubernetes.io/os - operator: In - values: - - linux - containers: - - args: - - --secure-listen-address=0.0.0.0:8443 - - --upstream=http://127.0.0.1:8080/ - - --logtostderr=true - - --v=0 - image: gcr.io/kubebuilder/kube-rbac-proxy:v0.13.1 - name: kube-rbac-proxy - ports: - - containerPort: 8443 - name: https - protocol: TCP - resources: - limits: - cpu: 500m - memory: 128Mi - requests: - cpu: 5m - memory: 64Mi - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - - args: - - --health-probe-bind-address=:8081 - - --metrics-bind-address=127.0.0.1:8080 - - --leader-elect - command: - - /manager - image: {{ include "developer-llm-operator.fullimage" . }} - imagePullPolicy: {{ .Values.images.imagePullPolicy }} - livenessProbe: - httpGet: - path: /healthz - port: 8081 - initialDelaySeconds: 15 - periodSeconds: 20 - name: manager - readinessProbe: - httpGet: - path: /readyz - port: 8081 - initialDelaySeconds: 5 - periodSeconds: 10 - resources: - limits: - cpu: 500m - memory: 512Mi - requests: - cpu: 100m - memory: 128Mi - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - {{- if .Values.images.registry.imagePullSecret.name }} - imagePullSecrets: - - name: {{ .Values.images.registry.imagePullSecret.name }} - {{- end }} - securityContext: - runAsNonRoot: true - serviceAccountName: kube-trailblazer-controller-manager - terminationGracePeriodSeconds: 10 diff --git a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/_helpers.tpl b/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/_helpers.tpl deleted file mode 100644 index d49dd2982..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/_helpers.tpl +++ /dev/null @@ -1,17 +0,0 @@ -{{/* -Create secret to access docker registry -*/}} -{{- define "imagePullSecret" }} -{{- printf "{\"auths\": {\"%s\": {\"auth\": \"%s\"}}}" .Values.images.registry.name (printf "%s:%s" .Values.images.registry.imagePullSecret.username .Values.images.registry.imagePullSecret.password | b64enc) | b64enc }} -{{- end }} - -{{/* -Full image name with tag -*/}} -{{- define "developer-llm-operator.fullimage" -}} -{{- if .Values.images.version }} -{{- .Values.images.name -}}:{{- .Values.images.version -}} -{{- else }} -{{- .Values.images.name -}}:v{{- .Chart.AppVersion -}} -{{- end }} -{{- end }} diff --git a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/image-pull-secret.yaml b/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/image-pull-secret.yaml deleted file mode 100644 index e526dbe55..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/templates/image-pull-secret.yaml +++ /dev/null @@ -1,10 +0,0 @@ -{{ if and .Values.images.registry.imagePullSecret.name .Values.images.registry.imagePullSecret.create -}} -apiVersion: v1 -kind: Secret -metadata: - name: {{ .Values.images.registry.imagePullSecret.name }} - namespace: {{ .Release.Namespace }} -type: kubernetes.io/dockerconfigjson -data: - .dockerconfigjson: {{ template "imagePullSecret" . }} -{{- end }} \ No newline at end of file diff --git a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/values.yaml b/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/values.yaml deleted file mode 100644 index 87b55d73b..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/developer-llm-operator/values.yaml +++ /dev/null @@ -1,19 +0,0 @@ -images: - # operator image name - name: nvcr.io/nvidia/cloud-native/developer-llm-operator - # operator image version. If empty then the chart's app-version is used as default - version: "" - imagePullPolicy: IfNotPresent - # operator registry details for pull-secret - registry: - # The registry name must NOT contain a trailing slash - name: nvcr.io - imagePullSecret: - # Leave blank, if no imagePullSecret is needed. - name: "" - # If set to false, the chart expects either a imagePullSecret - # with the name configured above to be present on the cluster or that no - # credentials are needed. - create: true - username: '$oauthtoken' - password: "" \ No newline at end of file diff --git a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/.helmignore b/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/.helmignore deleted file mode 100644 index 0e8a0eb36..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/Chart.yaml b/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/Chart.yaml deleted file mode 100644 index b73ea5fe7..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -appVersion: 1.16.0 -description: A Helm chart for Kubernetes -name: rag-llm-pipeline -type: application -version: 0.1.0 diff --git a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/_helpers.tpl b/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/_helpers.tpl deleted file mode 100644 index 391efe261..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/_helpers.tpl +++ /dev/null @@ -1,6 +0,0 @@ -{{/* -Create secret to access docker registry -*/}} -{{- define "imagePullSecret" }} -{{- printf "{\"auths\": {\"%s\": {\"auth\": \"%s\"}}}" .Values.images.registry.name (printf "%s:%s" .Values.images.registry.ImagePullSecret.username .Values.images.registry.ImagePullSecret.password | b64enc) | b64enc }} -{{- end }} diff --git a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/frontend.yaml b/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/frontend.yaml deleted file mode 100644 index bd1940def..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/frontend.yaml +++ /dev/null @@ -1,52 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: llm-playground - labels: - app.kubernetes.io/name: frontend -spec: - replicas: 1 - selector: - matchLabels: - app.kubernetes.io/name: frontend - template: - metadata: - labels: - app.kubernetes.io/name: frontend - spec: - - imagePullSecrets: - - name: nvcrio - containers: - - name: llm-playground - imagePullPolicy: IfNotPresent - image: {{ .Values.frontend.image }} - command: - - python3 - - -m - - frontend - - --port - - "8090" - env: - - name: APP_MODELNAME - value: {{ .Values.frontend.modelName }} - - name: APP_SERVERPORT - value: "8081" - - name: APP_SERVERURL - value: http://query - ports: - - containerPort: 8090 ---- -apiVersion: v1 -kind: Service -metadata: - name: frontend-service -spec: - type: NodePort - selector: - app.kubernetes.io/name: frontend - ports: - - protocol: TCP - port: 8090 - nodePort: 30001 - \ No newline at end of file diff --git a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/image-pull-secret.yaml b/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/image-pull-secret.yaml deleted file mode 100644 index d1074724d..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/image-pull-secret.yaml +++ /dev/null @@ -1,9 +0,0 @@ -{{ if and .Values.images.registry.ImagePullSecret.name .Values.images.registry.ImagePullSecret.create -}} -apiVersion: v1 -kind: Secret -metadata: - name: {{ .Values.images.registry.ImagePullSecret.name }} -type: kubernetes.io/dockerconfigjson -data: - .dockerconfigjson: {{ template "imagePullSecret" . }} -{{- end }} \ No newline at end of file diff --git a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/jupyter-server.yaml b/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/jupyter-server.yaml deleted file mode 100644 index e2c71fea8..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/jupyter-server.yaml +++ /dev/null @@ -1,41 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: jupyter-notebook-server - labels: - app.kubernetes.io/name: jupyter-notebook-server -spec: - replicas: 1 - selector: - matchLabels: - app.kubernetes.io/name: jupyter-notebook-server - template: - metadata: - labels: - app.kubernetes.io/name: jupyter-notebook-server - spec: - imagePullSecrets: - - name: nvcrio - containers: - - name: jupyter-notebook-server - imagePullPolicy: IfNotPresent - image: {{ .Values.jupyter.image }} - ports: - - containerPort: 8888 - resources: - limits: - {{ .Values.jupyter.gpu.type }}: {{ .Values.jupyter.gpu.count }} ---- -apiVersion: v1 -kind: Service -metadata: - name: jupyter-notebook-service -spec: - type: NodePort - - selector: - app.kubernetes.io/name: jupyter-notebook-server - ports: - - protocol: TCP - port: 8888 - nodePort: 30000 \ No newline at end of file diff --git a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/milvus-etcd.yaml b/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/milvus-etcd.yaml deleted file mode 100644 index dde20b762..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/milvus-etcd.yaml +++ /dev/null @@ -1,65 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: milvu-etcd - labels: - app.kubernetes.io/name: milvus-etcd -spec: - replicas: 1 - selector: - matchLabels: - app.kubernetes.io/name: milvus-etcd - template: - metadata: - labels: - app.kubernetes.io/name: milvus-etcd - spec: - containers: - - name: milvus-etcd - image: quay.io/coreos/etcd:v3.5.5 - command: - - etcd - - -advertise-client-urls=http://127.0.0.1:2379 - - -listen-client-urls - - http://0.0.0.0:2379 - - --data-dir - - /etcd - env: - - name: ETCD_AUTO_COMPACTION_MODE - value: revision - - name: ETCD_AUTO_COMPACTION_RETENTION - value: "1000" - - name: ETCD_QUOTA_BACKEND_BYTES - value: "4294967296" - - name: ETCD_SNAPSHOT_COUNT - value: "50000" - ports: - - containerPort: 2379 - readinessProbe: - exec: - command: - - etcdctl - - endpoint - - health - initialDelaySeconds: 5 - periodSeconds: 5 - volumeMounts: - - mountPath: /etcd - name: etcd-data - volumes: - - name: etcd-data - hostPath: - path: /etcd - type: DirectoryOrCreate ---- -apiVersion: v1 -kind: Service -metadata: - name: milvus-etcd -spec: - selector: - app.kubernetes.io/name: milvus-etcd - ports: - - protocol: TCP - port: 2379 - targetPort: 2379 \ No newline at end of file diff --git a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/milvus-minio.yaml b/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/milvus-minio.yaml deleted file mode 100644 index fc302398e..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/milvus-minio.yaml +++ /dev/null @@ -1,62 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: milvus-minio - labels: - app.kubernetes.io/name: milvus-minio -spec: - replicas: 1 - selector: - matchLabels: - app.kubernetes.io/name: milvus-minio - template: - metadata: - labels: - app.kubernetes.io/name: milvus-minio - spec: - containers: - - name: milvus-minio - image: minio/minio:RELEASE.2023-03-20T20-16-18Z - command: - - minio - - server - - /minio_data - - --console-address - - :9011 - env: - - name: MINIO_ACCESS_KEY - value: minioadmin - - name: MINIO_SECRET_KEY - value: minioadmin - ports: - - containerPort: 9011 - - containerPort: 9010 - volumeMounts: - - mountPath: /minio_data - name: minio-data - readinessProbe: - exec: - command: - - curl - - -f - - http://localhost:9010/minio/health/live - initialDelaySeconds: 20 - periodSeconds: 5 - volumes: - - name: minio-data - hostPath: - path: /minio_data - type: DirectoryOrCreate ---- -apiVersion: v1 -kind: Service -metadata: - name: milvus-minio -spec: - selector: - app.kubernetes.io/name: milvus-minio - ports: - - protocol: TCP - port: 9010 - targetPort: 9010 - diff --git a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/milvus-standalone.yaml b/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/milvus-standalone.yaml deleted file mode 100644 index a52bd916a..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/milvus-standalone.yaml +++ /dev/null @@ -1,58 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: milvus-standalone - labels: - app.kubernetes.io/name: milvus-standalone -spec: - replicas: 1 - selector: - matchLabels: - app.kubernetes.io/name: milvus-standalone - template: - metadata: - labels: - app.kubernetes.io/name: milvus-standalone - spec: - containers: - - name: milvus-standalone - image: milvusdb/milvus:v2.3.1-gpu - command: - - /tini - - -- - - milvus - - run - - standalone - env: - - name: ETCD_ENDPOINTS - value: milvus-etcd:2379 - - name: KNOWHERE_GPU_MEM_POOL_SIZE - value: 2048;4096 - - name: MINIO_ADDRESS - value: milvus-minio:9010 - ports: - - containerPort: 19530 - - containerPort: 9091 - readinessProbe: - exec: - command: - - curl - - -f - - http://localhost:9091/healthz - initialDelaySeconds: 20 - periodSeconds: 5 - resources: - limits: - {{ .Values.milvus.gpu.type }}: {{ .Values.milvus.gpu.count }} ---- -apiVersion: v1 -kind: Service -metadata: - name: milvus -spec: - selector: - app.kubernetes.io/name: milvus-standalone - ports: - - protocol: TCP - port: 19530 - targetPort: 19530 diff --git a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/query.yaml b/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/query.yaml deleted file mode 100644 index d4ad9f3ca..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/query.yaml +++ /dev/null @@ -1,65 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: query-router - labels: - app.kubernetes.io/name: query-router -spec: - replicas: 1 - selector: - matchLabels: - app.kubernetes.io/name: query-router - template: - metadata: - labels: - app.kubernetes.io/name: query-router - spec: - - imagePullSecrets: - - name: nvcrio - volumes: - - name: dshm - emptyDir: - medium: Memory - containers: - - name: query-router - imagePullPolicy: IfNotPresent - image: {{ .Values.query.image }} - command: - - uvicorn - - RetrievalAugmentedGeneration.common.server:app - - --port - - "8081" - - --host - - 0.0.0.0 - env: - - name: APP_MILVUS_URL - value: http://milvus:19530 - - name: APP_LLM_SERVERURL - value: llm:8001 - - name: APP_LLM_MODELNAME - value: ensemble - - name: APP_LLM_MODELENGINE - value: triton-trt-llm -# - name: APP_CONFIG_FILE # THIS SHOULD BE A CONFIGMAP -# value: "" - ports: - - containerPort: 8081 - volumeMounts: - - mountPath: /dev/shm - name: dshm - resources: - limits: - {{ .Values.query.gpu.type }}: {{ .Values.query.gpu.count }} ---- -apiVersion: v1 -kind: Service -metadata: - name: query -spec: - selector: - app.kubernetes.io/name: query-router - ports: - - protocol: TCP - port: 8081 - targetPort: 8081 \ No newline at end of file diff --git a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/triton.yaml b/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/triton.yaml deleted file mode 100644 index 20b8ba57d..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/templates/triton.yaml +++ /dev/null @@ -1,86 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: triton-entrypoint -data: - entrypoint.sh: |- - #!/bin/bash -x - set -e - - rm -rf /usr/local/cuda-12.2/targets/x86_64-linux/lib/stubs/ - ldconfig - - /usr/bin/python3 -m model_server {{ .Values.triton.modelArchitecture | quote }} \ - --max-input-length {{ .Values.triton.modelMaxInputLength | quote}} \ - --max-output-length {{ .Values.triton.modelMaxOutputLength | quote}} - ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: triton-inference-server - labels: - app.kubernetes.io/name: triton-inference-server -spec: - replicas: 1 - selector: - matchLabels: - app.kubernetes.io/name: triton-inference-server - template: - metadata: - name: triton-inference-server - labels: - app.kubernetes.io/name: triton-inference-server - spec: - imagePullSecrets: - - name: nvcrio - containers: - - name: triton-inference-server - imagePullPolicy: IfNotPresent - image: {{ .Values.triton.image }} - command: [/bin/entrypoint.sh] - ports: - - containerPort: 8000 - - containerPort: 8001 - - containerPort: 8002 - readinessProbe: - grpc: - port: 8001 - initialDelaySeconds: 30 - periodSeconds: 10 - resources: - limits: - {{ .Values.triton.gpu.type }}: {{ .Values.triton.gpu.count }} - volumeMounts: - - mountPath: /model - name: model - - mountPath: /dev/shm - name: dshm - - name: entrypoint - mountPath: /bin/entrypoint.sh - readOnly: true - subPath: entrypoint.sh - volumes: - - name: model - hostPath: - path: {{ .Values.triton.modelDirectory }} - - name: dshm - emptyDir: - medium: Memory - - name: entrypoint - configMap: - defaultMode: 0700 - name: triton-entrypoint ---- -apiVersion: v1 -kind: Service -metadata: - name: llm -spec: - selector: - app.kubernetes.io/name: triton-inference-server - ports: - - protocol: TCP - port: 8001 - targetPort: 8001 - diff --git a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/values.yaml b/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/values.yaml deleted file mode 100644 index 8fa8abcf8..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-charts/staging/rag-llm-pipeline/values.yaml +++ /dev/null @@ -1,56 +0,0 @@ -# Default values for rag-llm-hackfest. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. -triton: - modelDirectory: "/zvonkok/model/llama2_13b_chat_hf_v1/" - modelArchitecture: "llama" - modelMaxInputLength: "3000" - modelMaxOutputLength: "512" - image: localhost:5000/llm-inference-server - gpu: - # MIG slice - #type: "nvidia.com/mig-3g.40gb" - # time-slice - type: "nvidia.com/gpu" - count: 1 - -milvus: - gpu: - # MIG slice - #type: "nvidia.com/mig-2g.20gb" - type: "nvidia.com/gpu" - count: 1 - -jupyter: - image: localhost:5000/notebook-server - gpu: - # MIG slice - # type: "nvidia.com/mig-1g.10gb" - type: "nvidia.com/gpu" - count: 1 - -query: - image: localhost:5000/chain-server - gpu: - # MIG slice - # type: "nvidia.com/mig-1g.10gb" - type: "nvidia.com/gpu" - count: 1 - -frontend: - image: localhost:5000/llm-playground - modelName: "Llama-2-13b-chat-hf" - -images: - registry: - # The registry name must NOT contain a trailing slash - name: nvcr.io - ImagePullSecret: - # Leave blank, if no ImagePullSecret is needed. - name: nvcrio - # If set to false, the chart expects either a ImagePullSecret - # with the name configured above to be present on the cluster or that no - # credentials are needed. - create: false - username: '$oauthtoken' - password: \ No newline at end of file diff --git a/deploy/k8s-operator/kube-trailblazer/helm-plugins/cm-getter/plugin.yaml b/deploy/k8s-operator/kube-trailblazer/helm-plugins/cm-getter/plugin.yaml deleted file mode 100644 index 4b78c4dda..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-plugins/cm-getter/plugin.yaml +++ /dev/null @@ -1,6 +0,0 @@ -name: cm-getter -version: 0.0.1 -description: cm:// Helm getter for ConfigMap charts -downloaders: -- command: cm-getter - protocols: [cm, configmap] diff --git a/deploy/k8s-operator/kube-trailblazer/helm-plugins/file-getter/file-getter b/deploy/k8s-operator/kube-trailblazer/helm-plugins/file-getter/file-getter deleted file mode 100755 index 216312d90..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-plugins/file-getter/file-getter +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env bash - -# Last command-line argument is the URL of the resource -readonly URL="${*: -1}" - -# Trim the scheme -readonly FILE="${URL#file://}" - -cat "${FILE}" diff --git a/deploy/k8s-operator/kube-trailblazer/helm-plugins/file-getter/plugin.yaml b/deploy/k8s-operator/kube-trailblazer/helm-plugins/file-getter/plugin.yaml deleted file mode 100644 index b5f6983a8..000000000 --- a/deploy/k8s-operator/kube-trailblazer/helm-plugins/file-getter/plugin.yaml +++ /dev/null @@ -1,6 +0,0 @@ -name: file-getter -version: 0.0.1 -description: file:// Helm getter for local filesystem charts -downloaders: -- command: file-getter - protocols: [file] diff --git a/deploy/k8s-operator/kube-trailblazer/main.go b/deploy/k8s-operator/kube-trailblazer/main.go deleted file mode 100644 index 376134fa8..000000000 --- a/deploy/k8s-operator/kube-trailblazer/main.go +++ /dev/null @@ -1,133 +0,0 @@ -/* -Copyright 2023. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package main - -import ( - "flag" - "os" - - // Import all Kubernetes client auth plugins (e.g. Azure, GCP, OIDC, etc.) - // to ensure that exec-entrypoint and run can make use of them. - _ "k8s.io/client-go/plugin/pkg/client/auth" - "k8s.io/klog/v2" - "k8s.io/klog/v2/klogr" - - "k8s.io/apimachinery/pkg/runtime" - utilruntime "k8s.io/apimachinery/pkg/util/runtime" - clientgoscheme "k8s.io/client-go/kubernetes/scheme" - ctrl "sigs.k8s.io/controller-runtime" - "sigs.k8s.io/controller-runtime/pkg/healthz" - - packagev1alpha1 "github.com/nvidia/kube-trailblazer/api/v1alpha1" - "github.com/nvidia/kube-trailblazer/controllers" - "github.com/nvidia/kube-trailblazer/pkg/clients" - "github.com/nvidia/kube-trailblazer/pkg/filter" - //+kubebuilder:scaffold:imports -) - -var ( - scheme = runtime.NewScheme() - setupLog = ctrl.Log.WithName("setup") -) - -func init() { - utilruntime.Must(clientgoscheme.AddToScheme(scheme)) - - utilruntime.Must(packagev1alpha1.AddToScheme(scheme)) - //+kubebuilder:scaffold:scheme -} - -func main() { - var metricsAddr string - var enableLeaderElection bool - var probeAddr string - flag.StringVar(&metricsAddr, "metrics-bind-address", ":8080", "The address the metric endpoint binds to.") - flag.StringVar(&probeAddr, "health-probe-bind-address", ":8081", "The address the probe endpoint binds to.") - flag.BoolVar(&enableLeaderElection, "leader-elect", false, - "Enable leader election for controller manager. "+ - "Enabling this will ensure there is only one active controller manager.") - - /*opts := zap.Options{ - Development: true, - } - opts.BindFlags(flag.CommandLine) - flag.Parse() - - ctrl.SetLogger(zap.New(zap.UseFlagOptions(&opts)))*/ - - klog.InitFlags(nil) - flag.Parse() - - ctrl.SetLogger(klogr.New()) - - mgr, err := ctrl.NewManager(ctrl.GetConfigOrDie(), ctrl.Options{ - Scheme: scheme, - //MetricsBindAddress: metricsAddr, - //Port: 9443, - HealthProbeBindAddress: probeAddr, - LeaderElection: enableLeaderElection, - LeaderElectionID: "6673c020.nvidia.com", - // LeaderElectionReleaseOnCancel defines if the leader should step down voluntarily - // when the Manager ends. This requires the binary to immediately end when the - // Manager is stopped, otherwise, this setting is unsafe. Setting this significantly - // speeds up voluntary leader transitions as the new leader don't have to wait - // LeaseDuration time first. - // - // In the default scaffold provided, the program ends immediately after - // the manager stops, so would be fine to enable this option. However, - // if you are doing or is intended to do any operation such as perform cleanups - // after the manager stops then its usage might be unsafe. - // LeaderElectionReleaseOnCancel: true, - }) - if err != nil { - setupLog.Error(err, "unable to start manager") - os.Exit(1) - } - - kubeClient, err := clients.NewClients(mgr.GetClient(), mgr.GetConfig(), mgr.GetEventRecorderFor("specialresource")) - if err != nil { - setupLog.Error(err, "unable to create k8s clients") - os.Exit(1) - } - - if err = (&controllers.HelmPipelineReconciler{ - Client: mgr.GetClient(), - Scheme: mgr.GetScheme(), - Filter: filter.NewFilter(), - KubeClient: kubeClient, - RestConf: mgr.GetConfig(), - }).SetupWithManager(mgr); err != nil { - setupLog.Error(err, "unable to create controller", "controller", "HelmPipeline") - os.Exit(1) - } - //+kubebuilder:scaffold:builder - - if err := mgr.AddHealthzCheck("healthz", healthz.Ping); err != nil { - setupLog.Error(err, "unable to set up health check") - os.Exit(1) - } - if err := mgr.AddReadyzCheck("readyz", healthz.Ping); err != nil { - setupLog.Error(err, "unable to set up ready check") - os.Exit(1) - } - - setupLog.Info("starting manager") - if err := mgr.Start(ctrl.SetupSignalHandler()); err != nil { - setupLog.Error(err, "problem running manager") - os.Exit(1) - } -} diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/clients/clients.go b/deploy/k8s-operator/kube-trailblazer/pkg/clients/clients.go deleted file mode 100644 index ca774d34b..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/clients/clients.go +++ /dev/null @@ -1,252 +0,0 @@ -package clients - -import ( - "context" - "fmt" - - buildv1 "github.com/openshift/api/build/v1" - configv1 "github.com/openshift/api/config/v1" - clientconfigv1 "github.com/openshift/client-go/config/clientset/versioned/typed/config/v1" - "k8s.io/cli-runtime/pkg/genericclioptions" - - v1 "k8s.io/api/core/v1" - apierrors "k8s.io/apimachinery/pkg/api/errors" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/discovery" - "k8s.io/client-go/kubernetes" - restclient "k8s.io/client-go/rest" - "k8s.io/client-go/tools/record" - controllerruntime "sigs.k8s.io/controller-runtime" - "sigs.k8s.io/controller-runtime/pkg/client" - "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" -) - -//go:generate mockgen -source=clients.go -package=clients -destination=mock_clients_api.go - -const ( - clusterVersionName = "version" -) - -var ( - // TODO need to remove this global variable - Namespace string -) - -type ClientsInterface interface { - Update(ctx context.Context, obj client.Object) error - Get(ctx context.Context, key client.ObjectKey, obj client.Object) error - Delete(ctx context.Context, obj client.Object) error - List(ctx context.Context, obj client.ObjectList, opts ...client.ListOption) error - Create(ctx context.Context, obj client.Object) error - GetPodLogs(namespace, podName string, podLogOpts *v1.PodLogOptions) *restclient.Request - GetNamespace(ctx context.Context, name string, opts metav1.GetOptions) (*v1.Namespace, error) - GetSecret(ctx context.Context, namespace, name string, opts metav1.GetOptions) (*v1.Secret, error) - ClusterVersionGet(ctx context.Context, opts metav1.GetOptions) (result *configv1.ClusterVersion, err error) - Invalidate() - ServerGroups() (*metav1.APIGroupList, error) - StatusUpdate(ctx context.Context, obj client.Object) error - CreateOrUpdate(ctx context.Context, obj client.Object, fn controllerutil.MutateFn) (controllerutil.OperationResult, error) - HasResource(resource schema.GroupVersionResource) (bool, error) - GetNodesByLabels(ctx context.Context, matchingLabels map[string]string) (*v1.NodeList, error) - GetPlatform() (string, error) -} - -type k8sClients struct { - runtimeClient client.Client - clientset kubernetes.Clientset - configV1Client clientconfigv1.ConfigV1Client - eventRecorder record.EventRecorder - cachedDiscovery discovery.CachedDiscoveryInterface - restConfig *restclient.Config -} - -func NewKubeClientsFromRestConf(restConfig *restclient.Config) (ClientsInterface, error) { - kubeClientSet, err := getKubeClientSet(restConfig) - if err != nil { - panic(err) - } - configClient, err := getConfigClient(restConfig) - if err != nil { - panic(err) - } - cachedDiscoveryClient, err := getCachedDiscoveryClient() - if err != nil { - panic(err) - } - - runtimeClient, err := client.New(restConfig, client.Options{}) - if err != nil { - panic(err) - } - - return &k8sClients{ - runtimeClient: runtimeClient, - clientset: *kubeClientSet, - configV1Client: *configClient, - eventRecorder: nil, - cachedDiscovery: cachedDiscoveryClient, - restConfig: restConfig, - }, nil -} - -func NewClients(runtimeClient client.Client, restConfig *restclient.Config, eventRecorder record.EventRecorder) (ClientsInterface, error) { - kubeClientSet, err := getKubeClientSet(restConfig) - if err != nil { - return nil, err - } - configClient, err := getConfigClient(restConfig) - if err != nil { - return nil, err - } - cachedDiscoveryClient, err := getCachedDiscoveryClient() - if err != nil { - return nil, err - } - return &k8sClients{ - runtimeClient: runtimeClient, - clientset: *kubeClientSet, - configV1Client: *configClient, - eventRecorder: eventRecorder, - cachedDiscovery: cachedDiscoveryClient, - restConfig: restConfig, - }, nil -} - -func (k *k8sClients) Update(ctx context.Context, obj client.Object) error { - return k.runtimeClient.Update(ctx, obj) -} - -func (k *k8sClients) Get(ctx context.Context, key client.ObjectKey, obj client.Object) error { - return k.runtimeClient.Get(ctx, key, obj) -} - -func (k *k8sClients) Delete(ctx context.Context, obj client.Object) error { - return k.runtimeClient.Delete(ctx, obj) -} - -func (k *k8sClients) List(ctx context.Context, obj client.ObjectList, opts ...client.ListOption) error { - return k.runtimeClient.List(ctx, obj, opts...) -} - -func (k *k8sClients) Create(ctx context.Context, obj client.Object) error { - return k.runtimeClient.Create(ctx, obj) -} - -func (k *k8sClients) GetPodLogs(namespace, podName string, podLogOpts *v1.PodLogOptions) *restclient.Request { - return k.clientset.CoreV1().Pods(namespace).GetLogs(podName, podLogOpts) -} - -func (k *k8sClients) GetNamespace(ctx context.Context, name string, opts metav1.GetOptions) (*v1.Namespace, error) { - return k.clientset.CoreV1().Namespaces().Get(ctx, name, opts) -} - -func (k *k8sClients) GetSecret(ctx context.Context, namespace, name string, opts metav1.GetOptions) (*v1.Secret, error) { - return k.clientset.CoreV1().Secrets(namespace).Get(ctx, name, opts) -} - -func (k *k8sClients) ClusterVersionGet(ctx context.Context, opts metav1.GetOptions) (result *configv1.ClusterVersion, err error) { - return k.configV1Client.ClusterVersions().Get(ctx, clusterVersionName, opts) -} - -func (k *k8sClients) Invalidate() { - k.cachedDiscovery.Invalidate() -} - -func (k *k8sClients) ServerGroups() (*metav1.APIGroupList, error) { - return k.cachedDiscovery.ServerGroups() -} - -func (k *k8sClients) StatusUpdate(ctx context.Context, obj client.Object) error { - return k.runtimeClient.Status().Update(ctx, obj) -} - -func (k *k8sClients) CreateOrUpdate(ctx context.Context, obj client.Object, fn controllerutil.MutateFn) (controllerutil.OperationResult, error) { - return controllerruntime.CreateOrUpdate(ctx, k.runtimeClient, obj, fn) -} - -func (k *k8sClients) HasResource(resource schema.GroupVersionResource) (bool, error) { - dclient, err := discovery.NewDiscoveryClientForConfig(k.restConfig) - if err != nil { - return false, fmt.Errorf("Cannot retrieve a DiscoveryClient: %w", err) - } - if dclient == nil { - return false, nil - } - - resources, err := dclient.ServerResourcesForGroupVersion(resource.GroupVersion().String()) - if apierrors.IsNotFound(err) { - // entire group is missing - return false, nil - } - if err != nil { - return false, fmt.Errorf("Cannot query ServerResources: %w", err) - } else { - for _, serverResource := range resources.APIResources { - if serverResource.Name == resource.Resource { - //Found it - return true, nil - } - } - } - - return false, nil -} - -func (k *k8sClients) GetPlatform() (string, error) { - clusterIsOCP, err := k.HasResource(buildv1.SchemeGroupVersion.WithResource("buildconfigs")) - if err != nil { - return "", err - } - if clusterIsOCP { - return "OCP", nil - } else { - return "K8S", nil - } -} - -func (k *k8sClients) GetNodesByLabels(ctx context.Context, matchingLabels map[string]string) (*v1.NodeList, error) { - opts := []client.ListOption{ - client.MatchingLabels(matchingLabels), - } - nodes := v1.NodeList{} - err := k.runtimeClient.List(ctx, &nodes, opts...) - if err != nil { - return nil, err - } - - // filter nodes by taints - nodesWithoutTaints := nodes.Items[:0] - for _, node := range nodes.Items { - if k.isNodeNotExecOrSchedule(&node) { - continue - } - nodesWithoutTaints = append(nodesWithoutTaints, node) - } - nodes.Items = nodesWithoutTaints - return &nodes, nil -} - -func (k *k8sClients) isNodeNotExecOrSchedule(node *v1.Node) bool { - for _, taint := range node.Spec.Taints { - if taint.Effect == v1.TaintEffectNoSchedule || taint.Effect == v1.TaintEffectNoExecute { - return true - } - } - return false -} - -// getKubeClientSet returns a native non-caching client for advanced CRUD operations -func getKubeClientSet(restConfig *restclient.Config) (*kubernetes.Clientset, error) { - return kubernetes.NewForConfig(restConfig) -} - -// getConfigClient returns a configv1 client to the reconciler -func getConfigClient(restConfig *restclient.Config) (*clientconfigv1.ConfigV1Client, error) { - return clientconfigv1.NewForConfig(restConfig) -} - -func getCachedDiscoveryClient() (discovery.CachedDiscoveryInterface, error) { - var config genericclioptions.ConfigFlags - return config.ToDiscoveryClient() -} diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/clients/clients_test.go b/deploy/k8s-operator/kube-trailblazer/pkg/clients/clients_test.go deleted file mode 100644 index b3821fe63..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/clients/clients_test.go +++ /dev/null @@ -1,72 +0,0 @@ -package clients - -import ( - "context" - "testing" - - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - corev1 "k8s.io/api/core/v1" - "k8s.io/apimachinery/pkg/runtime" - - "github.com/openshift-psap/special-resource-operator/pkg/utils" - "sigs.k8s.io/controller-runtime/pkg/client/fake" -) - -func TestPkgClients(t *testing.T) { - RegisterFailHandler(Fail) - RunSpecs(t, "Clients Suite") -} - -var _ = Describe("GetNodesByLabels", func() { - type testInput struct { - numNodes int - labels map[string]string - addTaint bool - taintEffect corev1.TaintEffect - expectedNumNodes int - } - - DescribeTable( - "should return correct number of nodes", - func(test testInput) { - nodesList := utils.CreateNodesList(test.numNodes, test.labels) - if test.addTaint { - utils.SetTaint(&nodesList.Items[0], "taintKey", "taintValue", test.taintEffect) - } - objs := []runtime.Object{nodesList} - clientsStruct := k8sClients{runtimeClient: fake.NewClientBuilder().WithRuntimeObjects(objs...).Build()} - res, _ := clientsStruct.GetNodesByLabels(context.TODO(), test.labels) - Expect(res.Items).To(HaveLen(test.expectedNumNodes)) - }, - Entry( - "all nodes without taint", - testInput{ - numNodes: 3, - labels: map[string]string{"key1": "label1"}, - addTaint: false, - expectedNumNodes: 3, - }, - ), - Entry( - "a node with NoExecute taint", - testInput{ - numNodes: 3, - labels: map[string]string{"key1": "label1"}, - addTaint: true, - taintEffect: corev1.TaintEffectNoExecute, - expectedNumNodes: 2, - }, - ), - Entry( - "a node with NoSchedule taint", - testInput{ - numNodes: 3, - labels: map[string]string{"key1": "label1"}, - addTaint: true, - taintEffect: corev1.TaintEffectNoSchedule, - expectedNumNodes: 2, - }, - ), - ) -}) diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/clients/mock_clients_api.go b/deploy/k8s-operator/kube-trailblazer/pkg/clients/mock_clients_api.go deleted file mode 100644 index 30c04b745..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/clients/mock_clients_api.go +++ /dev/null @@ -1,277 +0,0 @@ -// Code generated by MockGen. DO NOT EDIT. -// Source: clients.go - -// Package clients is a generated GoMock package. -package clients - -import ( - context "context" - reflect "reflect" - - gomock "github.com/golang/mock/gomock" - v1 "github.com/openshift/api/config/v1" - v10 "k8s.io/api/core/v1" - v11 "k8s.io/apimachinery/pkg/apis/meta/v1" - schema "k8s.io/apimachinery/pkg/runtime/schema" - rest "k8s.io/client-go/rest" - client "sigs.k8s.io/controller-runtime/pkg/client" - controllerutil "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" -) - -// MockClientsInterface is a mock of ClientsInterface interface. -type MockClientsInterface struct { - ctrl *gomock.Controller - recorder *MockClientsInterfaceMockRecorder -} - -// MockClientsInterfaceMockRecorder is the mock recorder for MockClientsInterface. -type MockClientsInterfaceMockRecorder struct { - mock *MockClientsInterface -} - -// NewMockClientsInterface creates a new mock instance. -func NewMockClientsInterface(ctrl *gomock.Controller) *MockClientsInterface { - mock := &MockClientsInterface{ctrl: ctrl} - mock.recorder = &MockClientsInterfaceMockRecorder{mock} - return mock -} - -// EXPECT returns an object that allows the caller to indicate expected use. -func (m *MockClientsInterface) EXPECT() *MockClientsInterfaceMockRecorder { - return m.recorder -} - -// ClusterVersionGet mocks base method. -func (m *MockClientsInterface) ClusterVersionGet(ctx context.Context, opts v11.GetOptions) (*v1.ClusterVersion, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ClusterVersionGet", ctx, opts) - ret0, _ := ret[0].(*v1.ClusterVersion) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// ClusterVersionGet indicates an expected call of ClusterVersionGet. -func (mr *MockClientsInterfaceMockRecorder) ClusterVersionGet(ctx, opts interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ClusterVersionGet", reflect.TypeOf((*MockClientsInterface)(nil).ClusterVersionGet), ctx, opts) -} - -// Create mocks base method. -func (m *MockClientsInterface) Create(ctx context.Context, obj client.Object) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "Create", ctx, obj) - ret0, _ := ret[0].(error) - return ret0 -} - -// Create indicates an expected call of Create. -func (mr *MockClientsInterfaceMockRecorder) Create(ctx, obj interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockClientsInterface)(nil).Create), ctx, obj) -} - -// CreateOrUpdate mocks base method. -func (m *MockClientsInterface) CreateOrUpdate(ctx context.Context, obj client.Object, fn controllerutil.MutateFn) (controllerutil.OperationResult, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "CreateOrUpdate", ctx, obj, fn) - ret0, _ := ret[0].(controllerutil.OperationResult) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// CreateOrUpdate indicates an expected call of CreateOrUpdate. -func (mr *MockClientsInterfaceMockRecorder) CreateOrUpdate(ctx, obj, fn interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateOrUpdate", reflect.TypeOf((*MockClientsInterface)(nil).CreateOrUpdate), ctx, obj, fn) -} - -// Delete mocks base method. -func (m *MockClientsInterface) Delete(ctx context.Context, obj client.Object) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "Delete", ctx, obj) - ret0, _ := ret[0].(error) - return ret0 -} - -// Delete indicates an expected call of Delete. -func (mr *MockClientsInterfaceMockRecorder) Delete(ctx, obj interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockClientsInterface)(nil).Delete), ctx, obj) -} - -// Get mocks base method. -func (m *MockClientsInterface) Get(ctx context.Context, key client.ObjectKey, obj client.Object) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "Get", ctx, key, obj) - ret0, _ := ret[0].(error) - return ret0 -} - -// Get indicates an expected call of Get. -func (mr *MockClientsInterfaceMockRecorder) Get(ctx, key, obj interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockClientsInterface)(nil).Get), ctx, key, obj) -} - -// GetNamespace mocks base method. -func (m *MockClientsInterface) GetNamespace(ctx context.Context, name string, opts v11.GetOptions) (*v10.Namespace, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetNamespace", ctx, name, opts) - ret0, _ := ret[0].(*v10.Namespace) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// GetNamespace indicates an expected call of GetNamespace. -func (mr *MockClientsInterfaceMockRecorder) GetNamespace(ctx, name, opts interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetNamespace", reflect.TypeOf((*MockClientsInterface)(nil).GetNamespace), ctx, name, opts) -} - -// GetNodesByLabels mocks base method. -func (m *MockClientsInterface) GetNodesByLabels(ctx context.Context, matchingLabels map[string]string) (*v10.NodeList, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetNodesByLabels", ctx, matchingLabels) - ret0, _ := ret[0].(*v10.NodeList) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// GetNodesByLabels indicates an expected call of GetNodesByLabels. -func (mr *MockClientsInterfaceMockRecorder) GetNodesByLabels(ctx, matchingLabels interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetNodesByLabels", reflect.TypeOf((*MockClientsInterface)(nil).GetNodesByLabels), ctx, matchingLabels) -} - -// GetPlatform mocks base method. -func (m *MockClientsInterface) GetPlatform() (string, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetPlatform") - ret0, _ := ret[0].(string) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// GetPlatform indicates an expected call of GetPlatform. -func (mr *MockClientsInterfaceMockRecorder) GetPlatform() *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPlatform", reflect.TypeOf((*MockClientsInterface)(nil).GetPlatform)) -} - -// GetPodLogs mocks base method. -func (m *MockClientsInterface) GetPodLogs(namespace, podName string, podLogOpts *v10.PodLogOptions) *rest.Request { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetPodLogs", namespace, podName, podLogOpts) - ret0, _ := ret[0].(*rest.Request) - return ret0 -} - -// GetPodLogs indicates an expected call of GetPodLogs. -func (mr *MockClientsInterfaceMockRecorder) GetPodLogs(namespace, podName, podLogOpts interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPodLogs", reflect.TypeOf((*MockClientsInterface)(nil).GetPodLogs), namespace, podName, podLogOpts) -} - -// GetSecret mocks base method. -func (m *MockClientsInterface) GetSecret(ctx context.Context, namespace, name string, opts v11.GetOptions) (*v10.Secret, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetSecret", ctx, namespace, name, opts) - ret0, _ := ret[0].(*v10.Secret) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// GetSecret indicates an expected call of GetSecret. -func (mr *MockClientsInterfaceMockRecorder) GetSecret(ctx, namespace, name, opts interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSecret", reflect.TypeOf((*MockClientsInterface)(nil).GetSecret), ctx, namespace, name, opts) -} - -// HasResource mocks base method. -func (m *MockClientsInterface) HasResource(resource schema.GroupVersionResource) (bool, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "HasResource", resource) - ret0, _ := ret[0].(bool) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// HasResource indicates an expected call of HasResource. -func (mr *MockClientsInterfaceMockRecorder) HasResource(resource interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "HasResource", reflect.TypeOf((*MockClientsInterface)(nil).HasResource), resource) -} - -// Invalidate mocks base method. -func (m *MockClientsInterface) Invalidate() { - m.ctrl.T.Helper() - m.ctrl.Call(m, "Invalidate") -} - -// Invalidate indicates an expected call of Invalidate. -func (mr *MockClientsInterfaceMockRecorder) Invalidate() *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Invalidate", reflect.TypeOf((*MockClientsInterface)(nil).Invalidate)) -} - -// List mocks base method. -func (m *MockClientsInterface) List(ctx context.Context, obj client.ObjectList, opts ...client.ListOption) error { - m.ctrl.T.Helper() - varargs := []interface{}{ctx, obj} - for _, a := range opts { - varargs = append(varargs, a) - } - ret := m.ctrl.Call(m, "List", varargs...) - ret0, _ := ret[0].(error) - return ret0 -} - -// List indicates an expected call of List. -func (mr *MockClientsInterfaceMockRecorder) List(ctx, obj interface{}, opts ...interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, obj}, opts...) - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockClientsInterface)(nil).List), varargs...) -} - -// ServerGroups mocks base method. -func (m *MockClientsInterface) ServerGroups() (*v11.APIGroupList, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ServerGroups") - ret0, _ := ret[0].(*v11.APIGroupList) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// ServerGroups indicates an expected call of ServerGroups. -func (mr *MockClientsInterfaceMockRecorder) ServerGroups() *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ServerGroups", reflect.TypeOf((*MockClientsInterface)(nil).ServerGroups)) -} - -// StatusUpdate mocks base method. -func (m *MockClientsInterface) StatusUpdate(ctx context.Context, obj client.Object) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "StatusUpdate", ctx, obj) - ret0, _ := ret[0].(error) - return ret0 -} - -// StatusUpdate indicates an expected call of StatusUpdate. -func (mr *MockClientsInterfaceMockRecorder) StatusUpdate(ctx, obj interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StatusUpdate", reflect.TypeOf((*MockClientsInterface)(nil).StatusUpdate), ctx, obj) -} - -// Update mocks base method. -func (m *MockClientsInterface) Update(ctx context.Context, obj client.Object) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "Update", ctx, obj) - ret0, _ := ret[0].(error) - return ret0 -} - -// Update indicates an expected call of Update. -func (mr *MockClientsInterfaceMockRecorder) Update(ctx, obj interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Update", reflect.TypeOf((*MockClientsInterface)(nil).Update), ctx, obj) -} diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/filter/filter.go b/deploy/k8s-operator/kube-trailblazer/pkg/filter/filter.go deleted file mode 100644 index 8f43519fa..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/filter/filter.go +++ /dev/null @@ -1,151 +0,0 @@ -package filter - -import ( - "github.com/nvidia/kube-trailblazer/api/v1alpha1" - operatorv1 "github.com/openshift/api/operator/v1" - "golang.design/x/lockfree" - "k8s.io/klog/v2" - "sigs.k8s.io/controller-runtime/pkg/client" - "sigs.k8s.io/controller-runtime/pkg/event" - "sigs.k8s.io/controller-runtime/pkg/predicate" -) - -const ( - Kind = "HelmPipeline" - OwnedLabel = "app.trailblazer.nvidia.com/owned-by" -) - -var ( - WorkStack = make(map[string]*lockfree.Stack) -) - -type Filter interface { - GetPredicates() predicate.Predicate - GetMode() string -} - -func NewFilter() Filter { - WorkStack["DELETE"] = lockfree.NewStack() - return &filter{ - //log: log.WithName("filter"), - //lifecycle: lifecycle, - //storage: storage, - //kernelData: kernelData, - } -} - -type filter struct { - mode string -} - -func (f *filter) GetMode() string { - return f.mode -} - -func (f *filter) isTrailblazerUnmanaged(obj client.Object) bool { - tb, ok := obj.(*v1alpha1.HelmPipeline) - if !ok { - return false - } - return tb.Spec.ManagementState == operatorv1.Unmanaged -} - -func (f *filter) isHelmPipelineObject(obj client.Object) bool { - - _, ok := obj.(*v1alpha1.HelmPipeline) - return ok -} - -func (f *filter) isOwned(obj client.Object) bool { - - for _, owner := range obj.GetOwnerReferences() { - if owner.Kind == Kind { - return true - } - } - - var labels map[string]string - - if labels = obj.GetLabels(); labels != nil { - if _, found := labels[OwnedLabel]; found { - return true - } - } - return false -} - -func (f *filter) selectOnlyOwnedObjects(obj client.Object) bool { - - if f.isHelmPipelineObject(obj) { - if f.isTrailblazerUnmanaged(obj) { - return false - } - klog.Infof("%s - isHelmPipeline - %s -- %s:%s", f.mode, obj.GetNamespace(), obj.GetObjectKind(), obj.GetName()) - if f.mode == "DELETE" { - WorkStack[f.mode].Push(obj) - } - return true - } - - if f.isOwned(obj) { - klog.Infof("%s - isOwned - %s -- %s:%s", f.mode, obj.GetNamespace(), obj.GetObjectKind(), obj.GetName()) - return true - } - return false -} - -func (f *filter) GetPredicates() predicate.Predicate { - return predicate.Funcs{ - CreateFunc: func(e event.CreateEvent) bool { - - f.mode = "CREATE" - return f.selectOnlyOwnedObjects(e.Object) - }, - - UpdateFunc: func(e event.UpdateEvent) bool { - // Ignore updates if the resourceVersion does not change - // resourceVersion is updated when the object is modified - - /* UPDATING THE STATUS WILL INCREASE THE RESOURCEVERSION DISABLING - * BUT KEEPING FOR REFERENCE - if e.MetaOld.GetResourceVersion() == e.MetaNew.GetResourceVersion() { - return false - }*/ - f.mode = "UPDATE" - - ownedObject := f.selectOnlyOwnedObjects(e.ObjectNew) - if !ownedObject { - return false - } - - // Ignore updates to CR status in which case metadata.Generation does not change - if e.ObjectOld.GetGeneration() == e.ObjectNew.GetGeneration() { - klog.Infof("UPDATE Generation Equal %s ", e.ObjectNew.GetName()) - //return false - } - // Some objects will increase generation on update ... - if e.ObjectOld.GetResourceVersion() == e.ObjectNew.GetResourceVersion() { - klog.Infof("UPDATE ResourceVersion Equal %s", e.ObjectNew.GetName()) - //return false - } - - // If a trailblazer dependency is updated we - // want to reconcile it, handle the update event - return f.selectOnlyOwnedObjects(e.ObjectNew) - }, - DeleteFunc: func(e event.DeleteEvent) bool { - - f.mode = "DELETE" - // If an owned object is deleted we - // want to recreate it so handle the delete event - return f.selectOnlyOwnedObjects(e.Object) - }, - GenericFunc: func(e event.GenericEvent) bool { - - f.mode = "GENERIC" - // If a owned object is modified we - // want to reconcile it, handle the generic event - return f.selectOnlyOwnedObjects(e.Object) - }, - } -} diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/filter/filter_test.go b/deploy/k8s-operator/kube-trailblazer/pkg/filter/filter_test.go deleted file mode 100644 index 7d2736816..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/filter/filter_test.go +++ /dev/null @@ -1,476 +0,0 @@ -package filter - -import ( - "context" - "testing" - - "github.com/golang/mock/gomock" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - "github.com/onsi/gomega/types" - appsv1 "k8s.io/api/apps/v1" - "sigs.k8s.io/controller-runtime/pkg/event" - - "github.com/openshift-psap/special-resource-operator/api/v1beta1" - "github.com/openshift-psap/special-resource-operator/pkg/kernel" - "github.com/openshift-psap/special-resource-operator/pkg/lifecycle" - "github.com/openshift-psap/special-resource-operator/pkg/storage" - operatorv1 "github.com/openshift/api/operator/v1" - corev1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" - "sigs.k8s.io/controller-runtime/pkg/client" -) - -var ( - ctrl *gomock.Controller - mockLifecycle *lifecycle.MockLifecycle - mockStorage *storage.MockStorage - mockKernel *kernel.MockKernelData - f filter -) - -func TestFilter(t *testing.T) { - RegisterFailHandler(Fail) - - BeforeEach(func() { - ctrl = gomock.NewController(GinkgoT()) - mockLifecycle = lifecycle.NewMockLifecycle(ctrl) - mockStorage = storage.NewMockStorage(ctrl) - mockKernel = kernel.NewMockKernelData(ctrl) - f = filter{ - //log: zap.New(zap.WriteTo(ioutil.Discard)), - //lifecycle: mockLifecycle, - //storage: mockStorage, - //kernelData: mockKernel, - } - }) - - AfterEach(func() { - ctrl.Finish() - }) - - RunSpecs(t, "Filter Suite") -} - -var _ = Describe("IsTrailblazer", func() { - DescribeTable( - "should return the correct value", - func(obj client.Object, m types.GomegaMatcher) { - Expect(f.isHelmPipelineObject(obj)).To(m) - }, - Entry( - Kind, - &v1beta1.SpecialResource{ - TypeMeta: metav1.TypeMeta{Kind: Kind}, - }, - BeTrue(), - ), - Entry( - "Pod owned by SRO", - &corev1.Pod{ - ObjectMeta: metav1.ObjectMeta{ - Labels: map[string]string{OwnedLabel: "true"}, - }, - }, - BeFalse(), - ), - Entry( - "valid selflink", - func() *unstructured.Unstructured { - uo := &unstructured.Unstructured{} - uo.SetSelfLink("/apis/sro.openshift.io/v1") - - return uo - }(), - BeTrue(), - ), - Entry( - "selflink in Label", - func() *unstructured.Unstructured { - uo := &unstructured.Unstructured{} - uo.SetLabels(map[string]string{"some-label": "/apis/sro.openshift.io/v1"}) - - return uo - }(), - BeTrue(), - ), - Entry( - "no selflink", - &unstructured.Unstructured{}, - BeFalse(), - ), - ) -}) - -var _ = Describe("Owned", func() { - DescribeTable( - "should return the expected value", - func(obj client.Object, m types.GomegaMatcher) { - Expect(f.isOwned(obj)).To(m) - }, - Entry( - "via ownerReferences", - &corev1.Pod{ - ObjectMeta: metav1.ObjectMeta{ - OwnerReferences: []metav1.OwnerReference{ - {Kind: Kind}, - }, - }, - }, - BeTrue(), - ), - Entry( - "via labels", - &corev1.Pod{ - ObjectMeta: metav1.ObjectMeta{ - Labels: map[string]string{OwnedLabel: "whatever"}, - }, - }, - BeTrue(), - ), - Entry( - "not owned", - &corev1.Pod{}, - BeFalse(), - ), - ) -}) - -var _ = Describe("Predicate", func() { - Context("CreateFunc", func() { - DescribeTable( - "should work as expected", - func(obj client.Object, m types.GomegaMatcher) { - ret := f.GetPredicates().Create(event.CreateEvent{Object: obj}) - - Expect(ret).To(m) - Expect(f.GetMode()).To(Equal("CREATE")) - }, - Entry( - "special resource", - &v1beta1.SpecialResource{}, - BeTrue(), - ), - Entry( - "owned", - &corev1.Pod{ - ObjectMeta: metav1.ObjectMeta{ - OwnerReferences: []metav1.OwnerReference{ - {Kind: Kind}, - }, - }, - }, - BeTrue(), - ), - Entry( - "random pod", - &corev1.Pod{}, - BeFalse(), - ), - Entry( - "unmanaged special resource", - &v1beta1.SpecialResource{ - TypeMeta: metav1.TypeMeta{Kind: Kind}, - Spec: v1beta1.SpecialResourceSpec{ - ManagementState: operatorv1.Unmanaged, - }, - }, - BeFalse(), - ), - ) - }) - - Context("UpdateFunc", func() { - DescribeTable( - "should work as expected", - func(mockSetup func(), old client.Object, new client.Object, m types.GomegaMatcher) { - mockSetup() - - ret := f.GetPredicates().Update(event.UpdateEvent{ - ObjectOld: old, - ObjectNew: new, - }) - - Expect(ret).To(m) - Expect(f.GetMode()).To(Equal("UPDATE")) - }, - Entry( - "No change to object's Generation or ResourceVersion", - func() { - mockKernel.EXPECT().IsObjectAffine(gomock.Any()).Return(false) - }, - &corev1.Pod{ - ObjectMeta: metav1.ObjectMeta{ - OwnerReferences: []metav1.OwnerReference{ - {Kind: Kind}, - }, - Generation: 1, - ResourceVersion: "dummy1", - }, - }, - &corev1.Pod{ - ObjectMeta: metav1.ObjectMeta{ - OwnerReferences: []metav1.OwnerReference{ - {Kind: Kind}, - }, - Generation: 1, - ResourceVersion: "dummy1", - }, - }, - BeFalse(), - ), - Entry( - "Object's Generation changed, no change to ResourceVersion", - func() { - mockKernel.EXPECT().IsObjectAffine(gomock.Any()).Return(false) - }, - &corev1.Pod{ - ObjectMeta: metav1.ObjectMeta{ - OwnerReferences: []metav1.OwnerReference{ - {Kind: Kind}, - }, - Generation: 1, - ResourceVersion: "dummy1", - }, - }, - &corev1.Pod{ - ObjectMeta: metav1.ObjectMeta{ - OwnerReferences: []metav1.OwnerReference{ - {Kind: Kind}, - }, - Generation: 2, - ResourceVersion: "dummy1", - }, - }, - BeFalse(), - ), - Entry( - "Object has changed but is not owned by SRO", - func() {}, - &corev1.Pod{ - ObjectMeta: metav1.ObjectMeta{ - Generation: 1, - ResourceVersion: "dummy1", - }, - }, - &corev1.Pod{ - ObjectMeta: metav1.ObjectMeta{ - Generation: 2, - ResourceVersion: "dummy2", - }, - }, - BeFalse(), - ), - Entry( - "Object has changed and it's a SRO owned DaemonSet", - func() { - mockKernel.EXPECT().IsObjectAffine(gomock.Any()).Return(true) - mockLifecycle.EXPECT().UpdateDaemonSetPods(context.TODO(), gomock.Any()) - }, - &appsv1.DaemonSet{ - ObjectMeta: metav1.ObjectMeta{ - OwnerReferences: []metav1.OwnerReference{ - {Kind: Kind}, - }, - Generation: 1, - ResourceVersion: "dummy1", - }, - }, - &appsv1.DaemonSet{ - ObjectMeta: metav1.ObjectMeta{ - OwnerReferences: []metav1.OwnerReference{ - {Kind: Kind}, - }, - Generation: 2, - ResourceVersion: "dummy2", - }, - }, - BeTrue(), - ), - Entry( - "Object is a SRO owned & kernel affine DaemonSet, but did not change", - func() { - mockKernel.EXPECT().IsObjectAffine(gomock.Any()).Return(true) - }, - &appsv1.DaemonSet{ - ObjectMeta: metav1.ObjectMeta{ - OwnerReferences: []metav1.OwnerReference{ - {Kind: Kind}, - }, - Annotations: map[string]string{ - "specialresource.openshift.io/kernel-affine": "true", - }, - Generation: 0, - ResourceVersion: "dummy", - }, - }, - &appsv1.DaemonSet{ - ObjectMeta: metav1.ObjectMeta{ - OwnerReferences: []metav1.OwnerReference{ - {Kind: Kind}, - }, - Annotations: map[string]string{ - "specialresource.openshift.io/kernel-affine": "true", - }, - Generation: 0, - ResourceVersion: "dummy", - }, - }, - BeFalse(), - ), - Entry( - "Object is a SRO owned & kernel affine DaemonSet", - func() { - mockKernel.EXPECT().IsObjectAffine(gomock.Any()).Return(true) - mockLifecycle.EXPECT().UpdateDaemonSetPods(context.TODO(), gomock.Any()) - }, - &appsv1.DaemonSet{ - ObjectMeta: metav1.ObjectMeta{ - OwnerReferences: []metav1.OwnerReference{ - {Kind: Kind}, - }, - Annotations: map[string]string{ - "specialresource.openshift.io/kernel-affine": "true", - }, - Generation: 0, - ResourceVersion: "dummy", - }, - }, - &appsv1.DaemonSet{ - ObjectMeta: metav1.ObjectMeta{ - OwnerReferences: []metav1.OwnerReference{ - {Kind: Kind}, - }, - Annotations: map[string]string{ - "specialresource.openshift.io/kernel-affine": "true", - }, - Generation: 1, - ResourceVersion: "dummy", - }, - }, - BeTrue(), - ), - Entry( - "Object is a SpecialResource with both Generation and ResourceVersion changed", - func() { - mockKernel.EXPECT().IsObjectAffine(gomock.Any()).Return(false) - }, - &v1beta1.SpecialResource{ - ObjectMeta: metav1.ObjectMeta{ - OwnerReferences: []metav1.OwnerReference{ - {Kind: Kind}, - }, - Generation: 1, - ResourceVersion: "dummy1", - }, - }, - &v1beta1.SpecialResource{ - ObjectMeta: metav1.ObjectMeta{ - OwnerReferences: []metav1.OwnerReference{ - {Kind: Kind}, - }, - Generation: 2, - ResourceVersion: "dummy2", - }, - }, - BeTrue(), - ), - Entry( - "Object is a SpecialResource with both Generation and ResourceVersion changed but unmanaged state", - func() { - mockKernel.EXPECT().IsObjectAffine(gomock.Any()).Return(false) - }, - &v1beta1.SpecialResource{ - ObjectMeta: metav1.ObjectMeta{ - OwnerReferences: []metav1.OwnerReference{ - {Kind: Kind}, - }, - Generation: 1, - ResourceVersion: "dummy1", - }, - }, - &v1beta1.SpecialResource{ - ObjectMeta: metav1.ObjectMeta{ - OwnerReferences: []metav1.OwnerReference{ - {Kind: Kind}, - }, - Generation: 2, - ResourceVersion: "dummy2", - }, - Spec: v1beta1.SpecialResourceSpec{ - ManagementState: operatorv1.Unmanaged, - }, - }, - BeFalse(), - ), - ) - }) - - Context("DeleteFunc", func() { - DescribeTable( - "should work as expected", - func(obj client.Object, m types.GomegaMatcher) { - ret := f.GetPredicates().Delete(event.DeleteEvent{Object: obj}) - - Expect(ret).To(m) - Expect(f.GetMode()).To(Equal("DELETE")) - }, - Entry( - "special resource", - &v1beta1.SpecialResource{}, - BeTrue(), - ), - // TODO(qbarrand) testing this function requires injecting a fake pkg/storage - //Entry("owned", ...), - Entry( - "random pod", - &corev1.Pod{}, - BeFalse(), - ), - ) - }) - - Context("GenericFunc", func() { - DescribeTable( - "should return the correct value", - func(obj client.Object, m types.GomegaMatcher) { - ret := f.GetPredicates().Generic(event.GenericEvent{Object: obj}) - - Expect(ret).To(m) - Expect(f.GetMode()).To(Equal("GENERIC")) - }, - Entry( - "special resource", - &v1beta1.SpecialResource{}, - BeTrue(), - ), - Entry( - "owned", - &corev1.Pod{ - ObjectMeta: metav1.ObjectMeta{ - OwnerReferences: []metav1.OwnerReference{ - {Kind: Kind}, - }, - }, - }, - BeTrue(), - ), - Entry( - "random pod", - &corev1.Pod{}, - BeFalse(), - ), - Entry( - "unmanaged special resource", - &v1beta1.SpecialResource{ - TypeMeta: metav1.TypeMeta{Kind: Kind}, - Spec: v1beta1.SpecialResourceSpec{ - ManagementState: operatorv1.Unmanaged, - }, - }, - BeFalse(), - ), - ) - }) -}) diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/LICENSE b/deploy/k8s-operator/kube-trailblazer/pkg/helmer/LICENSE deleted file mode 100644 index 261eeb9e9..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/README.md b/deploy/k8s-operator/kube-trailblazer/pkg/helmer/README.md deleted file mode 100644 index e86bd4b74..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/README.md +++ /dev/null @@ -1 +0,0 @@ -# helmer \ No newline at end of file diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/chart.go b/deploy/k8s-operator/kube-trailblazer/pkg/helmer/chart.go deleted file mode 100644 index 1502167ec..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/chart.go +++ /dev/null @@ -1,72 +0,0 @@ -package helmer - -import helmclient "github.com/mittwald/go-helm-client" - -func (in *chartSpec) DeepCopyInto(out *helmclient.ChartSpec) { - - // copy all chartSpec fields from out to in - out.ReleaseName = in.ReleaseName - out.ChartName = in.ChartName - out.Namespace = in.Namespace - out.ValuesYaml = in.ValuesYaml - out.ValuesOptions = in.ValuesOptions - out.Version = in.Version - out.CreateNamespace = in.CreateNamespace - out.DisableHooks = in.DisableHooks - out.Replace = in.Replace - out.Wait = in.Wait - out.WaitForJobs = in.WaitForJobs - out.DependencyUpdate = in.DependencyUpdate - out.Timeout = in.Timeout - out.GenerateName = in.GenerateName - out.NameTemplate = in.NameTemplate - out.Atomic = in.Atomic - out.SkipCRDs = in.SkipCRDs - out.UpgradeCRDs = in.UpgradeCRDs - out.SubNotes = in.SubNotes - out.Force = in.Force - out.ResetValues = in.ResetValues - out.ReuseValues = in.ReuseValues - out.Recreate = in.Recreate - out.MaxHistory = in.MaxHistory - out.CleanupOnFail = in.CleanupOnFail - out.DryRun = in.DryRun - out.Description = in.Description - out.KeepHistory = in.KeepHistory -} - -func (in *chartSpec) DeepCopy() *helmclient.ChartSpec { - - var out helmclient.ChartSpec - // copy all chartSpec fields from out to in - out.ReleaseName = in.ReleaseName - out.ChartName = in.ChartName - out.Namespace = in.Namespace - out.ValuesYaml = in.ValuesYaml - out.ValuesOptions = in.ValuesOptions - out.Version = in.Version - out.CreateNamespace = in.CreateNamespace - out.DisableHooks = in.DisableHooks - out.Replace = in.Replace - out.Wait = in.Wait - out.WaitForJobs = in.WaitForJobs - out.DependencyUpdate = in.DependencyUpdate - out.Timeout = in.Timeout - out.GenerateName = in.GenerateName - out.NameTemplate = in.NameTemplate - out.Atomic = in.Atomic - out.SkipCRDs = in.SkipCRDs - out.UpgradeCRDs = in.UpgradeCRDs - out.SubNotes = in.SubNotes - out.Force = in.Force - out.ResetValues = in.ResetValues - out.ReuseValues = in.ReuseValues - out.Recreate = in.Recreate - out.MaxHistory = in.MaxHistory - out.CleanupOnFail = in.CleanupOnFail - out.DryRun = in.DryRun - out.Description = in.Description - out.KeepHistory = in.KeepHistory - - return &out -} diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/controller/Makefile b/deploy/k8s-operator/kube-trailblazer/pkg/helmer/controller/Makefile deleted file mode 100644 index 4d9772c1a..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/controller/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -helm: - ../hack/helmer.sh - -GRAPH ?= ${HOME}/github.com/zvonkok/helmer/graphs/helmer-nfd.yaml - -run: helm - go mod tidy - go mod vendor - cp patches/root.go vendor/helm.sh/helm/v3/pkg/chart/. - go run . -g $(GRAPH) - - diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/controller/controller.go b/deploy/k8s-operator/kube-trailblazer/pkg/helmer/controller/controller.go deleted file mode 100644 index 8951956c1..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/controller/controller.go +++ /dev/null @@ -1,133 +0,0 @@ -package main - -import ( - "flag" - "log" - "os" - - cli "github.com/urfave/cli/v2" - - "github.com/nvidia/kube-trailblazer/pkg/helmer" - klog "k8s.io/klog/v2" -) - -func init() { - flags := flag.FlagSet{ - Usage: func() { - }, - } - // Default is logtostderr - klog.InitFlags(&flags) -} - -func main() { - - var err error - var graphs cli.StringSlice - var kubeConfig string - - app := &cli.App{ - Name: "helmer", - Usage: "reconcile a helm graph", - Flags: []cli.Flag{ - &cli.StringFlag{ - Name: "kubeConfig", - Aliases: []string{"k"}, - DefaultText: "${HOME}/.kube/config", - Value: "${HOME}/.kube/config", - Destination: &kubeConfig, - }, - &cli.StringSliceFlag{ - Name: "graphs", - Aliases: []string{"g"}, - Required: true, - DefaultText: "None", - Destination: &graphs, - }, - }, - Action: func(c *cli.Context) error { - return nil - }, - } - - app.Run(os.Args) - if err != nil { - log.Fatal(err) - } - - os.Setenv("HELMER_DEBUG", "1") - - for _, fromFile := range graphs.Value() { - - var orchard helmer.Pipeline - // We're providing Helmer a Graph as the interface what to create - // In an operator we would have a go struct but for testing we can - // also load a Graph from file. - orchard, err = helmer.LoadPipeline(fromFile) - if err != nil { - panic(err) - } - - // RECONCILE LOOP - for _, arbor := range orchard { - - // For each chart we create an Helmer instance with its own settings - // this makes it easier to decouple each chart for processing and clients - // that do not interfere with each other. - h, err := helmer.NewWithPackage(&arbor) - if err != nil { - panic(err) - } - - err = h.GetClientsWithKubeConf("", "default") - if err != nil { - panic(err) - } - - err = h.AddOrUpdateRepo() - if err != nil { - panic(err) - } - - err = h.Lint() - if err != nil { - panic(err) - } - - // klog.Info("TEMPLATE") - // err = h.Template() - // if err != nil { - // panic(err) - // } - - reconcile(h) - } - - } - return -} - -func reconcile(h *helmer.Helmer) { - - for { - err := h.InstallOrUpgradePackage() - if err != nil { - klog.Info(err) - } - if err == nil { - break - } - } -} - -/* -func OpenShiftInstallOrder() { - // Mutates helm package exported variables - idx := utils.StringSliceFind(releaseutil.InstallOrder, "Service") - releaseutil.InstallOrder = utils.StringSliceInsert(releaseutil.InstallOrder, idx, "BuildConfig") - releaseutil.InstallOrder = utils.StringSliceInsert(releaseutil.InstallOrder, idx, "ImageStream") - releaseutil.InstallOrder = utils.StringSliceInsert(releaseutil.InstallOrder, idx, "SecurityContextConstraints") - releaseutil.InstallOrder = utils.StringSliceInsert(releaseutil.InstallOrder, idx, "Issuer") - releaseutil.InstallOrder = utils.StringSliceInsert(releaseutil.InstallOrder, idx, "Certificates") -} -*/ diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/controller/patches/root.go b/deploy/k8s-operator/kube-trailblazer/pkg/helmer/controller/patches/root.go deleted file mode 100644 index fa1eb832a..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/controller/patches/root.go +++ /dev/null @@ -1,8 +0,0 @@ -package chart - -// NotRoot not root -func (ch *Chart) NotRoot() { - ch.parent = nil - ch.dependencies = nil - ch.Metadata.Dependencies = nil -} diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/controller/test.yaml b/deploy/k8s-operator/kube-trailblazer/pkg/helmer/controller/test.yaml deleted file mode 100644 index 7c6f21f26..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/controller/test.yaml +++ /dev/null @@ -1,34 +0,0 @@ - - - repoEntry: - name: "zvonkok" - url: "https://zvonkok.github.io/helm-charts/" - chartSpec: - release: "flannel" - chart: "zvonkok/flannel" - namespace: "flannel" - version: "v0.23.0" - - - repoEntry: - name: "nfd" - url: "https://kubernetes-sigs.github.io/node-feature-discovery/charts" - chartSpec: - release: "node-feature-discovery" - chart: "nfd/node-feature-discovery" - namespace: "node-feature-discovery" - version: "0.14.3" - chartValues: - kernelVersion: "{{ tpl .Values.runtime.kernelVersiosn }}" # {{ tpl .Values.chartValues.kernelVersion . }} - - - repoEntry: - name: "nvidia" - url: "https://helm.ngc.nvidia.com/nvidia" - chartSpec: - release: "gpu-operator" - chart: "nvidia/gpu-operator" - namespace: "gpu-operator" - version: "v23.9.0" - chartValues: - nfd: - enabled: false - mig: - strategy: "single" diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/graphs/helmer-kubevirt.yaml b/deploy/k8s-operator/kube-trailblazer/pkg/helmer/graphs/helmer-kubevirt.yaml deleted file mode 100644 index 6715eed13..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/graphs/helmer-kubevirt.yaml +++ /dev/null @@ -1,41 +0,0 @@ -repoEntry: - name: "nvidia" - url: "file:///home/zvonkok/helm-charts/nvidia" - username: "" - password: "" - certFile: "" - keyFile: "" - caFile: "" - insecure_skip_tls_verify: false - pass_credentials_all: false - -chartSpec: - release: "nvidia-kubevirt" - chart: "nvidia/kata-device-plugin" - namespace: "nvidia" - valuesYaml: "" - version: "1.1.1" - createNamespace: true - disableHooks: false - replace: true - wait: true - waitForJobs: true - dependencyUpdate: false - timeout: 10000000000 - generateName: true - NameTemplate: "" - atomic: false - skipCRDs: false - upgradeCRDs: true - subNotes: false - force: false - resetValues: false - reuseValues: false - recreate: false - maxHistory: 0 - cleanupOnFail: false - dryRun: false - # postRenderer: "setN" - -chartValues: - kernelVersion: "{{ tpl .Values.runtime.kernelVersion }}" # {{ tpl .Values.chartValues.kernelVersion . }} diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/graphs/helmer-nfd.yaml b/deploy/k8s-operator/kube-trailblazer/pkg/helmer/graphs/helmer-nfd.yaml deleted file mode 100644 index 96eded613..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/graphs/helmer-nfd.yaml +++ /dev/null @@ -1,10 +0,0 @@ -- repoEntry: - name: "nfd" - url: "https://kubernetes-sigs.github.io/node-feature-discovery/charts" - chartSpec: - release: "node-feature-discovery" - chart: "nfd/node-feature-discovery" - namespace: "node-feature-discovery" - version: "0.14.3" - chartValues: - kernelVersion: "{{ tpl .Values.runtime.kernelVersion }}" # {{ tpl .Values.chartValues.kernelVersion . }} diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/graphs/helmer-nvidia-kata.yaml b/deploy/k8s-operator/kube-trailblazer/pkg/helmer/graphs/helmer-nvidia-kata.yaml deleted file mode 100644 index f96b8f820..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/graphs/helmer-nvidia-kata.yaml +++ /dev/null @@ -1,41 +0,0 @@ -repoEntry: - name: "nvidia" - url: "file:///home/zvonkok/helm-charts/nvidia" - username: "" - password: "" - certFile: "" - keyFile: "" - caFile: "" - insecure_skip_tls_verify: false - pass_credentials_all: false - -chartSpec: - release: "nvidia-kata" - chart: "nvidia/nvidia-kata" - namespace: "nvidia" - valuesYaml: "" - version: "0.3.0" - createNamespace: true - disableHooks: false - replace: true - wait: true - waitForJobs: true - dependencyUpdate: false - timeout: 10000000000 - generateName: true - NameTemplate: "" - atomic: false - skipCRDs: false - upgradeCRDs: true - subNotes: false - force: false - resetValues: false - reuseValues: false - recreate: false - maxHistory: 0 - cleanupOnFail: false - dryRun: false - # postRenderer: "setN" - -chartValues: - kernelVersion: "{{ tpl .Values.runtime.kernelVersion }}" # {{ tpl .Values.chartValues.kernelVersion . }} diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/graphs/helmer-nvidia-vgpu.yaml b/deploy/k8s-operator/kube-trailblazer/pkg/helmer/graphs/helmer-nvidia-vgpu.yaml deleted file mode 100644 index 67e0c6117..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/graphs/helmer-nvidia-vgpu.yaml +++ /dev/null @@ -1,41 +0,0 @@ -repoEntry: - name: "nvidia" - url: "file:///home/zvonkok/helm-charts/nvidia" - username: "" - password: "" - certFile: "" - keyFile: "" - caFile: "" - insecure_skip_tls_verify: false - pass_credentials_all: false - -chartSpec: - release: "nvidia-vgpu" - chart: "nvidia/nvidia-vgpu" - namespace: "nvidia" - valuesYaml: "" - version: "0.2.0" - createNamespace: true - disableHooks: false - replace: true - wait: true - waitForJobs: true - dependencyUpdate: false - timeout: 10000000000 - generateName: true - NameTemplate: "" - atomic: false - skipCRDs: false - upgradeCRDs: true - subNotes: false - force: false - resetValues: false - reuseValues: false - recreate: false - maxHistory: 0 - cleanupOnFail: false - dryRun: false - # postRenderer: "setN" - -chartValues: - kernelVersion: "{{ tpl .Values.runtime.kernelVersion }}" # {{ tpl .Values.chartValues.kernelVersion . }} diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/hack/helmer.sh b/deploy/k8s-operator/kube-trailblazer/pkg/helmer/hack/helmer.sh deleted file mode 100755 index 471e93820..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/hack/helmer.sh +++ /dev/null @@ -1,68 +0,0 @@ -#!/bin/bash - -HELM_PLUGINS=$(realpath ../plugins) -export HELM_PLUGINS - -HELM_CHARTS_DIR=${HOME}/helm-charts -HELM_REPOS=$(ls -d ${HELM_CHARTS_DIR}/*) -HELM_TMP_DIR=$(mktemp -d) - -function lint { - helm lint --with-subcharts --strict "${CHARTS}" -} - -function package { - helm package "${CHARTS}" --destination "${REPO}" -} - -function repo_index { - helm repo index "${REPO}" --url=file:///${REPO} -} - -function dependency_update { - for CHART in ${CHARTS} - do - helm dependency update "${CHART}" - done -} - -function template { - for CHART in ${CHARTS} - do - MANIFESTS=${HELM_TMP_DIR}/$(basename "${CHART}").yaml - echo "==> Templating ${CHART}" - echo "[INFO] ${MANIFESTS}" - echo "" - helm template --name-template=nvidia "${CHART}" > "${MANIFESTS}" - done -} - - -function kube_linter { - echo "kube-linter" -} - -function helmer_prereq { - ln -sf "${HELM_PLUGINS}" /tmp/.helmplugins -} - -function helmer { - COMMAND=$1 - for REPO in ${HELM_REPOS} - do - CHARTS=$(ls -d "${REPO}"/*/) - ${COMMAND} - done -} - - -helmer_prereq - -#helmer lint -helmer dependency_update -helmer package -helmer repo_index -helmer lint -helmer template -helmer kube_linter - diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/helmer.go b/deploy/k8s-operator/kube-trailblazer/pkg/helmer/helmer.go deleted file mode 100644 index 5207ae77b..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/helmer.go +++ /dev/null @@ -1,599 +0,0 @@ -package helmer - -import ( - "bytes" - "context" - "encoding/json" - "log" - "os" - "reflect" - - apierrors "k8s.io/apimachinery/pkg/api/errors" - - helmclient "github.com/mittwald/go-helm-client" - "github.com/nvidia/kube-trailblazer/pkg/clients" - "github.com/nvidia/kube-trailblazer/pkg/utils" - "github.com/pkg/errors" - "helm.sh/helm/v3/pkg/action" - "helm.sh/helm/v3/pkg/chart" - "helm.sh/helm/v3/pkg/chartutil" - "helm.sh/helm/v3/pkg/release" - "helm.sh/helm/v3/pkg/repo" - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" - "k8s.io/client-go/rest" - "k8s.io/client-go/tools/clientcmd" - "k8s.io/klog/v2" - "sigs.k8s.io/controller-runtime/pkg/client" - "sigs.k8s.io/yaml" -) - -const ( - FilterKind = "HelmPipeline" - FilterOwnedLabel = "app.trailblazer.nvidia.com/owned-by" -) - -func (h *Helmer) GetClientsWithRestConf(restConf *rest.Config) error { - - var err error - - opt := &helmclient.RestConfClientOptions{ - Options: &helmclient.Options{ - Namespace: h.Package.ChartSpec.Namespace, // Change this to the namespace you wish to install the chart in. - RepositoryCache: "/tmp/.helmcache", - RepositoryConfig: "/tmp/.helmrepo", - Debug: true, - Linting: false, // Change this to false if you don't want linting. - DebugLog: klog.Infof, - }, - RestConfig: restConf, - } - - h.Client, err = helmclient.NewClientFromRestConf(opt) - if err != nil { - return errors.Wrap(err, "\n[GGetClientWithRestConf]\tcannot create client from restConfig") - } - h.KubeClient, err = clients.NewKubeClientsFromRestConf(restConf) - if err != nil { - return errors.Wrapf(err, "\n[GGetClientWithRestConf]\tcannot create kubeClients from restConfig") - } - return nil -} - -// GetClientWithKubeConf create a Helmer with a supplied KubeConf -func (h *Helmer) GetClientsWithKubeConf(path string, kubeContext string) error { - - if path == "" { - homeDir, err := os.UserHomeDir() - if err != nil { - return errors.Wrapf(err, "\n[GetClientWithKubeConf]\tcannot read user home dir") - } - path = homeDir + "/.kube/config" - } - - kubeConfig, err := os.ReadFile(path) - if err != nil { - return errors.Wrapf(err, "\n[GetClientWithKubeConf]\tcannot read kubeConfig from path %s:%v", path, err) - } - - opt := &helmclient.KubeConfClientOptions{ - Options: &helmclient.Options{ - Namespace: h.Package.ChartSpec.Namespace, // Change this to the namespace you wish to install the chart in. - RepositoryCache: "/tmp/.helmcache", - RepositoryConfig: "/tmp/.helmrepo", - Debug: true, - Linting: false, // Change this to false if you don't want linting. - DebugLog: klog.Infof, - }, - KubeContext: kubeContext, - KubeConfig: kubeConfig, - } - - h.Client, err = helmclient.NewClientFromKubeConf(opt) - if err != nil { - return errors.Wrap(err, "\n[GetClientWithKubeConf]\tcannot create client from kubeConfig") - } - - clientCfg, err := clientcmd.NewClientConfigFromBytes(kubeConfig) - if err != nil { - log.Fatal(err) - } - - restConf, err := clientCfg.ClientConfig() - if err != nil { - log.Fatal(err) - } - h.KubeClient, err = clients.NewKubeClientsFromRestConf(restConf) - if err != nil { - return errors.Wrapf(err, "\n[GGetClientWithRestConf]\tcannot create kubeClients from restConfig") - } - return nil -} - -// New creates a simple Helmer object with debugging flag set -func New() (*Helmer, error) { - - h := &Helmer{ - Debug: false, - } - - os.Setenv("HELM_DEBUG", "1") - //os.Setenv("HELM_PLUGINS", "/tmp/.helmplugins") - - if debug := os.Getenv("HELMER_DEBUG"); debug == "1" { - h.Debug = true - } - - h.Options = helmclient.GenericHelmOptions{ - PostRenderer: h, - RollBack: nil, - } - - return h, nil -} - -// NewWithPackage creates a very simple Helmer object -func NewWithPackage(pkg *HelmPackage) (*Helmer, error) { - - h, _ := New() - h.Package = *pkg - - // TODO: Is there a better place to have this logic? BEGIN - hash, err := utils.FNV64a(h.Package.RepoEntry.URL) - if err != nil { - return nil, errors.Wrapf(err, "[NewWithPackage] cannot create hash for repo ") - } - - if h.Package.RepoEntry.Name == "" { - h.Package.RepoEntry.Name = hash - } - - if h.Package.ChartSpec.Namespace == "" { - h.Package.ChartSpec.Namespace = h.Package.ChartSpec.ChartName - h.Package.ChartSpec.CreateNamespace = true - } - - if h.Package.ChartSpec.ReleaseName == "" { - h.Package.ChartSpec.ReleaseName = h.Package.ChartSpec.ChartName + "-" + hash - } - // Replace the chart name with the full chart name - h.Package.ChartSpec.ChartName = h.Package.RepoEntry.Name + "/" + h.Package.ChartSpec.ChartName - // TODO: Is there a better place to have this logic? END - - // This is needed for housekeeping between rootChart and childChart - h.Package.ReleaseName = h.Package.ChartSpec.ReleaseName - - return h, nil -} - -// LoadPipeline loads an Pipeline from various sources -func LoadPipeline(object interface{}) (Pipeline, error) { - - var err error - var pipeline Pipeline - switch t := object.(type) { - case string: - - klog.Info("Pipeline:", object) - if pipeline, err = LoadPipelineFromFile(t); err != nil { - return nil, errors.Wrapf(err, "\n[LoadPipeline]\tfailed loading Package from file: %s", t) - } - return pipeline, nil - - case map[string]interface{}: - - klog.Info("Pipeline:", object) - if pipeline, err = LoadPipelineFromObject(t); err != nil { - return nil, errors.Wrapf(err, "\n[LoadPipeline]\tfailed loading Package from map: %v", t) - } - - return pipeline, nil - - default: - return nil, errors.New("\n[Load]\tcannot construct Package from type: " + reflect.TypeOf(object).String()) - } -} - -// LoadPipelineFromFile reads an Pipeline object from provided YANL file -func LoadPipelineFromFile(file string) (Pipeline, error) { - - var orhcard Pipeline - - yamlText, err := os.ReadFile(file) - if err != nil { - return nil, errors.Wrapf(err, "\n[LoadPackageFromFile]\tcannot read %s from path %s:%v", yamlText, file, err) - } - - jsonText, err := yaml.YAMLToJSON(yamlText) - if err != nil { - return nil, errors.Wrapf(err, "\n[LoadPackageFromFile]\tfailed on %s", yamlText) - } - dec := json.NewDecoder(bytes.NewReader(jsonText)) - dec.DisallowUnknownFields() - - if err := dec.Decode(&orhcard); err != nil { - return nil, errors.Wrapf(err, "\n[LoadPackageFromFile]\tfailed on %s", jsonText) - } - return UpdatePipelineWithDefaultChartSpec(orhcard), err -} - -// LoadPipelineFromObject loads an Pipeline from a CR or any other YAML like object -func LoadPipelineFromObject(object map[string]interface{}) (Pipeline, error) { - - var pipeline Pipeline - - UpdatePipelineWithDefaultChartSpec(pipeline) - return pipeline, nil -} - -// GetChart loads the chart from the repo -func (h *Helmer) GetChart(chartSpec *helmclient.ChartSpec) (*chart.Chart, error) { - - chart, _, err := h.Client.GetChart(chartSpec.ChartName, &action.ChartPathOptions{}) - return chart, err - -} - -// InstallOrUpgradePackage implements HelmHelper -func (h *Helmer) InstallOrUpgradePackage() error { - - // The graph chart values can override chart.Values - rootValues := h.Package.ChartValues - - chartSpec := h.Package.ChartSpec.DeepCopy() - rootChart, err := h.GetChart(chartSpec) - if err != nil { - return errors.Wrapf(err, "\n[InstallOrUpgradePackage]\tcannot get Chart from Package %s", h.Package.ChartSpec.ReleaseName) - } - err = h.install(rootChart, &rootValues) - if err != nil { - return errors.Wrapf(err, "\n[InstallOrUpgradePackage]\tcannot install Chart from Package %s", h.Package.ChartSpec.ReleaseName) - } - - return nil -} - -func checkKubeAPIErrors(err error, msg string) error { - if apierrors.IsNotFound(err) { - return errors.Wrapf(err, "[checkKubeAPIErrors]\t%s not found", msg) - - } - if apierrors.IsForbidden(err) { - return errors.Wrapf(err, "[checkKubeAPIErrors]\tforbidden, check Role, ClusterRole and Bindings for operator") - } - - if err != nil { - return errors.Wrapf(err, "[checkKubeAPIErrors]\tunexpected error") - } - return nil -} - -func (h *Helmer) setReleaseOwnerReference(chartRelease *release.Release) error { - - matchingLabels := map[string]string{ - "owner": "helm", - "name": chartRelease.Name, - "status": "deployed", - } - - opts := []client.ListOption{ - client.InNamespace(chartRelease.Namespace), - client.MatchingLabels(matchingLabels), - } - - secrets := unstructured.UnstructuredList{} - secrets.SetAPIVersion("v1") - secrets.SetKind("SecretList") - - err := h.KubeClient.List(context.TODO(), &secrets, opts...) - if checkKubeAPIErrors(err, "SecretList"); err != nil { - return errors.Wrapf(err, "[setReleaseOwnerReference]\tcannot list secrets for chartRelease: ", chartRelease.Name) - } - - for _, secret := range secrets.Items { - labels := secret.GetLabels() - labels[FilterOwnedLabel] = FilterKind - - secret.SetLabels(labels) - klog.Infof("[setReleaseOwnerReference]\tupdating release %s:%s", secret.GetNamespace(), secret.GetName()) - err := h.KubeClient.Update(context.Background(), &secret) - if checkKubeAPIErrors(err, "Secret"); err != nil { - return errors.Wrapf(err, "[setReleaseOwnerReference]\tcannot update secret for chartRelease: ", chartRelease.Name) - } - } - - return nil -} - -func (h *Helmer) install(rootChart *chart.Chart, rootValues *chartutil.Values) error { - - var err error - // TODO: Sharing Templates with Subcharts - // Parent charts and subcharts can share templates. - // Any defined block in any chart is available to other charts. - //for _, childChart := range rootChart { - // id := childChart.ChartFullPath() - //} - - // rootValues will hold the value overrides for the child chart - *rootValues, err = chartutil.CoalesceValues(rootChart, rootValues.AsMap()) - if err != nil { - return errors.Wrapf(err, "\n[Install]\tcoalesce values failed %v", rootChart.Name()) - } - - err = chartutil.ProcessDependencies(rootChart, *rootValues) - if err != nil { - return errors.Wrapf(err, "\n[Install]\tprocess dependencies failed for %v", rootChart.Name()) - } - - // We need the initial releaseName since we're updating each child chart - // with a new releaseName, this way we are not concat relase + child0 + child1 - h.installDependencies(rootChart.Dependencies(), rootValues) - - // Reset the releasename if we are the original root chart - if rootChart.IsRoot() { - h.Package.ChartSpec.ReleaseName = h.Package.ReleaseName - } - // Need to reset the root flag, helm aggregates all Values and templates - // if it is a root chart it will only populate the child values with - // the root .Value.childChart not the actual child values - rootChart.NotRoot() - - vals, err := rootValues.YAML() - if err != nil { - return errors.Wrapf(err, "\n[Install]\tcannot convert rootValues to YAML") - } - - h.Package.ChartSpec.ValuesYaml = vals - - chartSpec := h.Package.ChartSpec.DeepCopy() - chartRelease, err := h.Client.InstallOrUpgradeChart(context.TODO(), chartSpec, &h.Options) - if err != nil { - return errors.Wrapf(err, "\n[Install]\tchart failed with %v", rootChart.Name()) - } - - err = h.setReleaseOwnerReference(chartRelease) - if err != nil { - return errors.Wrapf(err, "\n[Install]\tcannot setReleaseOwnerReference for charRelease %s", chartRelease.Name) - } - - return nil -} - -func (h *Helmer) installDependencies(rootChart []*chart.Chart, rootValues *chartutil.Values) error { - - childValues := chartutil.Values{} - - for _, childChart := range rootChart { - - // Overriding Values from a Parent Values - // The value at the top level can override the - // value of the subchart. - if rootOverride, err := rootValues.Table(childChart.Name()); err == nil { - childValues = chartutil.CoalesceTables(childValues, rootOverride) - } - - // Global Chart Values - // Global values are values that can be accessed from any - // chart or subchart by exactly the same name. - if rootGlobal, err := rootValues.Table("global"); err == nil { - childGlobal, err := childValues.Table("global") - if err != nil { - return errors.Wrap(err, "\n[installDependencies]\tcannot extract global from childValues") - } - childValues["global"] = chartutil.CoalesceTables(childGlobal, rootGlobal) - } - - h.installDependency(childChart, &childValues) - } - return nil -} - -func (h *Helmer) updateChildPackage(childChart *chart.Chart) { - h.Package.ChartSpec.ReleaseName = h.Package.ReleaseName + "-" + childChart.Name() - h.Package.ChartSpec.ChartName = h.Package.RepoEntry.Name + "/" + childChart.Name() - h.Package.ChartSpec.Version = childChart.Metadata.Version -} - -func (h *Helmer) installDependency(childChart *chart.Chart, childValues *chartutil.Values) error { - - // For each chart we create an Helmer instance with its own settings - // this makes it easier to decouple each chart for processing and clients - // that do not interfere with each other. - - // Copy root definitions and apply to child charts, we may think of - // own graph definitions for child charts - h.updateChildPackage(childChart) - - klog.Info(h.Package.ChartSpec) - - c, err := NewWithPackage(&h.Package) - if err != nil { - return errors.Wrapf(err, "\n[installDependency]\tcannot create new Helmer with Package %s", h.Package.ChartSpec.ReleaseName) - } - - // TODO: add generic client which can handle "all" situations - err = c.GetClientsWithKubeConf("", "default") - if err != nil { - return errors.Wrapf(err, "\n[installDependency]\tcannot get client with kubeConf") - } - - klog.Info("[InstallChildChart]: ", childChart.Name()) - - err = c.install(childChart, childValues) - if err != nil { - return errors.Wrapf(err, "\n[installDependency]\tcannot install chart: %s", childChart.Name()) - } - return nil -} - -// Upgrade implements HelmHelper -func (h *Helmer) Upgrade() error { - panic("unimplemented") -} - -// Lint implement HelmHelper -func (h *Helmer) Lint() error { - chartSpec := h.Package.ChartSpec.DeepCopy() - if err := h.Client.LintChart(chartSpec); err != nil { - return errors.Wrap(err, "[Lint] failed linting chart") - } - return nil -} - -// Template implement HelmHelper -func (h *Helmer) Template() error { - var err error - yamls := []byte{} - chartSpec := h.Package.ChartSpec.DeepCopy() - if yamls, err = h.Client.TemplateChart(chartSpec, nil); err != nil { - return errors.Wrap(err, "[Template] templating failed") - } - if h.Debug { - klog.Info(string(yamls)) - } - - return nil -} - -// AddOrUpdateRepo implements HelmHelper -func (h *Helmer) AddOrUpdateRepo() error { - - var repoEntry repo.Entry - - h.Package.RepoEntry.DeepCopyInto(&repoEntry) - if err := h.Client.AddOrUpdateChartRepo(repoEntry); err != nil { - return errors.Wrapf(err, "[AddOrUpdateChartRepo] failed with repo entry %v", h.Package.RepoEntry) - } - - return nil -} - -func (h *Helmer) RunChartTests() (bool, error) { - return h.Client.RunChartTests(h.Package.ChartSpec.ReleaseName) -} - -func ReconcileDelete(pipeline Pipeline, restConf *rest.Config) error { - for _, pkg := range UpdatePipelineWithDefaultChartSpec(pipeline) { - - // For each chart we create an Helmer instance with its own settings - // this makes it easier to decouple each chart for processing and clients - // that do not interfere with each other. - h, err := NewWithPackage(&pkg) - if err != nil { - panic(err) - } - - err = h.GetClientsWithRestConf(restConf) - if err != nil { - panic(err) - } - chartSpec := h.Package.ChartSpec.DeepCopy() - err = h.UninstallRelease(chartSpec) - if err != nil { - return errors.Wrapf(err, "\n[ReconcileDelete]\tcannot uninstall release %s", h.Package.ChartSpec.ReleaseName) - } - } - return nil -} - -func ReconcileCreate(pipeline Pipeline, restConf *rest.Config) ([]*release.Release, error) { - - var releases []*release.Release - - for _, pkg := range UpdatePipelineWithDefaultChartSpec(pipeline) { - // For each chart we create an Helmer instance with its own settings - // this makes it easier to decouple each chart for processing and clients - // that do not interfere with each other. - h, err := NewWithPackage(&pkg) - if err != nil { - panic(err) - } - - err = h.GetClientsWithRestConf(restConf) - if err != nil { - panic(err) - } - err = h.AddOrUpdateRepo() - if err != nil { - return nil, err - } - - err = h.Lint() - if err != nil { - return nil, err - } - err = h.InstallOrUpgradePackage() - if err != nil { - return nil, err - } - ok, err := h.RunChartTests() - if !ok { - klog.Infof("[Reconcile]\tchart tests failed for %s", h.Package.ChartSpec.ReleaseName) - return nil, err - } - if err != nil { - klog.Infof("[Reconcile]\terror executing tests for %s", h.Package.ChartSpec.ReleaseName) - - } - if err == nil { - releases, err = h.ListDeployedReleases() - if err != nil { - return nil, err - } - } - } - return releases, nil -} - -// UpdateGrapshWithDefaultChartSpec updates a HelmPackage with default ChartSpec values -func UpdatePipelineWithDefaultChartSpec(in Pipeline) Pipeline { - var out Pipeline - for _, pkg := range in { - pkg.ChartSpec.CreateNamespace = true - pkg.ChartSpec.DisableHooks = false - pkg.ChartSpec.Replace = true - pkg.ChartSpec.Wait = true - pkg.ChartSpec.WaitForJobs = true - pkg.ChartSpec.DependencyUpdate = false - pkg.ChartSpec.Timeout = 10000000000 - pkg.ChartSpec.GenerateName = false - pkg.ChartSpec.NameTemplate = "" - pkg.ChartSpec.Atomic = false - pkg.ChartSpec.SkipCRDs = false - pkg.ChartSpec.UpgradeCRDs = true - pkg.ChartSpec.SubNotes = false - pkg.ChartSpec.Force = false - pkg.ChartSpec.ResetValues = false - pkg.ChartSpec.ReuseValues = false - pkg.ChartSpec.Recreate = false - // Keep this at one, otherwise we will have a lot of - // incomplete releases because of reconciliation - pkg.ChartSpec.MaxHistory = 0 - pkg.ChartSpec.CleanupOnFail = false - pkg.ChartSpec.DryRun = false - pkg.ChartSpec.Description = "" - pkg.ChartSpec.KeepHistory = false - out = append(out, pkg) - } - return out -} - -func (h *Helmer) UninstallRelease(spec *helmclient.ChartSpec) error { - return h.Client.UninstallRelease(spec) -} -func (h *Helmer) ListDeployedReleases() ([]*release.Release, error) { - - ownedReleases := make([]*release.Release, 0) - - chartReleases, err := h.Client.ListDeployedReleases() - if err != nil { - - } - for _, chartRelease := range chartReleases { - if chartRelease.Labels[FilterOwnedLabel] == FilterKind { - ownedReleases = append(ownedReleases, chartRelease) - } - - } - return ownedReleases, nil -} diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/interface.go b/deploy/k8s-operator/kube-trailblazer/pkg/helmer/interface.go deleted file mode 100644 index d11494451..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/interface.go +++ /dev/null @@ -1,23 +0,0 @@ -package helmer - -import ( - helmclient "github.com/mittwald/go-helm-client" - "helm.sh/helm/v3/pkg/chart" - "helm.sh/helm/v3/pkg/release" - "k8s.io/client-go/rest" -) - -// Interface a helm hepler Helper -type Interface interface { - InstallOrUpgradePackage() error - Upgrade() error - Lint() error - Template() error - AddOrUpdateRepo() error - GetClientsWithKubeConf(path string, kubeContext string) error - GetClientsWithRestConf(restConf *rest.Config) error - GetChart(char *helmclient.ChartSpec) (*chart.Chart, error) - RunChartTests() (bool, error) - UninstallRelease(spec *helmclient.ChartSpec) error - ListDeployedReleases() ([]*release.Release, error) -} diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/package.go b/deploy/k8s-operator/kube-trailblazer/pkg/helmer/package.go deleted file mode 100644 index 8abae9f4a..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/package.go +++ /dev/null @@ -1,62 +0,0 @@ -package helmer - -import ( - "github.com/mittwald/go-helm-client/values" -) - -// NewHelmPackageWithDefaultChartSpec creates a new HelmPackage with default ChartSpec values -// that trailblazer things may be usefull -func NewHelmPackageWithDefaultChartSpec() *HelmPackage { - pipeline := &HelmPackage{ - RepoEntry: repoEntry{}, - ChartSpec: chartSpec{ - ReleaseName: "", - ChartName: "", - Namespace: "", - ValuesYaml: "", - ValuesOptions: values.Options{}, - Version: "", - CreateNamespace: true, - DisableHooks: false, - Replace: true, - Wait: true, - WaitForJobs: true, - DependencyUpdate: false, - Timeout: 90000000000, - GenerateName: true, - NameTemplate: "", - Atomic: false, - SkipCRDs: false, - UpgradeCRDs: true, - SubNotes: false, - Force: false, - ResetValues: false, - ReuseValues: false, - Recreate: false, - MaxHistory: 1, - CleanupOnFail: false, - DryRun: false, - Description: "", - KeepHistory: false, - }, - ChartValues: make(map[string]interface{}), - ReleaseName: "", - } - return pipeline -} - -func (in *HelmPackage) DeepCopyInto(out *HelmPackage) { - *out = *in - out.RepoEntry = in.RepoEntry - out.ChartSpec = in.ChartSpec - out.ChartValues = in.ChartValues -} - -func (in *HelmPackage) DeepCopy() *HelmPackage { - if in == nil { - return nil - } - out := new(HelmPackage) - in.DeepCopyInto(out) - return out -} diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/plugins/file-proto/file-downloader.sh b/deploy/k8s-operator/kube-trailblazer/pkg/helmer/plugins/file-proto/file-downloader.sh deleted file mode 100755 index 8066b4e06..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/plugins/file-proto/file-downloader.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -# [~/helm-charts/nvidia]$ helm package kvm-driver-container-0.1.0 -# Successfully packaged chart and saved it to: /home/zvonkok/helm-charts/nvidia/kvm-driver-container-0.1.0.tgz -# [~/helm-charts/nvidia]$ helm repo index . --url=file:///$PWD - -FILE=${4/file:\/\//} - -echo $FILE >> /tmp/log.txt - -cat $FILE diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/plugins/file-proto/file-helper.sh b/deploy/k8s-operator/kube-trailblazer/pkg/helmer/plugins/file-proto/file-helper.sh deleted file mode 100644 index f355d4e52..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/plugins/file-proto/file-helper.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -# See e.g. https://github.com/viglesiasce/helm-gcs/tree/master/bin \ No newline at end of file diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/plugins/file-proto/plugin.yaml b/deploy/k8s-operator/kube-trailblazer/pkg/helmer/plugins/file-proto/plugin.yaml deleted file mode 100644 index 400f78c7c..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/plugins/file-proto/plugin.yaml +++ /dev/null @@ -1,9 +0,0 @@ -name: "file" -version: "0.1.0" -usage: "file:// protocol for charts and repositories." -description: "file:// protocol for charts and repositories." -command: "$HELM_PLUGIN_DIR/file-helper.sh" -downloaders: -- command: "file-downloader.sh" - protocols: - - "file" diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/plugins/plugins b/deploy/k8s-operator/kube-trailblazer/pkg/helmer/plugins/plugins deleted file mode 120000 index 83aedfc9d..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/plugins/plugins +++ /dev/null @@ -1 +0,0 @@ -/zvonkok/github.com/zvonkok/helmer/plugins \ No newline at end of file diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/postrenderer.go b/deploy/k8s-operator/kube-trailblazer/pkg/helmer/postrenderer.go deleted file mode 100644 index 8f31df684..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/postrenderer.go +++ /dev/null @@ -1,68 +0,0 @@ -package helmer - -import ( - "bytes" - "errors" - "fmt" - "os" - "os/exec" -) - -func check(e error) { - if e != nil { - panic(e) - } -} - -func mkdir(path string) error { - if _, err := os.Stat(path); errors.Is(err, os.ErrNotExist) { - err := os.MkdirAll(path, os.ModePerm) - if err != nil { - return err - } - } - return nil -} - -func (h *Helmer) Run(renderedManifests *bytes.Buffer) (modifiedManifests *bytes.Buffer, err error) { - - kustomizePath := "/kustomize/" - chart := h.Package.ReleaseName + "-" + h.Package.ChartSpec.Version - basePath := kustomizePath + chart + "/base/" - - err = mkdir(basePath) - check(err) - - var kustomization bytes.Buffer - - manifests := bytes.Split(renderedManifests.Bytes(), []byte("---")) - if len(manifests[0]) == 0 { - manifests = manifests[1:] - } - - kustomization.WriteString("resources:\n") - for i, manifest := range manifests { - // this cannot error per docs - name := fmt.Sprintf("resource-%d.yaml", i) - err := os.WriteFile(basePath+name, manifest, 0644) - check(err) - fmt.Fprintf(&kustomization, " - %s\n", name) - } - - kustomization.WriteString("\n") - kustomization.WriteString("commonLabels:\n") - kustomization.WriteString(" app.trailblazer.nvidia.com/owned-by: HelmOrchard\n") - - err = os.WriteFile(basePath+"kustomization.yaml", kustomization.Bytes(), 0644) - check(err) - - kustomize := exec.Command("kustomize", "build", basePath) - out, err := kustomize.Output() - check(err) - - // otherwise, print the output from running the command - //klog.Info("Output: ", string(out)) - renderedManifests = bytes.NewBuffer(out) - - return renderedManifests, nil -} diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/repo.go b/deploy/k8s-operator/kube-trailblazer/pkg/helmer/repo.go deleted file mode 100644 index d6dc642fe..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/repo.go +++ /dev/null @@ -1,17 +0,0 @@ -package helmer - -import "helm.sh/helm/v3/pkg/repo" - -func (in *repoEntry) DeepCopyInto(out *repo.Entry) *repo.Entry { - out.Name = in.Name - out.URL = in.URL - out.Username = in.Username - out.Password = in.Password - out.CertFile = in.CertFile - out.KeyFile = in.KeyFile - out.CAFile = in.CAFile - out.InsecureSkipTLSverify = in.InsecureSkipTLSverify - out.PassCredentialsAll = in.PassCredentialsAll - - return out -} diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/types.go b/deploy/k8s-operator/kube-trailblazer/pkg/helmer/types.go deleted file mode 100644 index cac21c615..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/helmer/types.go +++ /dev/null @@ -1,150 +0,0 @@ -package helmer - -import ( - "time" - - helmclient "github.com/mittwald/go-helm-client" - "github.com/mittwald/go-helm-client/values" - "github.com/nvidia/kube-trailblazer/pkg/clients" - "helm.sh/helm/v3/pkg/chartutil" -) - -// Type Guard asserting that Helmer satisfies the Helmer interface. -var _ Interface = &Helmer{} - -// Helmer describes the resource to be built -type Helmer struct { - Package HelmPackage `json:"helmArbor"` - Client helmclient.Client `json:"helmClient"` - Options helmclient.GenericHelmOptions `json:"helmOptions"` - KubeClient clients.ClientsInterface `json:"kubeClient"` - Debug bool `json:"debug"` -} - -// Entry represents a collection of parameters for chart repository, since -// we cannot annotate the internal helm struct we're doing it here -type repoEntry struct { - // +kubebuilder:validation:Optional - Name string `json:"name"` - URL string `json:"url"` - // +kubebuilder:validation:Optional - Username string `json:"username"` - // +kubebuilder:validation:Optional - Password string `json:"password"` - // +kubebuilder:validation:Optional - CertFile string `json:"certFile"` - // +kubebuilder:validation:Optional - KeyFile string `json:"keyFile"` - // +kubebuilder:validation:Optional - CAFile string `json:"caFile"` - // +kubebuilder:validation:Optional - InsecureSkipTLSverify bool `json:"insecure_skip_tls_verify"` - // +kubebuilder:validation:Optional - PassCredentialsAll bool `json:"pass_credentials_all"` -} -type chartSpec struct { - // +kubebuilder:validation:Optional - ReleaseName string `json:"release"` - ChartName string `json:"chart"` - // Namespace where the chart release is deployed. - // Note that helmclient.Options.Namespace should ideally match the namespace configured here. - // +kubebuilder:validation:Optional - Namespace string `json:"namespace"` - // ValuesYaml is the values.yaml content. - // use string instead of map[string]interface{} - // https://github.com/kubernetes-sigs/kubebuilder/issues/528#issuecomment-466449483 - // and https://github.com/kubernetes-sigs/controller-tools/pull/317 - // +optional - ValuesYaml string `json:"valuesYaml,omitempty"` - // Specify values similar to the cli - // +optional - ValuesOptions values.Options `json:"valuesOptions,omitempty"` - // Version of the chart release. - // +optional - Version string `json:"version,omitempty"` - // CreateNamespace indicates whether to create the namespace if it does not exist. - // +optional - CreateNamespace bool `json:"createNamespace,omitempty"` - // DisableHooks indicates whether to disable hooks. - // +optional - DisableHooks bool `json:"disableHooks,omitempty"` - // Replace indicates whether to replace the chart release if it already exists. - // +optional - Replace bool `json:"replace,omitempty"` - // Wait indicates whether to wait for the release to be deployed or not. - // +optional - Wait bool `json:"wait,omitempty"` - // WaitForJobs indicates whether to wait for completion of release Jobs before marking the release as successful. - // 'Wait' has to be specified for this to take effect. - // The timeout may be specified via the 'Timeout' field. - WaitForJobs bool `json:"waitForJobs,omitempty"` - // DependencyUpdate indicates whether to update the chart release if the dependencies have changed. - // +optional - DependencyUpdate bool `json:"dependencyUpdate,omitempty"` - // Timeout configures the time to wait for any individual Kubernetes operation (like Jobs for hooks). - // +optional - Timeout time.Duration `json:"timeout,omitempty"` - // GenerateName indicates that the release name should be generated. - // +optional - GenerateName bool `json:"generateName,omitempty"` - // NameTemplate is the template used to generate the release name if GenerateName is configured. - // +optional - NameTemplate string `json:"nameTemplate,omitempty"` - // Atomic indicates whether to install resources atomically. - // 'Wait' will automatically be set to true when using Atomic. - // +optional - Atomic bool `json:"atomic,omitempty"` - // SkipCRDs indicates whether to skip CRDs during installation. - // +optional - SkipCRDs bool `json:"skipCRDs,omitempty"` - // Upgrade indicates whether to perform a CRD upgrade during installation. - // +optional - UpgradeCRDs bool `json:"upgradeCRDs,omitempty"` - // SubNotes indicates whether to print sub-notes. - // +optional - SubNotes bool `json:"subNotes,omitempty"` - // Force indicates whether to force the operation. - // +optional - Force bool `json:"force,omitempty"` - // ResetValues indicates whether to reset the values.yaml file during installation. - // +optional - ResetValues bool `json:"resetValues,omitempty"` - // ReuseValues indicates whether to reuse the values.yaml file during installation. - // +optional - ReuseValues bool `json:"reuseValues,omitempty"` - // Recreate indicates whether to recreate the release if it already exists. - // +optional - Recreate bool `json:"recreate,omitempty"` - // MaxHistory limits the maximum number of revisions saved per release. - // +optional - MaxHistory int `json:"maxHistory,omitempty"` - // CleanupOnFail indicates whether to cleanup the release on failure. - // +optional - CleanupOnFail bool `json:"cleanupOnFail,omitempty"` - // DryRun indicates whether to perform a dry run. - // +optional - DryRun bool `json:"dryRun,omitempty"` - // Description specifies a custom description for the uninstalled release - // +optional - Description string `json:"description,omitempty"` - // KeepHistory indicates whether to retain or purge the release history during uninstall - // +optional - KeepHistory bool `json:"keepHistory,omitempty"` -} - -// A shelter of vines or branches or of latticework covered with climbing -// shrubs or vines, also latin for tree -type HelmPackage struct { - RepoEntry repoEntry `json:"repoEntry"` - ChartSpec chartSpec `json:"chartSpec"` - // +kubebuilder:validation:Optional - // +kubebuilder:validation:Schemaless - // +kubebuilder:pruning:PreserveUnknownFields - // +kubebuilder:validation:Type=object - // TODO ChartValues json.RawMessage `json:"chartValues"` - ChartValues chartutil.Values `json:"chartValues"` - // +kubebuilder:validation:Optional - ReleaseName string `json:"releaseName"` -} - -type Pipeline []HelmPackage diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/storage/mock_storage_api.go b/deploy/k8s-operator/kube-trailblazer/pkg/storage/mock_storage_api.go deleted file mode 100644 index 14004b58e..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/storage/mock_storage_api.go +++ /dev/null @@ -1,79 +0,0 @@ -// Code generated by MockGen. DO NOT EDIT. -// Source: storage.go - -// Package storage is a generated GoMock package. -package storage - -import ( - context "context" - reflect "reflect" - - gomock "github.com/golang/mock/gomock" - types "k8s.io/apimachinery/pkg/types" -) - -// MockStorage is a mock of Storage interface. -type MockStorage struct { - ctrl *gomock.Controller - recorder *MockStorageMockRecorder -} - -// MockStorageMockRecorder is the mock recorder for MockStorage. -type MockStorageMockRecorder struct { - mock *MockStorage -} - -// NewMockStorage creates a new mock instance. -func NewMockStorage(ctrl *gomock.Controller) *MockStorage { - mock := &MockStorage{ctrl: ctrl} - mock.recorder = &MockStorageMockRecorder{mock} - return mock -} - -// EXPECT returns an object that allows the caller to indicate expected use. -func (m *MockStorage) EXPECT() *MockStorageMockRecorder { - return m.recorder -} - -// CheckConfigMapEntry mocks base method. -func (m *MockStorage) CheckConfigMapEntry(arg0 context.Context, arg1 string, arg2 types.NamespacedName) (string, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "CheckConfigMapEntry", arg0, arg1, arg2) - ret0, _ := ret[0].(string) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// CheckConfigMapEntry indicates an expected call of CheckConfigMapEntry. -func (mr *MockStorageMockRecorder) CheckConfigMapEntry(arg0, arg1, arg2 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckConfigMapEntry", reflect.TypeOf((*MockStorage)(nil).CheckConfigMapEntry), arg0, arg1, arg2) -} - -// DeleteConfigMapEntry mocks base method. -func (m *MockStorage) DeleteConfigMapEntry(arg0 context.Context, arg1 string, arg2 types.NamespacedName) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "DeleteConfigMapEntry", arg0, arg1, arg2) - ret0, _ := ret[0].(error) - return ret0 -} - -// DeleteConfigMapEntry indicates an expected call of DeleteConfigMapEntry. -func (mr *MockStorageMockRecorder) DeleteConfigMapEntry(arg0, arg1, arg2 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteConfigMapEntry", reflect.TypeOf((*MockStorage)(nil).DeleteConfigMapEntry), arg0, arg1, arg2) -} - -// UpdateConfigMapEntry mocks base method. -func (m *MockStorage) UpdateConfigMapEntry(arg0 context.Context, arg1, arg2 string, arg3 types.NamespacedName) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "UpdateConfigMapEntry", arg0, arg1, arg2, arg3) - ret0, _ := ret[0].(error) - return ret0 -} - -// UpdateConfigMapEntry indicates an expected call of UpdateConfigMapEntry. -func (mr *MockStorageMockRecorder) UpdateConfigMapEntry(arg0, arg1, arg2, arg3 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateConfigMapEntry", reflect.TypeOf((*MockStorage)(nil).UpdateConfigMapEntry), arg0, arg1, arg2, arg3) -} diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/storage/storage.go b/deploy/k8s-operator/kube-trailblazer/pkg/storage/storage.go deleted file mode 100644 index 82624ffde..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/storage/storage.go +++ /dev/null @@ -1,97 +0,0 @@ -package storage - -import ( - "context" - - "github.com/openshift-psap/special-resource-operator/pkg/clients" - v1 "k8s.io/api/core/v1" - apierrors "k8s.io/apimachinery/pkg/api/errors" - "k8s.io/apimachinery/pkg/types" - ctrl "sigs.k8s.io/controller-runtime" - "sigs.k8s.io/controller-runtime/pkg/client" -) - -//go:generate mockgen -source=storage.go -package=storage -destination=mock_storage_api.go - -type Storage interface { - CheckConfigMapEntry(context.Context, string, types.NamespacedName) (string, error) - UpdateConfigMapEntry(context.Context, string, string, types.NamespacedName) error - DeleteConfigMapEntry(context.Context, string, types.NamespacedName) error -} - -type storage struct { - kubeClient clients.ClientsInterface -} - -func NewStorage(kubeClient clients.ClientsInterface) Storage { - return &storage{kubeClient: kubeClient} -} - -func (s *storage) CheckConfigMapEntry(ctx context.Context, key string, ins types.NamespacedName) (string, error) { - cm, err := s.getConfigMap(ctx, ins.Namespace, ins.Name) - if err != nil { - return "", err - } - - return cm.Data[key], nil -} - -func (s *storage) UpdateConfigMapEntry(ctx context.Context, key string, value string, ins types.NamespacedName) error { - cm, err := s.getConfigMap(ctx, ins.Namespace, ins.Name) - if err != nil { - ctrl.LoggerFrom(ctx).Error(err, "Failed to get configmap to update an entry", "namespacedName", ins, "key", key, "value", value) - return err - } - - if cm.Data == nil { - cm.Data = make(map[string]string) - } - - if cm.Data[key] != value { - cm.Data[key] = value - - if err = s.updateObject(ctx, cm); err != nil { - ctrl.LoggerFrom(ctx).Error(err, "Failed to update configmap to update an entry", "namespacedName", ins, "key", key, "value", value) - return err - } - } - - return nil -} - -func (s *storage) DeleteConfigMapEntry(ctx context.Context, key string, ins types.NamespacedName) error { - cm, err := s.getConfigMap(ctx, ins.Namespace, ins.Name) - if err != nil { - ctrl.LoggerFrom(ctx).Error(err, "Failed to get configmap to remove an entry", "namespacedName", ins, "key", key) - return err - } - - if _, ok := cm.Data[key]; ok { - delete(cm.Data, key) - - if err = s.updateObject(ctx, cm); err != nil { - ctrl.LoggerFrom(ctx).Error(err, "Failed to update configmap to remove an entry", "namespacedName", ins, "key", key) - return err - } - } - - return nil -} - -func (s *storage) getConfigMap(ctx context.Context, namespace string, name string) (*v1.ConfigMap, error) { - cm := &v1.ConfigMap{} - dep := types.NamespacedName{Namespace: namespace, Name: name} - - err := s.kubeClient.Get(ctx, dep, cm) - - if apierrors.IsNotFound(err) { - ctrl.LoggerFrom(ctx).Error(err, "Failed to get configmap", "cmNamespace", namespace, "cmName", name) - return nil, err - } - - return cm, err -} - -func (s *storage) updateObject(ctx context.Context, cm client.Object) error { - return s.kubeClient.Update(ctx, cm) -} diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/storage/storage_test.go b/deploy/k8s-operator/kube-trailblazer/pkg/storage/storage_test.go deleted file mode 100644 index bf05495eb..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/storage/storage_test.go +++ /dev/null @@ -1,184 +0,0 @@ -package storage_test - -import ( - "context" - "testing" - - "github.com/golang/mock/gomock" - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" - "github.com/openshift-psap/special-resource-operator/pkg/clients" - "github.com/openshift-psap/special-resource-operator/pkg/storage" - v1 "k8s.io/api/core/v1" - k8serrors "k8s.io/apimachinery/pkg/api/errors" - "k8s.io/apimachinery/pkg/types" -) - -const ( - namespaceName = "test-ns" - resourceName = "test-resource" -) - -var ( - ctrl *gomock.Controller - mockClient *clients.MockClientsInterface - notFound = k8serrors.NewNotFound(v1.Resource("configmap"), resourceName) - nsn = types.NamespacedName{Namespace: namespaceName, Name: resourceName} - cmMatcher = gomock.AssignableToTypeOf(&v1.ConfigMap{}) -) - -func TestStorage(t *testing.T) { - RegisterFailHandler(Fail) - - BeforeEach(func() { - ctrl = gomock.NewController(GinkgoT()) - mockClient = clients.NewMockClientsInterface(ctrl) - }) - - AfterEach(func() { - ctrl.Finish() - }) - - RunSpecs(t, "Storage Suite") -} - -var _ = Describe("storage_CheckConfigMapEntry", func() { - const key = "test-key" - - It("should return an error with no ConfigMap present", func() { - mockClient. - EXPECT(). - Get(context.TODO(), nsn, &v1.ConfigMap{}). - Return(notFound) - - _, err := storage.NewStorage(mockClient).CheckConfigMapEntry(context.TODO(), key, nsn) - Expect(err).To(HaveOccurred()) - }) - - It("should not return an error with an empty ConfigMap", func() { - mockClient. - EXPECT(). - Get(context.TODO(), nsn, &v1.ConfigMap{}) - - _, err := storage.NewStorage(mockClient).CheckConfigMapEntry(context.TODO(), key, nsn) - Expect(err).NotTo(HaveOccurred()) - }) - - It("should return the expected value with a good ConfigMap", func() { - const data = "test-data" - - mockClient. - EXPECT(). - Get(context.TODO(), nsn, &v1.ConfigMap{}). - Do(func(_ context.Context, _ types.NamespacedName, cm *v1.ConfigMap) { - cm.Data = map[string]string{key: data} - }) - - v, err := storage.NewStorage(mockClient).CheckConfigMapEntry(context.TODO(), key, nsn) - - Expect(err).NotTo(HaveOccurred()) - Expect(v).To(Equal(data)) - }) -}) - -var _ = Describe("UpdateConfigMapEntry", func() { - It("should return an error when the ConfigMap does not exist", func() { - mockClient. - EXPECT(). - Get(context.TODO(), nsn, &v1.ConfigMap{}). - Return(notFound) - - err := storage.NewStorage(mockClient).UpdateConfigMapEntry(context.TODO(), "any-key", "any-value", nsn) - Expect(err).To(HaveOccurred()) - }) - - It("set a key that does not already exist", func() { - const ( - key = "key" - value = "value" - ) - - gomock.InOrder( - mockClient.EXPECT().Get(context.TODO(), nsn, &v1.ConfigMap{}), - mockClient.EXPECT(). - Update(context.TODO(), cmMatcher). - Do(func(_ context.Context, cm *v1.ConfigMap) { - Expect(cm.Data).To(HaveKeyWithValue(key, value)) - }), - ) - - err := storage.NewStorage(mockClient).UpdateConfigMapEntry(context.TODO(), key, value, nsn) - Expect(err).NotTo(HaveOccurred()) - }) - - It("set a key that already exists", func() { - const ( - key = "key" - newValue = "new-value" - ) - - gomock.InOrder( - mockClient.EXPECT(). - Get(context.TODO(), nsn, &v1.ConfigMap{}). - Do(func(_ context.Context, _ types.NamespacedName, cm *v1.ConfigMap) { - cm.Data = map[string]string{key: "oldvalue"} - }), - mockClient.EXPECT(). - Update(context.TODO(), cmMatcher). - Do(func(_ context.Context, cm *v1.ConfigMap) { - Expect(cm.Data).To(HaveKeyWithValue(key, newValue)) - }), - ) - - err := storage.NewStorage(mockClient).UpdateConfigMapEntry(context.TODO(), key, newValue, nsn) - Expect(err).NotTo(HaveOccurred()) - }) -}) - -var _ = Describe("DeleteConfigMapEntry", func() { - It("should return an error when the ConfigMap does not exist", func() { - mockClient. - EXPECT(). - Get(context.TODO(), nsn, &v1.ConfigMap{}). - Return(notFound) - - err := storage.NewStorage(mockClient).DeleteConfigMapEntry(context.TODO(), "any-key", nsn) - Expect(err).To(HaveOccurred()) - }) - - It("should not return an error when the key does not exist", func() { - mockClient. - EXPECT(). - Get(context.TODO(), nsn, &v1.ConfigMap{}) - - err := storage.NewStorage(mockClient).DeleteConfigMapEntry(context.TODO(), "some-other-key", nsn) - Expect(err).NotTo(HaveOccurred()) - }) - - It("should delete the key when the key exists", func() { - const ( - key = "key" - otherKey = "other-key" - value = "value" - ) - - data := map[string]string{key: value, otherKey: "other-value"} - - gomock.InOrder( - mockClient.EXPECT(). - Get(context.TODO(), nsn, &v1.ConfigMap{}). - Do(func(_ context.Context, _ types.NamespacedName, cm *v1.ConfigMap) { - cm.Data = data - }), - mockClient.EXPECT(). - Update(context.TODO(), cmMatcher). - Do(func(_ context.Context, cm *v1.ConfigMap) { - Expect(cm.Data).NotTo(HaveKey(otherKey)) - Expect(cm.Data).To(HaveKeyWithValue(key, value)) - }), - ) - - err := storage.NewStorage(mockClient).DeleteConfigMapEntry(context.TODO(), otherKey, nsn) - Expect(err).NotTo(HaveOccurred()) - }) -}) diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/utils/hash.go b/deploy/k8s-operator/kube-trailblazer/pkg/utils/hash.go deleted file mode 100644 index a00f33d3d..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/utils/hash.go +++ /dev/null @@ -1,17 +0,0 @@ -package utils - -import ( - "fmt" - "hash/fnv" - - "github.com/pkg/errors" -) - -// FNV64a returns a 64bit hash -func FNV64a(s string) (string, error) { - h := fnv.New64a() - if _, err := h.Write([]byte(s)); err != nil { - return "", errors.Wrap(err, "[FNV64a]\tcould not create hash") - } - return fmt.Sprintf("%x", h.Sum64()), nil -} diff --git a/deploy/k8s-operator/kube-trailblazer/pkg/utils/rbac.go b/deploy/k8s-operator/kube-trailblazer/pkg/utils/rbac.go deleted file mode 100644 index 4e68c9b04..000000000 --- a/deploy/k8s-operator/kube-trailblazer/pkg/utils/rbac.go +++ /dev/null @@ -1,128 +0,0 @@ -package utils - -// +kubebuilder:rbac:groups=sro.openshift.io,resources=specialresources,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=sro.openshift.io,resources=specialresources/status,verbs=get;update;patch -// +kubebuilder:rbac:groups=sro.openshift.io,resources=specialresources/finalizers,verbs=get;update;patch -// +kubebuilder:rbac:groups=core,resources=pods,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=core,resources=pods/log,verbs=get -// +kubebuilder:rbac:groups=apps,resources=daemonsets,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=core,resources=namespaces,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=core,resources=nodes,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=core,resources=configmaps,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=core,resources=serviceaccounts,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=roles,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=rolebindings,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=config.openshift.io,resources=clusterversions,verbs=get -// +kubebuilder:rbac:groups=config.openshift.io,resources=proxies,verbs=get;list -// +kubebuilder:rbac:groups=core,resources=secrets,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=security.openshift.io,resources=securitycontextconstraints,verbs=use;get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=image.openshift.io,resources=imagestreams,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=image.openshift.io,resources=imagestreams/finalizers,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=image.openshift.io,resources=imagestreams/layers,verbs=get -// +kubebuilder:rbac:groups=core,resources=imagestreams/layers,verbs=get -// +kubebuilder:rbac:groups=build.openshift.io,resources=buildconfigs,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=build.openshift.io,resources=builds,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=clusterroles,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=clusterrolebindings,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=core,resources=events,verbs=list;watch;create;update;patch;delete;get -// +kubebuilder:rbac:groups=core,resources=persistentvolumeclaims,verbs=get;list;watch;update; -// +kubebuilder:rbac:groups=core,resources=persistentvolumes,verbs=get;list;watch;create;delete;update;patch -// +kubebuilder:rbac:groups=coordination.k8s.io,resources=leases,verbs=get;list;watch;create;update;delete -// +kubebuilder:rbac:groups=storage.k8s.io,resources=csinodes,verbs=get;list;watch -// +kubebuilder:rbac:groups=storage.k8s.io,resources=storageclasses,verbs=watch;get;list -// +kubebuilder:rbac:groups=storage.k8s.io,resources=csidrivers,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=core,resources=endpoints,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=core,resources=services,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=monitoring.coreos.com,resources=servicemonitors,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=monitoring.coreos.com,resources=prometheusrules,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=route.openshift.io,resources=routes,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=apps,resources=deployments,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=cert-manager.io,resources=issuers,verbs=get;list;watch;create;update;patch;delete;deletecollection -// +kubebuilder:rbac:groups=cert-manager.io,resources=certificates,verbs=get;list;watch;create;update;patch;delete;deletecollection -// +kubebuilder:rbac:groups=apiextensions.k8s.io,resources=customresourcedefinitions,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=core,resources=persistentvolumeclaims,verbs=create;patch;delete -// +kubebuilder:rbac:groups=core,resources=services/finalizers,verbs=create;delete;get;list;update;patch;delete;watch -// +kubebuilder:rbac:groups=apps,resources=deployments/finalizers,resourceNames=shipwright-build,verbs=update -// +kubebuilder:rbac:groups=apps,resources=replicasets,verbs=create;delete;get;list;patch;update;watch;get -// +kubebuilder:rbac:groups=apps,resources=statefulsets,verbs=create;delete;get;list;patch;update;watch -// +kubebuilder:rbac:groups=shipwright.io,resources=*,verbs=create;delete;get;list;patch;update;watch -// +kubebuilder:rbac:groups=shipwright.io,resources=buildruns,verbs=create;delete;get;list;patch;update;watch -// +kubebuilder:rbac:groups=shipwright.io,resources=buildstrategies,verbs=create;delete;get;list;patch;update;watch -// +kubebuilder:rbac:groups=shipwright.io,resources=clusterbuildstrategies,verbs=create;delete;get;list;patch;update;watch -// +kubebuilder:rbac:groups=tekton.dev,resources=taskruns,verbs=create;delete;get;list;patch;update;watch -// +kubebuilder:rbac:groups=tekton.dev,resources=tasks,verbs=create;delete;get;list;patch;update;watch -// +kubebuilder:rbac:groups=storage.k8s.io,resources=volumeattachments,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=snapshot.storage.k8s.io,resources=volumesnapshotclasses,verbs=get;list;watch -// +kubebuilder:rbac:groups=snapshot.storage.k8s.io,resources=volumesnapshots,verbs=get;list;watch;update -// +kubebuilder:rbac:groups=snapshot.storage.k8s.io,resources=volumesnapshotcontents,verbs=create;get;list;watch;update;delete -// +kubebuilder:rbac:groups=snapshot.storage.k8s.io,resources=volumesnapshots/status,verbs=create;get;list;watch;update;delete -// +kubebuilder:rbac:groups=snapshot.storage.k8s.io,resources=volumesnapshotcontents/status,verbs=create;get;list;watch;update;delete -// +kubebuilder:rbac:groups=csi.storage.k8s.io,resources=csidrivers,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=apiextensions.k8s.io,resources=customresourcedefinitions,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=apps,resources=statefulsets,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=core,resources=persistentvolumeclaims/status,verbs=get;list;watch;create;delete;update;patch -// +kubebuilder:rbac:groups=operators.coreos.com,resources=operatorgroups,verbs=get;list;watch;create;delete;update;patch -// +kubebuilder:rbac:groups=operators.coreos.com,resources=subscriptions,verbs=get;list;watch;create;delete;update;patch -// +kubebuilder:rbac:groups=operator.cert-manager.io,resources=certmanagers,verbs=get;list;watch;create;delete;update;patch -// +kubebuilder:rbac:groups=admissionregistration.k8s.io,resources=mutatingwebhookconfigurations,verbs=get;list;watch;update -// +kubebuilder:rbac:groups=admissionregistration.k8s.io,resources=validatingwebhookconfigurations,verbs=get;list;watch;update -// +kubebuilder:rbac:groups=apiregistration.k8s.io,resources=apiservices,verbs=get;list;watch;update -// +kubebuilder:rbac:groups=auditregistration.k8s.io,resources=auditsinks,verbs=get;list;watch;update -// +kubebuilder:rbac:groups=cert-manager.io,resources=issuers/status,verbs=update -// +kubebuilder:rbac:groups=cert-manager.io,resources=clusterissuers/status,verbs=update -// +kubebuilder:rbac:groups=cert-manager.io,resources=clusterissuers,verbs=get;update;list;watch;deletecollection -// +kubebuilder:rbac:groups=cert-manager.io,resources=certificaterequests,verbs=get;update;list;watch;delete -// +kubebuilder:rbac:groups=cert-manager.io,resources=certificaterequests/finalizers,verbs=update -// +kubebuilder:rbac:groups=cert-manager.io,resources=certificaterequests/status,verbs=update -// +kubebuilder:rbac:groups=cert-manager.io,resources=certificates/finalizers,verbs=update -// +kubebuilder:rbac:groups=cert-manager.io,resources=certificates/status,verbs=update -// +kubebuilder:rbac:groups=acme.cert-manager.io,resources=orders,verbs=create;delete;get;list;watch;update;patch;deletecollection -// +kubebuilder:rbac:groups=acme.cert-manager.io,resources=challenges,verbs=create;delete;get;list;watch;update;patch;deletecollection -// +kubebuilder:rbac:groups=acme.cert-manager.io,resources=orders/finalizers,verbs=update -// +kubebuilder:rbac:groups=acme.cert-manager.io,resources=orders/status,verbs=update -// +kubebuilder:rbac:groups=acme.cert-manager.io,resources=challenges/finalizers,verbs=update -// +kubebuilder:rbac:groups=acme.cert-manager.io,resources=challenges/status,verbs=update -// +kubebuilder:rbac:groups=networking.k8s.io,resources=ingresses,verbs=get;list;watch;create;delete;update -// +kubebuilder:rbac:groups=networking.k8s.io,resources=ingresses/finalizers,verbs=update -// +kubebuilder:rbac:groups=route.openshift.io,resources=routes/custom-host,verbs=create -// +kubebuilder:rbac:groups=cert-manager.io,resources=certificaterequests,verbs=create;patch;deletecollection -// +kubebuilder:rbac:groups=cert-manager.io,resources=signers,resourceNames=clusterissuers.cert-manager.io/*,verbs=approve -// +kubebuilder:rbac:groups=cert-manager.io,resources=signers,resourceNames=issuers.cert-manager.io/*,verbs=approve -// +kubebuilder:rbac:groups=certificates.k8s.io,resources=certificatesigningrequests,verbs=get;list;watch;update -// +kubebuilder:rbac:groups=certificates.k8s.io,resources=certificatesigningrequests/status,verbs=update -// +kubebuilder:rbac:groups=certificates.k8s.io,resources=signers,resourceNames=clusterissuers.cert-manager.io/*,verbs=sign -// +kubebuilder:rbac:groups=certificates.k8s.io,resources=signers,resourceNames=issuers.cert-manager.io/*,verbs=sign -// +kubebuilder:rbac:groups=coordination.k8s.io,resources=leases,resourceNames=cert-manager-cainjector-leader-election,verbs=patch -// +kubebuilder:rbac:groups=coordination.k8s.io,resources=leases,resourceNames=cert-manager-cainjector-election-core,verbs=patch -// +kubebuilder:rbac:groups=coordination.k8s.io,resources=leases,resourceNames=cert-manager-cainjector-leader-election-core,verbs=patch -// +kubebuilder:rbac:groups=coordination.k8s.io,resources=leases,resourceNames=cert-manager-controller,verbs=patch -// +kubebuilder:rbac:groups=admissionregistration.k8s.io,resources=mutatingwebhookconfigurations,verbs=create;get;list;watch;update;delete;patch -// +kubebuilder:rbac:groups=admissionregistration.k8s.io,resources=validatingwebhookconfigurations,verbs=create;get;list;watch;update;delete;patch -// +kubebuilder:rbac:groups=*,resources=cronjobs,verbs=get;delete;update;list;watch;patch -// +kubebuilder:rbac:groups=*,resources=daemonsets,verbs=get -// +kubebuilder:rbac:groups=*,resources=deployments,verbs=get -// +kubebuilder:rbac:groups=*,resources=imagepolicies,verbs=get;update;delete -// +kubebuilder:rbac:groups=*,resources=jobs,verbs=get;create;delete;update;list;watch;patch -// +kubebuilder:rbac:groups=*,resources=mutatingwebhookconfigurations,verbs=get -// +kubebuilder:rbac:groups=*,resources=pods,verbs=get -// +kubebuilder:rbac:groups=*,resources=replicacontrollers,verbs=get -// +kubebuilder:rbac:groups=*,resources=replicasets,verbs=get -// +kubebuilder:rbac:groups=*,resources=statefulsets,verbs=get -// +kubebuilder:rbac:groups=connaisseur.policy,resources=imagepolicies,verbs=create -// +kubebuilder:rbac:groups=admissionregistration.k8s.io/v1beta1,resources=mutatingwebhookconfigurations,verbs=create;delete;update;list -// +kubebuilder:rbac:groups=batch,resources=jobs,verbs=watch;list -// +kubebuilder:rbac:groups="",resources=nodes/finalizers,verbs=update -// +kubebuilder:rbac:groups="",resources=nodes/status,verbs=update;patch -// +kubebuilder:rbac:groups="",resources=pods,verbs=deletecollection -// +kubebuilder:rbac:groups="",resources=podtemplates,verbs=list;watch;get;create;update -// +kubebuilder:rbac:groups="",resources=podtemplates/finalizers,verbs=update -// +kubebuilder:rbac:groups=batch,resources=jobs,verbs=list;watch;get;create;update;patch;delete -// +kubebuilder:rbac:groups=batch,resources=jobs/finalizers,verbs=update -// +kubebuilder:rbac:groups=extensions,resources=jobs,verbs=list;watch;get;create;update;patch;delete -// +kubebuilder:rbac:groups=networking.x-k8s.io,resources=httproutes,verbs=get;list;watch;create;update;delete -// +kubebuilder:rbac:groups=networking.x-k8s.io,resources=gateways,verbs=get;list;watch -// +kubebuilder:rbac:groups=networking.x-k8s.io,resources=gateways/finalizers,verbs=update -// +kubebuilder:rbac:groups=networking.x-k8s.io,resources=httproutes/finalisers,verbs=update -// +kubebuilder:rbac:groups=infoscale.veritas.com,resources=infoscaleclusters,verbs=update;patch;get;list -// +kubebuilder:rbac:groups=fpga.silicom.dk,resources=*,verbs=list;watch;get;create;update;patch;delete -// +kubebuilder:rbac:groups=sts.silicom.com,resources=*,verbs=list;watch;get;create;update;patch;delete diff --git a/deploy/k8s-operator/kube-trailblazer/rag-llm-pipeline.yaml b/deploy/k8s-operator/kube-trailblazer/rag-llm-pipeline.yaml deleted file mode 100644 index f2267975d..000000000 --- a/deploy/k8s-operator/kube-trailblazer/rag-llm-pipeline.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: package.nvidia.com/v1alpha1 -kind: HelmPipeline -metadata: - name: rag-llm-pipeline -spec: - pipeline: - - repoEntry: - url: "file:///helm-charts/staging" - chartSpec: - chart: "rag-llm-pipeline" - chartValues: - triton: - modelDirectory: "/zvonkok/model/llama2_13b_chat_hf_v1/" - images: - registry: - ImagePullSecret: - password: ${NVCR_TOKEN} diff --git a/docs/api-catalog.md b/docs/api-catalog.md index feb5d371a..8a8028d76 100644 --- a/docs/api-catalog.md +++ b/docs/api-catalog.md @@ -28,7 +28,7 @@ backlinks: none ## Example Features This example deploys a developer RAG pipeline for chat Q&A and serves inferencing from an NVIDIA API Catalog endpoint -instead of NVIDIA Triton Inference Server, a local Llama 2 model, or local GPUs. +instead of a local inference server, a local model, or local GPUs. Developers get free credits for 10K requests to any of the available models. @@ -42,12 +42,22 @@ Developers get free credits for 10K requests to any of the available models. - Multi-GPU - TRT-LLM - Model Location - - Triton + - NIM for LLMs - Vector Database -* - ai-mixtral-8x7b-instruct - - ai-embed-qa-4 - - Langchain +* - ai-llama3-70b + - snowflake/arctic-embed-l + - LangChain + - QA chatbot + - NO + - NO + - API Catalog + - NO + - Milvus + +* - ai-llama3-8b + - snowflake/arctic-embed-l + - LlamaIndex - QA chatbot - NO - NO @@ -81,6 +91,14 @@ The following figure shows the sample topology: - Install Docker Engine and Docker Compose. Refer to the instructions for [Ubuntu](https://docs.docker.com/engine/install/ubuntu/). +- Login to Nvidia's docker registry. Please refer to [instructions](https://docs.nvidia.com/ngc/gpu-cloud/ngc-overview/index.html) to create account and generate NGC API key. This is needed for pulling in the secure base container used by all the examples. + + ```console + $ docker login nvcr.io + Username: $oauthtoken + Password: + ``` + - Optional: Enable NVIDIA Riva automatic speech recognition (ASR) and text to speech (TTS). - To launch a Riva server locally, refer to the [Riva Quick Start Guide](https://docs.nvidia.com/deeplearning/riva/user-guide/docs/quick-start-guide.html). @@ -101,7 +119,7 @@ The following figure shows the sample topology: % end-prerequisites -## Get an API Key for the Mixtral 8x7B Instruct API Endpoint +## Get an API Key for the Accessing Models on the API Catalog % api-key-start @@ -110,13 +128,13 @@ You can use different model API endpoints with the same API key. 1. Navigate to . -2. Find the **Mixtral 8x7B Instruct** card and click the card. +2. Find the **Llama 3 70B Instruct** card and click the card. - ![Mixtral 8x7B Instruct model card](./images/mixtral-8x7b-instruct.png) + ![Llama 3 70B Instruct model card](./images/llama3-70b-instruct-model-card.png) 3. Click **Get API Key**. - ![API section of the model page.](./images/image8.png) + ![API section of the model page.](./images/llama3-70b-instruct-get-api-key.png) 4. Click **Generate Key**. @@ -125,7 +143,7 @@ You can use different model API endpoints with the same API key. 5. Click **Copy Key** and then save the API key. The key begins with the letters nvapi-. - ![Key Generated widnow.](./images/key-generated.png) + ![Key Generated window.](./images/key-generated.png) % api-key-end @@ -143,13 +161,19 @@ You can use different model API endpoints with the same API key. 2. From the root of the repository, build the containers: ```console - $ docker compose --env-file deploy/compose/compose.env -f deploy/compose/rag-app-api-catalog-text-chatbot.yaml build + $ docker compose \ + --env-file deploy/compose/compose.env \ + -f deploy/compose/rag-app-api-catalog-text-chatbot.yaml \ + build ``` 3. Start the containers: ```console - $ docker compose --env-file deploy/compose/compose.env -f deploy/compose/rag-app-api-catalog-text-chatbot.yaml up -d + $ docker compose \ + --env-file deploy/compose/compose.env \ + -f deploy/compose/rag-app-api-catalog-text-chatbot.yaml \ + up -d ``` *Example Output* @@ -163,7 +187,11 @@ You can use different model API endpoints with the same API key. 4. Start the Milvus vector database: ```console - $ docker compose --env-file deploy/compose/compose.env -f deploy/compose/docker-compose-vectordb.yaml up -d milvus + $ docker compose \ + --env-file deploy/compose/compose.env \ + -f deploy/compose/docker-compose-vectordb.yaml \ + --profile llm-embedding \ + up -d milvus ``` *Example Output* @@ -191,10 +219,64 @@ You can use different model API endpoints with the same API key. 57a068d62fbb milvus-etcd Up 3 minutes (healthy) ``` +## Using an Alternative Inference Model + +You can specify the model to use in the `APP_LLM_MODELNAME` environment variable when you start the Chain Server. +The following sample command uses the Mistral AI Mixtral 8x7B Instruct model. + +```console +$ APP_LLM_MODELNAME='mistralai/mixtral-8x7b-instruct-v0.1' docker compose \ + --env-file deploy/compose/compose.env \ + -f deploy/compose/rag-app-api-catalog-text-chatbot.yaml \ + up -d +``` + +You can determine the available model names using one of the following methods: + +- Browse the models at . + View the sample Python code and get the model name from the `model` argument to the `client.chat.completions.create` method. +- Install the [langchain-nvidia-ai-endpoints](https://pypi.org/project/langchain-nvidia-ai-endpoints/) Python package from PyPi. + Use the `get_available_models()` method to list the models. + Refer to the preceding web page for sample code to list the models. + +## Using the LlamaIndex Data Framework + +As an alternative to the LangChain based Chain Server, you can build and run a LlamaIndex based Chain Server. + +This example also starts a JupyterLab server on port 8888. + +1. After meeting the [](#prerequisites), build the containers: + + ```console + $ docker compose \ + --env-file deploy/compose/compose.env \ + -f deploy/compose/rag-app-text-chatbot.yaml \ + build + ``` + +1. Start the containers: + + ```console + $ docker compose \ + --env-file deploy/compose/compose.env \ + -f deploy/compose/rag-app-text-chatbot.yaml \ + up -d + ``` + +1. Start the Milvus vector database: + + ```console + $ docker compose \ + --env-file deploy/compose/compose.env \ + -f deploy/compose/docker-compose-vectordb.yaml \ + --profile llm-embedding \ + up -d milvus + ``` + ## Next Steps - Access the web interface for the chat server. Refer to [](./using-sample-web-application.md) for information about using the web interface. - [](./vector-database.md) - Stop the containers by running `docker compose -f deploy/compose/rag-app-api-catalog-text-chatbot.yaml down` and - `docker compose -f deploy/compose/docker-compose-vectordb.yaml down`. + `docker compose -f deploy/compose/docker-compose-vectordb.yaml --profile llm-embedding down`. diff --git a/docs/architecture.md b/docs/architecture.md index 71f4f7a82..198bac04f 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -29,66 +29,72 @@ backlinks: none The default sample deployment contains: -- [NVIDIA NeMo Framework Inference Server](https://docs.nvidia.com/nemo-framework/user-guide/latest/index.html) - part of NVIDIA AI Enterprise solution -- [NVIDIA TensorRT-LLM](https://developer.nvidia.com/tensorrt) - for low latency and high throughput inference for LLMs -- [LangChain](https://github.com/langchain-ai/langchain/) and [LlamaIndex](https://www.llamaindex.ai/) for combining language model components and easily constructing question-answering from a company's database -- [Sample Jupyter Notebooks](jupyter-server.md) and [chat bot web application/API calls](./frontend.md) so that you can test the chat system in an interactive manner -- [Milvus](https://milvus.io/docs/install_standalone-docker.md) - Generated embeddings are stored in a vector database. The vector DB used in this workflow is Milvus. Milvus is an open-source vector database capable of NVIDIA GPU-accelerated vector searches. -- [UAE-Large-V1 model](https://huggingface.co/WhereIsAI/UAE-Large-V1) from Hugging Face to generate the embeddings. -- [Llama2](https://github.com/facebookresearch/llama/), an open source model from Meta, to formulate natural responses. +- Inference and embedding are performed by accessing model endpoints running on NVIDIA API Catalog. -This sample deployment is a reference for you to build your own enterprise AI solution with minimal effort. -The software components are used to deploy models and inference pipeline, integrated together with the additional components as indicated in the following diagram: + Most examples use the [Meta Llama 3 70B Instruct](https://build.ngc.nvidia.com/meta/llama3-70b) model + for inference and the [Snowflake Arctic Embed L](https://build.ngc.nvidia.com/snowflake/arctic-embed-l) + model for embedding. -![Diagram](./images/image0.png) + Alternatively, you can deploy NVIDIA NIM for LLMs and NVIDIA NeMo Retriever Embedding microservice + to use local models and local GPUs. + Refer to the [](nim-llms.md) example for more information. + +- A Chain Server uses [LangChain](https://github.com/langchain-ai/langchain/) and [LlamaIndex](https://www.llamaindex.ai/) for combining language model components and easily constructing question-answering from a company's database. + +- [Sample Jupyter Notebooks](jupyter-server.md) and [](./frontend.md) so that you can test the chat system in an interactive manner. + +- [Milvus](https://milvus.io/docs/install_standalone-docker.md) or [pgvector](https://github.com/pgvector/pgvector) - Embeddings are stored in a vector database. Milvus is an open-source vector database capable of NVIDIA GPU-accelerated vector searches. + +The sample deployment is a reference for you to build your own enterprise AI solution with minimal effort. ## NVIDIA AI Components The sample deployment uses a variety of NVIDIA AI components to customize and deploy the RAG-based chat bot example. - [NVIDIA TensorRT-LLM](https://github.com/NVIDIA/TensorRT-LLM) -- [NVIDIA NeMo Inference Container](https://developer.nvidia.com/nemo) +- [NVIDIA NIM for LLMs](https://docs.nvidia.com/nim/large-language-models/latest/index.html) ### NVIDIA TensorRT-LLM Optimization -An LLM can be optimized using TensorRT-LLM. NVIDIA NeMo uses TensorRT for LLMs (TensorRT-LLM), for deployment which accelerates and maximizes inference performance on the latest LLMs. -The sample deployment leverages a Llama 2 (13B parameters) chat model. -The foundational model is converted to TensorRT format using TensorRT-LLM for optimized inference. +An LLM can be optimized using TensorRT-LLM. +NVIDIA NIM for LLMs uses TensorRT for LLMs (TensorRT-LLM) to accelerate and maximize inference performance on the latest LLMs. +The sample deployment deploys a Llama 3 8B parameter chat model that TensorRT-LLM optimizes for inference. -### NVIDIA NeMo Framework Inference Container +### NVIDIA NIM for LLMs Container -With NeMo Framework Inference Container, the optimized LLM can be deployed for high-performance, cost-effective, and low-latency inference. NeMo Framework Inference Container contains modules and scripts to help exporting LLM models to [TensorRT-LLM](https://github.com/NVIDIA/TensorRT-LLM) and deploying them to [Triton Inference Server](https://docs.nvidia.com/deeplearning/triton-inference-server/user-guide/docs/index.html) with easy-to-use APIs. +The NVIDIA NIM for LLMs container simplifies deployment and provides high-performance, cost-effective, and low-latency inference. +Software in the container determines your GPU hardware and determines whether to use the TensorRT-LLM backend or the vLLM backend. ## Inference Pipeline -To get started with the inferencing pipeline, we connect the customized LLM to a sample proprietary data source. -This knowledge can come in many forms: product specifications, HR documents, or finance spreadsheets. +To get started with the inferencing pipeline, we connect the LLM to a sample vector database. +You can upload documents and embeddings of the documents are stored in the vector database to augment the responses to your queries. +The knowledge in the vector database can come in many forms: product specifications, HR documents, or finance spreadsheets. Enhancing the model’s capabilities with this knowledge can be done with RAG. Because foundational LLMs are not trained on your proprietary enterprise data and are only trained up to a fixed point in time, they need to be augmented with additional data. RAG consists of two processes. First, *retrieval* of data from document repositories, databases, or APIs that are all outside of the foundational model’s knowledge. Second, *generation* of responses via inference. -The following graphic describes an overview of this inference pipeline: - -![Diagram](./images/image1.png) ## Document Ingestion and Retrieval RAG begins with a knowledge base of relevant up-to-date information. Because data within an enterprise is frequently updated, the ingestion of documents into a knowledge base is a recurring process and could be scheduled as a job. -Next, content from the knowledge base is passed to an embedding model such as UAE-Large-V1 that the sample deployment uses. +Next, content from the knowledge base is passed to an embedding model such as Snowflake Arctic Embedding L that the sample deployment uses. The embedding model converts the content to vectors, referred to as *embeddings*. Generating embeddings is a critical step in RAG. The embeddings provide dense numerical representations of textual information. -These embeddings are stored in a vector database, in this case Milvus, which is [RAFT accelerated](https://developer.nvidia.com/blog/accelerating-vector-search-using-gpu-powered-indexes-with-rapids-raft). +These embeddings are stored in a vector database. +The default database is Milvus, which is [RAFT accelerated](https://developer.nvidia.com/blog/accelerating-vector-search-using-gpu-powered-indexes-with-rapids-raft). +An alternative vector database is pgvector. ## User Query and Response Generation When a user query is sent to the inference server, it is converted to an embedding using the embedding model. -This is the same embedding model that is used to convert the documents in the knowledge base, UAE-Large-V1, in the case of this sample deployment. +This is the same embedding model that is used to convert the documents in the knowledge base. The database performs a similarity/semantic search to find the vectors that most closely resemble the user’s intent and provides them to the LLM as enhanced context. -Because Milvus is RAFT accelerated, the similarity serach is optimized on the GPU. +Because Milvus is RAFT accelerated, the similarity search is optimized on the GPU. Lastly, the LLM generates a full answer that is streamed to the user. This is all done with ease using [LangChain](https://github.com/langchain-ai/langchain/) and [LlamaIndex](https://www.llamaindex.ai). @@ -97,8 +103,8 @@ The following diagram illustrates the ingestion of documents and generation of r ![Diagram](./images/image2.png) LangChain enables you to write LLM wrappers for your own custom LLMs. -NVIDIA provides a sample wrapper for streaming responses from a TensorRT-LLM Llama 2 model running on Triton Inference Server. -This wrapper enables us to leverage LangChain’s standard interface for interacting with LLMs while still achieving vast performance speedup from TensorRT-LLM and scalable and flexible inference from Triton Inference Server. +NVIDIA provides a sample wrapper for streaming responses from an LLM running in NVIDIA NIM for LLMs. +This wrapper enables us to leverage LangChain’s standard interface for interacting with LLMs while still achieving vast performance speedup from TensorRT-LLM and scalable and flexible inference from NIM for LLMs. A sample chat bot web application is provided in the sample deployment so that you can test the chat system in an interactive manner. Requests to the chat system are wrapped in API calls, so these can be abstracted to other applications. @@ -111,23 +117,18 @@ In our sample deployment, we prompt our model to generate safe and polite respon ## LLM Inference Server -The LLM Inference Server uses models that are stored in a model repository. +The NVIDIA NIM for LLMs container downloads a model that is cached in a model repository. This repository is available locally to serve inference requests. -After they are available in Triton Inference Server, inference requests are sent from a client application. +After the container downloads the model, inference requests are sent from a client application. Python and C++ libraries provide APIs to simplify communication. -Clients send HTTP/REST requests directly to Triton Inference Server using HTTP/REST or gRPC protocols. - -Within the sample deployment, the Llama2 LLM was optimized using NVIDIA TensorRT for LLMs (TRT-LLM). -This software accelerates and maximizes inference performance on the latest LLMs. +Clients send HTTP/REST requests to NIM for LLMs using HTTP/REST or gRPC protocols. ## Vector DB Milvus is an open-source vector database built to power embedding similarity search and AI applications. The database makes unstructured data from API calls, PDFs, and other documents more accessible by storing them as embeddings. -When content from the knowledge base is passed to an embedding model, UAE-Large-V1, the model converts the content to vectors--referred to as *embeddings*. +When content from the knowledge base is passed to an embedding model, the model converts the content to vectors--referred to as *embeddings*. These embeddings are stored in the vector database. The sample deployment uses Milvus as the vector database. Milvus is an open-source vector database capable of NVIDIA GPU-accelerated vector searches. - -If needed, see Milvus's [documentation](https://milvus.io/docs/install_standalone-docker.md/) for how to configure a Docker Compose file for Milvus. diff --git a/docs/conf.py b/docs/conf.py index 4c39f6f2f..c568d1b29 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -26,7 +26,7 @@ this_year = date.today().year copyright = f"2023-{this_year}, NVIDIA Corporation" author = "NVIDIA Corporation" -release = "24.4.0" +release = "24.6.0" extensions = [ "sphinx_rtd_theme", diff --git a/docs/configuration.md b/docs/configuration.md index 4d14d1b64..00905d33c 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -31,18 +31,6 @@ The following sections identify the environment variables and parameters that ar You can set environment variables in the `deploy/compose/compose.env` file. -### LLM Server Configuration - -LLM Inference server hosts the Large Language Model (LLM) with Triton Inference Server backend. - -You can configure the server using the following environment variables: - -:MODEL_DIRECTORY: Specifies the path to the model directory where model checkpoints are stored. -:MODEL_ARCHITECTURE: Defines the architecture of the model used for deployment. -:MODEL_MAX_INPUT_LENGTH: Maximum allowed input length, with a default value of 3000. -:QUANTIZATION: Specifies to enable activation-aware quantization for the LLM. By default, quantization is not enabled. -:INFERENCE_GPU_COUNT: Specifies the GPUs to be used by Triton for model deployment, with the default setting being "all." - ### Milvus Milvus is the default vector database server. @@ -74,13 +62,10 @@ You can configure the server using the following environment variable: :APP_VECTORSTORE_URL: Specifies the URL of the vector database server. :APP_VECTORSTORE_NAME: Specifies the vendor name of the vector database. Values are `milvus` or `pgvector`. :COLLECTION_NAME: Specifies the example-specific collection in the vector database. -:APP_LLM_SERVERURL: Specifies the URL of Triton Inference Server. -:APP_LLM_MODELNAME: The model name used by the Triton server. +:APP_LLM_SERVERURL: Specifies the URL of NVIDIA NIM for LLMs. +:APP_LLM_MODELNAME: The model name used by NIM for LLMs. :APP_LLM_MODELENGINE: An enum that specifies the backend name hosting the model. Supported values are as follows: - - `triton-trt-llm` to use locally deployed LLM models. - - `nvidia-ai-endpoints` to use models hosted from NVIDIA API Catalog. + `nvidia-ai-endpoints` to use models hosted using NIM for LLMs in cloud based API Catalog or locally. :APP_RETRIEVER_TOPK: Number of relevant results to retrieve. The default value is `4`. :APP_RETRIEVER_SCORETHRESHOLD: The minimum confidence score for the retrieved values to be considered. The default value is `0.25`. :APP_PROMPTS_CHATTEMPLATE: Specifies the instructions to provide to the model. @@ -89,7 +74,7 @@ You can configure the server using the following environment variable: :APP_PROMPTS_RAGTEMPLATE: Specifies the instructions to provide to the model. The prompt is combined with the user-supplied query and then presented to the model. The chain server uses this prompt when the query uses a knowledge base. - +:LOGLEVEL: Set the logging verbosity level for the logs printed by container. Chain server uses the standard python logging module. Possible values are NOTSET, DEBUG, INFO, WARN, ERROR, CRITICAL. ### RAG Playground diff --git a/docs/developer-llm-operator/README.md b/docs/developer-llm-operator/README.md deleted file mode 100644 index 5ac398b2a..000000000 --- a/docs/developer-llm-operator/README.md +++ /dev/null @@ -1,39 +0,0 @@ - - -# NVIDIA Developer LLM Operator - -The NVIDIA Developer LLM Operator enables developers to -build RAG-LLM pipelines on Kubernetes and manage the lifecycle of the -components for a sample pipeline. - -The Operator manages the lifecycle of the following components: - -- **Jupyter Notebook server**: - The container includes sample notebooks to demonstrate a sample pipeline. - -- **Chatbot web application**: - The sample web application enables you to perform question and answering with the chatbot - and to upload PDF documents to form a knowledge base. - -- **Vector database**: - The sample pipeline uses Milvus to manage the embeddings generated by the LLM. - -- **NVIDIA Triton Inference Server**: - The server is configured with the NVIDIA Nemo Framework for working with LLMs. - -Refer to [Installing the Operator](./install.md) to get started. \ No newline at end of file diff --git a/docs/developer-llm-operator/install.md b/docs/developer-llm-operator/install.md deleted file mode 100644 index ba3df5169..000000000 --- a/docs/developer-llm-operator/install.md +++ /dev/null @@ -1,309 +0,0 @@ - - -# Installing the Operator - -## Prerequisites - -- You have a machine with one or more NVIDIA A100 80 GB or NVIDIA H100 GPUs. - If you have fewer than four GPUs, you can configure GPU time-slicing. - Time-slicing oversubscribes the GPUs to simulate the four GPUs that are required, - though at lower performance. - -- You have access to Docker and Docker Compose to build container images. - Refer to the [installation documentation](https://docs.docker.com/engine/install/ubuntu/) - for Ubuntu from the Docker documentation. - -- You have Kubernetes installed and running on the machine with Ubuntu 22.04 or 20.04. - Refer to the [Kubernetes documentation](https://kubernetes.io/docs/setup/) or - the [NVIDIA Cloud Native Stack repository](https://github.com/NVIDIA/cloud-native-stack/) - for more information. - -- You have access to Git and Git LFS to clone the repository to get access to the Dockerfile - and software for container images. - -- You downloaded a Llama2 chat model weights from Meta or HuggingFace. - Get the 13 billion or 7 billion parameter model. - - Request access to the model from [Meta](https://ai.meta.com/resources/models-and-libraries/llama-downloads/) - or refer to the [meta-llama/LLama-2-13b-chat-hf](https://huggingface.co/meta-llama/Llama-2-13b-chat-hf) - page from HuggingFace. - - The directory with the model is shared as a host path volume mount with the Triton Inference Server pod. - - -## Install the NVIDIA GPU Operator - -Use the NVIDIA GPU Operator to install, configure, and manage the NVIDIA GPU driver and -NVIDIA container runtime on the Kubernetes node. - -1. Add the NVIDIA Helm repository: - - ```console - $ helm repo add nvidia https://helm.ngc.nvidia.com/nvidia \ - && helm repo update - ``` - -1. Install the Operator: - - ```console - $ helm install --wait --generate-name \ - -n gpu-operator --create-namespace \ - nvidia/gpu-operator - ``` - -1. Optional: Configure GPU time-slicing if you have fewer than four GPUs. - - - Create a file, `time-slicing-config-all.yaml`, with the following content: - - ```yaml - apiVersion: v1 - kind: ConfigMap - metadata: - name: time-slicing-config-all - data: - any: |- - version: v1 - flags: - migStrategy: none - sharing: - timeSlicing: - resources: - - name: nvidia.com/gpu - replicas: 4 - ``` - - The sample configuration creates four *replicas* from each GPU on the node. - - - Add the config map to the Operator namespace: - - ```console - $ kubectl create -n gpu-operator -f time-slicing-config-all.yaml - ``` - - - Configure the device plugin with the config map and set the default time-slicing configuration: - - ```console - $ kubectl patch clusterpolicy/cluster-policy \ - -n gpu-operator --type merge \ - -p '{"spec": {"devicePlugin": {"config": {"name": "time-slicing-config-all", "default": "any"}}}}' - ``` - - - Verify that at least `4` GPUs are allocatable: - - ```console - $ kubectl get nodes -l nvidia.com/gpu.present -o json | jq '.items[0].status.allocatable | with_entries(select(.key | startswith("nvidia.com/"))) | with_entries(select(.value != "0"))' - ``` - - *Example Output* - - ```json - { - "nvidia.com/gpu": "4" - } - ``` - -For more information or to adjust the configuration, refer to -[Install NVIDIA GPU Operator](https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/latest/getting-started.html#install-nvidia-gpu-operator) and -[Time-Slicing GPUs in Kubernetes](https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/latest/gpu-sharing.html) -in the NVIDIA GPU Operator documentation. - -## Install the Developer LLM Operator - -1. Get the Helm chart for the Operator: - - ```console - $ helm fetch https://helm.ngc.nvidia.com/nvidia/cloud-native/charts/developer-llm-operator-0.1.0.tgz - ``` - -1. Install the Operator: - - ```console - $ helm install --generate-name ./developer-llm-operator-0.1.0.tgz \ - -n kube-trailblazer-system --create-namespace - ``` - -1. Optional: Confirm the controller pod is running: - - ```console - $ kubectl get pods -n kube-trailblazer-system - ``` - - *Example Output* - - ```output - NAME READY STATUS RESTARTS AGE - kube-trailblazer-controller-manager-868bf8dc84-p2zgc 2/2 Running 2 (20h ago) 21h - ``` - -## Build the Container Images - -1. Clone the repository if you haven't already: - - ```console - $ git lfs clone https://github.com/NVIDIA/GenerativeAIExamples.git - ``` - -1. Build the container images: - - ```console - $ cd GenerativeAIExamples/deploy/compose - $ docker compose --env-file compose.env build - ``` - - Building the images requires several minutes. - -1. Start a local registry, tag the images, and push the images to the registry. - - - Start a local registry: - - ```console - $ docker run -d -p 5000:5000 --name registry registry:2.7 - ``` - - - Tag and push the images that are not publicly available: - - ```console - $ docker tag llm-inference-server localhost:5000/llm-inference-server - $ docker push localhost:5000/llm-inference-server - - $ docker tag chain-server localhost:5000/chain-server - $ docker push localhost:5000/chain-server - - $ docker tag llm-playground localhost:5000/llm-playground - $ docker push localhost:5000/llm-playground - - $ docker tag notebook-server localhost:5000/notebook-server - $ docker push localhost:5000/notebook-server - ``` - - - Optional: Confirm the images are available from the local registry: - - ```console - $ curl -sSL "http://localhost:5000/v2/_catalog" - ``` - - *Example Output* - - ```json - {"repositories":["chain-server","llm-inference-server","llm-playground","notebook-server"]} - ``` - -## Create a RAG-LLM Pipeline - -1. Create a file, such as `rag-llm-pipeline.yaml`, with contents like the following example: - - ```yaml - apiVersion: package.nvidia.com/v1alpha1 - kind: HelmPipeline - metadata: - name: rag-llm-pipeline - spec: - pipeline: - - repoEntry: - url: "file:///helm-charts/staging" - chartSpec: - chart: "rag-llm-pipeline" - chartValues: - triton: - modelDirectory: "/llama2_13b_chat_hf_v1/" - ``` - - Modify the `modelDirectory` value to match the location and name of the model directory - on the Kubernetes node. - -1. Apply the manifest: - - ```console - $ kubectl apply -n kube-trailblazer-system -f rag-llm-pipeline.yaml - ``` - - The Operator creates the `rag-llm-pipeline` namespace and creates deployments and services in the namespace. - Downloading the container images and starting the pods can require a few minutes. - -1. Optional: Monitor progress. - - - View the logs from the Operator controller pod: - - ```console - $ kubectl logs -n kube-trailblazer-system $(kubectl get pod -n kube-trailblazer-system -o=jsonpath='{.items[0].metadata.name}') - ``` - - - View the pods in the pipeline namespace: - - ```console - $ kubectl get pods -n rag-llm-pipeline - ``` - - *Example Output* - - ```output - NAME READY STATUS RESTARTS AGE - jupyter-notebook-server-6d6b46578d-98xdq 1/1 Running 0 21h - llm-playground-6fd649ff8f-r2hp6 1/1 Running 0 22h - milvu-etcd-6559759884-9rvpz 1/1 Running 0 22h - milvus-minio-6fc5b9bdd4-d7l4z 1/1 Running 0 22h - milvus-standalone-9bfb5d974-tsjtp 1/1 Running 0 22h - query-router-77499f5459-6jjr9 1/1 Running 0 22h - triton-inference-server-79d5c499b-26nqq 0/1 Running 0 22h - ``` - -1. View the services and node ports: - - ```console - $ kubectl get svc -n rag-llm-pipeline - ``` - - *Example Output* - - ```output - NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE - frontend-service NodePort 10.111.66.10 8090:30001/TCP 22h - jupyter-notebook-service NodePort 10.110.101.174 8888:30000/TCP 22h - llm ClusterIP 10.107.213.112 8001/TCP 22h - milvus ClusterIP 10.102.86.183 19530/TCP 22h - milvus-etcd ClusterIP 10.109.74.142 2379/TCP 22h - milvus-minio ClusterIP 10.103.238.28 9010/TCP 22h - query ClusterIP 10.110.199.69 8081/TCP 22h - ``` - - The output shows that the chat web application, `frontend-service`, is mapped to port `30001` - on the Kubernetes host through a node port. - The output also shows the Jupyter Notebook server is mapped to port `30000` on the host. - -## Access the Chat Web Application - -- Open a browser and access `http://localhost:30001` or replace localhost with the IP address - of the Kubernetes node. - - ![Chat web application](../rag/images/image4.jpg) - -- Upload a PDF file as a knowledge base for retrieval. - - - Access `http://localhost:30001/converse` and click **Knowledge Base**. - - - Browse to a local file and upload it to the web application. - - - When you return to the **Converse** tab to ask a question, enable the **Use knowledge base** checkbox. - -## Access the Jupyter Notebooks - -- Open a browser and access `http://localhost:30000` or replace localhost with the IP address - of the Kubernetes node. - - Browse and run the notebooks that are part of the container image. - diff --git a/docs/developer-llm-operator/uninstall.md b/docs/developer-llm-operator/uninstall.md deleted file mode 100644 index 5cd096a70..000000000 --- a/docs/developer-llm-operator/uninstall.md +++ /dev/null @@ -1,50 +0,0 @@ - - -# Uninstalling the Operator - -To uninstall the Operator, perform the following steps: - -1. Delete the RAG pipeline: - - ```console - $ kubectl delete helmpipeline -n kube-trailblazer-system rag-llm-pipeline - ``` - - *Example Output* - - ```output - helmpipeline.package.nvidia.com "rag-llm-pipeline" deleted - ``` - -1. Optional: Delete the namespace for the RAG pipeline: - - ```console - $ kubectl delete namespace rag-llm-pipeline - ``` - -1. Uninstall the Operator: - - ```console - $ helm delete -n kube-trailblazer-system $(helm list -n kube-trailblazer-system | grep developer-llm-operator | awk '{print $1}') - ``` - - *Example Output* - - ```output - release "developer-llm-operator-0-1705070979" uninstalled - ``` diff --git a/docs/evaluation.md b/docs/evaluation.md index 075f3f769..b7377e2c4 100644 --- a/docs/evaluation.md +++ b/docs/evaluation.md @@ -203,7 +203,7 @@ You can use different model API endpoints with the same API key. $ docker compose --env-file deploy/compose/compose.env -f deploy/compose/rag-app-text-chatbot.yaml build ``` -4. Start the milvus container: +4. Start the Milvus container: ```console $ docker compose -f deploy/compose/docker-compose-vectordb.yaml up -d milvus @@ -214,7 +214,8 @@ You can use different model API endpoints with the same API key. ```console $ docker compose --env-file deploy/compose/compose.env -f deploy/compose/rag-app-text-chatbot.yaml up -d ``` - NVIDIA Triton Inference Server can require 5 minutes to start. The `-d` flag starts the services in the background. + + The inference server can require 5 minutes to start. The `-d` flag starts the services in the background. *Example Output* diff --git a/docs/hf_model_download.md b/docs/hf_model_download.md deleted file mode 100644 index 216020c9b..000000000 --- a/docs/hf_model_download.md +++ /dev/null @@ -1,59 +0,0 @@ -## Downloading Model from huggingface - -- Visit the Hugging Face Models Hub at https://huggingface.co/models - -- Search for the "llama-2" model in search bar. -![Model Search](../rag/images/hf/Slide1.JPG) - -- Choose the specific model you wish to download; for instance, let's select "llama-2-13b-chat-hf." - -- If you haven't already, sign up or log in to your Hugging Face account. -![Signup Page](../rag/images/hf/Slide2.JPG) - -- Agree to the terms and conditions provided. -![T and C Page](../rag/images/hf/Slide3.JPG) - - -- Confirm that your request to access the repository is successful. -![Success](../rag/images/hf/Slide4.JPG) - -- Complete the meta form by clicking on the link `Meta website` link mentioned in the previous steps. -![Meta Form](../rag/images/hf/Slide5.JPG) - -- Navigate to the "Files" section, which displays the available files. If you don't have access, it will be indicated like below. -![Default files](../rag/images/hf/Slide6.JPG) - -- Upon obtaining the necessary permissions, you will see all the files associated with the model on Hugging Face. -![Files list](../rag/images/hf/Slide7.JPG) - -- Click on the three dots (...) next to the train. -![Files list](../rag/images/hf/Slide8.JPG) - -- Select "Clone repository," which will prompt the following: -![Files list](../rag/images/hf/Slide9.JPG) - -- Execute the provided command in your terminal. When prompted, enter your Hugging Face username and token. -![Files list](../rag/images/hf/download.png) - -- In the password section, insert your token. If you haven't generated a token, you can do so in the Hugging Face settings. -![Files list](../rag/images/hf/Slide11.JPG) - -- Access the "Access Tokens" section in the right panel. -![Files list](../rag/images/hf/Slide12.JPG) - -- Generate a new token or copy an existing one. -![Files list](../rag/images/hf/Slide13.JPG) - -- Paste the token into your terminal. -![Files list](../rag/images/hf/download.png) - -- You may be asked for your username and password multiple times; provide the required information. - -- The terminal will initiate the download process for the model. This may take some time as it involves downloading checkpoints. - -- Once the download is complete, you will be able to view the contents of the downloaded model. - - - - - diff --git a/docs/images/llama3-70b-instruct-get-api-key.png b/docs/images/llama3-70b-instruct-get-api-key.png new file mode 100644 index 0000000000000000000000000000000000000000..4e186b0b1fc2ee054cb7b539fa17b80f3e5f4831 GIT binary patch literal 190953 zcmeFZby!y0yEgg~0wSqMNePNUcSuSj0+N!_-QA)npa_VFh_p0FiFCIh5>g^59a7SL zp6Ob;e*2t#o%8MM`u5r1A3v6BEt&6}W6m+=GoHBb`+1)zE6U*GQsSaeD113tNfi_d za~J+4#KD3iq21~?;D7C2YIj{!4BhD*ob1gkZA|H0JRMBwOg${kP$-XYw#v2y0qi(O zk>_gc9}+zi;x#^@lvKDJmE_L;6!}pQt^^!%b3gfaE=i(NpyF zy5Pd3nC&H;Pgw32ah##K95mW)8^LJ@+XIWM>^&_XCtj6HVF-nj&?si>5FXMyIkO&r z_UTgexp=be^7at*QB50%_`#ee3WfH_QbIymPD0}MtY9v2z7fK*jbc>I_f&65T_-Rj za{Q=VX+d`0ky)Mj;o~nF7X9_pU)U_ZyhttM$IUy1ElQe0z}i_MScdy>0z0@UAo6X< z%iY@4Zu*vhDZi@9oicB1oZRcZ9W~@h3$G#+o6>as)NyO*{fUELi%FW93CC!4G&uW= zHnt8{UhVoRvNK1nc7_qd=d9zie*6%R01vm`Z0E5nq*_`UPr9C5!LOiOXBa#mJ@3XqXnHHPjt!9^9Cnu3GclS!<@MSu2P4?p(s*Q|a2-)v9O9N%e8q>sLthf6L%svLkdv>tF$ziRh+a`R;@$y1C6 zWW&eg*bghkDlLb{TT4bo&F?fFrjxLDGNt2Y8F%wjgl>U1N z_)VDJ!o|fwkd4jV-JR8)i`CxAoQ*?3K!A;%lZ}&;1`^kA`bWtkrgkn2|2l+;@t^A*T%BxwO~=HT&D6%! z7EX1ByK?-8Tgu4YR{nDZvIORqwhq6pg2nz1XS!H|iT|h1hJ5mCI{*40aQT0J_V2m> zIvLKoeOpk{-q;m+JUK~WdgT6sCicdbCW62I%5ThJ%+Alr&SGZ9Ys$jSZD`D5$Zg2Q z!q3CU&u7Fdz-cVN`!7Su**Uuy+8LW7L&4yzmN1T?k$?%OF{dGmi3yh(3pYPEFN-0& zDL)H0I|na27l#oizp=@`458#?307%n^RG{Z3}pgCahmX$aC5M8v+$epak6lm8FRA; zm>L)({~F4~SWw#D$<`2Fr=_i-xhb22o%yd1kOdbMSC$i|=VWF7 z=ZLb6p^F(@0DHjF&cxo``Ja!}ENx9yT?~=+BYz=H`P3=N91l=OhhNCugul zWK<4zR<6I61bH!nFdbN0L&Q>HfL~X@Yy>5oObuP^oz(2@ZG`EOhoVES{PXc`*ia^h zE{2kZE~YRjJ14gwJC7hIw;BhpAUFJ-kA)rn`!DC)n^>B8{(qf~Y#%zIzh1hmr8C^$ z^Vgxj_LQor<6po1^{b8Lugye9_iI}S8XEsK1!qGy)4yI9jP=(?#ukQl=BD63{x;a( z$1VR8W8mjD;^h=D;b-9xFa>+!;WK0rFySy};WReoG!-!AG3MqH__YduMt8P1b8$Cx zG8H$6b%eD71O2sDbXWg=RoDLG`R*2`$a{b#V`1lE`IjZ5XZw4yY>3DBJzF8R|Hpa= z{W{@aTnt?I*D-Ki;0f9OxWd2J3!e4A^XKpP@ZWh0I=X+~Go$r@gV-)|x23S>Pmz-_V-IffuAoqKC^<=SHIHvUMm=@awvI*D z2J!GZKGJ^-OMjd6Qaah_A#O14gF#(Rr%#D7X8O6YW+tN@^7(tkDoYV8J7%6trR^*` zzSy50>&l+1Dl2-5gV*8bcfXs8g8X&kB`rZnWH zOzyY(K0lB1_$C@QcF>JCVZ$^NT-aOL(tJ;TPilp4Rx1Z?Z&a|VSZ0eR;ynGugtO4) z_viBu3~Bl^2A977_~A1wv&rM>uSA4tQLL@leEILmzr}vjW^z+X>J$|<^{=xMdInR` zM8dxPdHDAx`Zn8cp|jTSi+#4dgs)$}PCoMI!|WEJH%j?~e0wFam+CV5t>B5ZRDLg$ zq-zHfBwx5GIXIr!z!M5^_>vdVv-D_I)TW|F;=UGW0lC+^Lk3AmW| z@sXNy)tPfsUMN;z`~5V;a+>2Fai3B5e1kCmEYF>(zAKEH=E$p3?E3wl=qnn*NHE2p zZ)%n2;{Un6C;kc#Z!3!S_kkYaOgVHPWLk2+pU8zwHuQ7b(l`G;&zj%IB>O(VP$bhi zJaw9hX&%4LB{*|I?nzI-z{5YACU_-5I&{MLpItP+Vx{IE-ZlQm0xBv~o96#zGgZj& zT>odEN$!Y*{jkm$xm}?r)d7hkJ90!J(n1 z55@vk4p50BXbzT!4?EiLN{OScKb>KpU-1*9CJ`IP!Jvvib;$Oa*emqMgWQ+6kJ0n; z@`y0eE?>UP9;2WknxT@F1b=!Llr=O4GJW?C4j6cON#{D_8`q~=FZ*WPie{bf%Q~l` zs_J-rxF;yOw6O4GdwICAr-yhj|6c3kGh|7FOZGZ6ywe_kO?Q5qoWlsytSceZdNA*z zfB=P-mKN!%QliMH)x^8hRLt@FC&FeOuhCHCyf);FN(s-JL&%If;{+kQMbWQ0Ao@x!B3gsKCi(rtsl;QpDgXL>ZQ{2w@8$tLNcqhIUTQhff_xaLJIB)S9 z&X3@7ZxC5knRmArnAV()zVBXkaOyjA(o(M=9DlwM)QCYnVLe>JA{|P33L6{yomLUn z!omWN$kg=oqeA1>x9T|>A3HjlzNFo{P^`qq$M+~O@a=~WYCql4(b0)0DW7tgclPa5 z0Pc0^%9Rw`;gaWVc2QZ18I3KW7aR|F9dRCZPkVlSK6UYzoxdGsxOfo_mfFwHZyw%g zD2f)PTj_?+R$SX=%$^u?%Gtu{2 zUS3mWH}9mnbm@}pnBv{L@6-XzP7PZnbDiClEv<|X@QA_ zHTiSq)7L^{Y9L9PiETPDd&ck&+Hf97RV(eGecM5zE)FCZeKx_WCtBM=<%ha{;NT zmr!-HpJST`B_t$>Nl61=vFJ3Ia3;fIg26m${_q_R7){hYn0)yidBKbQIg>lIe!GT; z+r##2J3BH#1k?^IBLY-6+!TC7uU$L6JX|VcWp#ZZ{~lXsN6!AJ-Dt%{Mn)_?yOBC2 z(IYkEH-$MlOj!7ok1{i_#);miiRH7;TaOVB!1{HT{a6#cyJqeYdz#m%#B_x~u1b>b zSN(Vi0+qN9Zp2CIpPF_)t9oC|iECM!xKt;1S{^|Kn28M|fn)FfbvVb63ZYBA|T(b=|BtQP&*=e0|0o`jIGjkTYXk=gt))H@l2u6~UK*JZvN&Cbs5Dho?l$aO_*;MD5G=eR^ z7MT-14GAHprp8ZGvFzc1y&{pNHXvK7%NkT!dEp3jBv(mr$wQ@| zQ3;&QuRRu2QBf)IJ#fRjz>9Z|QK1f8Sa-Rz`MitZ)hKy|*X(Gk)jKq=n6=PRCoHI2!=DH>r zQ4ey_>@Aa+q76qCF3X>po+rtd=_=IL6lPbM5SZMxRajEv& zPRrS=D_+*$c!hh})9Hg(UvN#n#l)A%fs*W%E}&Sy<9B@9GS}PN%aTsBvod9|9qWNyS2?tNjEpQlrO}zwBgU66OB}Po@))GmXMdneVdZ9 z-b{9H0?ZH#g%}cB_2yYHjJ3`is|FB_z7`l_2)fK0aJcgG^OLJ)C^m;);A1yx!l4py z!c0z1-UX+`;ku}nnwIvY^?0q3a0*6hnQRVec6mlCN^?aip=o!0%5iH^y{WZzs#i(0 z**d?ParOzgq{G8QWFXiY)a&c(yFZG$kcqz2F2+4RKK9t^*F;05$b`3~-;PBB4;Urs}kANSU}TNA6` zx?THo?*X({4JM+!ID&|-1&3*wD?%c&*jxAl1b$PPQ}+rfqAF1*VbV6oVvjFqnpn_U zib(U%1>oA2zi4h&pO5nYNkuGOx0xA`zQ3Hc{?wXbB3oZ9r23fLBY z#$P%f{HgW^olgOcZ6$@nOezKei)&y2L$`Gt>2d-)y>aDfLSZvW+5Gk$cQ%cNBs8zE z{$%5KH1TIQ`3uDzHQSl__%weA2?+~3PPO2pqC#{~b>K6)Gn8o8H)v>R$b~%Er=0`_ z-f0E=_+f*2>Xc!fKN@oIcq8$o&VbzjesyqiYFHVqj7Ufzprxh7qY=7$XxdN}-b&+* zH`kTe3ZW-?a4F*T>)^FD2ba|`Y6v~qm4*U>4gLM+rBjG!W@cOmZ>ODwaQd;Us}&;X z9Tk;_3Bum=A|f=7j*gRZC=`w7H1W%qFAX4*x_b4he^F6U>hJ8}hJ8~ou|;n>e$COg z&daDM!{(>wU$YycgG~}sQQ53B*O+~NV>nXgNX}zL;@@7+GFss(Auf)lk*}|pf7H_4 ztcCeayV&aSmoF+lyWfMZGBHW0sgXE2JF_I1*V+tm;!z8dfNyfOtF#}lfq35tSxxh) z8=VQlA)}S<#vQLYAX7sr3m7>x2I3nz;Ah62eW!N4&~8-FQE(M^(@b90jr3U3m(W5-{gY#l!}ZqH%8Kne%w65;Q<95hFj_NgzEhci=*~G49;af=V{rae6IEorV~H2XmsK>!7{Jdi9UreUOoJ)OfL;rqdTvD z&KF9+U(GS#)DQ_O7~Bvf=jJ>t`Eq)3DQcL%M&kkRD4xeWN2A`EwFMVJDp5Zw3@kh` zc;}9g7kPMj(S!5Q%+n>t@HbojRxGhG`?>J`iJzmQFXa7)M@PgI6i?iiza@Y8KmwL) zG{=C0{`Be7=WpITy^`poGNJ*_D!F%|z-mYO)YbY_x1Cm?9u41T)~E9 z-oe2^OhEzfeNhpI-3b5T@xdy}AM(1!)>dqY#?{R`K0ZDW1kwacm#3yM9^ZWM00SEd z^**Ce{unvRq{DOjRdVI)Q&!0c9(fbu@ zAc)By?8o)-T+sak0whAu2d`h`s##oR2ebiMlrAIF=gzI<*NH~adHyDYex2rurPJF z&`+F^krCvThRk83qH?~qn{bkxKd)7l5FL#jqYwy{-NzXxNLV0P^%~(?+u7yuhias$ z)Q^r*cXoD?bD2FWqb=7Zh>|}QC2#8N5+|MVKsz_Ew6rvJY7^oeycsBsg20135w8Xh z5kl}2Ue2Vfv~z~d(jOBD2@jX?@Zi_}VDaGOc&B!9Y1aGG$B!Q=ck zUBHY($n-tX+S=NT{0UJ%H#XK6G7<-N^E}1m^b{D+f#p6P_dEE^Y4>)JfrSMh67rxP z3li)OwY1)aHHdjyLQl`2+CP1A{PC4z6N3Chy1u(MMHk<{f4}ybZ@karXr$bEN6**W z0NqC#L-_?;QN_o=7|q!B2yfKH1)GNrL!1Sdqcs)tb6shpmQ?8uf-!z_Q8P2u62s<9 zk+P0V-F)*bs;mCfk!si(87orNV^7PR6I^tL}r>(=^a zuhOkWHCyW6sj;V=oE)Uacgq}-cNIK}h#92&tP4Y1c4uSliO9%;G7`LSp;m5&I`?^E zVmRcx+V5- z(zK0Jlo0xD52IAl#S5HqO0JLWgNcc|vc!e z0m8-ts0 z$~+DSEUF3~2xh)HQ|9yy?P4{aMQ^|Vp#t`FLX^aU2F1KLw_NzovlOgUj$%s=3>5^u z-@iD@{5WXWa`M_Jn!Z|bNoLp%Ym+>!acDHmV*UB)2xFJ4ZIOn-pB!!|x%~J_Y-nisv8}BhYFa?cBch{& zV22n%3dQd@i3vfp2VQ>&u|1^Rk`4~+ScEjs06q}Q)nMS{JR5(*y=8xE$#JpoTI_;| z?>;wzu|Wuh7kL`+A0%~BRwfd3`vLp@(Whv(Mo91&BTqxcQ(tU7*kn#2>lrv6#iV)Z z&t4Yj65gRgJS-S>kI_Z^qOGMt@P7gB55FiC{5trzOSx^!+tkd zo2Uo4P5COx*J^J*KS+uMOQWKq9=nhGl0j0?2q|Q8kHy4~AI};ZZg#}-Dd`F|zJZ#^ zaAlKsM*+E`s8?0NdG}^n+=kH}!{21}#bsm_}@DTPU zMHznbxh#aPFfX7Ha&oi?)oPSK>cfJSWP>&3NZIwq7J=(7)Y%dcK+8Nvh#!QLCo5~% zAyFula95z&`h8;>^Ux#U73FP!J!UCu>?73KJg zud1gzf7ZGFa=PvNiuuh$ZhW6_nj*u5s6Hu9s>2qFxn8PfVo2XLmfN=<<>|&R7}acm1glb*GCx{l(il13%x4Lt4oM^Nml~Q7C4WTUIx<}Dqlvv z{#|I%zdax%8>0J7J-j!Ld&?Bz`Q}}1W=p|WYED|L{v@qLt)Kv>0385OS+FItT-2_gg6 zgEuN@wMRBL&8}Y{|C?dzSvKQi*gYO+I+|EnKu0}qqdV5Y8oI~!@pylZjZ+Lu%*;>8 zZAof$V%=(rNL+|moJ5fCrM5X4(1WkjEORAIGkFF0_ z7yGJtQfo*zsLR<$5&LGAV8<@xy2ZUZ$c+)5WjT|{RNcR$>3RWvPY?yWOisRNWBB(T zGjT_%Sj~mvSYjU?&4h;)YVOvOah{nm{QGzs(oJp5(oLh3r-Q5*226OQ->Fl_U|nOt z`s|%8*wEP$EIyPg;onCbK+5prc>i57aX_gwfd+-4W^1sxWBB`)aPmG){>e$Sd)rul z-%Zlpzhiv-Uct6Bq;t+eziFd+R%ch&+zsEnw}0rx|2I1Of513@(QjV5o{xTO0sfxQ z|6x?z|Dqn?e`*2$`xotXity!&0z*yNJK^|Nx>vzOZ=H-Eg(iN^+b1)HA8>tGbI%BTI^_x?c zJsYEdg=ijb+>l6CuCw3pAf|C}Q2=z-V`FRIe1OCp939Kezgz$YjIH+Y zEX1uBwHv_rP12t1VxNhn!NIp=Abbc(tuX|CoHJ)C&3kvD>^9n*?_qxD{eiZ&*Ak9K z_Ju7c+lk^VOIisuH8+oLzsEgurV$c{l`Nl%bFH>YNB$upXZCki5!~Bt?RH;_XSI?E z?asBGZ+lOEU_-MBzSL{3vW)iP@~EsCcVa>1HujRX)A? z!FrGY4GoRi2IV~0*$g>t4Dn83;D?C7{Z`TA2QY`9CF3Lr1RhFocYl8$fxLiX-mw`v zb?Q|8;9zvrF3oc5stcub7}XOBF0-#TXSS6~X&<@K7gGTb`~a%nvF!~p2ZuG`C?)sF zvel;YtgQV92o`H!d&G-HK=qNJCc(C<8=H)-E)}qWT?*x0#df1_V#IDU($S#+cdN`jfT;+4E49BbgZ@f#=S6nCaLMBX z86O{^@ByI0FP>j{>IK+k|7g}i_M z_Trw3j$rny*y8t56>QGs1KSkWTr<6DkfIvurFX>%{Uy{ot{u90sCO$VdEEW#8nY$p zIyADj4ER~Sx9j7ME7~)XQ(x-n9ZA`GTIDduzO9kXt=!7}q_T8dqDFPxufS^GW~RKa zi(6{%R$IWgP91z(8I|_NICt&blKNJ9Q_)#&%_D{Wst+3ZD;g&Q-ELpHm(E^my_VKt zFLPi$FHj+J^rFuR2*QUj=}@7n(biFtWnFm@`JuVx#gN#=5#|~GCFkXlZtIpCdNnGa zS_aHhsqXn6G*^5Jhj|Z0=lWG$Te3CIkEHyPD0kZ%m~waxi|=|%Q^xwE%uuB>+Laew zyW66k(dTGu@HM|9J*$3|#rhZ|;efc(e4U_y z*9+u9GQ1mjy^RC8Iz6D=fZ}d)qf0cpD%7$!-Eh7;`RcW64`8ElQ{sbAVC`VFcB<*g zIfOTaTpZC=s9j&L$EGy^BSiU6Pn#&j^5Q?FODZcPPe@2m&gp+G?9IEqGI|Duu%G&# zGv|R05YN?UY;44cX1f=tz*uCld(UV66wUoZ$LZ;5pdgdLuy$7}SJ&FEB=*T}K(Vm~ zFj7N(JsMb@#lSm?G0!<_X5BI(u$q+qsYBrOp97JRqnUq`2=jwQ4?4W}NBQ~r{KfR3 z^8k1uFf#HSJnY2x?`Xx^p#sjc27r$RKYiMOP3z+i>JOx5kdl%D%H$#75(wT87+RVB za9ex(OL--o^Ha`|e-nUc1J0PW zPi(alz+SyCzh_N$r8o_#oIRF{2b-KWpi%|Ii^I4D&&15^8#9J;b$eHr43N{nM+2LI z2G}TwLxN{6r4iTyb+)&+hXZvTY#%ffh$5O`e0JY`7gXIDwkrR&$SWy;sRK{L6Q(Cm zeE=LA5r|6w?*T*)7@yRPjHxJ1{X#GL?3{O?tN^Yp@S;Q@9pG#*mZYO22Oy(p0Q~_F zI*=23w=#1NFg-{|FY4a~g^cl3OQ^?EZYc@{wYvl$I9AWffQX?*p@4Lha&qDX-01u4 zY#@vkd?gK8(y=N}s0Fb>Q`h}Yi|b`{bmQP4q6RYB`}(c*aBm~x#S8TN_wRdnco_Vg zZu0y^9J9>)i(flx{cjFl`~X%J8lfPe(|6ud-a zaKyymY}akTOFEnD9$?&2Rz_9p6W+Ub5BLe)cjmBlT?-2fUxSngNLD}`3CYOFfC9~t zuKAkHb?45VZVPTGOuLu1jK+u4zj>3 zCwpXQAIqoR)X*SxTODI5i2!tOaEKHo#u{x5nxEoVmE~QXUG{-0OG16PGBQ%+aBNY3Vtb*fS33!rj5z^^DGR)KQ&jQ^_`uaR*0j_`wQt6fdx?s zEo0c+oBQSfI(_{7SqgA`0GA3(+Ro;n@#xrAc@1;td^0hB{%t50=)yjB#T z>q3hjdQ=^<^MU)PgGdfG3bug2NO0pOC!Tw&8i|wED@@K#PK#CUIjiNKzzddnZZOh# z&0j?L_3Kf%5dD9#+Aj0TW##3doCtO`KipmC9X^0(EC8Lv;p+X9B9G%VaGZX}d*-0% zK|*~=KPR|JrUc*ZA?=Nf!Z~4Y*O~V73UU0z_k6d`w}jJ%!!w~!W}R`TVP}G#K(w2K zStKBz0MHNR>rsew=2C#fCucW6>EAzc z1yvOt2L~}3n|>3}6!<6{Lc-Qmxkv{H2MF;AA3;VT1#mTBytwd!9|Z+XogCGk1POa@ z(}6+??l?b~PwOH`jetf+8L6psSFhsaSN+6ARuv$95Yrg!u6>u4mCcM81ELMlc^&O< zNf;T?L!MD!-bLfG@TGZi{Wjo`03$U(R)uI39zDXWI^JKx!N-3b85#NY$!)L*ct}Y= znO+Zo_X_Fk1TYC!>D)#dDC+K(J6%rj+qZ0LX^|fbyO}Ho!5?vDAm=fL1&2BkIU;hn zCczO80yatbMLL`&R7qqH6K25gJc|cPhk&LgNd&!yMUI+2(lBSC2LA$%yGp7&l$-+{ z-e-RG_M2(WHCRwZ#jxENzoY%{2ns)ba_kNZb1PfI4A9$#j6}bup!h-L4vmDOk}fXX z3EnFL9KrzJODiZmE6WEw{v1GLk!r2*Qo4(+HJPqfI|;T@`86!{L&PG;GrE%{u&aKyGZ`fuj-MRSPEJm;TYkADw|opJ zXq~E(@Z+O{9R{E&VS2I(3M6a=XmsrC%2d=gdG?TvzUH-klls^jVJDFMdVR9_Dl01@ z+CZp&U^!`qhK6`Q<(3?0=XsqcBg0lwQbN2b2%Cb#!&~9Jo*YfKOP4S6$oYa>Mu1g^ z?+vF4tDBpeCLnQeRcw6CZFv@XDEl!X$jUDQ3fz1KLvLu{iL1dU_DXe(ihX1z)?&gi?5n z2C#DGuv~}?$PVoW-2`PZ?jf1FEX3*1p_gdt!P=Uq1{g(%+ zjw?7M1PSE@9_vOqgM=!pw2MDsExuRpj7b<8Ui90WAw!UT0Rb(ly;%^A0#{YF`Q?^T zVx`0Po1pF0{8{X#w_~>@%okg1*^7nnHeCVcopFejJdcTa0*?<~#{ig|`H^xiaHeKO z)j9oER6-s^;lkUmn|VHiZ6~W_A-*AJp&&~1w&PflIpU$F+alMY@<1f2vT||{A|rb- zXh)3wy8^#{y$h+*Q{pwm=-Ju37s2fT=3fskpy@(70KSN>0BFg{l71^5P;-6qH2%1%NKKn6AQ0Q5w z4#GyI3~iajTFosT%U*xSQ1tPmED#Y|&nCWBy0ZZn)^tY&{9HhII3Z-rSL_DkG++}U z(q|MM4*K?wA>)XF#vsB*3+}hZtzj=p86w*dI*j^;Tkx=e(=<+k=PX5t3sf>RX=!OV zxVYIxcxfx8g4PQK8g@_uA>u+v?;&no%EHSYWP*eh=$A%FenHq0trpY~Mk{I;!3H5o z!qW2E!+?NhG1Gp*G>se%0Lpy;y??Rz`erf;1*wcyUj*UC?y7_q%c5WThabgu-Vp@xUF??bxnXX!MD1P z|M|?dISZX5zkWYCtMbt@M-1zMcUi=jYE@fViV3(kwKGaK7U5aep-_>p$+M76kX=xH zv&bJG9}nFwEa{#wA3QLCX2|tySBxR$B^|V}DyD>cOULrsu4wPcvs}0~r=l~MHBeFr zk|q;#^TBeJ55?QY);cN&6X&id8h~$_9C!cm^#O?Go{AU!mH4Dr5L$fP3fIVK2G(!M z=YzEG3N2;I{vIi+W^eX_ZjDd*fS8$Y{(~iFyAlm0m@_9QCurXb9H*p1tZ74~8L+J7eK9A0GWwn$kSza4(;>0Un3Hu2?hi7(& zjD(~PRM6n`AQ^lNXROCSnv(=Vd9fMp9`JKhPp%{o1ubYEMRkmhR!e)8f*f{G-y2^h zoCe8IIuk|1VMiIyv`1+`yT&+eYdCHG`aUo}-G#<7C^4|K?~{`cPoHC)cub~WFz*A3 z9sFquIPD1@&&R_BbVvwp#N_CexPIVWVD?u2i z2Sy#ttO=;wOZ|o5(I)}ZYVlsJ4vNbw@JzLZ))Brm4%IN!Wr{=C-jbHx!iI-c!doqIVY$0Wl!&c zVwf)a)8%DNd0)%%8eu3GfC)2OKZb;?`I^+g?*9HHlvw%e6`tCWp2f~OTP@lLrLPhK z`(hSN^+B)BH(`t?sAfpu7pJ#yX0HnOVTj^$-t7`kXC5$=*vLXPx z$bc<`N;$h&AvNv-R4*9uikb}eAagZjCui1p&ZSguq2OJlzT#C~)3Tn~Zv~>`khxV- z5|UuPWA~i<))qG`=Ut!Vme2x$2ojzlpH55P;l#cwi;n`|6c&qLymVq>VJY6%tr>P5 z!Oz9OuO7%+uCmHq%~`5=d(o3VP02EQYUI7?8Kmg;0abFD+cG8Vy_#pwp5cMgVPw`> z=0SUpJ6qKny4TJMJ{udGhqpJNwG&XZx##+%z4|MVszE6VT8IG)C72GRi3;(eO=|f% zB_)@O2}?*x)N}f`1nsWPm@x_8cBSopzLW@#UpwD4d$u(909$AHdBeB8fw<`FQQ1Ai z_8-fKw1s;txWU??;40Wn&a+w@*YM64Jhujg93nyjhh6}4#hOzx?(*IV0R+GRLI{$) z0-X<9A@T|1tNGg@!lI(02xe(twH~-z5fFd@3Q$m)+Y#TXy#Oi_O!3V13SCw*wle5l zgT$PGir--C?ZdCm<0ph8z}2ouMP95UK>mA$#BU+@vHF zqNB=n`*uY!PRz>6s=9r`jZ4&+2{Z_>mv9IOTA<4B0gdWA{pxRK)T%lCpya{>N|=b4 z_<>@)V6tYuJ|a?u%JJTmCw=I(oc)rBbi4cRZ$tT{%KNvO3RuADH9_4AqSY{vkHGgW zsUj6M)N0)(TbFrx2NoSG%gVSbMkpH$*hjYC*HF8*YKR(lssi4zUhd?&2R@4kRQcfC zjKQAyA=*N6skM~pc5N>3pni05+$tx!G$;P6)qz*_ab9s`OF~MTE)$P>Igjh;Im~2f zPwZ2t`mNioe1CG#(@*9_6}6eX->-nBms#uIj@hR%hny5LdxZOjGM|c2^pHKlYw;SW zYhkJ#nOt=X;D?~00}Y_BuNAILigEl8AagMWOkrz3VokAheZRmpA3&n#FhlSV1G{#< zq&K*tE%k=8?P+~VyH0O=&>G}+Rh>KXZ!@uS(5qG5x@qM-UVC4ZQ86wU`b%J2-puIj z$I%{d+Za2lt4eBtEEMYY9Br~O1OM=*W**3w)u)o9A)TG%qO&viUxlO|$%yv1m#sNm z_#oMYt{sp72h|(+t7J(+4~xUvg!noaQgWqi%Y;!8GaRYY@-nBX!Y&K>x_)@HdS3aZ_aV6Jdthw6kYyil ziKjF3rQ2`zXlFbKs#5?)km6ebTEP}cR$wn8;+`Ch+_Pjt=!k+eq}SkGTKz!zMTiy9 zWdNI|!~z@eC~&A&FYchbx5uv_Hd^vcPGSpQY-fpm%~+T?}uCe#K?Y;`!2v;Y$el{V(sCqn_!cX3;ND~k>C zU88Z(;f4XeNe&YPi-mkmbobz3@GepPr%y`>c2ipd(cdZ*KX-Kn!R%A=V?NKYn(CD7 z8(7ad08HR0Eu(r*qVH7#WD7j|B1v9H*6kl|m1Fbl!~o`0x@#vU=08nK78e)yPJ~b= zON|~XRk4}*5!nA)RkUztaDzO1<>kq#B|DHoOvIQch=a2G=FOW>L0EEdCDrWpzT8RQ z&fI@USXmre&g<81ON^Y#*mmk=2XU?j!- zB9O>KH}w40KBeU-w1I)jmmR>`^&0?tJZ&ysZ1Y@4&Kr$UKh-o^6!>Xq!hQtk>s?)gUsybk^{Z)4kV}$t zn&5y;i6tzfs)`DmfaE>QWc58lvmwShp46d%BK**hj92xv}i z$t@P9Yo07=p=$1sMk5M-(6CNg18ge+H7i6blv>!lgS&g_-ApsMoCm!_J6A*3CQT50 zrO-wPm(e#^bEHWFGDeC@x8>|Xkq*~Xkr}hlT(30f)m~Y#i%9Ge+IYs_oOW&T6W}cX zvi?f^Q;k9Y<2vvFs;`Rx2?0CyepmbC_y{_xLP0B=TYuzeyP#EIfL60Rd8W-Zox>*T zmhS;Yl9PG`yfNdU_oiPzSf1mx8wrMLL|b=sK!bV-pgFIt#ZxIg7CfI-I`JW+YXtoe zqB0G!1(ZQbx2*A7VSlr>pnYj&e=X04c1RV+dKwty6rfJXB17LnbL==&L&I?irpqIjF4J1y$oD%~E}eYZUwTVhn-bWoaA>yB z+LVA;W~6fiba#+CBbRL=>>D6alUGHrwF;Pb-plJ~`mF_^g8FD^GI@8l^(;9a76PF` zg;JEcq&{4xz!(66WvLrTDU65JNNqXgs^|UHXi4|_j35u9B>q-hbXV;X5EM{X6ncdf zs;{`(-m;<{fqXQi$38_m^gYf1Z$HnY+)eI&-@4_B;|Q-42WYkdG(zH?G2kw{!{f(h z#1l-QGJ-bk;u8-;Ki_2c8?Mi*1=q)0zmPR{c#-A{+$Ot0cA=7WwgK;Cl-lcf6}^I3UsHV61K>}CTTBo5#W zGwEOf>2xf#sRj~IdkueyfWn_pWETbTuMWyW1ZxKv9x-^u+IoC+ za0luFFh4|3Ps$(&c|bS>tM5f!A`(ETP*G7$0HFYzae%xAc2EeCZ6LiujsRIs&&-Ht zsl5fwKLCPh{oiX4=_)uGcEbitq{$7W!%(*FZVldR4hqTcw?fzp+sGFe(9b*sNfE#?W7L`-NZ9PXRoH zpF&VasKX|q>M|Mv?dsr*_9SR?o!k)RwI4$?jYzHyAHD|1up9C`SMX9Z*c;L__p1Xy z(B&#FE-pernVXxhV;bdz9YHGsf`5^+Xg`9>p^Abgyo-E%WZ;}s13t;i>)*0u=m(7( z4s<*s1PF8zk*en3qwoY|~S|7Sp$PkbNx&f&~e8_oRpD|C05*2$nLrv5q2@wR zb#NUV_m2;;c3Q29wH3NRocKI45(5%*C>o7{HF~k6U@U97y0u^q`T-751cEi{_^gb{ z(E2_qC}2l)tma(_#U9e1AqyxpY{YtYfsX)UL12%CB+_jHMYeWEoSZOUNBj-4)v65w zcyA1|woo*|%BrnK{5(ml_9hI;{&s?WjD=bM{d%dm@b$&lmZ3&B<)5;nW0{U+8BgC) zC0>qw65UO|ap9sR#oqMt!Dr{Hq@gU?%}1vC$}eU2AG}GYR^w#T#S*@X=QOt?Gd@Jf zz}1m(=HvXqmXNR#0hjl-{!)>M^)ioler^uShcp0ugq|M`2(bcV)AD6-yWe)Wu@NKD z=jRimA}Ae!FKGs_f?45aOsqf)`TkE8PtS6##m^&vECvD&W(bW-1tlfYdV17;`wLef zohsQE(DRL~ak3f9=cUyFV#Ek)2wSgrfF>Zc<(S75{^7FyeP}(#fSut0df@NvB2n^> z;Xw=l2mT0Trl+R>d<1)x?OpE`M*R}|@vyOKZ)2o^i-kqX*H;)K9>QN5fICMF1KNj! zpro}BlD!=t1pJ%6_c9N3fS%&zGYJ76;$|LMAA6zfk+x|!nuc=W>Q(2(Sm<2?e z?f%{wjdyn+073UQIT;P08c4>2GoOSWEa{DxG)+%bRS7jUH5ou+j5_wATmk3scx&J@ zPhj`pmDf{3Ni40RMxEklNNX7o40W3Kd{03wjx?A+XWSHa31E+t0KOnBA~7W6?d|di zZ4G`eGdH&xh?YR$nh@PPq=E&dNDp;(!N3IceXaMYD*ft3gYASY67+qMmKs>yaMvj^ z3l;Y*x+eM|*me~2S5PvaC7$c`M$X6G^?0kk`_vPQ#<2lBKqk zMn#>gJYc$5bNhnIY2goSZRTU0s)z zkUT*^aS;%#&}YvHI){)E<1y2VQ&HMXv$ZxE8;luU^)m;3Eb=e) zWknXedQqPFNotVe$rB0*if?21pSc3rTh|vBFKjl)T|N}sP5K!tP-+^cn;muzWo92> zJ1VpE>DIE=K>EviXfi}fIRJi&wFKTc3z^8%JOvrAtZZ;gl%df9nr~~;F{`!p5-G>Y zPVEUbJbbTKOZxUGq2Nl>%j6p8Q_i#KzQa~5*t7s4gL49k0+MWhN&230(OF7~;DvL~ zgb6M3*Tc&@#dSX2(J8SZ_B-rxeU|==5N|m)^m2Oj!QS3?XyFE1Ug(zBN1-=~Yg`dJjCzq& zl7zRs&Bw+1w!vlt($g7z06c22M#3KC7>EL5zFL0Tuq|RoX|1>z05n9K4^1&tL0bN^ z=X^FNVy0wpZfy?e*o!AC8-VVK@X#>+QbOA8wRKWGPAyZ@%gEO-K&1>}E2*LaX^8#e z%|u5`Txd^6KP7PE2Eyixo0wekJ2`SMD=#XYnIg#;nGAvK zV`nGtCl>#{<7ubzc`3Ii%cCm8Hx97gZZ9Y?D!fL)*L(C03?OpvT?pT_SyV&S-tO_% z=I5YE53pv}ufvP9%^NLsbz(?(e`~)~yh+6aji{tc7a~n3SSoBEo%{1WCVe!_whz1B zs7wDAhnkf0*Z=cPq8Zq&ycY;L8YeS8!kyN4q6*P-lU?I;fPdpzAkGk_!vlZKTDci zY-(Bw=;%Va2SH;$Y;q6aWN1CmfK=roghcqt3lEc}nL8zZM_%y)$c;fbF+(1n8NXqz zGkd&kHedcI*;6K2`2+bNHWrqM+EfvA=_9>45w=RpLu3?!+gCmfJdsM$0|^&=lL3^e zLo$nHGfo1eth&LFh|u%!6gU1D1pJZR@6ZErc0lbh+J5@<=?p+xgz9@;iK4Vn=kY^k z@OTg)#_vGsApI85ip%I)hkOE)8f1*GEU{IB;1B6M(w_CLs^dKFDX7vOgYIFKa(r%T zDge4lKI{(xq=59F5V8Si(H|~>DQ}ESM!4Qa0sCT)!-fg5pSa)x3TNS(nY%ODG>6nevqQ$#lPiJsc7)>t{ii&z?Se?i}%j3n2h?7x;I)gA|4t)9b3k!!9wv zUjWI-%*$&*co3B=?qk--Hg=FF-qq1bNllep>c{&$?!5PNhE(&k{H3!X(W)OC`@h(G z^JuKwzF%0wMT0^LnJN_xB8AKv49Qf9gfdm;c}#|cBvX>ekWfmdROT_WLW#_?N~R2% zr{2#|*R}8adG@o{df&bGTJQd2TkBreT{+M5cm96I@cn+KgB{%`-#}A7CRkQ(?oO16 z&@C`moYvL`xXT1>Hy-U@6v+#ntp?02EW}3^`}pzE$%4V1@ku{^xw^E~sb$X5%N zmfjV1!M-^=r2VV)>Ur)#(W_}!^b8l%8RXsF-C@rV+*jc5pZ4v^*}cShgm$EEBy-Mz z-{SnBK3%YdZF3l5N4BO8s+$!=eY1<+XT^~IKN zuC;mOPO`RH+ne-sFIa&tSck?eg=P;)D@Z1HDk&=ZmkavUaNT;4DLkmIApU)UU1h>2 z=8B&2M&tKZH$)2CbL`}2FY$d%A2-e{v4@U+^FM|T~H9+D|QM)XVF5(2`q*ri+@RIh5D&vtV*uN{vG6YOMI z%5Kg}GHExcPP?73jZgnq06!0h(pb8$2NeyeX@MJ%ofdE;alWH-jYE$P#i+EI*#Sr( zJhfjDBoMY&I8gZo1m40MOt>9W)1;3_@h_wZ#`fIs`7>~p_1L@|(K6s+6YLPQKVA`o z_d{h57{C#69H%ukebIDeX0ajiz(*a$H?j9y6wFbguSYga1uEWd%$Yx>4#2pTL^`@_ z(^{BMcLbg6#smqJm|ufVz8KTGXK09c1oOs<*8>VWf%pn23!vQeNBe_Kh7PL+2#GdZ% z8!uk$1Fjwi*%Q`Fsbk07$K=lg=r(W9a>w3ii|$t18X7G^e^7~vinbTHus}0|?@BZa zgBj^gRn^rExf}TSo}@1N^Er;`*#2nWnrYrqOe!1Td!{X~{=$Uc+<6$;CZwAKs=5PA zo>vou(kS`NLJ~Wi7CU$M) z`q6|T+6P?AZ+8-wK;mSwT$na%ZfSXo>KyG;3EGZbrETc;4qmRLg>CumyLamV)nx(Y zG&M8R)auw1`kwH0AcsI8=)Jx9SD2^+4-|akkZW{NP~h7Vj7LOYA>U$9kU-MpcZd>8 zRW+nh-Ixb?QJ83${O5{W*J2f515Q`*V99$$eh-q1s0LWHPGr4>|H}S zX{zixT%QCV_g}m=+9^&RDRIx2XJGWcgbEAwMC^+fFQj=Gf^7&GKxi`bZviq(fP8w; z))GBRP;_)xuh8UYd3f>@m)T0!m6s z@*KVJ>av`#eT<3e)6^OtpE`7sNlQZzKL1b+}!*oJk`|Hlqkor>_5ho z#4vsN>Qyo5l(7$P%kK85;-A{FD1JEi9xcT&@OB*#cH4&VkhbHSd+iEH*lB9)C zMGNMIr}!>pzt^jC{Tp5M1#L=CXa<}p`?AAjsT4iGMokAFA0L^7SdF}SF6KOb@nRiX zZ|K60JP(YNaLGB=C+D*Cs(JB+Mf(~8V1uT4VL3FglwHzXkdRz{_M2GfLGSYNa!KWG zQ6ovOrt|jk0U>?~+Y-**Aq#_bc3#to{2Degf zd$r@9w>K4*4_E>30D*!3p8xMEDlPLj_K1OMQKP80+pv zMp7eWfxvuFX<8z@0a0=&w`j4wV(t^8EV#5HU>B!hJnZh)@tDp;g+Qh(is~_-i29_V z6?ft%#d8mlPZJk98E+Is$3%i@@GZzU11L;ZXgo+L&h)-i1`*C13mcY=H1HCTP?G2z zjTv3Qm_$%Wpp%}%+nmQ%pgjhDq1kbs54DIpU!u5qj8h|91MFa==Lg*?WusTyA z2DA)7!nz7k1f#KvJ8i}eX=c~fiq$WMXzc*s5S|xy3UCipxU&oa2Kb&t!ijn!0QVo= zDQmRr{9Xj~#o9%nrjf?9CyJ1X32SJeNLpzaM7Mz9rOTR^&^O$OjAZRuB56V>9S`DH z)Z97mB)xwe`6R_N8?2o?561}%jd@U zzP5HFum}Rtopw-FRV5odbbk9Aej?e1M7g25`n}?rC@3)or|#UjlK=)gcJG#c?u+Gu z>{0MHn5N~UR3}4G$Z>2t9(uac4y$K}Re5Yrx{LqEv1Y$>xf`G&xmotSmOZS^}USH8cOo%Jt>n=+nL?vnOJLpwHWZ zSdq$f7D3aZ%AlPHQ`wu7{N2Q6Uhf=7PF62aR>$ zo|8~KEUYwOuArid#Ztz6Wi!4dySP&~W|_>_zn3wWD#{Kmw% zwcd@6YnJ^vavg}Wpx7@LqHRFapy79fz9({Zs0r5eV zy9H3un_bI@qW0M{F6`ThXEH&cctk|7fIN-+dkJ}XiYJt?6ZFfP1gHeT#~^4NTnxazH{6kXe%1joXIS!sf`fNz8L5ImLiZhq zr8&8L8smqSmX^XtD)z8B zrv+fZq^hhpky_x$e?Cu8KmbIld|3D1J$s7Ku38{&#~F-4@d98lZ%~eJ+uGWOr*uqR z8$#>LzL;R>P#nE-<*AIRjI3;?&{i#w$%HQ<2r0xxlv9#36}dZ5#XLTf3Q;g_!wK9T zss2d7^N}KU>yU>sy9{pIcBpZ~Go`3QIhRVO>kF5rS%4T_ec;TIk@s0Ygz)_!+?cP} z%ugCMG&GPfuGpbt+7b1PajmTzC~#jGQRo^^<-&yGiy~evF8}E>#B7#R!h%MOIFK)p zQrwvn33LDp0o)$iN9D7XifKNdLg&gAFT^s?NiL3gymhfXal*sW&L_v&04_5;HlrE? ziZKGE5w#H*AiKt6aA$>whtnb*Nn~2l-#dfdJ6x2;hm9V4FP67e$Ye5m_02+a>U|D? z3#0ozcq|AqbcfdGVZ)L1&+6~A`Ztw>p5Em8M*G#}waepyZaPqS0xdEhkIM^tb+|&k zDstrI+-!TZ5dYW3?qx9@bD{|)%j)6+(JTYyPWtJs&$p0ZvB+_CxJ#{%Lw}yvm?cm8 z{1XfX@H)nMY8NkVFflRd890I@Jc8=-!B)^SVT*kem$kN#C*hZN1eTzfjEu%F&q`lV z1+``z1~m&gL^0Yc6hSER>3M=J{Lk(4LWf|Pof{q+8rryaGju+Pw=>Ki)yC)SI&yL0 zg)#=KZ{jXg(@4r_H@?=DcTMHwJlbbceMJh}@bj=`pkak_9}{z`(KpQOw*L+l2p=-C z*x=Wp0jT#obn*JMDI)$>s>CZC!;%689buyR1qFM7u~E8&hUqT@2up+3b`dG4d-m-s zhNJ}(!2_Hnle4LvogFiM$lwHuPfq|%kkz3kjTPub0x3;g^rxr1oMr4{tYAR8)dJ0}pQK{F9M%fJ9pbk>Do_&-j2HqFW z_tt5RYn(sd#PRIKxqYbBjaehkCTvzpD*Hxj(=U6%I;Yv$1=O6vBeAVyIm^5D)AHvx zMXfwXI?!cakF%IIrIvp`pSwYIi0*pW&S zYgW&LBYbHV#$s=#gw83jA8MK_U&?e-J9n-K4SRoc$!5LzD>gZj%j;n@`uI`Dx~oA= zf3HoHJd|8>&`)iy!gkyx32x zH>1)uD_z}Om|QMhKB-;0wqT;;#^75a9)Y2ok=h?K&qtyL->UgD*d~RVfI6 zLzhUdiG=dP`-#PrIQe>845G{YwjQo_ibSjXJTbNE>Fu(*QqG2^4LbH=9fR=2r)PENCkK$oL2wk9fe&J$k`z=h?{tl0X&D*iEEak07hYc_ zzlNgeTrPJ5chE_M)UAU=$$6&3fvDlgr;?7CY93l?lsuF-Z!YaVVfK#};3iRd?|{Q@ z|Ni$+q(3VTJZsAtJ?9I)1O76iuf0BFzKCrMP-iLXe1VJ@i(+^$Ob*B(>^VMN5lEj0 z7fZS@R5_NpT_9Gs2c3NL!?&5WfuYO9cpDp#CRC@?TMw-!(CsD1p1<%FVmcP~qf3X4x-se5Xhk(`KzcmztNu%9;;qGL^rTOR5sT{c{LWB=oY3ESI%>IR$f4EDm?TNg6F zW>vB-F$qI@vws(F?rr^eh2-idTO? z%|rM;+=$m&2`}s+-8!eLx>kA4q|<0_em*1XY}^63TKXa^3h3VL=HpBIEHLXw7MC9T z2j9>#oKaOJtsN8t3MTE-5RA_XTu=~a7I_j1f888USaUae*V zk*+?gfL+^D;0hK>R5Su9ixfA&M-Eo2q8bTvG#wd52l+BB%^d>Gluck8pj;FXE?}41 z$jASTrJge)w4PDh*&PhuI(la!KZ09iX5*i*E@p8j9Mo&ni*+?vH z*h@Ha6bF6JK+%M*CA%!-HWbtlCTS*CddkX%YOzU4 z3jKO>dNy~P!!|ACf2-UJQsFoYhA+XzJdsdFtVal()o3z%1!5HqCUA(=z`WoSSB_(& zq@*matxYKlahVU>L}MntaZ9i_qKwV0CBZ&4==s6m>)G0>(Vl;u5%kmHtiT4w{qyr* zryCkwf@AEAQ*3+!PTOOHK)iYFCQMWKz^Q4UIyM~%^>XZoI z!rrTku|tvRbIpYZDx|-CFRZlH^7x=YAT@*?PmXqJ8y100^MucA>=7xNusf6?7TvQ6 zqEw>51b@{T>*=z|W8bHbbp}5KzDf_M*7aiOH}b%{Js0oHZn_muYdmj=Fl- zOT*lp!+4^yh%P6w@}Py(EVxuE0-We91Y9b(Lr#q&bdX4kncW<0Y&=3jw%}&inzyOL zp>_)clVMnmm%0NcZ;!THd@$(TA}hY*oiJEkTiixOk-z5b;xexNYf78hjt#AL(yyoc z&EeGc3Z~H4I|6(VC5YM7>JhYeB)ApcS^~fMSAEUN5rK_NQ6DMe4{rj-WEHVpgDTJ+ z{nP2wcgG$9lL2({-FanL!D1pWJ4_N&3ED$aFof&Tsijw{cx=-b@hn?|~C z646g`3)io&XL{@~@JV_ogckD>Z7UV~^sNW|_%xtXln;yBflvkB#|=)me9 z!vA|Nc;Wo{XGdgckcS7&fm|@>+P09ByByK4YD~t=*Z_6}Cm)K1NAf?n44a z_A7W%lX*7rT%|VrE_W|%RABcrVyD`<^F-eKgKZg02dN?XCn_=eKju1&3i_Wo z@$<&~z~}iNi*(m{Bv5Soi$1vII(LO+`1J?go1a#x{!?dENXJiWUlzIa)_@bYj%=W4 zc1V~Z3>I4XPO5!$-Tx*)AvR%5Y!5V|B>9(EztBj*v89gQftV6OmN;I!7K363wJ82muC=4i9zqp!i$S>(ksM3YP52s1ywi4N2CA>ue8||9cDI624&B`cT41 zK|2a0jF=k{(cAN1%TCJII@{n9(8Lr2Tusw?yOIK7#fLFTU%~+>m>T@;>r!Un(gysH z-@!iMsojV6Kmv0WhPG~uc4QzNLr-<)!UZ2?SWAndGqW?)c=a-NJV=??hVqA?_n1oq zS`|e|IZ|h0nf*EKUS2MP7CuwGXc_u_#Hn#Kgpa0NMJq{ z1|k)Dd;7fca+cz*k&zK{KY$X*W_>-~l;KYd^xYr09@T)?1rCcCygM=v4TBMfi*-y7 zX|zDIPRPmmoXO-`!g@ux0dkxI1~6JI66*}Xxu9e0`DlP{Bx;qAp8(xFwX9LaV_?Kf zx3eSNm%zCgZ~!X3_Mh|f>A;vJ3>L=R=WMrsDP#B0^0Tfl3EG~qzE?$ zAwr(S$&c?F+j$QdP+P`<@P+*QoH;Xfki&2m{n|#Ea`RM?(mN zKoAHqaQvNFk}}C&AT<|AAF}QM{~>|KU@$hN4B{Mx*!kbfNi;2YhPI&RUj5vR!3e)( z71E>}esGA>AydsBUQK?Zq|2tFTCcBe!0J!p+5z>DyWQH#3?iubvxga-_pNX4aO03v z0OHNp*WX#NJa3XrLqUI?=Ml0kQMx0{fW9bN`3#&5g|*Lq-f2;G=|eEauMBp^hplcw z14&qj8|CH0C0C^GR1Zy9IP~ku-ieK`qyI3}<=8nix$h-%2Aw4SepDZe^Fyf`O>Ac^ z;8T|xQYieby9%!TkU70S0c<^PC^^E!gFb%#CxxegR_nZ|;_m5%sgUfjncFQgvg9BJ zVs#~FmM9e1YIO0v|7uMvov1))o-C`VsH}Kgw(4Z-P8z5MDu!2`HOqbi*K=})EZ^L5 z(_tBD=^gv_tpgHJH^&aJm5`3ac_=a4y(-T7X|w)e{$GQ>vMz3+RhOBBEVttUwLUR# z6ZK{auHWFJc>Vf<+ECnq-iy>Wjc_&-&VrVnUjKpDlWn%qd+n1rI8&dushEr>5hCjh zpIKMfQt-)Le{+8~0Y!)Jrt&#({X_vqQY?=)a1{R>YGl&lSrhpcjEF=EMqyk2BrHep ziIRekcZR8o-o)Lsx!o8~Shl1c9kWhv{5HI^ZNICib=PInsPLa!y~jeMgv(ErHv~4@ z*Qr?<{wPRKm%tY1K{9`!Nde!nYm-mQL`btWzimp9Rv(AWv^JYpf%n_=BQ7-kUsi9c z+bP2lqytVh%ceh|?)-Z@@WjX9cr6BC$!&WJ)ev?L816R`zEZ8g$7y=lhj7>=4gl%g zwKMrsjhdL$*gJgQ(pc_zwF@u7ZrR}Ul>b5jh*2GAVrIKNXf(9uCJ(xfE^)OCt}TGt zjE|}H*w3{R9Iv!$xMrIzG$iCBy88~~NCn;{4jNC-$0;eb!6r#y(jF|(iOZsZb`xUKp zRnP_^p@2*=ORC>=0BN&p4Jmk91|($$_=-2wv4GhI~oY(^6v+f{h&=T&g}r-!-#8=w~7 z9$Zy@_UePmj}uR(x4=b!=9gJZmIw>Zp8d3{!vXXpP}istdGwkx7z2OgTrw^N>CTNo zK0X!RyPqA}Mi1_(F77tHGg~RFem#SOcfir=LdYd-Q!}rD{(#Ih4yG?Ab`?i) zSmptN(C0@%<5W~pAv@GX(scn|vH&GJEdS8%GP)5B<(C@{C>v`Nya|~YFgtCSkHo5s z0lRm83ECU58UjO?T_CeSbcYWHSu(wb`~&V|T3YQpRip7vC0M-u0lTnF%{5M3kmclL zKXBj~^0|Jd!88Pt_W8E9-%p19i4ylsD&ld)XAwRUU7~;zKl|ibU1;w$@&MPGXN&@T zEr$@VM(rxw!<1kXn+IGMco0iRqPoB<9cdF(-M0l})ty9ifUSh3o^Ba_3n74NdH}VN ztmAn3-8Go};PYl%^KH%;|=v&?eFijVd1!K2Kv!Ugsl{c_!kwd=@ zbixk*x72CKIZ$1%;6vn<)YR%y_6QumlbUMbo1?N#`RC|^Q%?zCgnjaj`Rh4{2lwye z_>;Ep`i!~1=6mb!f50~>MhOGDnQ)%jL=}Y^VW|DmPwRTd*E3CCPHj1@p)n)Jn(V93 zI1IWZr>4pxX1=A(CoQ@IZaUJwk@IxWPT+V8ZvemOzpZer3vzF(zJwVkD?ldI{OYr+ zo1T7B@MW8nciCc4&QDFvb?G6 zjfMxMBhLBS0uBRc0Ld|dYR=mYM|6-sB3TFODlhtj7~5`3L)r-B{fh#IrLAbwWpT6N zhB&RN`WL(zgd_*xj)!*iZ#e}bl!(#!DB4gW1R(1>m;$WhTT=F*Un)V7t7~H7i~T(g z{Tix550s1L1#ZZ1!XPVx)PrL2ny;>m%&nK&B$DH|y?8570z@Yu&jNO(8)#8T2n?KQ zXs(EanRu8eNXG(In-%`0-9>@Wr0vFrwgHY4BEu%q8u%QD zD3*vZ&{`nb!5@tT&V`~!nZ{6X9q(`(K%0sRJ^I~lluoD*IiRXQo!%uQBZFhkHlxWO zgBby3EfM9xiQNYja*KJK1omlwq@)&yKt(!E>~q_v%wO~GD#OCmDw0q;;1*NC(E@OU zgy#ICh+^eb4EMw}{0GsD~tcBOsQ?uX#|1jAP-}hu4;* zs)dB8`U(Zyxr2yhR**DA8UnnLoEd?b6P(qyS#Rins8M>7`J+_9T<+=b^HE6HFls;a z`$W`^tag7n&&JlOKSHoXx_USw6wE9;HmHtboR(tXj^PY8;vq%RS`4wOr*j@qRT5u; zT@?}yc}VF^=@ zZ_%CI|EL6aU4u2Zd8z5VjGq4dA1ML&n&`1k%taz|z+o0eXdgTD^y05=W!SQ1?E*PQ z3I(|?)I@~Z0s=~`OVEL=>zYFz*%tUf)bkvz679&LZMZf)4A|pZ$rp1OunU&ZD~qkb zItIm0FG02dhhrQN+!yjcT?~$5CmTSXIOdRsWCH@P;=p=~Qw-kXw{e_N5~d>54$_3) zKp(Px0g!IA9wu09TNPL_jZ#~n6gW$!=2JN=U@sj;FA)nVnSEY~a}B}tw@SU4^z|uuMF@v!nfGr7;;U)Hu%WkN(BWj6{r}ph+$d3hUcK zA2?(3KGOKde8cA%;xySN(f)YWsn>^Vj9d){5DC00?;

Zaop}Kqg7f03+WOSQg>8 zDhvM+r}TgMeatNAfw+GY7Fhj-K+(K|?we?7ZvaR4*B%Ao;)UeUKKOX)F6~Fu6mS53 zr8m%?r`nl`>Q5Vi6s8)Oup_IQKJBqI(dP8@u(2(t<~GICu-!r263F$4&juY9Dzei0C%ko_xYx3fm4gtVO5|debsg_yPro#l_i( zS8Zxa;Cpk~kHVNMPxiYa`vAn5C$vyK>Es+p5cBodr#=xb3`!>B;S&&gfV+i+;RZoS zAQHt<7wIyK+u*swGdbR3nCOdYC=Tu?yf?Fz7}%9aQ3s`=3>0U?OGI`x$U0qXM}9!E%!*NmYFG5$YRxC>?Y`>4)2pFrDZuW&qPnvs;9vC-vkZU zeNkYK@AMVa>pk6c9mJ_O1iBu*C#%Qrv?ytQ*>zF)bNf`n&@95d09zbw_FYsL?->D3BEiEk(`7Z>{3~nm> zLZGO9J~oQ!&rtX+@!UR84K3UYwm3haM^Ll-gJuXyWv@2l&)C=bmBw(2i!c2HpynPk z>nTXa(UvW{#cDE9qrA)zbp0`l{^`JUDz@2)GW;h@T<;BnF9f$j2liu=xmgBiiA$Fr9joB6|Fz*j962fqqR%qE{{H^B zf`UtZd#mwAv5k)tQ&MEmtoY`b{AS?YLqi$cJ374D!ak$+B9c5YpL3cQiRh6eM&WS{{Cx%#GA89*`6K2ng7ASuE?cNHYtY*S3mMP-T{JZTdi91|${ z5$AZkenW4QoI9l{~=7xiLR452Eq5UU87)grnVXXQxXA3(i>(VXuh_w*7j}rqRHp!oUweE6Y*~ zrYp8IqD*Pdw&6lUY6aOdj`p*nl_rmxW;NIB8&I*bDk{O!!@;mv3DsGcno2?ago9xk zdh@@D>^0^A0{{gocF+o}#N()SieLc&EarN-_sV}yL(?`oI^7o#6g-}AuGek3-%VpN z84nkz#)%XgoM|^CVHG6R6d68YQv;vk8!ukG7*(r9+y~@-W$;ZcGY5BR zh^p!Lo#>jLEOQTIGVwq4v=~)8lv(5i5*&J}3-*u{jKu$$wA<(omIFwXk8uPUYSle| z^k(I9-p!X70YfKv8tCivTJIx4VM`#*orI~D)^P#exaqrqQh_QEumoTl@jn6-R46bG zA;m(aI;Z~<$$9MDr@%VN9wi}zpb zTHmQy3?^tb2l6LmSh%>jAVX5@6PV(|akMc71?(_oA|nzf#(18&5)l=3U^o@qAc^w9 zR>1n7$V^8!keNDY63~}r%6A}{11`iIX<-U-aul>*X4axcfr6Zz5)BoDy}hyH7hv1g zjeSS7zJGI^k1F@Ubuc*C+WYSGMJo^jrq+Hd+)^?dowpGx7>)P2(bdsmLb%H$907t| zqTZhon{L)8YNCQde05lh8=4EGINTA|dzxJ@;JkvE#P`U{r(6a_Bm^*}P|P!&kHQ&T zs#&|+w9pFkp@t&ai0Gh5V7Sl?>|GqORJTmVjEGAdjRtg#Cpd3)gFNru-o;lP=F~B`1;YV0vE5D+rpRl#%CW}zYrc&X&bLW z3{sc#&kcm61c!U{=~-k=oO}*>FCh{Q^N*iZkX&=L&znD;_|q}^fvHvC6eIq|zxdM? zf1h-+_0IV*BRFpE5`Y|s5J57xiljjQ_(7Uc;PI;{z%USCAFm@G4GIca^RXnZ4ZdNP zu1uH;IDpBo-@Lif-_8@G$+K|rD=%r)Nt1z%3{`L+h#UfW9P64xJFAZ+h`=_?%*@0O zfHu=4&j7>`aroQ~34w`uElQU!{rwSdGJ^JkNuvZ`K&WAC@+HLK1O9=m`;fkvO+@`y zgc}JE3%88+$x%xUAGYjgOK7 zg6pG@`GY1S3^Zh4C2egiP_WEGbTj2z05_ZkD+A($feT>OBj;-0kmOnb7hLyLo>5m5 zSNlhvj~>F%)U*_Xf;4wM;-EF00?E?!JkmH|{@k`M99+rqWjh%w@$tRLRAm^n`_KM* za?WaXci)G~N3>3_7-PHZsBN-tS%J^lwY~O~IPz zea&=9?;Bj!>wemNEy4xXQ&~(CtNvQHWcthKc7Y0GyRJa<-F9Uu>JR?a2jH{V>`Kn` z`q`g?#Ti*+D3>v6+1wzq7ZADkQl2O!WMG*7V>i z;+8}$9R}EC+xOq_!RYPqei$0#T$ynvrOKt|RPR_Ct78Z6y+{=Y9Ha`VUf>&GQZBx%@GeD za5jTu_6Jd)-2z;M6~;4>`}c_q$3oivRhq{@r*TgWdPv|D1q>u%&-wmMM&dXdU=C@6=n=ZfWQ>7k)#)1x}8|2cFj=nUQu2$y+K=C>DiukN$e%-J8I(6K#7op-(Jv~@ZK zSA9nBWDh@a;+c_$u(&w=M7RDc z7XSQ>6ocQtyypM+54bJ=D>sBD4FV>Hm3S0&Cj$QOef?j#mA?n*{{e51R9|9A8xRmc zjyc9gi$I7~`}ZfxzB&{U9!@|AG*0cg4m1$w`jG{)H!DD25dU?myfC>s8p;{yKXvr= zOTt$ZHv&m^1oTD}k3e>zF(KI*3>z_Cth6flSnyx*C*0OIKR_S=Ko}pXvmv7xW(QcQ zy`W?GqdUK_2luAbimk#F|DAm4pTKQJi)vmt+kk?KiVAJEx~5H)^uJ%r_j1(-86|i} z2>2}M?)WH_truwj{c~v3p0AYvgx$#W{w`KnAx_;n zSkUMM^s$8D_Bd;#Y$ei$y1Jmhj^TBzO;*(;vVvx<@5AovOy)gdM@E0WcIdY{+u*QV zq5aumW-_vR!(rA{)Rn@l)_X&{y>9Y7s`E5#EDgIHoF%ttcCW*9qrTveaFf^BTKcbA zE(_#vGV#)$`9gbo^_Q?<{ae}I+0RCQ%rDg`lvM8EIN!H0=Q#V^c|r5y#iiuIYVQv- z&#zwtiGyr4_tvwx5Q#UNeV<3+|9q)_wfnt~NK|dTQH{guAXJN0~R{U?W`ML8-L!Xp{bdskqlY? zLzGbv4PqZBiX>zoa&<}q6eSdA(@~1kHY!*tJ98cA%7@%vW*$6+awRtf3ETyEh)?h3h7gv${DGrYkGDiXD5zOqL$+6*l$`hl*qo}Q`P z83?a>OukkDZ+X z6@9vhR>5h;k&O=9;PwVIseB(O8P%I(&>7(T&~o$4Roy@5h?;L~&Urq~_jaXlF#pb3 zB?o42U|<8bpITbvJLBkCe$lrY|T(4S>1&^npn^ zd+wYRiqKoS-S)Xw*;@1IASJYRDRD8RwU}mgm@Cvj$GX za*B#iL2TEZnfsAdH)5~!aL2}?BYExG6p#*5vtdj;&D#dy@;hlWT<8b-!p{3PPf?GiaQ$R9=v+%vO4rPYR~jcUu0sYiOK;@(s=@aBvGQXD>X?n|w0ZCfFD##f&Y z!8EP3vU6~t_bt2OX#MTgdmbFbbRV*zdOR(GCan@2%|O5sdOq!6ds1+FclRdXU%56p zt0jgYv7mR{@ns9~AW$cMeut+EVv5h9!;TS{BLzkfkuQ?7u*fLFuwpu5&I+UYUiLsL z{5n*>R=FMhW|S2^di#9Kis6UYDr#@a5hP^R$`4vx5fjipH_9X>`xbha*t$J98VGCA zr_Y~5gvuc%CozJU?dsg+xX5OtXk)Dse%8gu?7zuJ3R7s8fI!HjN9-9mTkd4uG*>&; zo-Fv*u{<@K3Su>b9(O~Ux*tvkNGV))G8JUOo56cr-`-wr^FdtpAX7u2qLdVms+==nW9QXVuj!;T*zYTv&KJ(BlBA0=Jy@*WVO6eg zZ9S!?#sF*-=%Wwd?2q;JMDSD7wLE>qJZFHD9LTZgDv24dg$GUk=iJBAb&|CU>oj8d z%?p?8JJG`CUE&3bMb#UXff)tYnKh{QpE$#$*E*Xr>BH66Eze)P=$&q}FaYS+Y?@KJ z@F6|8>>L;{0KAb<$+}J@YL7ST2iA3V)&fwp5{ZKA`(9`$$qp$*rpq;ufmn-uW^y~s zF}>cy0X+*}{d@gDaWEmm5K)Nsk4JQkB8)Z?tER-bkFq6ngA=$xhVr|3UTgAiqO%?t=o2oj*NGxk9WW8=;#o`YK%Po z-{+T!h>9j)MZi!C2-w(eeuTmIuh92iWqNN9QcEnfeBcb|w-u37RyIJuQ@dlIKRhD` zfi@B(uxaQD#NS+z?=1PfOWbR&?qu-Y-57{3+B{+pcz9rVxYRro>v}NLwdUw<6Em~? z?$#Xaq7d@l!FJAP+I)~qDFi_PcI-y=@XR^#!2<@&6M#IwXZFeBx}BqXX-wEOiB0V( zo-jJw*GMbD3vopIj-5L_V7pjxn5$F%Ak$^wWwT4mQp2dJHk1ZyU}^vr#G{7A)bscb zaESDyh!KNL01N8C_wU;oe8B=(b+!&k@r7Uv8mE8i?8JJ<$-1!~bqB~6`&_n?g9oWS zaA$B;81�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%0DdepVG*^@r!Mu*QuN7asc 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 z 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≫W>aoQk@Z$$Jb*$X2dTNKQvwjT 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

JIIZmjC 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%0AGdSyh1`|=2>jxA<}Y6Hun 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 literal 0 HcmV?d00001 diff --git a/docs/images/llama3-8b-instruct-get-api-key.png b/docs/images/llama3-8b-instruct-get-api-key.png new file mode 100644 index 0000000000000000000000000000000000000000..c5923495220a776de53bfbb9257c6bf188f712f8 GIT binary patch literal 139767 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
3MD@4LE$H1_*{sUXw0-fQ8HK5V{T=s#^(Yqqw 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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%0Dilkg^Kc6#2N2k^@yr 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 UenTB`rT_o{07*qoM6N<$g60XV>i_@% literal 0 HcmV?d00001 diff --git a/docs/images/local-gpus-topology.png b/docs/images/local-gpus-topology.png deleted file mode 100644 index c33a14edae8afe83330fb18524fe6c2888767846..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40313 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 z 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 support-matrix API Catalog Models -Local GPUs -Multi-GPU for Inference Query Decomposition -Quantized Model Structured Data Multimodal Data Multi-turn @@ -193,7 +156,6 @@ notebooks/* :hidden: architecture -llm-inference-server frontend jupyter-server chain-server diff --git a/docs/jupyter-server.md b/docs/jupyter-server.md index 94e7aee36..02042508f 100644 --- a/docs/jupyter-server.md +++ b/docs/jupyter-server.md @@ -31,60 +31,49 @@ The Jupyter notebooks provide guidance to building knowledge-augmented chat bots The following Jupyter notebooks are provided with the AI workflow for the default canonical RAG example: -- [LLM Streaming Client](../../notebooks/01-llm-streaming-client.ipynb) - - This notebook demonstrates how to use a client to stream responses from an LLM deployed to NVIDIA Triton Inference Server with NVIDIA TensorRT-LLM (TRT-LLM). This deployment format optimizes the model for low latency and high throughput inference. - -- [Document Question-Answering with LangChain](../../notebooks/02_langchain_simple.ipynb) - - This notebook demonstrates how to use LangChain to build a chat bot that references a custom knowledge base. LangChain provides a simple framework for connecting LLMs to your own data sources. It shows how to integrate a TensorRT-LLM to LangChain using a custom wrapper. - -- [Document Question-Answering with LlamaIndex](../../notebooks/03_llama_index_simple.ipynb) - - This notebook demonstrates how to use LlamaIndex to build a chat bot that references a custom knowledge base. It contains the same functionality as the preceding notebook, but uses some LlamaIndex components instead of LangChain components. It also shows how the two frameworks can be used together. - -- [Advanced Document Question-Answering with LlamaIndex](../../notebooks/04_llamaindex_hier_node_parser.ipynb) - - This notebook demonstrates how to use LlamaIndex to build a more complex retrieval for a chat bot. The retrieval method shown in this notebook works well for code documentation. The method retrieves more contiguous document blocks that preserve both code snippets and explanations of code. - -- [Upload Press Releases and Interact with REST FastAPI Server](../../notebooks/05_dataloader.ipynb) +- [Upload Press Releases and Interact with REST FastAPI Server](../../notebooks/01_dataloader.ipynb) This notebook demonstrates how to use the REST FastAPI server to upload the knowledge base and then ask a question without and with the knowledge base. -- [NVIDIA AI Endpoint Integration with LangChain](../../notebooks/07_Option(1)_NVIDIA_AI_endpoint_simple.ipynb) +- [NVIDIA AI Endpoint Integration with LangChain](../../notebooks/02_Option(1)_NVIDIA_AI_endpoint_simple.ipynb) This notebook demonstrates how to build a Retrieval Augmented Generation (RAG) example using the NVIDIA AI endpoint integrated with Langchain, with FAISS as the vector store. -- [RAG with LangChain and local LLM model](../../notebooks/07_Option(2)_minimalistic_RAG_with_langchain_local_HF_LLM.ipynb) +- [RAG with LangChain and local LLM model](../../notebooks/02_Option(2)_minimalistic_RAG_with_langchain_local_HF_LLM.ipynb) This notebook demonstrates how to plug in a local LLM from Hugging Face Hub and build a simple RAG app using LangChain. -- [NVIDIA AI Endpoint with LlamaIndex and LangChain](../../notebooks/08_Option(1)_llama_index_with_NVIDIA_AI_endpoint.ipynb) +- [NVIDIA AI Endpoint with LlamaIndex and LangChain](../../notebooks/03_Option(1)_llama_index_with_NVIDIA_AI_endpoint.ipynb) - This notebook demonstrates how to plug in an NVIDIA AI Endpoint mixtral_8x7b and embedding nvolveqa_40k, bind these into LlamaIndex with these customizations. + This notebook demonstrates how to plug in an NVIDIA AI Endpoint ai-mixtral-8x7b-instruct and embedding ai-embed-qa-4, bind these into LlamaIndex with these customizations. -- [Locally deployed model from Hugging Face integration with LlamaIndex and LangChain](../../notebooks/08_Option(2)_llama_index_with_HF_local_LLM.ipynb) +- [Locally deployed model from Hugging Face integration with LlamaIndex and LangChain](../../notebooks/03_Option(2)_llama_index_with_HF_local_LLM.ipynb) This notebook demonstrates how to plug in a local LLM from Hugging Face Hub Llama-2-13b-chat-hf and all-MiniLM-L6-v2 embedding from Hugging Face, bind these to into LlamaIndex with these customizations. -- [LangChain agent with tools plug in multiple models from NVIDIA AI Endpoints](../../notebooks/09_Agent_use_tools_leveraging_NVIDIA_AI_endpoints.ipynb) +- [LangChain agent with tools plug in multiple models from NVIDIA AI Endpoints](../../notebooks/04_Agent_use_tools_leveraging_NVIDIA_AI_endpoints.ipynb) - This notebook demonstrates how to use multiple NVIDIA AI Endpoint models such as mixtral_8x7b, Deplot, and Neva. + This notebook demonstrates how to use multiple NVIDIA AI Endpoint models such as ai-mixtral-8x7b-instruct, Deplot, and Neva. -- [LangChain with HTML documents and NVIDIA AI Endpoints](../../notebooks/10_RAG_for_HTML_docs_with_Langchain_NVIDIA_AI_Endpoints.ipynb) +- [LangChain with HTML documents and NVIDIA AI Endpoints](../../notebooks/05_RAG_for_HTML_docs_with_Langchain_NVIDIA_AI_Endpoints.ipynb) This notebook demonstrates how to build a RAG using NVIDIA AI Endpoints for LangChain. The notebook creates a vector store by downloading web pages and generating their embeddings using FAISS. The notebook shows two different chat chains for querying the vector store. -- [LangChain with HTML documents and NVIDIA AI Endpoints](../../notebooks/11_LangGraph_HandlingAgent_IntermediateSteps.ipynb) +- [LangChain with HTML documents and NVIDIA AI Endpoints](../../notebooks/06_LangGraph_HandlingAgent_IntermediateSteps.ipynb) This notebook guides you through creating a basic agent executor using LangGraph. We demonstrate how to handle the logic of the intermediate steps from the agent leveraging different provided tools within langGraph. -- [LangChain with HTML documents and NVIDIA AI Endpoints](../../notebooks/12_Chat_wtih_nvidia_financial_reports.ipynb) +- [LangChain with HTML documents and NVIDIA AI Endpoints](../../notebooks/07_Chat_with_nvidia_financial_reports.ipynb) + + In this notebook, we are going to use milvus as vectorstore, the ai-mixtral-8x7b-instruct as LLM and ai-embed-qa-4 embedding provided by NVIDIA_AI_Endpoint as LLM and embedding model, and build a simply RAG example for chatting with NVIDIA Financial Reports. + +- [RAG with locally deployed models using NIMS](../../notebooks/08_RAG_Langchain_with_Local_NIM.ipynb) - In this notebook, we are going to use milvus as vectorstore, the mixtral_8x7b as LLM and ai-embed-qa-4 embedding provided by NVIDIA_AI_Endpoint as LLM and embedding model, and build a simply RAG example for chatting with NVIDIA Financial Reports. + In this notebook we demonstrate how to build a RAG using [NVIDIA Inference Microservices (NIM)](https://build.nvidia.com/explore/discover). We locally host a `Llama3-8b-instruct` using the NIM LLM container and deploy it using [ NVIDIA AI Endpoints for LangChain](https://python.langchain.com/docs/integrations/chat/nvidia_ai_endpoints/). + In order to run this notebook in a virtual environment, you need to launch the NIM Docker container in the background outside of the notebook environment prior to running the LangChain code in the notebook cells. Run the commands in the first 3 cells from a terminal then begin with the 4th cell (curl inference command) within the notebook environment. ## Running JupyterLab Server Individually diff --git a/docs/llm-inference-server.md b/docs/llm-inference-server.md deleted file mode 100644 index a9298be2f..000000000 --- a/docs/llm-inference-server.md +++ /dev/null @@ -1,61 +0,0 @@ - - -# NeMo Framework Inference Server - -```{contents} ---- -depth: 2 -local: true -backlinks: none ---- -``` - -## About the Inference Server - -The generative AI examples use [NeMo Framework Inference Server](https://docs.nvidia.com/nemo-framework/user-guide/latest/index.html) container. -NeMo can create optimized LLM using TensorRT-LLM and can deploy models using NVIDIA Triton Inference Server for high-performance, cost-effective, and low-latency inference. -Many examples use Llama 2 models and LLM Inference Server container contains modules and scripts that are required for TRT-LLM conversion of the Llama 2 models and deployment using NVIDIA Triton Inference Server. - -The inference server is used with examples that deploy a model on-premises. -The examples that use [NVIDIA AI foundation models](https://www.nvidia.com/en-in/ai-data-science/foundation-models/) or NVIDIA AI Endpoints do not use this component. - - -## Running the Inference Server Individually - -The following steps describe how a Llama 2 model deployment. - -- Download Llama 2 Chat Model Weights from [Meta](https://ai.meta.com/resources/models-and-libraries/llama-downloads/) or [HuggingFace](https://huggingface.co/meta-llama/Llama-2-13b-chat-hf/). You can check [support matrix](support-matrix.md) for GPU requirements for the deployment. - -- Update the `deploy/compose/compose.env` file with `MODEL_DIRECTORY` as the downloaded Llama 2 model path and other model parameters as needed. - -- Build the LLM inference server container from source: - - ```console - $ source deploy/compose/compose.env - $ docker compose -f deploy/compose/rag-app-text-chatbot.yaml build llm - ``` - -- Run the container. The container starts Triton Inference Server with TRT-LLM optimized Llama 2 model: - - ```console - $ source deploy/compose/compose.env - $ docker compose -f deploy/compose/rag-app-text-chatbot.yaml up llm - ``` - -After the optimized Llama 2 model is deployed in Triton Inference Server, clients can send HTTP/REST or gRPC requests directly to the server. -A sample implementation of a client can be found in the `triton_trt_llm.py` file of GitHub repository at [integrations/langchain/llms/](https://github.com/NVIDIA/GenerativeAIExamples/tree/main/integrations/langchain/llms). diff --git a/docs/local-gpu.md b/docs/local-gpu.md deleted file mode 100644 index c620fbacc..000000000 --- a/docs/local-gpu.md +++ /dev/null @@ -1,328 +0,0 @@ - - -# Using Local GPUs for a Q&A Chatbot - -```{contents} ---- -depth: 2 -local: true -backlinks: none ---- -``` - -## Example Features - -This example deploys a developer RAG pipeline for chat Q&A and serves inferencing with the NeMo Framework Inference container. - -This example uses a local host with an NVIDIA A100, H100, or L40S GPU. - -```{list-table} -:header-rows: 1 - -* - Model - - Embedding - - Framework - - Description - - Multi-GPU - - TRT-LLM - - Model Location - - Triton - - Vector Database - -* - llama-2 - - UAE-Large-V1 - - LlamaIndex - - QA chatbot - - NO - - YES - - Local Model - - YES - - Milvus - -* - llama-2 - - UAE-Large-V1 - - LlamaIndex - - QA chatbot - - NO - - YES - - Local Model - - YES - - pgvector -``` - -The following figure shows the sample topology: - -- The sample chat bot web application communicates with the local chain server. - -- The local chain server sends inference requests to NVIDIA Triton Inference Server (TIS). - TIS uses TensorRT-LLM and NVIDIA GPUs with the LLama 2 model for generative AI. - -- The sample chat bot supports uploading documents to create a knowledge base. - The uploaded documents are parsed by the chain server and embeddings are stored - in the vector database, Milvus or pgvector. - When you submit a question and request to use the knowledge base, the chain server - retrieves the most relevant documents and submits them with the question to - TIS to perform retrieval-augumented generation. - -- Optionally, you can deploy NVIDIA Riva. Riva can use automatic speech recognition to - transcribe your questions and use text-to-speech to speak the answers aloud. - -![Sample topology for a RAG pipeline with local GPUs and local inference.](./images/local-gpus-topology.png) - - -## Prerequisites - -- Clone the Generative AI examples Git repository using Git LFS: - - ```console - $ sudo apt -y install git-lfs - $ git clone git@github.com:NVIDIA/GenerativeAIExamples.git - $ cd GenerativeAIExamples/ - $ git lfs pull - ``` - -- A host with an NVIDIA A100, H100, or L40S GPU. - -- Verify NVIDIA GPU driver version 535 or later is installed and that the GPU is in compute mode: - - ```console - $ nvidia-smi -q -d compute - ``` - - *Example Output* - - ```{code-block} output - --- - emphasize-lines: 4,9 - --- - ==============NVSMI LOG============== - - Timestamp : Sun Nov 26 21:17:25 2023 - Driver Version : 535.129.03 - CUDA Version : 12.2 - - Attached GPUs : 1 - GPU 00000000:CA:00.0 - Compute Mode : Default - ``` - - If the driver is not installed or below version 535, refer to the [*NVIDIA Driver Installation Quickstart Guide*](https://docs.nvidia.com/datacenter/tesla/tesla-installation-notes/index.html). - -- Install Docker Engine and Docker Compose. - Refer to the instructions for [Ubuntu](https://docs.docker.com/engine/install/ubuntu/). - -- Install the NVIDIA Container Toolkit. - - 1. Refer to the [installation documentation](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html). - - 1. When you configure the runtime, set the NVIDIA runtime as the default: - - ```console - $ sudo nvidia-ctk runtime configure --runtime=docker --set-as-default - ``` - - If you did not set the runtime as the default, you can reconfigure the runtime by running the preceding command. - - 1. Verify the NVIDIA container toolkit is installed and configured as the default container runtime: - - ```console - $ cat /etc/docker/daemon.json - ``` - - *Example Output* - - ```json - { - "default-runtime": "nvidia", - "runtimes": { - "nvidia": { - "args": [], - "path": "nvidia-container-runtime" - } - } - } - ``` - - 1. Run the `nvidia-smi` command in a container to verify the configuration: - - ```console - $ sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi -L - ``` - - *Example Output* - - ```output - GPU 0: NVIDIA A100 80GB PCIe (UUID: GPU-d8ce95c1-12f7-3174-6395-e573163a2ace) - ``` - -- Optional: Enable NVIDIA Riva automatic speech recognition (ASR) and text to speech (TTS). - - - To launch a Riva server locally, refer to the [Riva Quick Start Guide](https://docs.nvidia.com/deeplearning/riva/user-guide/docs/quick-start-guide.html). - - - In the provided `config.sh` script, set `service_enabled_asr=true` and `service_enabled_tts=true`, and select the desired ASR and TTS languages by adding the appropriate language codes to `asr_language_code` and `tts_language_code`. - - - After the server is running, assign its IP address (or hostname) and port (50051 by default) to `RIVA_API_URI` in `deploy/compose/compose.env`. - - - Alternatively, you can use a hosted Riva API endpoint. You might need to obtain an API key and/or Function ID for access. - - In `deploy/compose/compose.env`, make the following assignments as necessary: - - ```bash - export RIVA_API_URI=":" - export RIVA_API_KEY="" - export RIVA_FUNCTION_ID="" - ``` - -## Download the Llama 2 Model and Weights - -1. Fill out Meta's [Llama request access form](https://ai.meta.com/resources/models-and-libraries/llama-downloads/). - - - Select the **Llama 2 & Llama Chat** checkbox. - - After verifying your email, Meta will email you a download link. - -1. Clone the Llama repository: - - ```console - $ git clone https://github.com/facebookresearch/llama.git - $ cd llama/ - ``` - -1. Run the `download.sh` script. When prompted, specify `13B-chat` to download the llama-2-13b-chat model: - - ```console - $ ./download.sh - Enter the URL from email: < https://download.llamameta.net/...> - - Enter the list of models to download without spaces (7B,13B,70B,7B-chat,13B-chat,70B-chat), or press Enter for all: 13B-chat - ``` - -1. Copy the tokenizer to the model directory. - - ```console - $ mv tokenizer* llama-2-13b-chat/ - $ ls llama-2-13b-chat/ - ``` - - *Example Output* - - ```output - checklist.chk consolidated.00.pth consolidated.01.pth params.json tokenizer.model tokenizer_checklist.chk - ``` - -## Build and Start the Containers - -1. In the Generative AI Examples repository, edit the `deploy/compose/compose.env` file. - - Specify the absolute path to the model location, model architecture, and model name. - - ```bash - # full path to the local copy of the model weights - # NOTE: This should be an absolute path and not relative path - export MODEL_DIRECTORY="/path/to/llama/llama-2-13b_chat/" - - # the architecture of the model. eg: llama - export MODEL_ARCHITECTURE="llama" - - # the name of the model being used - only for displaying on frontend - export MODEL_NAME="Llama-2-13b-chat" - ... - ``` - -1. From the root of the repository, build the containers: - - ```console - $ docker compose --env-file deploy/compose/compose.env -f deploy/compose/rag-app-text-chatbot.yaml build - ``` - -1. Start the containers: - - ```console - $ docker compose --env-file deploy/compose/compose.env -f deploy/compose/rag-app-text-chatbot.yaml up -d - ``` - - NVIDIA Triton Inference Server can require 5 minutes to start. The `-d` flag starts the services in the background. - - *Example Output* - - ```output - ✔ Network nvidia-rag Created - ✔ Container notebook-server Started - ✔ Container llm-inference-server Started - ✔ Container chain-server Started - ✔ Container rag-playground Started - ``` - -1. Start the Milvus vector database: - - ```console - $ docker compose --env-file deploy/compose/compose.env -f deploy/compose/docker-compose-vectordb.yaml up -d milvus - ``` - - *Example Output* - - ```output - ✔ Container milvus-minio Started - ✔ Container milvus-etcd Started - ✔ Container milvus-standalone Started - ``` - -1. Confirm the containers are running: - - ```console - $ docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}" - ``` - - *Example Output* - - ```output - CONTAINER ID NAMES STATUS - 256da0ecdb7b rag-playground Up 48 minutes - 2974aa4fb2ce chain-server Up 48 minutes - 4a8c4aebe4ad notebook-server Up 48 minutes - 5be2b57bb5c1 milvus-standalone Up 48 minutes (healthy) - ecf674c8139c llm-inference-server Up 48 minutes (healthy) - a6609c22c171 milvus-minio Up 48 minutes (healthy) - b23c0858c4d4 milvus-etcd Up 48 minutes (healthy) - ``` - - -### Related Information - -- [Meta Llama README](https://github.com/facebookresearch/llama/blob/main/README.md) -- [Meta Llama request access form](https://ai.meta.com/resources/models-and-libraries/llama-downloads/) - - -## Stopping the Containers - -1. Stop the vector database: - - ```console - $ docker compose -f deploy/compose/docker-compose-vectordb.yaml down - ``` - -1. Stop and remove the application containers: - - ```console - $ docker compose --env-file deploy/compose/compose.env -f deploy/compose/rag-app-text-chatbot.yaml down - ``` - -## Next Steps - -- Use the [](./using-sample-web-application.md). -- [](./vector-database.md) -- Run the sample Jupyter notebooks to learn about optional features. diff --git a/docs/multi-gpu.md b/docs/multi-gpu.md deleted file mode 100644 index 19cd390f2..000000000 --- a/docs/multi-gpu.md +++ /dev/null @@ -1,404 +0,0 @@ - - -# Multi-GPU for Inference - -```{contents} ---- -depth: 2 -local: true -backlinks: none ---- -``` - -## Comparison with the Local GPUs Example - -This example is very similar to the example that uses local GPUs. -The key difference is to modify the `deploy/compose/rag-app-text-chatbot.yaml` file to specify the GPU device IDs for the services. -If you performed all the steps in [](local-gpu.md), consider skipping to -step 1 of [](#build-and-start-the-containers) on this page. - - -## Special Considerations for Tensor Parallelism - -When you use more than two GPUs for the inference server, you might need to specify additional command-line arguments. - -The special consideration is that the attention head size for the model must be a multiple of the tensor parallelism size. -For the Llama-2-13B chat model, the model attention head size is 40. -You can view this value in the `n_heads: 40` field in the `llama-2-13b-chat/params.json` file after you download the model or from the Hugging Face Model Hub: . - -The tensor parallelism is calculated as {math}`\mbox{tensor-parallelism} = \mbox{world-size} \div \mbox{pipeline-parallelism}` -where $\mbox{world-size}$ is the number of GPUs and $\mbox{pipeline-parallelism}$ has a default value of 1. - -With 1, 2, 4, 5, or any number of GPUs that divide 40 into equally, no action is required. - -For 3, 6, or any other number that does not divide equally into 40, you can specify a pipeline parallelism value so that the tensor parallelism is a whole number. -For example, to use 6 GPUs, you can specify `--pipeline-parallelism 3` on the inference server command line so that tensor parallelism is 2. - -If you use a different model, refer to the `params.json` file. -For example, the Llama-2-7B chat model has `n_heads: 32` and the Llama-2-70B chat model has `n_heads: 64`. - - -## Example Features - -This example deploys a developer RAG pipeline for chat Q&A and serves inferencing with the NeMo Framework Inference container across multiple local GPUs. - -This example uses a local host with an NVIDIA A100, H100, or L40S GPU. - -```{list-table} -:header-rows: 1 - -* - Model - - Embedding - - Framework - - Description - - Multi-GPU - - TRT-LLM - - Model Location - - Triton - - Vector Database - -* - llama-2 - - UAE-Large-V1 - - LlamaIndex - - QA chatbot - - YES - - YES - - Local Model - - YES - - Milvus - -* - llama-2 - - UAE-Large-V1 - - LlamaIndex - - QA chatbot - - YES - - YES - - Local Model - - YES - - pgvector -``` - -The following figure shows the sample topology: - -- The sample chat bot web application communicates with the local chain server. - -- The chain server sends inference requests to NVIDIA Triton Inference Server (TIS). - TIS uses TensorRT-LLM and NVIDIA GPUs with the LLama 2 model for generative AI. - -- The sample chat bot supports uploading documents to create a knowledge base. - The uploaded documents are parsed by the chain server and embeddings are stored - in the vector database, Milvus or pgvector. - When you submit a question and request to use the knowledge base, the chain server - retrieves the most relevant documents and submits them with the question to - TIS to perform retrieval-augumented generation. - -- Optionally, you can deploy NVIDIA Riva. Riva can use automatic speech recognition to - transcribe your questions and use text-to-speech to speak the answers aloud. - -![Sample topology for a RAG pipeline with local GPUs and local inference.](./images/local-gpus-topology.png) - - -## Prerequisites - -- Clone the Generative AI examples Git repository using Git LFS: - - ```console - $ sudo apt -y install git-lfs - $ git clone git@github.com:NVIDIA/GenerativeAIExamples.git - $ cd GenerativeAIExamples/ - $ git lfs pull - ``` - -- A host with one or more NVIDIA A100, H100, or L40S GPU. - -- Verify NVIDIA GPU driver version 535 or later is installed and that the GPU is in compute mode: - - ```console - $ nvidia-smi -q -d compute - ``` - - *Example Output* - - ```{code-block} output - --- - emphasize-lines: 4,9 - --- - ==============NVSMI LOG============== - - Timestamp : Sun Nov 26 21:17:25 2023 - Driver Version : 535.129.03 - CUDA Version : 12.2 - - Attached GPUs : 2 - GPU 00000000:CA:00.0 - Compute Mode : Default - - GPU 00000000:FA:00.0 - Compute Mode : Default - ``` - - If the driver is not installed or below version 535, refer to the [*NVIDIA Driver Installation Quickstart Guide*](https://docs.nvidia.com/datacenter/tesla/tesla-installation-notes/index.html). - -- Install Docker Engine and Docker Compose. - Refer to the instructions for [Ubuntu](https://docs.docker.com/engine/install/ubuntu/). - -- Install the NVIDIA Container Toolkit. - - 1. Refer to the [installation documentation](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html). - - 1. When you configure the runtime, set the NVIDIA runtime as the default: - - ```console - $ sudo nvidia-ctk runtime configure --runtime=docker --set-as-default - ``` - - If you did not set the runtime as the default, you can reconfigure the runtime by running the preceding command. - - 1. Verify the NVIDIA container toolkit is installed and configured as the default container runtime: - - ```console - $ cat /etc/docker/daemon.json - ``` - - *Example Output* - - ```json - { - "default-runtime": "nvidia", - "runtimes": { - "nvidia": { - "args": [], - "path": "nvidia-container-runtime" - } - } - } - ``` - - 1. Run the `nvidia-smi` command in a container to verify the configuration: - - ```console - $ sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi -L - ``` - - *Example Output* - - ```output - GPU 0: NVIDIA A100 80GB PCIe (UUID: GPU-d8ce95c1-12f7-3174-6395-e573163a2ace) - GPU 1: NVIDIA A100 80GB PCIe (UUID: GPU-1d37ef30-0861-de64-a06d-73257e247a0d) - ``` - -- Optional: Enable NVIDIA Riva automatic speech recognition (ASR) and text to speech (TTS). - - - To launch a Riva server locally, refer to the [Riva Quick Start Guide](https://docs.nvidia.com/deeplearning/riva/user-guide/docs/quick-start-guide.html). - - - In the provided `config.sh` script, set `service_enabled_asr=true` and `service_enabled_tts=true`, and select the desired ASR and TTS languages by adding the appropriate language codes to `asr_language_code` and `tts_language_code`. - - - After the server is running, assign its IP address (or hostname) and port (50051 by default) to `RIVA_API_URI` in `deploy/compose/compose.env`. - - - Alternatively, you can use a hosted Riva API endpoint. You might need to obtain an API key and/or Function ID for access. - - In `deploy/compose/compose.env`, make the following assignments as necessary: - - ```bash - export RIVA_API_URI=":" - export RIVA_API_KEY="" - export RIVA_FUNCTION_ID="" - ``` - -## Download the Llama 2 Model and Weights - -1. Fill out Meta's [Llama request access form](https://ai.meta.com/resources/models-and-libraries/llama-downloads/). - - - Select the **Llama 2 & Llama Chat** checkbox. - - After verifying your email, Meta will email you a download link. - -1. Clone the Llama repository: - - ```console - $ git clone https://github.com/facebookresearch/llama.git - $ cd llama/ - ``` - -1. Run the `download.sh` script. When prompted, specify `13B-chat` to download the llama-2-13b-chat model: - - ```console - $ ./download.sh - Enter the URL from email: < https://download.llamameta.net/...> - - Enter the list of models to download without spaces (7B,13B,70B,7B-chat,13B-chat,70B-chat), or press Enter for all: 13B-chat - ``` - -1. Copy the tokenizer to the model directory. - - ```console - $ mv tokenizer* llama-2-13b-chat/ - $ ls llama-2-13b-chat/ - ``` - - *Example Output* - - ```output - checklist.chk consolidated.00.pth consolidated.01.pth params.json tokenizer.model tokenizer_checklist.chk - ``` - -## Build and Start the Containers - -1. In the Generative AI Examples repository, edit the `deploy/compose/rag-app-text-chatbot.yaml` file. - - Specify the GPU device IDs to assign to the services. - Refer to [](#special-considerations-for-tensor-parallelism) when specifying more than two GPUs. - - ```yaml - services: - llm: - // ... - command: # Add --pipeline-parallelism if you need to specify a value. - deploy: - resources: - reservations: - devices: - - driver: nvidia - # count: ${INFERENCE_GPU_COUNT:-all} # Comment this out - device_ids: ["0", "1"] - capabilities: [gpu] - - jupyter-server: - // ... - deploy: - resources: - reservations: - devices: - - driver: nvidia - # count: 1 # Comment this out - device_ids: ["2"] - capabilities: [gpu] - ``` - -1. Edit the `deploy/compose/docker-compose-vectordb.yaml` file. - - Specify the GPU device IDs to assign to the services: - - ```yaml - services: - milvus: - // ... - deploy: - resources: - reservations: - devices: - - driver: nvidia - # count: 1 # Comment this out - device_ids: ["3"] - capabilities: [gpu] - ``` - - You can share device IDs between vector database and Jupyter Server. - -1. Edit the `deploy/compose/compose.env` file. - - Specify the absolute path to the model location, model architecture, and model name. - - ```bash - # full path to the local copy of the model weights - # NOTE: This should be an absolute path and not relative path - export MODEL_DIRECTORY="/path/to/llama/llama-2-13b_chat/" - - # the architecture of the model. eg: llama - export MODEL_ARCHITECTURE="llama" - - # the name of the model being used - only for displaying on frontend - export MODEL_NAME="Llama-2-13b-chat" - ... - ``` - -1. From the root of the repository, build the containers: - - ```console - $ docker compose --env-file deploy/compose/compose.env -f deploy/compose/rag-app-text-chatbot.yaml build - ``` - -1. Start the containers: - - ```console - $ docker compose --env-file deploy/compose/compose.env -f deploy/compose/rag-app-text-chatbot.yaml up -d - ``` - - NVIDIA Triton Inference Server can require 5 minutes to start. The `-d` flag starts the services in the background. - - *Example Output* - - ```output - ✔ Network nvidia-rag Created - ✔ Container llm-inference-server Started - ✔ Container notebook-server Started - ✔ Container chain-server Started - ✔ Container rag-playground Started - ``` - -1. Start the Milvus vector database: - - ```console - $ docker compose --env-file deploy/compose/compose.env -f deploy/compose/docker-compose-vectordb.yaml up -d milvus - ``` - - *Example Output* - - ```output - ✔ Container milvus-minio Started - ✔ Container milvus-etcd Started - ✔ Container milvus-standalone Started - ``` - -1. Confirm the containers are running: - - ```console - $ docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}" - ``` - - *Example Output* - - ```output - CONTAINER ID NAMES STATUS - 256da0ecdb7b rag-playground Up 48 minutes - 2974aa4fb2ce chain-server Up 48 minutes - 4a8c4aebe4ad notebook-server Up 48 minutes - 5be2b57bb5c1 milvus-standalone Up 48 minutes (healthy) - ecf674c8139c llm-inference-server Up 48 minutes (healthy) - a6609c22c171 milvus-minio Up 48 minutes (healthy) - b23c0858c4d4 milvus-etcd Up 48 minutes (healthy) - ``` - -### Related Information - -- [Meta Llama README](https://github.com/facebookresearch/llama/blob/main/README.md) -- [Meta Llama request access form](https://ai.meta.com/resources/models-and-libraries/llama-downloads/) - - -## Stopping the Containers - -- To uninstall, stop and remove the running containers from the root of the Generative AI Examples repository: - - ```console - $ docker compose -f deploy/compose/rag-app-text-chatbot.yaml down - ``` - -## Next Steps - -- Use the [](./using-sample-web-application.md). -- [](./vector-database.md) -- Run the sample Jupyter notebooks to learn about optional features. diff --git a/docs/multi-turn.md b/docs/multi-turn.md index a7592c3b5..bd1a7738b 100644 --- a/docs/multi-turn.md +++ b/docs/multi-turn.md @@ -53,11 +53,11 @@ This example uses models from the NVIDIA API Catalog. - Multi-GPU - TRT-LLM - Model Location - - Triton + - NIM for LLMs - Vector Database -* - ai-llama2-70b - - ai-embed-qa-4 +* - meta/llama3-8b-instruct + - snowflake-arctic-embed-l - LangChain - QA chatbot - NO @@ -90,6 +90,14 @@ The following figure shows the sample topology: - Install Docker Engine and Docker Compose. Refer to the instructions for [Ubuntu](https://docs.docker.com/engine/install/ubuntu/). +- Login to Nvidia's docker registry. Please refer to [instructions](https://docs.nvidia.com/ngc/gpu-cloud/ngc-overview/index.html) to create account and generate NGC API key. This is needed for pulling in the secure base container used by all the examples. + + ```console + $ docker login nvcr.io + Username: $oauthtoken + Password: + ``` + - Optional: Enable NVIDIA Riva automatic speech recognition (ASR) and text to speech (TTS). - To launch a Riva server locally, refer to the [Riva Quick Start Guide](https://docs.nvidia.com/deeplearning/riva/user-guide/docs/quick-start-guide.html). @@ -108,9 +116,9 @@ The following figure shows the sample topology: export RIVA_FUNCTION_ID="" ``` -## Get an API Key for the Llama 2 70B API Endpoint +## Get an API Key for the Llama 3 8B API Endpoint -```{include} query-decomposition.md +```{include} multimodal-data.md :start-after: api-key-start :end-before: api-key-end ``` @@ -148,7 +156,11 @@ The following figure shows the sample topology: 1. Start the Milvus vector database: ```console - $ docker compose --env-file deploy/compose/compose.env -f deploy/compose/docker-compose-vectordb.yaml up -d milvus + $ docker compose \ + --env-file deploy/compose/compose.env \ + -f deploy/compose/docker-compose-vectordb.yaml \ + --profile llm-embedding \ + up -d milvus ``` *Example Output* @@ -184,4 +196,4 @@ The following figure shows the sample topology: - Enable the **Use knowledge base** checkbox when you submit a question. - [](./vector-database.md) - Stop the containers by running `docker compose -f deploy/compose/rag-app-multiturn-chatbot.yaml down` and - `docker compose -f deploy/compose/docker-compose-vectordb.yaml down`. + `docker compose -f deploy/compose/docker-compose-vectordb.yaml --profile llm-embedding down`. diff --git a/docs/multimodal-data.md b/docs/multimodal-data.md index 32eabcd8c..0215d234c 100644 --- a/docs/multimodal-data.md +++ b/docs/multimodal-data.md @@ -28,12 +28,12 @@ backlinks: none ## Example Features This example deploys a developer RAG pipeline for chat Q&A and serves inferencing from NVIDIA API Catalog endpoints -instead of NVIDIA Triton Inference Server, a local Llama 2 model, or local GPUs. +instead of a local inference server, a local LLM, or local GPUs. Developers get free credits for 10K requests to any of the available models. The key difference from the [](./api-catalog.md) example is that this example demonstrates how work with multimodal data. -The model works with any kind of image in PDF, such as graphs and plots, as well as text and tables. +The model works with any kind of image in PDF or PPTX, such as graphs and plots, as well as text and tables. This example uses models from the NVIDIA API Catalog. @@ -48,15 +48,15 @@ This example uses models from the NVIDIA API Catalog. - Multi-GPU - TRT-LLM - Model Location - - Triton + - NIM for LLMs - Vector Database -* - ai-mixtral-8x7b-instruct for response generation +* - meta/llama3-8b-instruct for response generation ai-google-Deplot for graph to text conversion ai-Neva-22B for image to text conversion - - ai-embed-qa-4 + - snowflake-arctic-embed-l - Custom Python - QA chatbot - NO @@ -79,7 +79,7 @@ The following figure shows the sample topology: ## Limitations Although the AI Foundation Models endpoint uses the Neva_22B model for processing images, this example -supports uploading images that are part of PDF files only. +supports uploading images that are part of PDF and PPTX files only. For example, after deploying the services, you cannot upload a PNG, JPEG, TIFF, or any other image format file. @@ -97,6 +97,14 @@ For example, after deploying the services, you cannot upload a PNG, JPEG, TIFF, - Install Docker Engine and Docker Compose. Refer to the instructions for [Ubuntu](https://docs.docker.com/engine/install/ubuntu/). +- Login to Nvidia's docker registry. Please refer to [instructions](https://docs.nvidia.com/ngc/gpu-cloud/ngc-overview/index.html) to create account and generate NGC API key. This is needed for pulling in the secure base container used by all the examples. + + ```console + $ docker login nvcr.io + Username: $oauthtoken + Password: + ``` + - Optional: Enable NVIDIA Riva automatic speech recognition (ASR) and text to speech (TTS). - To launch a Riva server locally, refer to the [Riva Quick Start Guide](https://docs.nvidia.com/deeplearning/riva/user-guide/docs/quick-start-guide.html). @@ -115,12 +123,33 @@ For example, after deploying the services, you cannot upload a PNG, JPEG, TIFF, export RIVA_FUNCTION_ID="" ``` -## Get an API Key for the Mixtral 8x7B Instruct API Endpoint +## Get an API Key for the Meta Llama 3 8B Instruct API Endpoint -```{include} api-catalog.md -:start-after: api-key-start -:end-before: api-key-end -``` +% api-key-start + +Perform the following steps if you do not already have an API key. +You can use different model API endpoints with the same API key. + +1. Navigate to . + +2. Find the **Llama 3 8B Instruct** card and click the card. + + ![Llama 3 8B Instruct model card](./images/llama3-8b-instruct-model-card.png) + +3. Click **Get API Key**. + + ![API section of the model page.](./images/llama3-8b-instruct-get-api-key.png) + +4. Click **Generate Key**. + + ![Generate key window.](./images/api-catalog-generate-api-key.png) + +5. Click **Copy Key** and then save the API key. + The key begins with the letters nvapi-. + + ![Key Generated window.](./images/key-generated.png) + +% api-key-end ## Build and Start the Containers @@ -155,7 +184,11 @@ For example, after deploying the services, you cannot upload a PNG, JPEG, TIFF, 1. Start the Milvus vector database: ```console - $ docker compose --env-file deploy/compose/compose.env -f deploy/compose/docker-compose-vectordb.yaml up -d milvus + $ docker compose \ + --env-file deploy/compose/compose.env \ + -f deploy/compose/docker-compose-vectordb.yaml \ + --profile llm-embedding \ + up -d milvus ``` *Example Output* @@ -187,7 +220,7 @@ For example, after deploying the services, you cannot upload a PNG, JPEG, TIFF, - Access the web interface for the chat server. Refer to [](./using-sample-web-application.md) for information about using the web interface. -- Upload one or more PDF files with graphics, plots, and tables. +- Upload one or more PDF and PPTX files with graphics, plots, and tables. - Enable the **Use knowledge base** checkbox when you submit a question. - Stop the containers by running `docker compose -f deploy/compose/rag-app-multimodal-chatbot.yaml down` and - `docker compose -f deploy/compose/docker-compose-vectordb.yaml down`. + `docker compose -f deploy/compose/docker-compose-vectordb.yaml --profile llm-embedding down`. diff --git a/docs/nim-llms.md b/docs/nim-llms.md index ed06c756a..cf3d2d94e 100644 --- a/docs/nim-llms.md +++ b/docs/nim-llms.md @@ -31,6 +31,15 @@ NVIDIA NIM for LLMs provides the enterprise-ready approach for deploying large l If you are approved for [early access to NVIDIA NeMo Microservices](https://developer.nvidia.com/nemo-microservices), you can run the examples with NIM for LLMs. +The following figure shows the sample topology: + +- The sample chat bot web application communicates with the chain server. + The chain server sends inference requests to a local NVIDIA NIM for LLMs microservice. +- Optionally, you can deploy NVIDIA Riva. Riva can use automatic speech recognition to transcribe + your questions and use text-to-speech to speak the answers aloud. + +![Using NVIDIA NIM for LLMs.](./images/nim-llms-topology.png) + ## Prerequisites @@ -137,41 +146,39 @@ If you are approved for [early access to NVIDIA NeMo Microservices](https://deve ``` -## Deploy NIM for LLMs and NeMo Retriever Embedding - -- Deploy an LLM with NIM for LLMs, such as Llama-2-13b-chat-hf or Mixtral 8x7b Instruct. - Refer to the [Llama 2 70B Chat](https://docs.nvidia.com/ai-enterprise/nim-llm/latest/quickstart/llama2-70b-chat.html) quick start, or another quick start in the _NVIDIA NIM for LLMs_ documentation. +## Build and Start the Containers -- Deploy a text embedding model, such as NV-Embed-QA. - Refer to [Deploying Text Embedding Models](https://developer.nvidia.com/docs/nemo-microservices/embedding/source/deploy.html) - in the _NVIDIA NeMo Retriever Embedding_ documentation. - - -## Build and Start the Chain Server and RAG Playground +1. Create a `model-cache` directory to download and store the models + ```bash + mkdir -p model-cache + ``` 1. In the Generative AI Examples repository, edit the `deploy/compose/compose.env` file. - Add the following environment variables. + Add or update the following environment variables. ```bash - # Name of the deployed LLM model. - export APP_LLM_MODELNAME= - - export APP_LLM_MODELENGINE=nvidia-ai-endpoints + # full path to the `model-cache` directory + # NOTE: This should be an absolute path and not relative path + export MODEL_DIRECTORY="/path/to/model/cache/directory/" # IP of system where llm is deployed. - export APP_LLM_SERVERURL=":" + export APP_LLM_SERVERURL="nemollm-inference:8000" # Name of the deployed embedding model (NV-Embed-QA) - export APP_EMBEDDINGS_MODELNAME= + export APP_EMBEDDINGS_MODELNAME="NV-Embed-QA" export APP_EMBEDDINGS_MODELENGINE=nvidia-ai-endpoints + # IP of system where embedding model is deployed. - export APP_EMBEDDINGS_SERVERURL=":" + export APP_EMBEDDINGS_SERVERURL="nemollm-embedding:9080" # Or ranking-ms:8080 for the reranking example. + + # GPU for use by Milvus + export VECTORSTORE_GPU_DEVICE_ID= ... ``` -1. From the root of the repository, build the containers: +1. Build the Chain Server and RAG Playground containers: ```console $ docker compose \ @@ -180,20 +187,10 @@ If you are approved for [early access to NVIDIA NeMo Microservices](https://deve build chain-server rag-playground ``` + Avoid GPU memory errors by assigning a GPU to the Chain Server. + Update `device_ids` in the `chain-server` service of `deploy/compose/rag-app-text-chatbot.yaml` manifest to specify a unique GPU ID. You can specify a different Docker Compose file, such as `deploy/compose/rag-app-multiturn-chatbot.yaml`. -1. Start the Chain Server and RAG Playground: - - ```console - $ docker compose \ - --env-file deploy/compose/compose.env \ - -f deploy/compose/rag-app-text-chatbot.yaml \ - up -d --no-deps chain-server rag-playground - ``` - - The `-d` argument starts the services in the background and the `--no-deps` argument avoids starting a second inference server. - - `Note`: To avoid memory issues, deploy the chain server on a separate GPU from the LLM. Update `device_ids` in `chain-server` service of `deploy/compose/rag-app-text-chatbot.yaml` (or relevant Docker Compose file) to specify a different GPU ```yaml deploy: resources: @@ -204,14 +201,45 @@ If you are approved for [early access to NVIDIA NeMo Microservices](https://deve capabilities: [gpu] ``` -1. Start the Milvus vector database: +1. Start the Chain Server and RAG Playground: ```console - $ docker compose --env-file deploy/compose/compose.env -f deploy/compose/docker-compose-vectordb.yaml up -d milvus + $ docker compose \ + --env-file deploy/compose/compose.env \ + -f deploy/compose/rag-app-text-chatbot.yaml \ + up -d --no-deps chain-server rag-playground ``` - `Note`: To avoid memory issues, deploy the milvus on a separate GPU from the LLM. Update `VECTORSTORE_GPU_DEVICE_ID` in `deploy/compose/compose.env` + + The `-d` argument starts the services in the background and the `--no-deps` argument avoids starting the JupyterLab server. + +1. Start the NIM for LLMs and NeMo Embedding Microservices containers. + + 1. Export the `NGC_API_KEY` environment variable that the containers use to download models from NVIDIA NGC: + + ```console + export NGC_API_KEY=M2... + ``` + + The NGC API key has a different value than the NVIDIA API key that the API catalog examples use. + + 1. Start the containers: + + ```console + $ DOCKER_USER=$(id -u) docker compose \ + --env-file deploy/compose/compose.env \ + -f deploy/compose/docker-compose-nim-ms.yaml \ + --profile llm-embedding \ + up -d + ``` + +1. Start the Milvus vector database: + ```console - export VECTORSTORE_GPU_DEVICE_ID= + $ docker compose \ + --env-file deploy/compose/compose.env \ + -f deploy/compose/docker-compose-vectordb.yaml \ + --profile llm-embedding \ + up -d milvus ``` 1. Confirm the containers are running: @@ -239,7 +267,17 @@ If you are approved for [early access to NVIDIA NeMo Microservices](https://deve 1. Stop the vector database: ```console - $ docker compose -f deploy/compose/docker-compose-vectordb.yaml down + $ docker compose -f deploy/compose/docker-compose-vectordb.yaml --profile llm-embedding down + ``` + +1. Stop the NIM for LLMs and NeMo Retriever Embedding Microservices: + + ```console + $ DOCKER_USER=$(id -u) docker compose \ + --env-file deploy/compose/compose.env \ + -f deploy/compose/docker-compose-nim-ms.yaml \ + --profile llm-embedding \ + down ``` 1. Stop and remove the application containers: @@ -251,7 +289,17 @@ If you are approved for [early access to NVIDIA NeMo Microservices](https://deve 1. Stop the NIM for LLMs container and NeMo Retriever Embedding container by pressing Ctrl+C in each terminal. +## Related Information + +- [_NVIDIA NIM for LLMs_](https://docs.nvidia.com/nim/large-language-models/latest/index.html) + +- [_NVIDIA NeMo Retriever Embedding_](https://developer.nvidia.com/docs/nemo-microservices/embedding/source/overview.html) + +- [_NVIDIA NeMo Retriever Reranking_](https://developer.nvidia.com/docs/nemo-microservices/reranking/source/overview.html) + + ## Next Steps - Use the [](./using-sample-web-application.md). - [](./vector-database.md) + diff --git a/docs/project.json b/docs/project.json index 4939983c8..fa9aa38b4 100644 --- a/docs/project.json +++ b/docs/project.json @@ -1 +1 @@ -{"name": "generative-ai-examples", "version": "0.5.0"} \ No newline at end of file +{"name": "generative-ai-examples", "version": "0.7.0"} \ No newline at end of file diff --git a/docs/quantized-llm-model.md b/docs/quantized-llm-model.md deleted file mode 100644 index 7b76d6b70..000000000 --- a/docs/quantized-llm-model.md +++ /dev/null @@ -1,349 +0,0 @@ - - -# Quantized LLM Inference Model - -```{contents} ---- -depth: 2 -local: true -backlinks: none ---- -``` - - -## Example Features - -This example deploys a developer RAG pipeline for chat Q&A and serves inferencing with the NeMo Framework Inference container across multiple local GPUs with a -quantized version of the Llama 7B chat model. - -This example uses a local host with an NVIDIA A100, H100, or L40S GPU. - -```{list-table} -:header-rows: 1 - -* - Model - - Embedding - - Framework - - Description - - Multi-GPU - - TRT-LLM - - Model Location - - Triton - - Vector Database - -* - llama-2-7b-chat - - UAE-Large-V1 - - LlamaIndex - - QA chatbot - - YES - - YES - - Local Model - - YES - - Milvus -``` - -## Prerequisites - -- Clone the Generative AI examples Git repository using Git LFS: - - ```console - $ sudo apt -y install git-lfs - $ git clone git@github.com:NVIDIA/GenerativeAIExamples.git - $ cd GenerativeAIExamples/ - $ git lfs pull - ``` - -- A host with one or more NVIDIA A100, H100, or L40S GPU. - -- Verify NVIDIA GPU driver version 535 or later is installed and that the GPU is in compute mode: - - ```console - $ nvidia-smi -q -d compute - ``` - - *Example Output* - - ```{code-block} output - --- - emphasize-lines: 4,9 - --- - ==============NVSMI LOG============== - - Timestamp : Sun Nov 26 21:17:25 2023 - Driver Version : 535.129.03 - CUDA Version : 12.2 - - Attached GPUs : 2 - GPU 00000000:CA:00.0 - Compute Mode : Default - - GPU 00000000:FA:00.0 - Compute Mode : Default - ``` - - If the driver is not installed or below version 535, refer to the [*NVIDIA Driver Installation Quickstart Guide*](https://docs.nvidia.com/datacenter/tesla/tesla-installation-notes/index.html). - -- Install Docker Engine and Docker Compose. - Refer to the instructions for [Ubuntu](https://docs.docker.com/engine/install/ubuntu/). - -- Install the NVIDIA Container Toolkit. - - 1. Refer to the [installation documentation](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html). - - 1. When you configure the runtime, set the NVIDIA runtime as the default: - - ```console - $ sudo nvidia-ctk runtime configure --runtime=docker --set-as-default - ``` - - If you did not set the runtime as the default, you can reconfigure the runtime by running the preceding command. - - 1. Verify the NVIDIA container toolkit is installed and configured as the default container runtime: - - ```console - $ cat /etc/docker/daemon.json - ``` - - *Example Output* - - ```json - { - "default-runtime": "nvidia", - "runtimes": { - "nvidia": { - "args": [], - "path": "nvidia-container-runtime" - } - } - } - ``` - - 1. Run the `nvidia-smi` command in a container to verify the configuration: - - ```console - $ sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi -L - ``` - - *Example Output* - - ```output - GPU 0: NVIDIA A100 80GB PCIe (UUID: GPU-d8ce95c1-12f7-3174-6395-e573163a2ace) - GPU 1: NVIDIA A100 80GB PCIe (UUID: GPU-1d37ef30-0861-de64-a06d-73257e247a0d) - ``` - -- Optional: Enable NVIDIA Riva automatic speech recognition (ASR) and text to speech (TTS). - - - To launch a Riva server locally, refer to the [Riva Quick Start Guide](https://docs.nvidia.com/deeplearning/riva/user-guide/docs/quick-start-guide.html). - - - In the provided `config.sh` script, set `service_enabled_asr=true` and `service_enabled_tts=true`, and select the desired ASR and TTS languages by adding the appropriate language codes to `asr_language_code` and `tts_language_code`. - - - After the server is running, assign its IP address (or hostname) and port (50051 by default) to `RIVA_API_URI` in `deploy/compose/compose.env`. - - - Alternatively, you can use a hosted Riva API endpoint. You might need to obtain an API key and/or Function ID for access. - - In `deploy/compose/compose.env`, make the following assignments as necessary: - - ```bash - export RIVA_API_URI=":" - export RIVA_API_KEY="" - export RIVA_FUNCTION_ID="" - ``` - -## Download the Llama 2 Model and Weights - -1. Go to . - - - Locate the model to download, such as [Llama 2 7B chat HF](https://huggingface.co/meta-llama/Llama-2-7b-chat-hf). - - Follow the information about accepting the license terms from Meta. - - Log in or sign up for an account with Hugging Face. - -1. After you are granted access, clone the repository by clicking the vertical ellipses button and selecting **Clone repository**. - - During the clone, you might be asked for your username and password multiple times. - Provide the information until the clone is complete. - - -## Download TensorRT-LLM and Quantize the Model - -The following steps summarize downloading the TensorRT-LLM repository, -building a container image, and quantizing the model. - -1. Clone the NVIDIA TensorRT-LLM repository: - - ```console - $ git clone https://github.com/NVIDIA/TensorRT-LLM.git - $ cd TensorRT-LLM - $ git checkout release/0.5.0 - $ git submodule update --init --recursive - $ git lfs install - $ git lfs pull - ``` - -1. Build the TensorRT-LLM Docker image: - - ```console - $ make -C docker release_build - ``` - - Building the image can require more than 30 minutes and requires approximately 30 GB. - The image is named tensorrt_llm/release:latest. - -1. Start the container. - Ensure that the container has one volume mount to the model directory and one volume mount to the TensorRT-LLM repository: - - ```console - $ docker run --rm -it --gpus all --ipc=host \ - -v :/model-store \ - -v $(pwd):/repo -w /repo \ - --ulimit memlock=-1 --shm-size=20g \ - tensorrt_llm/release:latest bash - ``` - -1. Install NVIDIA AMMO Toolkit in the container: - - ```console - # Obtain the cuda version from the system. Assuming nvcc is available in path. - $ cuda_version=$(nvcc --version | grep 'release' | awk '{print $6}' | awk -F'[V.]' '{print $2$3}') - # Obtain the python version from the system. - $ python_version=$(python3 --version 2>&1 | awk '{print $2}' | awk -F. '{print $1$2}') - # Download and install the AMMO package from the DevZone. - $ wget https://developer.nvidia.com/downloads/assets/cuda/files/nvidia-ammo/nvidia_ammo-0.3.0.tar.gz - $ tar -xzf nvidia_ammo-0.3.0.tar.gz - $ pip install nvidia_ammo-0.3.0/nvidia_ammo-0.3.0+cu$cuda_version-cp$python_version-cp$python_version-linux_x86_64.whl - # Install the additional requirements - $ pip install -r examples/quantization/requirements.txt - ``` - -1. Install version `0.25.0` of the accelerate Python package: - - ```console - $ pip install accelerate==0.25.0 - ``` - -1. Run the quantization with the container: - - ```console - $ python3 examples/llama/quantize.py --model_dir /model-store \ - --dtype float16 --qformat int4_awq \ - --export_path ./llama-2-7b-4bit-gs128-awq.pt --calib_size 32 - ``` - - Quantization can require more than 15 minutes to complete. - The sample command creates a `llama-2-7b-4bit-gs128-awq.pt` - quantized checkpoint. - -1. Copy the quantized checkpoint directory to the model directory: - - ```console - $ cp .pt - ``` - -The preceding steps summarize several documents from the NVIDIA TensorRT-LLM GitHub repository. -Refer to the repository for more detail about the following topics: - -- Building the TensorRT-LLM image, refer to the [installation.md](https://github.com/NVIDIA/TensorRT-LLM/blob/release/0.5.0/docs/source/installation.md) file in the release/0.5.0 branch. - -- Installing NVIDIA AMMO Toolkit, refer to the [README](https://github.com/NVIDIA/TensorRT-LLM/blob/release/0.5.0/examples/quantization/README.md) file in the `examples/quantization` directory. - -- Running the `quantize.py` command, refer to [AWQ](https://github.com/NVIDIA/TensorRT-LLM/blob/release/0.5.0/examples/llama/README.md#awq) in the `examples/llama` directory. - - -## Build and Start the Containers - -1. In the Generative AI Examples repository, edit the `deploy/compose/compose.env` file. - - - Update the `MODEL_DIRECTORY` variable to identify the Llama 2 model directory that contains the quantized checkpoint. - - - Uncomment the `QUANTIZATION` variable: - - ```text - export QUANTIZATION="int4_awq" - ``` - -1. From the root of the repository, build the containers: - - ```console - $ docker compose --env-file deploy/compose/compose.env -f deploy/compose/rag-app-text-chatbot.yaml build - ``` - -1. Start the containers: - - ```console - $ docker compose --env-file deploy/compose/compose.env -f deploy/compose/rag-app-text-chatbot.yaml up -d - ``` - - NVIDIA Triton Inference Server can require 5 minutes to start. The `-d` flag starts the services in the background. - - *Example Output* - - ```output - ✔ Network nvidia-rag Created - ✔ Container llm-inference-server Started - ✔ Container notebook-server Started - ✔ Container chain-server Started - ✔ Container rag-playground Started - ``` - -1. Start the Milvus vector database: - - ```console - $ docker compose --env-file deploy/compose/compose.env -f deploy/compose/docker-compose-vectordb.yaml up -d milvus - ``` - - *Example Output* - - ```output - ✔ Container milvus-minio Started - ✔ Container milvus-etcd Started - ✔ Container milvus-standalone Started - ``` - -1. Confirm the containers are running: - - ```console - $ docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}" - ``` - - *Example Output* - - ```output - CONTAINER ID NAMES STATUS - 256da0ecdb7b rag-playground Up 48 minutes - 2974aa4fb2ce chain-server Up 48 minutes - 4a8c4aebe4ad notebook-server Up 48 minutes - 5be2b57bb5c1 milvus-standalone Up 48 minutes (healthy) - ecf674c8139c llm-inference-server Up 48 minutes (healthy) - a6609c22c171 milvus-minio Up 48 minutes (healthy) - b23c0858c4d4 milvus-etcd Up 48 minutes (healthy) - ``` - -## Stopping the Containers - -- To uninstall, stop and remove the running containers from the root of the Generative AI Examples repository: - - ```console - $ docker compose --env-file deploy/compose/compose.env -f deploy/compose/rag-app-text-chatbot.yaml down - $ docker compose -f deploy/compose/docker-compose-vectordb.yaml down - - ``` - -## Next Steps - -- Use the [](./using-sample-web-application.md). -- [](./vector-database.md) -- Run the sample Jupyter notebooks to learn about optional features. diff --git a/docs/query-decomposition.md b/docs/query-decomposition.md index 2781dd1ab..42af1760c 100644 --- a/docs/query-decomposition.md +++ b/docs/query-decomposition.md @@ -28,7 +28,7 @@ backlinks: none ## Example Features This example deploys a recursive query decomposition example for chat Q&A. -The example uses the llama2-70b chat model from an NVIDIA API Catalog endpoint for inference. +The example uses the Meta Llama 3 70B Instruct model from an NVIDIA API Catalog endpoint for inference. Query decomposition can perform RAG when the agent needs to access information from several different documents (also referred to as _chunks_) or to perform some computation on the answers. @@ -52,11 +52,11 @@ The agent continues to break down the question into subquestions until it has th - Multi-GPU - TRT-LLM - Model Location - - Triton + - NIM for LLMs - Vector Database -* - ai-llama2-70b - - ai-embed-qa-4 +* - meta/llama3-70b-instruct + - snowflake-arctic-embed-l - LangChain - QA chatbot - NO @@ -89,6 +89,14 @@ The following figure shows the sample topology: - Install Docker Engine and Docker Compose. Refer to the instructions for [Ubuntu](https://docs.docker.com/engine/install/ubuntu/). +- Login to Nvidia's docker registry. Please refer to [instructions](https://docs.nvidia.com/ngc/gpu-cloud/ngc-overview/index.html) to create account and generate NGC API key. This is needed for pulling in the secure base container used by all the examples. + + ```console + $ docker login nvcr.io + Username: $oauthtoken + Password: + ``` + - Optional: Enable NVIDIA Riva automatic speech recognition (ASR) and text to speech (TTS). - To launch a Riva server locally, refer to the [Riva Quick Start Guide](https://docs.nvidia.com/deeplearning/riva/user-guide/docs/quick-start-guide.html). @@ -107,33 +115,12 @@ The following figure shows the sample topology: export RIVA_FUNCTION_ID="" ``` -## Get an API Key for the Llama 2 70B API Endpoint - -% api-key-start - -Perform the following steps if you do not already have an API key. -You can use different model API endpoints with the same API key. - -1. Navigate to . - -1. Find the **Llama 2 70B** card and click the card. +## Get an API Key for the Llama 3 70B API Endpoint - ![Llama 2 70B model card](./images/llama-2-70b-card.png) - -1. Click **Get API Key**. - - ![API section of the model page.](./images/llama-2-generate-key.png) - -1. Click **Generate Key**. - - ![Generate key window.](./images/api-catalog-generate-api-key.png) - -1. Click **Copy Key** and then save the API key. - The key begins with the letters nvapi-. - - ![Key Generated window.](./images/key-generated.png) - -% api-key-end +```{include} ./api-catalog.md +:start-after: api-key-start +:end-before: api-key-end +``` ## Build and Start the Containers @@ -168,7 +155,11 @@ You can use different model API endpoints with the same API key. 4. Start the Milvus vector database: ```console - $ docker compose --env-file deploy/compose/compose.env -f deploy/compose/docker-compose-vectordb.yaml up -d milvus + $ docker compose \ + --env-file deploy/compose/compose.env \ + -f deploy/compose/docker-compose-vectordb.yaml \ + --profile llm-embedding \ + up -d milvus ``` *Example Output* @@ -204,4 +195,4 @@ You can use different model API endpoints with the same API key. Ensure that you upload documents and use the knowledge base to answer queries. - [](./vector-database.md) - Stop the containers by running `docker compose -f deploy/compose/rag-app-query-decomposition-agent.yaml down` and - `docker compose -f deploy/compose/docker-compose-vectordb.yaml down`. + `docker compose -f deploy/compose/docker-compose-vectordb.yaml --profile llm-embedding down`. diff --git a/docs/simple-example/code/api-catalog/boilerplate/simple-rag-api-catalog.yaml b/docs/simple-example/code/api-catalog/boilerplate/simple-rag-api-catalog.yaml index 074bc2cfc..7447ca614 100644 --- a/docs/simple-example/code/api-catalog/boilerplate/simple-rag-api-catalog.yaml +++ b/docs/simple-example/code/api-catalog/boilerplate/simple-rag-api-catalog.yaml @@ -11,7 +11,7 @@ services: environment: APP_LLM_MODELNAME: ai-mixtral-8x7b-instruct APP_LLM_MODELENGINE: nvidia-ai-endpoints - APP_EMBEDDINGS_MODELNAME: ai-embed-qa-4 + APP_EMBEDDINGS_MODELNAME: snowflake/arctic-embed-l APP_EMBEDDINGS_MODELENGINE: nvidia-ai-endpoints APP_TEXTSPLITTER_CHUNKSIZE: 1200 APP_TEXTSPLITTER_CHUNKOVERLAP: 200 diff --git a/docs/simple-example/code/api-catalog/documents/chains.py b/docs/simple-example/code/api-catalog/documents/chains.py index c9299b2aa..4b7c2f79c 100644 --- a/docs/simple-example/code/api-catalog/documents/chains.py +++ b/docs/simple-example/code/api-catalog/documents/chains.py @@ -90,8 +90,10 @@ def delete_documents(self, filenames: List[str]): ids_list = [doc_id for doc_id, doc_data in in_memory_docstore.items() if extract_filename(doc_data.metadata) == filename] if vector_store.delete(ids_list): logger.info(f"Deleted document with file name: {filename}") + return True else: logger.error(f"Failed to delete document: {filename}") + return False except Exception as e: logger.error(f"Vector store not initialized. Error details: {e}") diff --git a/docs/simple-example/code/api-catalog/ingest/chains.py b/docs/simple-example/code/api-catalog/ingest/chains.py index 17a141a92..7b66462d3 100644 --- a/docs/simple-example/code/api-catalog/ingest/chains.py +++ b/docs/simple-example/code/api-catalog/ingest/chains.py @@ -17,7 +17,6 @@ import os from langchain.vectorstores import FAISS -DOCS_DIR = os.path.abspath("./uploaded_files") vector_store_path = "vectorstore.pkl" vector_store = None # end-ingest-faiss @@ -31,10 +30,8 @@ def ingest_docs(self, data_dir: str, filename: str): """Code to ingest documents""" try: global vector_store - # Files are copied to DOCS_DIR in the common.server:upload_document method. - _path = os.path.join(DOCS_DIR, filename) - raw_documents = UnstructuredFileLoader(_path).load() + raw_documents = UnstructuredFileLoader(data_dir).load() if raw_documents: text_splitter = CharacterTextSplitter(chunk_size=settings.text_splitter.chunk_size, chunk_overlap=settings.text_splitter.chunk_overlap) diff --git a/docs/simple-example/output/api-catalog/search/response.json b/docs/simple-example/output/api-catalog/search/response.json index ac580eeeb..2782ba3b3 100644 --- a/docs/simple-example/output/api-catalog/search/response.json +++ b/docs/simple-example/output/api-catalog/search/response.json @@ -6,7 +6,7 @@ "score": 0 }, { - "content": "Model Embedding Framework Description Multi-GPU TRT-LLM NVIDIA Endpoints Triton Vector Database mixtral_8x7b nvolveqa_40k LangChain NVIDIA API Catalog endpoints chat bot [ code , docs ] No No Yes Yes Milvus or pgvector llama-2 e5-large-v2 LlamaIndex Canonical QA Chatbot [ code , docs ] Yes Yes No Yes Milvus or pgvector llama-2 all-MiniLM-L6-v2 LlamaIndex Chat bot, GeForce, Windows [ repo ] No Yes No No FAISS llama-2 nvolveqa_40k LangChain Chat bot with query decomposition agent [ code , docs ] No No Yes Yes Milvus or pgvector mixtral_8x7b nvolveqa_40k LangChain Minimilastic example: RAG with NVIDIA AI Foundation Models [ code , README ] No No Yes Yes FAISS mixtral_8x7b Deplot Neva-22b nvolveqa_40k Custom Chat bot with multimodal data [ code , docs ] No No Yes No Milvus or pvgector llama-2 e5-large-v2 LlamaIndex Chat bot with quantized LLM model [ docs ] Yes Yes No Yes Milvus or pgvector mixtral_8x7b none PandasAI Chat bot with structured data [ code , docs ] No No Yes No none llama-2 nvolveqa_40k LangChain Chat bot with multi-turn conversation [ code , docs ] No No Yes No Milvus or pgvector", + "content": "Model Embedding Framework Description Multi-GPU TRT-LLM NVIDIA Endpoints Triton Vector Database mixtral_8x7b ai-embed-qa-4 LangChain NVIDIA API Catalog endpoints chat bot [ code , docs ] No No Yes Yes Milvus or pgvector llama-2 e5-large-v2 LlamaIndex Canonical QA Chatbot [ code , docs ] Yes Yes No Yes Milvus or pgvector llama-2 all-MiniLM-L6-v2 LlamaIndex Chat bot, GeForce, Windows [ repo ] No Yes No No FAISS llama-2 nvolveqa_40k LangChain Chat bot with query decomposition agent [ code , docs ] No No Yes Yes Milvus or pgvector mixtral_8x7b nvolveqa_40k LangChain Minimilastic example: RAG with NVIDIA AI Foundation Models [ code , README ] No No Yes Yes FAISS mixtral_8x7b Deplot Neva-22b nvolveqa_40k Custom Chat bot with multimodal data [ code , docs ] No No Yes No Milvus or pvgector llama-2 e5-large-v2 LlamaIndex Chat bot with quantized LLM model [ docs ] Yes Yes No Yes Milvus or pgvector mixtral_8x7b none PandasAI Chat bot with structured data [ code , docs ] No No Yes No none llama-2 nvolveqa_40k LangChain Chat bot with multi-turn conversation [ code , docs ] No No Yes No Milvus or pgvector", "filename": "README.md", "score": 0 }, diff --git a/docs/structured-data.md b/docs/structured-data.md index 051144d0c..48a6a4d78 100644 --- a/docs/structured-data.md +++ b/docs/structured-data.md @@ -28,7 +28,7 @@ backlinks: none ## Example Features This example deploys a developer RAG pipeline for chat Q&A and serves inferencing from an NVIDIA API Catalog endpoint -instead of NVIDIA Triton Inference Server, a local Llama 2 model, or local GPUs. +instead of a local inference server, local LLM, or local GPUs. Developers get free credits for 10K requests to any of the available models. @@ -64,12 +64,12 @@ Customization of the CSV data retrieval prompt is not supported. - Multi-GPU - TRT-LLM - Model Location - - Triton + - NIM for LLMs - Vector Database -* - ai-llama3-70b for response generation +* - meta/llama3-70b-instruct for response generation - ai-llama3-70b for PandasAI + meta/llama3-70b-instruct for PandasAI - Not Applicable - PandasAI - QA chatbot @@ -103,6 +103,14 @@ The following figure shows the sample topology: - Install Docker Engine and Docker Compose. Refer to the instructions for [Ubuntu](https://docs.docker.com/engine/install/ubuntu/). +- Login to Nvidia's docker registry. Please refer to [instructions](https://docs.nvidia.com/ngc/gpu-cloud/ngc-overview/index.html) to create account and generate NGC API key. This is needed for pulling in the secure base container used by all the examples. + + ```console + $ docker login nvcr.io + Username: $oauthtoken + Password: + ``` + - Optional: Enable NVIDIA Riva automatic speech recognition (ASR) and text to speech (TTS). - To launch a Riva server locally, refer to the [Riva Quick Start Guide](https://docs.nvidia.com/deeplearning/riva/user-guide/docs/quick-start-guide.html). @@ -121,7 +129,7 @@ The following figure shows the sample topology: export RIVA_FUNCTION_ID="" ``` -## Get an API Key for the Mixtral 8x7B Instruct API Endpoint +## Get an API Key for the Llama 3 70B API Endpoint ```{include} api-catalog.md :start-after: api-key-start diff --git a/docs/support-matrix.md b/docs/support-matrix.md index bf8426dd7..74be347f1 100644 --- a/docs/support-matrix.md +++ b/docs/support-matrix.md @@ -29,9 +29,8 @@ backlinks: none Large Language Models are a heavily GPU-limited workflow. All LLMs are defined by the number of billions of parameters that make up their networks. -These generative AI examples focus on the Llama 2 Chat models from Meta. -These models are available in three different sizes: 7B, 13B, and 70B. -All three models perform well, but the 13B model is a good balance of performance and GPU memory utilization. +These generative AI examples focus on the Llama 3 Instruct models from Meta. +These models are available in two sizes: 8B and 70B. ```{list-table} :header-rows: 1 @@ -39,20 +38,12 @@ All three models perform well, but the 13B model is a good balance of performanc * - Model - GPU Memory Requirement -* - Llama-2-7B-Chat +* - Meta Llama 3 8B Instruct - 30 GB -* - Llama-2-13B-Chat - - 50 GB - -* - Llama-2-70B-Chat +* - Meta Llama 3 70B Instruct - 320 GB -* - Llama-2-7B-Chat AWQ Quantized - - 30 GB - -* - Nemotron-8B-Chat-SFT - - 100 GB ``` These resources can be provided by multiple GPUs on the same machine. @@ -80,17 +71,12 @@ The file size of the model varies according to the number of parameters in the m * - Model - Disk Storage -* - Llama-2-7B-Chat +* - Llama 3 8B Instruct - 30 GB -* - Llama-2-13B-Chat - - 50 GB - -* - Llama-2-70B-Chat - - 150 GB +* - Llama 3 70B Instruct + - 140 GB -* - Nemotron-8B-Chat-SFT - - 50 GB ``` The file space needed for the vector database varies by how many documents that you upload. diff --git a/docs/using-sample-web-application.md b/docs/using-sample-web-application.md index d4391e538..96e7fcbfc 100644 --- a/docs/using-sample-web-application.md +++ b/docs/using-sample-web-application.md @@ -27,7 +27,7 @@ backlinks: none ## Prerequisites -- You deployed one of the samples, such as [](./api-catalog.md) or [](./local-gpu.md). +- You deployed one of the samples, such as [](./api-catalog.md). ## Access the Web Application diff --git a/docs/vector-database.md b/docs/vector-database.md index 910618ba4..ea6638b7b 100644 --- a/docs/vector-database.md +++ b/docs/vector-database.md @@ -51,7 +51,7 @@ Alternatively, you can deploy pgvector. The preceding example shows the default values for the database user, password, and database. To override the defaults, edit the values in the Docker Compose file, or set the values in the `compose.env` file. - `Note`: If you have existing setup remove `deploy/compose/volumes` directory to avoid pgvector crash. + If you have existing setup remove `deploy/compose/volumes` directory to avoid pgvector crash. 1. Optional: If a container for a vector database is running, stop the container: @@ -86,7 +86,6 @@ Alternatively, you can deploy pgvector. 1. Confirm the log output includes the vector database: ```output - INFO:example:Ingesting .pdf in vectorDB INFO:RetrievalAugmentedGeneration.common.utils:Using pgvector as vector store INFO:RetrievalAugmentedGeneration.common.utils:Using PGVector collection: ``` @@ -139,7 +138,6 @@ Alternatively, you can deploy pgvector. 1. Confirm the log output includes the vector database: ```output - INFO:example:Ingesting .pdf in vectorDB INFO:RetrievalAugmentedGeneration.common.utils:Using milvus as vector store INFO:RetrievalAugmentedGeneration.common.utils:Using milvus collection: ``` diff --git a/docs/versions.json b/docs/versions.json index d29a613c2..e36ec4d18 100644 --- a/docs/versions.json +++ b/docs/versions.json @@ -1,6 +1,9 @@ { - "latest": "0.5.0", + "latest": "0.7.0", "versions": [ + { + "version": "0.7.0" + }, { "version": "0.5.0" } diff --git a/examples/5_mins_rag_no_gpu/main.py b/examples/5_mins_rag_no_gpu/main.py index 0c4207bcc..5640f8f59 100644 --- a/examples/5_mins_rag_no_gpu/main.py +++ b/examples/5_mins_rag_no_gpu/main.py @@ -47,17 +47,17 @@ from langchain_nvidia_ai_endpoints import ChatNVIDIA, NVIDIAEmbeddings # make sure to export your NVIDIA AI Playground key as NVIDIA_API_KEY! -llm = ChatNVIDIA(model="mixtral_8x7b") -document_embedder = NVIDIAEmbeddings(model="nvolveqa_40k", model_type="passage") -query_embedder = NVIDIAEmbeddings(model="nvolveqa_40k", model_type="query") +llm = ChatNVIDIA(model="ai-llama3-70b") +document_embedder = NVIDIAEmbeddings(model="ai-embed-qa-4", model_type="passage") +query_embedder = NVIDIAEmbeddings(model="ai-embed-qa-4", model_type="query") ############################################ # Component #3 - Vector Database Store ############################################ from langchain.text_splitter import CharacterTextSplitter -from langchain.document_loaders import DirectoryLoader -from langchain.vectorstores import FAISS +from langchain_community.document_loaders import DirectoryLoader +from langchain_community.vectorstores import FAISS import pickle with st.sidebar: @@ -116,14 +116,14 @@ [("system", "You are a helpful AI assistant named Envie. You will reply to questions only based on the context that you are provided. If something is out of context, you will refrain from replying and politely decline to respond to the user."), ("user", "{input}")] ) user_input = st.chat_input("Can you tell me what NVIDIA is known for?") -llm = ChatNVIDIA(model="mixtral_8x7b") +llm = ChatNVIDIA(model="ai-llama3-70b") chain = prompt_template | llm | StrOutputParser() if user_input and vectorstore!=None: st.session_state.messages.append({"role": "user", "content": user_input}) retriever = vectorstore.as_retriever() - docs = retriever.get_relevant_documents(user_input) + docs = retriever.invoke(user_input) with st.chat_message("user"): st.markdown(user_input) diff --git a/examples/5_mins_rag_no_gpu/requirements.txt b/examples/5_mins_rag_no_gpu/requirements.txt index a82c08db2..abd21ba65 100644 --- a/examples/5_mins_rag_no_gpu/requirements.txt +++ b/examples/5_mins_rag_no_gpu/requirements.txt @@ -1,5 +1,5 @@ streamlit==1.30.0 -langchain-nvidia-ai-endpoints==0.0.1 faiss-cpu==1.7.4 -langchain==0.0.352 +langchain==0.1.20 unstructured[all-docs]==0.11.2 +langchain-nvidia-ai-endpoints==0.0.19 diff --git a/experimental/README.md b/experimental/README.md index 14a4dc9d5..e7e5279f4 100644 --- a/experimental/README.md +++ b/experimental/README.md @@ -47,3 +47,11 @@ Experimental examples are sample code and deployments for RAG pipelines that are This example shows the configuration changes to using Docker containers and local GPUs that are required to run the RAG-LLM pipelines in Azure Machine Learning. + +* [NVIDIA Developer RAG Chatbot](./rag-developer-chatbot) + + This example shows how to create a developer-focused RAG chatbot using RAPIDS cuDF source code and API documentation as a representative example of a typical codebase. + +* [NVIDIA Event Driven RAG for CVE Analysis with NVIDIA Morpheus](./event-driven-rag-cve-analysis/) + + This example demonstrates how NVIDIA Morpheus, NIMs, and RAG pipelines can be integrated to create LLM-based agent pipelines. These pipelines will be used to automatically and scalably traige and detect Common Vulnerabilities and Exposures (CVEs) in Docker containers using references to source code, dependencies, and information about the CVEs. \ No newline at end of file diff --git a/experimental/event-driven-rag-cve-analysis/Dockerfile b/experimental/event-driven-rag-cve-analysis/Dockerfile new file mode 100755 index 000000000..c7dc661d8 --- /dev/null +++ b/experimental/event-driven-rag-cve-analysis/Dockerfile @@ -0,0 +1,70 @@ +# syntax=docker/dockerfile:1.3 + +# SPDX-FileCopyrightText: Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +ARG MORPHEUS_CONTAINER=nvcr.io/nvidia/morpheus/morpheus +ARG MORPHEUS_CONTAINER_VERSION=v24.03.00-dev + +FROM ${MORPHEUS_CONTAINER}:${MORPHEUS_CONTAINER_VERSION} as base + +WORKDIR /workspace + +# # Use a separate build directory to avoid clashes on the host +# ENV BUILD_DIR=build-docker + +# Make it easier to run commands in the container +ENV SHELL=/bin/bash + +# Copy over just the environment file to install the dependencies without busting the cache from source file changes +COPY ./requirements.yaml . + +# Install the example's dependencies +RUN source activate morpheus \ + && mamba env update -n morpheus -f ./requirements.yaml + +# Copy everything over to the container to build +COPY . ./ + +RUN chmod +x /workspace/entrypoint.sh + +# # If any changes have been made from the base image, recopy the sources +# COPY ./examples/cyber_dev_day /workspace/examples/cyber_dev_day/ + +# ===== Setup for running unattended ===== +FROM base as runtime + +# # Install the Workflow package +# RUN source activate morpheus \ +# && pip install -e . + +# # Keep the container running indefinitely +# CMD ["sleep", "infinity"] + +# ===== Setup for running Jupyter ===== +FROM base as jupyter + +# Install the jupyter specific requirements +RUN source activate morpheus &&\ + mamba install -y -c conda-forge \ + ipywidgets \ + jupyter_contrib_nbextensions \ + # notebook v7 is incompatible with jupyter_contrib_nbextensions + notebook=6 &&\ + jupyter contrib nbextension install --user &&\ + pip install jupyterlab_nvdashboard==0.9 + +# Launch jupyter +CMD ["jupyter-lab", "--ip=0.0.0.0", "--no-browser", "--allow-root"] diff --git a/experimental/event-driven-rag-cve-analysis/README.md b/experimental/event-driven-rag-cve-analysis/README.md new file mode 100644 index 000000000..1bf2d83c9 --- /dev/null +++ b/experimental/event-driven-rag-cve-analysis/README.md @@ -0,0 +1,110 @@ + + +# Event Driven RAG and Agents with NVIDIA Morpheus +Determining the impact of a documented CVE on a specific project or container is a labor-intensive and manual task. This intricate process involves the collection, comprehension, and synthesis of various pieces of information to ascertain whether immediate remediation, such as patching, is necessary upon the identification of a new CVE. + +Our team developed a cybersecurity vulnerability analysis tool to aid in assessing the exploitability of CVEs in specific projects and containers. This tutorial will guide you step-by-step through the process of using LLMs, Retrieval-Augmented Generation (RAG), and agents to create both a toy version and a microservice running LLM-powered CVE exploitability analysis. + +## Prerequisites + +To run this example, you will need to have the access to `build.nvidia.com` and API credits to access the hosted LLMs. These are necessary to support running LLMs which are the focus of the Cyber Developer Day. + +You will also need to have a `Morpheus 24.03` docker container built and present in the environment. + +### NVIDIA GPU Cloud + +To access the NVIDIA hosted Inference Service, you will need to have the following environment variables set: `OPENAI_API_KEY`. To obtain the API key, please visit the [NVIDIA website](https://build.nvidia.com/) for instructions on generating your API key. + +It's important to note here that although we store the NGC API Key under the `OPENAI_API_KEY` variable, we will be interacting with NVIDIA hosted LLMs and not OpenAI LLMs. + +NVIDIA NIMs are OpenAI API compliant to maximize usability, so we will be using the `openai` with package as a wrapped to make API calls. +### Building a Morpheus Container + +This notebook has originally been designed to run with the NVIDIA AI Enterprise Morpheus container from NGC: + +```bash +nvcr.io/nvidia/morpheus/morpheus:v24.03.02-runtime +``` + +If you do not have access to NVIDIA AI Enterprise containers, you can follow instructions to build from source at the [Morpheus Repository](https://github.com/nv-morpheus/Morpheus/tree/branch-24.03). + +If you are using a Morpheus version that is not `v24.03.02-runtime`, please update the version argument in the `docker-compose.yml` file as follows: + +```bash + args: + - MORPHEUS_CONTAINER=${MORPHEUS_CONTAINER:-nvcr.io/nvidia/morpheus/morpheus} + - MORPHEUS_CONTAINER_VERSION=${MORPHEUS_CONTAINER_VERSION:-v24.03.02-runtime} +``` +### Creating an Environment File + +To automatically use these API keys, you can set the `OPENAI_API_KEY` value in the `docker-compose.yml` file in this directory as follows: + +```bash + environment: + - TERM=${TERM:-} + # Workaround until this is working: https://github.com/docker/compose/issues/9181#issuecomment-1996016211 + - OPENAI_API_KEY= + # Overwrite any environment variables in the .env file with URLs needed in the network + - OPENAI_API_BASE=https://integrate.api.nvidia.com/v1 + - OPENAI_BASE_URL=https://integrate.api.nvidia.com/v1 +``` + +### Pulling Large Files from GIT LFS + +If you do not have Git LFS installed, install it using instructions at this [link](https://docs.github.com/en/repositories/working-with-files/managing-large-files/installing-git-large-file-storage). + +Run the following command from inside this repository's directory to pull down large files using Git LFS. + +```bash +git lfs pull +``` +## Build Instructions +You can build the required containers to run the workflow by running the following command in your terminal from this directory. + ```bash + docker compose build cyber-dev-day + ``` +## Running the Cyber Developer Day Content + +The Cyber Developer Day content is designed to be run using the `docker compose` command. The main entry point is the `cyber-dev-day` container, which is built in the previous step. This container launches a JupyterLab server with the necessary environment variables set to access the NeMo Inference Service and NVIDIA AI Foundation Models API. From there, the pipelines and all content can be run from JupyterLab. + +### Launching the Container and Connecting to JupyterLab + +To run the Cyber Developer Day content, use the following command: +```bash +docker compose up cyber-dev-day +``` + +Once launched, you should see a link in the output to connect to the JupyterLab server. Open this link in your web browser to access the content. For example: +``` +cyber-dev-day-1 | To access the server, open this file in a browser: +cyber-dev-day-1 | file:///root/.local/share/jupyter/runtime/jpserver-7-open.html +cyber-dev-day-1 | Or copy and paste one of these URLs: +cyber-dev-day-1 | http://localhost:8888/lab?token=a2d7504f70a2f5407236be5897ee266dc24bf19b01c222bc +cyber-dev-day-1 | http://127.0.0.1:8888/lab?token=a2d7504f70a2f5407236be5897ee266dc24bf19b01c222bc +``` + +### Running the Notebook + +Once connected to the JupyterLab server, you can navigate to the `notebooks` directory and open the `cyber-dev-day.ipynb` Notebook. The notebook contains the instructions and all of the necessary content to run the Cyber Developer Day. + +### Stopping the Container + +To stop the container, use the following command: +```bash +docker compose down +``` diff --git a/experimental/event-driven-rag-cve-analysis/cyber_dev_day/__init__.py b/experimental/event-driven-rag-cve-analysis/cyber_dev_day/__init__.py new file mode 100644 index 000000000..f6aa0d20f --- /dev/null +++ b/experimental/event-driven-rag-cve-analysis/cyber_dev_day/__init__.py @@ -0,0 +1,35 @@ +# Copyright (c) 2023-2024, NVIDIA CORPORATION. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +import logging +import sys + +morpheus_logger = logging.getLogger("morpheus") + +if (not getattr(morpheus_logger, "_configured_by_morpheus", False)): + + # Set the morpheus logger to propagate upstream + morpheus_logger.propagate = False + + # Add a default handler to the morpheus logger to print to screen + morpheus_logger.addHandler(logging.StreamHandler(stream=sys.stdout)) + + # Set a flag to indicate that the logger has been configured by Morpheus + setattr(morpheus_logger, "_configured_by_morpheus", True) + +logger = logging.getLogger(__name__) + +# Set the parent logger for the entire package to use morpheus so we can take advantage of configure_logging +logger.parent = morpheus_logger diff --git a/experimental/event-driven-rag-cve-analysis/cyber_dev_day/checklist_node.py b/experimental/event-driven-rag-cve-analysis/cyber_dev_day/checklist_node.py new file mode 100644 index 000000000..15d117b88 --- /dev/null +++ b/experimental/event-driven-rag-cve-analysis/cyber_dev_day/checklist_node.py @@ -0,0 +1,266 @@ +# Copyright (c) 2023-2024, NVIDIA CORPORATION. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import ast +import logging +import re +from textwrap import dedent + +from morpheus.llm import LLMLambdaNode +from morpheus.llm import LLMNode +from morpheus.llm.nodes.llm_generate_node import LLMGenerateNode +from morpheus.llm.nodes.prompt_template_node import PromptTemplateNode +from cyber_dev_day.llm_service import LLMService + +from .config import EngineChecklistConfig + +logger = logging.getLogger(__name__) + +# checklist_prompt_template = dedent(""" +# This is an example of CVE information and a checklist produced to determine if the given CVE is exploitable in a containerized environment: +# (1) CVE information: The email module of Python through 3.11.3 incorrectly parses e-mail addresses that contain a special character. The wrong portion of an RFC2822 header is identified as the value of the addr-spec. In some applications, an attacker can bypass a protection mechanism in which application access is granted only after verifying receipt of e-mail to a specific domain (e.g., only @company.example.com addresses may be used for signup). This occurs in email/_parseaddr.py in recent versions of Python. +# (2) Checklist: +# 1. Check the version of python. The vulnerability affects python through 3.11.3. +# 2. Check if the code base uses email functionality in python. + +# Given the following cve information, make a checklist for security analysts to follow to determine whether a Docker container is vulnerable to this exploit. +# CVE information: {{cve_info}} + +# Checklist: + +# """).strip("\n") + +checklist_prompt_template = dedent( + """You are an expert security analyst. Your objective is to add a "Checklist" section containing steps to use when assessing the exploitability of a specific CVE within a containerized environment. \ +For each checklist item, start with an action verb, making it clear and actionable + +**Context**: +Not all CVEs are exploitable in a given container. By making a checklist specific to the information available for a given CVE analysts can execute the checklist to determine exploitability. + +**Example Format**: +Below is a format for examples that illustrate transforming CVE information into an exploitability assessment checklist. + +Example 1 CVE Details: +- CVE ID: CVE-2022-2309 +- Description: NULL Pointer Dereference allows attackers to cause a denial of service (or application crash). This only applies when lxml up to version 4.9.1 \ +is used together with libxml2 2.9.10 through 2.9.14. libxml2 2.9.9 and earlier are not affected. It allows triggering crashes through forged input data, given a \ +vulnerable code sequence in the application. The vulnerability is caused by the iterwalk function (also used by the canonicalize function). Such code shouldn't be \ +in wide-spread use, given that parsing + iterwalk would usually be replaced with the more efficient iterparse function. However, an XML converter that serialises to \ +C14N would also be vulnerable, for example, and there are legitimate use cases for this code sequence. If untrusted input is received (also remotely) and processed via \ +iterwalk function, a crash can be triggered. +- Vulnerable Package Name: lxml, libxml2 +- Vulnerable Package Version: lxml: up to 4.9.1, libxml2: 2.91.0 through 2.9.14 +- CVSS3 Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H + +Example 1 Exploitability Assessment Checklist: +[ +"Check for lxml: Verify if your project uses the lxml library, which is the affected package. If lxml is not a dependency in your project, then your code is not vulnerable to this CVE.", +"Review Affected Versions: If lxml is used, checked the version that your project depends on. According to the vulnerability details, versions 4.9.0 and earlier are vulnerable.", +"Review Versions of Connected Dependencies: The package is only vulnerable if libxml 2.9.10 through 2.9.14 is also present. Check the version of libxml in the project.", +"Check for use of vulnerable functions: The library is vulnerable through its `iterwalk` function, which is also utilized by the `canonicalize` function. Check if either of these functions are used in your code base." +] + +Example 2 CVE Details: +- CVE ID: CVE-2024-23334 +- Description: aiohttp is an asynchronous HTTP client/server framework for asyncio and Python. When using aiohttp as a web server and configuring static routes, \ +it is necessary to specify the root path for static files. Additionally, the option 'follow_symlinks' can be used to determine whether to follow symbolic links \ +outside the static root directory. When 'follow_symlinks' is set to True, there is no validation to check if reading a file is within the root directory. This can \ +lead to directory traversal vulnerabilities, resulting in unauthorized access to arbitrary files on the system, even when symlinks are not present. \ +Disabling `follow_symlinks` by setting `follow_symlinks = False` and using a reverse proxy are encouraged mitigations. Version 3.9.2 fixes this issue. +- Vulnerable Package Name: aiohttp +- Vulnerable Package Version: from 1.0.5 up to (excluding) 3.9.2 +- CVSS3 Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N + +Example 2 Exploitability Assessment Checklist: +[ + "Check for aiohttp: Verify if your project uses the aiohttp library, which is the affected package. If aiohttp is not a dependency in your project, then your code is not vulnerable to this CVE.", + "Review Affected Versions: If aiohttp is used, check the version that your project depends on. According to the vulnerability details, versions from 1.0.5 up to (excluding) 3.9.2 are affected by this vulnerability.", + "Review Code To Check for Vulnerability Mitigation: Check if the 'follow_symlinks' option is set to False to mitigate the risk of directory traversal vulnerabilities." +] + +**Criteria**: +- Exploitability assessment checklists must relate to the information in the specific CVE Details. +- Exploitability assessment checklists must include checks for mitigating conditions when present in the CVE Details. + +**Procedure**: +[ +"Understand the CVE Details, description, and CVSS3 attack vector string.", +"Produce a CVE exploitability assessment checklist.", +"Format the checklist as comma separated list surrounded by square braces.", +"Output the checklist." +] + +**CVE Details:** +{{cve_details}} + +**Checklist**: + +Please only provide the comma separated, python formatted list, no other text. """).strip("\n") + +parselist_prompt_template = dedent(""" +Parse the following numbered checklist's contents into a python list in the format ['x', 'y', 'z'], a comma separated list surrounded by square braces. For example, the following checklist: + +1. Check for notable vulnerable software vendors +2. Consider the network exposure of your Docker container + +Should generate: ["Check for notable vulnerable software vendors", "Consider the network exposure of your Docker container"] + +Checklist: +{{template}} + +Please only provide the comma separated, python formatted, list.""").strip("\n") + +# Find all substrings that start and end with quotes, allowing for spaces before a comma or closing bracket +re_quote_capture = re.compile( + r""" + (['"]) # Opening quote + ( # Start capturing the quoted content + (?:\\.|[^\\])*? # Non-greedy match for any escaped character or non-backslash character + ) # End capturing the quoted content + \1 # Matching closing quote + (?=\s*,|\s*\]) # Lookahead for whitespace followed by a comma or closing bracket, without including it in the match + """, + re.VERBOSE) + + +def attempt_fix_list_string(s: str) -> str: + """ + Attempt to fix unescaped quotes in a string that represents a list to make it parsable. + + Parameters + ---------- + s : str + A string representation of a list that potentially contains unescaped quotes. + + Returns + ------- + str + The corrected string where internal quotes are properly escaped, ensuring it can be parsed as a list. + + Notes + ----- + This function is useful for preparing strings to be parsed by `ast.literal_eval` by ensuring that quotes inside + the string elements of the list are properly escaped. It adds brackets at the beginning and end if they are missing. + """ + # Check if the input starts with '[' and ends with ']' + s = s.strip() + if (not s.startswith('[')): + s = "[" + s + if (not s.endswith(']')): + s = s + "]" + + def fix_quotes(match): + # Extract the captured groups + quote_char, content = match.group(1), match.group(2) + # Escape quotes inside the string content + fixed_content = re.sub(r"(? list[list[str]]: + """ + Asynchronously parse a list of strings, each representing a list, into a list of lists. + + Parameters + ---------- + text : list of str + A list of strings, each intended to be parsed into a list. + + Returns + ------- + list of lists of str + A list of lists, parsed from the input strings. + + Raises + ------ + ValueError + If the string cannot be parsed into a list or if the parsed object is not a list. + + Notes + ----- + This function tries to fix strings that represent lists with unescaped quotes by calling + `attempt_fix_list_string` and then uses `ast.literal_eval` for safe parsing of the string into a list. + It ensures that each element of the parsed list is actually a list and will raise an error if not. + """ + return_val = [] + + for x in text: + try: + # Try to do some very basic string cleanup to fix unescaped quotes + x = attempt_fix_list_string(x) + + # Only proceed if the input is a valid Python literal + # This isn't really dangerous, literal_eval only evaluates a small subset of python + current = ast.literal_eval(x) + + # Ensure that the parsed data is a list + if not isinstance(current, list): + raise ValueError(f"Input is not a list: {x}") + + # Process the list items + for i in range(len(current)): + if (isinstance(current[i], list) and len(current[i]) == 1): + current[i] = current[i][0] + + return_val.append(current) + except (ValueError, SyntaxError) as e: + # Handle the error, log it, or re-raise it with additional context + raise ValueError(f"Failed to parse input {x}: {e}") + + return return_val + + +class CVEChecklistNode(LLMNode): + """ + A node that orchestrates the process of generating a checklist for CVE (Common Vulnerabilities and Exposures) items. + It integrates various nodes that handle CVE lookup, prompting, generation, and parsing to produce an actionable checklist. + """ + + def __init__(self, *, config: EngineChecklistConfig): + """ + Initialize the CVEChecklistNode with optional caching and a vulnerability endpoint retriever. + + Parameters + ---------- + model_name : str, optional + The name of the language model to be used for generating text, by default "gpt-3.5-turbo". + cache_dir : str, optional + The directory where the node's cache should be stored. If None, caching is not used. + vuln_endpoint_retriever : object, optional + An instance of a vulnerability endpoint retriever. If None, defaults to `NISTCVERetriever`. + """ + super().__init__() + + self._config = config + + llm_service = LLMService.create(config.model.service.type, **config.model.service.model_dump(exclude={"type"})) + + # Add a node to create a prompt for CVE checklist generation based on the CVE details obtained from the lookup + # node + self.add_node("checklist_prompt", + inputs=[("*", "*")], + node=PromptTemplateNode(template=checklist_prompt_template, template_format="jinja")) + + # Instantiate a chat service and configure a client for generating responses to the checklist prompt + llm_client_1 = llm_service.get_client(**config.model.model_dump(exclude={"service"})) + self.add_node("generate_checklist", inputs=["/checklist_prompt"], node=LLMGenerateNode(llm_client=llm_client_1)) + + # Add an output parser node to process the final generated checklist into a structured list + self.add_node("output_parser", inputs=["/generate_checklist"], node=LLMLambdaNode(_parse_list), is_output=True) diff --git a/experimental/event-driven-rag-cve-analysis/cyber_dev_day/config.py b/experimental/event-driven-rag-cve-analysis/cyber_dev_day/config.py new file mode 100644 index 000000000..30249e4a1 --- /dev/null +++ b/experimental/event-driven-rag-cve-analysis/cyber_dev_day/config.py @@ -0,0 +1,127 @@ +# Copyright (c) 2023-2024, NVIDIA CORPORATION. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License + +import typing +from pydantic import BaseModel +from pydantic import Discriminator +from pydantic import Field +from pydantic import Tag + + +def _llm_discriminator(v: typing.Any) -> str: + if isinstance(v, dict): + return v.get("service").get("type") + return getattr(getattr(v, "service"), "type") + + +class NeMoLLMServiceConfig(BaseModel): + type: typing.Literal["nemo"] = "nemo" + + api_key: str | None = None + org_id: str | None = None + + +class NeMoLLMModelConfig(BaseModel): + service: NeMoLLMServiceConfig + + model_name: str + customization_id: str | None = None + temperature: float = 0.0 + top_k: int = 0 + tokens_to_generate: int = 300 + + +class NVFoundationLLMServiceConfig(BaseModel): + type: typing.Literal["nvfoundation"] = "nvfoundation" + + api_key: str | None = None + + +class NVFoundationLLMModelConfig(BaseModel): + service: NVFoundationLLMServiceConfig + + model_name: str + temperature: float = 0.0 + + +class OpenAIServiceConfig(BaseModel): + type: typing.Literal["openai"] = "openai" + + +class OpenAIMModelConfig(BaseModel): + service: OpenAIServiceConfig + + model_name: str + + +class NIMServiceConfig(BaseModel): + type: typing.Literal["NIM"] = "NIM" + + +class NIMModelConfig(BaseModel): + service: NIMServiceConfig + + model_name: str + base_url: str + temperature: float = 0.0 + top_p: float = 1 + + +LLMModelConfig = typing.Annotated[typing.Annotated[NeMoLLMModelConfig, Tag("nemo")] + | typing.Annotated[OpenAIMModelConfig, Tag("openai")] + | typing.Annotated[NVFoundationLLMModelConfig, Tag("nvfoundation")] + | typing.Annotated[NIMModelConfig, Tag("NIM")], +Discriminator(_llm_discriminator)] + + +class HttpServerInputConfig(BaseModel): + type: typing.Literal["http_server"] = "http_server" + + +class NspectFileInputConfig(BaseModel): + type: typing.Literal["nspect_file"] = "nspect_file" + + +class CveFileInputConfig(BaseModel): + type: typing.Literal["cve_file"] = "cve_file" + + +class EngineChecklistConfig(BaseModel): + model: LLMModelConfig + + +class EngineSBOMConfig(BaseModel): + data_file: str + + +class EngineCodeRepoConfig(BaseModel): + faiss_dir: str + + embedding_model_name: str = "sentence-transformers/all-mpnet-base-v2" + + +class EngineAgentConfig(BaseModel): + model: LLMModelConfig + + sbom: EngineSBOMConfig + + code_repo: EngineCodeRepoConfig + + verbose: bool = True + + +class EngineConfig(BaseModel): + checklist: EngineChecklistConfig + + agent: EngineAgentConfig diff --git a/experimental/event-driven-rag-cve-analysis/cyber_dev_day/embeddings.py b/experimental/event-driven-rag-cve-analysis/cyber_dev_day/embeddings.py new file mode 100644 index 000000000..c9635ff91 --- /dev/null +++ b/experimental/event-driven-rag-cve-analysis/cyber_dev_day/embeddings.py @@ -0,0 +1,152 @@ +# Copyright (c) 2024, NVIDIA CORPORATION. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import logging +import os +import pathlib + +import nbformat +from langchain.docstore.document import Document +from langchain.document_loaders.parsers import LanguageParser +from langchain.text_splitter import Language +from langchain.text_splitter import RecursiveCharacterTextSplitter +from langchain.vectorstores.faiss import FAISS +from langchain_community.document_loaders.blob_loaders.schema import Blob +from langchain_core.embeddings import Embeddings + +logger = logging.getLogger(f"__name__") + + +def _extract_python_code_from_ipynb(notebook_content: str, cell_type: str = "code"): + """Extract python code from jupyter notebook + + Parameters + ---------- + notebook_content : str + notebook content location + cell_type : str, optional + _description_, by default "code" + + Returns + ------- + str + python codes + """ + + notebook = nbformat.read(notebook_content, as_version=nbformat.NO_CONVERT) + + python_code = [] + for cell in notebook.cells: + if cell.cell_type == cell_type: + python_code.append(cell.source) + + return "\n".join(python_code) + + +def _read_gitignore_exclusions(gitignore_file: str, base_dir: str) -> list[str]: + exclusions = [] + + # Load the gitignore file + with open(os.path.join(base_dir, ".gitignore"), "r") as ignore_file: + for line in ignore_file: + # Remove any leading or trailing whitespace + line = line.strip() + + # Ignore comments and empty lines + if not line or line.startswith("#"): + continue + + # Unescape # characters + if line[0] == '\\' and line[1] in ('#', '!'): + line = line[1:] + + # Add the line to the list of exclusions + if ("/" in line): + exclusions.append(os.path.normpath(os.path.join(base_dir, line.removeprefix("/")))) + else: + exclusions.append(line) + + return exclusions + + +def create_code_embedding(code_dir: str, + embedding: Embeddings, + include: str = "**/*.py", + exclude: list[str] = None, + include_notebooks: bool = False): + """ + Create code embedding from specified code directory. + """ + documents: list[Document] = [] + logger.info(f"Generating embedding for source code in {code_dir}") + + # include notebooks + if include_notebooks: + + for nb in pathlib.Path(code_dir).glob("**/[!.]*.ipynb"): + content = _extract_python_code_from_ipynb(str(nb)) + if content: + documents.append(Document(page_content=content, metadata={'source': nb, 'language': Language.PYTHON})) + + final_exclusions = exclude or [] + + # # Load the gitignore file to pre-populate the exclude list + # if (os.path.exists(os.path.join(code_dir, ".gitignore"))): + # # Load the gitignore file + # final_exclusions.extend(_read_gitignore_exclusions(os.path.join(code_dir, ".gitignore"), code_dir)) + + code_path = pathlib.Path(code_dir) + + parser = LanguageParser(language=Language.PYTHON.value, parser_threshold=500) + + positive_matches = set(code_path.glob(include)) + + for exclusion in final_exclusions: + negative_matches = set(code_path.glob(exclusion)) + positive_matches -= negative_matches + + def build_documents(matches): + + for path in matches: + + blob = Blob.from_path(path) + + yield from parser.lazy_parse(blob) + + documents.extend(build_documents(sorted(positive_matches))) + + logger.info(f"Total {len(documents)} source code documents in {len(positive_matches)} files.") + + debug_file_path = f"{os.getenv('MORPHEUS_ROOT', '.')}/.tmp/embedding_file_list.txt" + + # Ensure the directory exists + os.makedirs(os.path.dirname(debug_file_path), exist_ok=True) + + # Write out the list of files to disk to analyze + with open(debug_file_path, mode="w", encoding="utf-8") as f: + f.writelines([f".{doc.metadata['source'].removeprefix(code_dir)}\n" for doc in documents]) + + python_splitter = RecursiveCharacterTextSplitter.from_language(language=Language.PYTHON, + chunk_size=1000, + chunk_overlap=200) + code_documents = python_splitter.split_documents(documents) + + logger.info("Creating embeddings...") + + # create embeddings + db = FAISS.from_documents(code_documents, embedding) + + logger.info("Creating embeddings... Complete") + + return db diff --git a/experimental/event-driven-rag-cve-analysis/cyber_dev_day/faiss_vdb_service.py b/experimental/event-driven-rag-cve-analysis/cyber_dev_day/faiss_vdb_service.py new file mode 100644 index 000000000..81f63aef5 --- /dev/null +++ b/experimental/event-driven-rag-cve-analysis/cyber_dev_day/faiss_vdb_service.py @@ -0,0 +1,765 @@ +# Copyright (c) 2023-2024, NVIDIA CORPORATION. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import asyncio +import copy +import json +import logging +import threading +import time +import typing +from functools import wraps + +import pandas as pd + +import cudf + +from morpheus.service.vdb.vector_db_service import VectorDBResourceService +from morpheus.service.vdb.vector_db_service import VectorDBService + +logger = logging.getLogger(__name__) + +IMPORT_EXCEPTION = None +IMPORT_ERROR_MESSAGE = "MilvusVectorDBResourceService requires the milvus and pymilvus packages to be installed." + +try: + from langchain.vectorstores.faiss import FAISS +except ImportError as import_exc: + IMPORT_EXCEPTION = import_exc + + +class FaissVectorDBResourceService(VectorDBResourceService): + """ + Represents a service for managing resources in a Milvus Vector Database. + + Parameters + ---------- + name : str + Name of the resource. + client : MilvusClient + An instance of the MilvusClient for interaction with the Milvus Vector Database. + """ + + def __init__(self, parent: "FaissVectorDBService", *, name: str) -> None: + if IMPORT_EXCEPTION is not None: + raise ImportError(IMPORT_ERROR_MESSAGE) from IMPORT_EXCEPTION + + super().__init__() + + self._parent = parent + self._name = name + + self._index = FAISS.load_local(folder_path=self._parent._local_dir, + embeddings=self._parent._embeddings, + index_name=self._name, + allow_dangerous_deserialization=True) + + def insert(self, data: list[list] | list[dict], **kwargs: dict[str, typing.Any]) -> dict: + """ + Insert data into the vector database. + + Parameters + ---------- + data : list[list] | list[dict] + Data to be inserted into the collection. + **kwargs : dict[str, typing.Any] + Extra keyword arguments specific to the vector database implementation. + + Returns + ------- + dict + Returns response content as a dictionary. + """ + raise NotImplementedError("Insert operation is not supported in FAISS") + + def insert_dataframe(self, df: typing.Union[cudf.DataFrame, pd.DataFrame], **kwargs: dict[str, typing.Any]) -> dict: + """ + Insert a dataframe entires into the vector database. + + Parameters + ---------- + df : typing.Union[cudf.DataFrame, pd.DataFrame] + Dataframe to be inserted into the collection. + **kwargs : dict[str, typing.Any] + Extra keyword arguments specific to the vector database implementation. + + Returns + ------- + dict + Returns response content as a dictionary. + """ + raise NotImplementedError("Insert operation is not supported in FAISS") + + def describe(self, **kwargs: dict[str, typing.Any]) -> dict: + """ + Provides a description of the collection. + + Parameters + ---------- + **kwargs : dict[str, typing.Any] + Extra keyword arguments specific to the vector database implementation. + + Returns + ------- + dict + Returns response content as a dictionary. + """ + raise NotImplementedError("Describe operation is not supported in FAISS") + + def query(self, query: str, **kwargs: dict[str, typing.Any]) -> typing.Any: + """ + Query data in a collection in the Milvus vector database. + + This method performs a search operation in the specified collection/partition in the Milvus vector database. + + Parameters + ---------- + query : str, optional + The search query, which can be a filter expression, by default None. + **kwargs : dict + Additional keyword arguments for the search operation. + + Returns + ------- + typing.Any + The search result, which can vary depending on the query and options. + + Raises + ------ + RuntimeError + If an error occurs during the search operation. + If query argument is `None` and `data` keyword argument doesn't exist. + If `data` keyword arguement is `None`. + """ + raise NotImplementedError("Query operation is not supported in FAISS") + + async def similarity_search(self, + embeddings: list[list[float]], + k: int = 4, + **kwargs: dict[str, typing.Any]) -> list[list[dict]]: + """ + Perform a similarity search within the collection. + + Parameters + ---------- + embeddings : list[list[float]] + Embeddings for which to perform the similarity search. + k : int, optional + The number of nearest neighbors to return, by default 4. + **kwargs : dict[str, typing.Any] + Extra keyword arguments specific to the vector database implementation. + + Returns + ------- + list[dict] + Returns a list of dictionaries representing the results of the similarity search. + """ + + async def single_search(single_embedding): + docs = await self._index.asimilarity_search_by_vector(embedding=single_embedding, k=k) + + return [d.dict() for d in docs] + + return list(await asyncio.gather(*[single_search(embedding) for embedding in embeddings])) + + def update(self, data: list[typing.Any], **kwargs: dict[str, typing.Any]) -> dict[str, typing.Any]: + """ + Update data in the collection. + + Parameters + ---------- + data : list[typing.Any] + Data to be updated in the collection. + **kwargs : dict[str, typing.Any] + Extra keyword arguments specific to upsert operation. + + Returns + ------- + dict[str, typing.Any] + Returns result of the updated operation stats. + """ + raise NotImplementedError("Update operation is not supported in FAISS") + + def delete_by_keys(self, keys: int | str | list, **kwargs: dict[str, typing.Any]) -> typing.Any: + """ + Delete vectors by keys from the collection. + + Parameters + ---------- + keys : int | str | list + Primary keys to delete vectors. + **kwargs : dict[str, typing.Any] + Extra keyword arguments specific to the vector database implementation. + + Returns + ------- + typing.Any + Returns result of the given keys that are deleted from the collection. + """ + raise NotImplementedError("Delete by keys operation is not supported in FAISS") + + def delete(self, expr: str, **kwargs: dict[str, typing.Any]) -> dict[str, typing.Any]: + """ + Delete vectors from the collection using expressions. + + Parameters + ---------- + expr : str + Delete expression. + **kwargs : dict[str, typing.Any] + Extra keyword arguments specific to the vector database implementation. + + Returns + ------- + dict[str, typing.Any] + Returns result of the given keys that are deleted from the collection. + """ + raise NotImplementedError("Delete operation is not supported in FAISS") + + def retrieve_by_keys(self, keys: int | str | list, **kwargs: dict[str, typing.Any]) -> list[typing.Any]: + """ + Retrieve the inserted vectors using their primary keys. + + Parameters + ---------- + keys : int | str | list + Primary keys to get vectors for. Depending on pk_field type it can be int or str + or a list of either. + **kwargs : dict[str, typing.Any] + Additional keyword arguments for the retrieval operation. + + Returns + ------- + list[typing.Any] + Returns result rows of the given keys from the collection. + """ + raise NotImplementedError("Retrieve by keys operation is not supported in FAISS") + + def count(self, **kwargs: dict[str, typing.Any]) -> int: + """ + Returns number of rows/entities. + + Parameters + ---------- + **kwargs : dict[str, typing.Any] + Additional keyword arguments for the count operation. + + Returns + ------- + int + Returns number of entities in the collection. + """ + raise NotImplementedError("Count operation is not supported in FAISS") + + def drop(self, **kwargs: dict[str, typing.Any]) -> None: + """ + Drop a collection, index, or partition in the Milvus vector database. + + This function allows you to drop a collection. + + Parameters + ---------- + **kwargs : dict + Additional keyword arguments for specifying the type and partition name (if applicable). + """ + raise NotImplementedError("Drop operation is not supported in FAISS") + + +class FaissVectorDBService(VectorDBService): + """ + Service class for Milvus Vector Database implementation. This class provides functions for interacting + with a Milvus vector database. + + Parameters + ---------- + host : str + The hostname or IP address of the Milvus server. + port : str + The port number for connecting to the Milvus server. + alias : str, optional + Alias for the Milvus connection, by default "default". + **kwargs : dict + Additional keyword arguments specific to the Milvus connection configuration. + """ + + _collection_locks = {} + _cleanup_interval = 600 # 10mins + _last_cleanup_time = time.time() + + def __init__(self, local_dir: str, embeddings, **kwargs: dict[str, typing.Any]): + + if IMPORT_EXCEPTION is not None: + raise ImportError(IMPORT_ERROR_MESSAGE) from IMPORT_EXCEPTION + + self._local_dir = local_dir + self._embeddings = embeddings + + def load_resource(self, name: str = "index", **kwargs: dict[str, typing.Any]) -> FaissVectorDBResourceService: + + return FaissVectorDBResourceService(self, name=name, **kwargs) + + def has_store_object(self, name: str) -> bool: + """ + Check if a collection exists in the Milvus vector database. + + Parameters + ---------- + name : str + Name of the collection to check. + + Returns + ------- + bool + True if the collection exists, False otherwise. + """ + return self._client.has_collection(collection_name=name) + + def list_store_objects(self, **kwargs: dict[str, typing.Any]) -> list[str]: + """ + List the names of all collections in the Milvus vector database. + + Returns + ------- + list[str] + A list of collection names. + """ + return self._client.list_collections(**kwargs) + + def _create_schema_field(self, field_conf: dict) -> "pymilvus.FieldSchema": + + field_schema = pymilvus.FieldSchema.construct_from_dict(field_conf) + + return field_schema + + def create(self, name: str, overwrite: bool = False, **kwargs: dict[str, typing.Any]): + """ + Create a collection in the Milvus vector database with the specified name and configuration. This method + creates a new collection in the Milvus vector database with the provided name and configuration options. + If the collection already exists, it can be overwritten if the `overwrite` parameter is set to True. + + Parameters + ---------- + name : str + Name of the collection to be created. + overwrite : bool, optional + If True, the collection will be overwritten if it already exists, by default False. + **kwargs : dict + Additional keyword arguments containing collection configuration. + + Raises + ------ + ValueError + If the provided schema fields configuration is empty. + """ + logger.debug("Creating collection: %s, overwrite=%s, kwargs=%s", name, overwrite, kwargs) + + # Preserve original configuration. + collection_conf = copy.deepcopy(kwargs) + + auto_id = collection_conf.get("auto_id", False) + index_conf = collection_conf.get("index_conf", None) + partition_conf = collection_conf.get("partition_conf", None) + + schema_conf = collection_conf.get("schema_conf") + schema_fields_conf = schema_conf.pop("schema_fields") + + if not self.has_store_object(name) or overwrite: + if overwrite and self.has_store_object(name): + self.drop(name) + + if len(schema_fields_conf) == 0: + raise ValueError("Cannot create collection as provided empty schema_fields configuration") + + schema_fields = [FieldSchemaEncoder.from_dict(field_conf) for field_conf in schema_fields_conf] + + schema = pymilvus.CollectionSchema(fields=schema_fields, **schema_conf) + + self._client.create_collection_with_schema(collection_name=name, + schema=schema, + index_params=index_conf, + auto_id=auto_id, + shards_num=collection_conf.get("shards", 2), + consistency_level=collection_conf.get( + "consistency_level", "Strong")) + + if partition_conf: + timeout = partition_conf.get("timeout", 1.0) + # Iterate over each partition configuration + for part in partition_conf["partitions"]: + self._client.create_partition(collection_name=name, partition_name=part["name"], timeout=timeout) + + def create_from_dataframe(self, + name: str, + df: typing.Union[cudf.DataFrame, pd.DataFrame], + overwrite: bool = False, + **kwargs: dict[str, typing.Any]) -> None: + """ + Create collections in the vector database. + + Parameters + ---------- + name : str + Name of the collection. + df : Union[cudf.DataFrame, pd.DataFrame] + The dataframe to create the collection from. + overwrite : bool, optional + Whether to overwrite the collection if it already exists. Default is False. + **kwargs : dict[str, typing.Any] + Extra keyword arguments specific to the vector database implementation. + """ + + fields = self._build_schema_conf(df=df) + + create_kwargs = { + "schema_conf": { + "description": "Auto generated schema from DataFrame in Morpheus", + "schema_fields": fields, + } + } + + if (kwargs.get("index_field", None) is not None): + # Check to make sure the column name exists in the fields + create_kwargs["index_conf"] = { + "field_name": kwargs.get("index_field"), # Default index type + "metric_type": "L2", + "index_type": "HNSW", + "params": { + "M": 8, + "efConstruction": 64, + }, + } + + self.create(name=name, overwrite=overwrite, **create_kwargs) + + def insert(self, name: str, data: list[list] | list[dict], **kwargs: dict[str, + typing.Any]) -> dict[str, typing.Any]: + """ + Insert a collection specific data in the Milvus vector database. + + Parameters + ---------- + name : str + Name of the collection to be inserted. + data : list[list] | list[dict] + Data to be inserted in the collection. + **kwargs : dict[str, typing.Any] + Additional keyword arguments containing collection configuration. + + Returns + ------- + dict + Returns response content as a dictionary. + + Raises + ------ + RuntimeError + If the collection not exists exists. + """ + + resource = self.load_resource(name) + return resource.insert(data, **kwargs) + + def insert_dataframe(self, + name: str, + df: typing.Union[cudf.DataFrame, pd.DataFrame], + **kwargs: dict[str, typing.Any]) -> dict[str, typing.Any]: + """ + Converts dataframe to rows and insert to a collection in the Milvus vector database. + + Parameters + ---------- + name : str + Name of the collection to be inserted. + df : typing.Union[cudf.DataFrame, pd.DataFrame] + Dataframe to be inserted in the collection. + **kwargs : dict[str, typing.Any] + Additional keyword arguments containing collection configuration. + + Returns + ------- + dict + Returns response content as a dictionary. + + Raises + ------ + RuntimeError + If the collection not exists exists. + """ + resource = self.load_resource(name) + + return resource.insert_dataframe(df=df, **kwargs) + + def query(self, name: str, query: str = None, **kwargs: dict[str, typing.Any]) -> typing.Any: + """ + Query data in a collection in the Milvus vector database. + + This method performs a search operation in the specified collection/partition in the Milvus vector database. + + Parameters + ---------- + name : str + Name of the collection to search within. + query : str + The search query, which can be a filter expression. + **kwargs : dict + Additional keyword arguments for the search operation. + + Returns + ------- + typing.Any + The search result, which can vary depending on the query and options. + """ + + resource = self.load_resource(name) + + return resource.query(query, **kwargs) + + async def similarity_search(self, name: str, **kwargs: dict[str, typing.Any]) -> list[dict]: + """ + Perform a similarity search within the collection. + + Parameters + ---------- + name : str + Name of the collection. + **kwargs : dict[str, typing.Any] + Extra keyword arguments specific to the vector database implementation. + + Returns + ------- + list[dict] + Returns a list of dictionaries representing the results of the similarity search. + """ + + resource = self.load_resource(name) + + return resource.similarity_search(**kwargs) + + def update(self, name: str, data: list[typing.Any], **kwargs: dict[str, typing.Any]) -> dict[str, typing.Any]: + """ + Update data in the vector database. + + Parameters + ---------- + name : str + Name of the collection. + data : list[typing.Any] + Data to be updated in the collection. + **kwargs : dict[str, typing.Any] + Extra keyword arguments specific to upsert operation. + + Returns + ------- + dict[str, typing.Any] + Returns result of the updated operation stats. + """ + + if not isinstance(data, list): + raise RuntimeError("Data is not of type list.") + + resource = self.load_resource(name) + + return resource.update(data=data, **kwargs) + + def delete_by_keys(self, name: str, keys: int | str | list, **kwargs: dict[str, typing.Any]) -> typing.Any: + """ + Delete vectors by keys from the collection. + + Parameters + ---------- + name : str + Name of the collection. + keys : int | str | list + Primary keys to delete vectors. + **kwargs : dict[str, typing.Any] + Extra keyword arguments specific to the vector database implementation. + + Returns + ------- + typing.Any + Returns result of the given keys that are delete from the collection. + """ + + resource = self.load_resource(name) + + return resource.delete_by_keys(keys=keys, **kwargs) + + def delete(self, name: str, expr: str, **kwargs: dict[str, typing.Any]) -> dict[str, typing.Any]: + """ + Delete vectors from the collection using expressions. + + Parameters + ---------- + name : str + Name of the collection. + expr : str + Delete expression. + **kwargs : dict[str, typing.Any] + Extra keyword arguments specific to the vector database implementation. + + Returns + ------- + dict[str, typing.Any] + Returns result of the given keys that are delete from the collection. + """ + + resource = self.load_resource(name) + result = resource.delete(expr=expr, **kwargs) + + return result + + def retrieve_by_keys(self, name: str, keys: int | str | list, **kwargs: dict[str, typing.Any]) -> list[typing.Any]: + """ + Retrieve the inserted vectors using their primary keys from the Collection. + + Parameters + ---------- + name : str + Name of the collection. + keys : int | str | list + Primary keys to get vectors for. Depending on pk_field type it can be int or str + or a list of either. + **kwargs : dict[str, typing.Any] + Additional keyword arguments for the retrieval operation. + + Returns + ------- + list[typing.Any] + Returns result rows of the given keys from the collection. + """ + + resource = self.load_resource(name) + + result = resource.retrieve_by_keys(keys=keys, **kwargs) + + return result + + def count(self, name: str, **kwargs: dict[str, typing.Any]) -> int: + """ + Returns number of rows/entities in the given collection. + + Parameters + ---------- + name : str + Name of the collection. + **kwargs : dict[str, typing.Any] + Additional keyword arguments for the count operation. + + Returns + ------- + int + Returns number of entities in the collection. + """ + resource = self.load_resource(name) + + return resource.count(**kwargs) + + def drop(self, name: str, **kwargs: dict[str, typing.Any]) -> None: + """ + Drop a collection, index, or partition in the Milvus vector database. + + This method allows you to drop a collection, an index within a collection, + or a specific partition within a collection in the Milvus vector database. + + Parameters + ---------- + name : str + Name of the collection, index, or partition to be dropped. + **kwargs : dict + Additional keyword arguments for specifying the type and partition name (if applicable). + + Notes on Expected Keyword Arguments: + ------------------------------------ + - 'collection' (str, optional): + Specifies the type of collection to drop. Possible values: 'collection' (default), 'index', 'partition'. + + - 'partition_name' (str, optional): + Required when dropping a specific partition within a collection. Specifies the partition name to be dropped. + + - 'field_name' (str, optional): + Required when dropping an index within a collection. Specifies the field name for which the index is created. + + - 'index_name' (str, optional): + Required when dropping an index within a collection. Specifies the name of the index to be dropped. + + Raises + ------ + ValueError + If mandatory arguments are missing or if the provided 'collection' value is invalid. + """ + + logger.debug("Dropping collection: %s, kwargs=%s", name, kwargs) + + if self.has_store_object(name): + resource = kwargs.get("resource", "collection") + if resource == "collection": + self._client.drop_collection(collection_name=name) + elif resource == "partition": + if "partition_name" not in kwargs: + raise ValueError("Mandatory argument 'partition_name' is required when resource='partition'") + partition_name = kwargs["partition_name"] + if self._client.has_partition(collection_name=name, partition_name=partition_name): + # Collection need to be released before dropping the partition. + self._client.release_collection(collection_name=name) + self._client.drop_partition(collection_name=name, partition_name=partition_name) + elif resource == "index": + if "field_name" in kwargs and "index_name" in kwargs: + self._client.drop_index(collection_name=name, + field_name=kwargs["field_name"], + index_name=kwargs["index_name"]) + else: + raise ValueError( + "Mandatory arguments 'field_name' and 'index_name' are required when resource='index'") + + def describe(self, name: str, **kwargs: dict[str, typing.Any]) -> dict: + """ + Describe the collection in the vector database. + + Parameters + ---------- + name : str + Name of the collection. + **kwargs : dict[str, typing.Any] + Additional keyword arguments specific to the Milvus vector database. + + Returns + ------- + dict + Returns collection information. + """ + + resource = self.load_resource(name) + + return resource.describe(**kwargs) + + def release_resource(self, name: str) -> None: + """ + Release a loaded collection from the memory. + + Parameters + ---------- + name : str + Name of the collection to release. + """ + + self._client.release_collection(collection_name=name) + + def close(self) -> None: + """ + Close the connection to the Milvus vector database. + + This method disconnects from the Milvus vector database by removing the connection. + + """ + self._client.close() diff --git a/experimental/event-driven-rag-cve-analysis/cyber_dev_day/langchain_llm_client_wrapper.py b/experimental/event-driven-rag-cve-analysis/cyber_dev_day/langchain_llm_client_wrapper.py new file mode 100644 index 000000000..18589f9b5 --- /dev/null +++ b/experimental/event-driven-rag-cve-analysis/cyber_dev_day/langchain_llm_client_wrapper.py @@ -0,0 +1,61 @@ +# Copyright (c) 2024, NVIDIA CORPORATION. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import typing + +from cyber_dev_day.llm_service import LLMClient + +IMPORT_EXCEPTION = None +IMPORT_ERROR_MESSAGE = ("LangchainLLMClientWrapper require the langchain package to be installed. " + "Install it by running the following command:\n" + "`conda env update --solver=libmamba -n morpheus " + "--file morpheus/conda/environments/examples_cuda-121_arch-x86_64.yaml --prune`") + +try: + from langchain_core.callbacks import AsyncCallbackManagerForLLMRun + from langchain_core.callbacks import CallbackManagerForLLMRun + from langchain_core.language_models.llms import LLM +except ImportError as import_exc: + IMPORT_EXCEPTION = import_exc + + +class LangchainLLMClientWrapper(LLM): + + client: LLMClient + + @property + def _llm_type(self) -> str: + """Return type of llm.""" + return "morpheus" + + def _call( + self, + prompt: str, + stop: typing.Optional[list[str]] = None, + run_manager: typing.Optional[CallbackManagerForLLMRun] = None, + **kwargs: typing.Any, + ) -> str: + """Run the LLM on the given prompt and input.""" + + return self.client.generate(prompt=prompt, stop=stop) + + async def _acall( + self, + prompt: str, + stop: typing.Optional[list[str]] = None, + run_manager: typing.Optional[AsyncCallbackManagerForLLMRun] = None, + **kwargs: typing.Any, + ) -> str: + """Run the LLM on the given prompt and input.""" + return await self.client.generate_async(prompt=prompt, stop=stop) diff --git a/experimental/event-driven-rag-cve-analysis/cyber_dev_day/llm_service.py b/experimental/event-driven-rag-cve-analysis/cyber_dev_day/llm_service.py new file mode 100644 index 000000000..7777d7ea0 --- /dev/null +++ b/experimental/event-driven-rag-cve-analysis/cyber_dev_day/llm_service.py @@ -0,0 +1,186 @@ +# Copyright (c) 2023-2024, NVIDIA CORPORATION. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import importlib +import logging +import typing +from abc import ABC +from abc import abstractmethod + +logger = logging.getLogger(__name__) + + +class LLMClient(ABC): + """ + Abstract interface for clients which are able to interact with LLM models. Concrete implementations of this class + will have an associated implementation of `LLMService` which is able to construct instances of this class. + """ + + @abstractmethod + def get_input_names(self) -> list[str]: + """ + Returns the names of the inputs to the model. + """ + pass + + @abstractmethod + def generate(self, **input_dict) -> str: + """ + Issue a request to generate a response based on a given prompt. + + Parameters + ---------- + input_dict : dict + Input containing prompt data. + """ + pass + + @abstractmethod + async def generate_async(self, **input_dict) -> str: + """ + Issue an asynchronous request to generate a response based on a given prompt. + + Parameters + ---------- + input_dict : dict + Input containing prompt data. + """ + pass + + @typing.overload + @abstractmethod + def generate_batch(self, + inputs: dict[str, list], + return_exceptions: typing.Literal[True] = True) -> list[str | BaseException]: + ... + + @typing.overload + @abstractmethod + def generate_batch(self, inputs: dict[str, list], return_exceptions: typing.Literal[False] = False) -> list[str]: + ... + + @abstractmethod + def generate_batch(self, inputs: dict[str, list], return_exceptions=False) -> list[str] | list[str | BaseException]: + """ + Issue a request to generate a list of responses based on a list of prompts. + + Parameters + ---------- + inputs : dict + Inputs containing prompt data. + return_exceptions : bool + Whether to return exceptions in the output list or raise them immediately. + """ + pass + + @typing.overload + @abstractmethod + async def generate_batch_async(self, + inputs: dict[str, list], + return_exceptions: typing.Literal[True] = True) -> list[str | BaseException]: + ... + + @typing.overload + @abstractmethod + async def generate_batch_async(self, + inputs: dict[str, list], + return_exceptions: typing.Literal[False] = False) -> list[str]: + ... + + @abstractmethod + async def generate_batch_async(self, + inputs: dict[str, list], + return_exceptions=False) -> list[str] | list[str | BaseException]: + """ + Issue an asynchronous request to generate a list of responses based on a list of prompts. + + Parameters + ---------- + inputs : dict + Inputs containing prompt data. + return_exceptions : bool + Whether to return exceptions in the output list or raise them immediately. + """ + pass + + +class LLMService(ABC): + """ + Abstract interface for services which are able to construct clients for interacting with LLM models. + """ + + @abstractmethod + def get_client(self, *, model_name: str, **model_kwargs) -> LLMClient: + """ + Returns a client for interacting with a specific model. + + Parameters + ---------- + model_name : str + The name of the model to create a client for. + + model_kwargs : dict[str, typing.Any] + Additional keyword arguments to pass to the model. + """ + pass + + @typing.overload + @staticmethod + def create(service_type: typing.Literal["nemo"], *service_args, + **service_kwargs) -> "morpheus.llm.services.nemo_llm_service.NeMoLLMService": + pass + + @typing.overload + @staticmethod + def create(service_type: typing.Literal["openai"], *service_args, + **service_kwargs) -> "morpheus.llm.services.nemo_llm_service.OpenAILLMService": + pass + + @typing.overload + @staticmethod + def create(service_type: str, *service_args, **service_kwargs) -> "LLMService": + pass + + @staticmethod + def create(service_type: str | typing.Literal["nemo"] | typing.Literal["openai"], *service_args, **service_kwargs): + """ + Returns a service for interacting with LLM models. + + Parameters + ---------- + service_type : str + The type of the service to create + + service_kwargs : dict[str, typing.Any] + Additional keyword arguments to pass to the service. + """ + module_name = f"cyber_dev_day.{service_type.lower()}_llm_service" + module = importlib.import_module(module_name) + + # Get all of the classes in the module to find the correct service class + mod_classes = dict([(name, cls) for name, cls in module.__dict__.items() if isinstance(cls, type)]) + + class_name_lower = f"{service_type}LLMService".lower() + + # Find case-insensitive match for the class name + matching_classes = [name for name in mod_classes if name.lower() == class_name_lower] + + assert len(matching_classes) == 1, f"Expected to find exactly one class with name {class_name_lower} in module {module_name}, but found {matching_classes}" + + # Create the class + class_ = getattr(module, matching_classes[0]) + + instance = class_(*service_args, **service_kwargs) + + return instance diff --git a/experimental/event-driven-rag-cve-analysis/cyber_dev_day/nim_llm_service.py b/experimental/event-driven-rag-cve-analysis/cyber_dev_day/nim_llm_service.py new file mode 100644 index 000000000..621befbef --- /dev/null +++ b/experimental/event-driven-rag-cve-analysis/cyber_dev_day/nim_llm_service.py @@ -0,0 +1,165 @@ +# Copyright (c) 2023-2024, NVIDIA CORPORATION. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +import asyncio +import copy +import logging +import os +import time +import typing +from contextlib import contextmanager +from textwrap import dedent +import re + +import appdirs + +from cyber_dev_day.llm_service import LLMClient +from cyber_dev_day.llm_service import LLMService +from cyber_dev_day.openai_chat_service import OpenAIChatService, OpenAIChatClient + +logger = logging.getLogger(__name__) + +IMPORT_EXCEPTION = None +IMPORT_ERROR_MESSAGE = ("OpenAIChatService & OpenAIChatClient require the openai package to be installed. " + "Install it by running the following command:\n" + "`conda env update --solver=libmamba -n morpheus " + "--file conda/environments/dev_cuda-121_arch-x86_64.yaml --prune`") + +try: + import openai + import openai.types.chat + import openai.types.chat.chat_completion +except ImportError as import_exc: + IMPORT_EXCEPTION = import_exc + + +class NIMChatClient(OpenAIChatClient): + """ + Client for interacting with a specific NVIDIA Inference Microservice chat model. This class should be constructed with the + `NIMLLMService.get_client` method. + + Parameters + ---------- + model_name : str + The name of the model to interact with. + + base_url: str + The URI at which the NIM can be reached. + + set_assistant: bool, optional default=False + When `True`, a second input field named `assistant` will be used to proide additional context to the model. + + max_retries: int, optional default=10 + The maximum number of retries to attempt when making a request to the OpenAI API. + + model_kwargs : dict[str, typing.Any] + Additional keyword arguments to pass to the model when generating text. + """ + + _prompt_key: str = "prompt" + _assistant_key: str = "assistant" + + def __init__(self, + parent: "NIMChatService", + *, + model_name: str, + base_url: str, + set_assistant: bool = False, + max_retries: int = 10, + **model_kwargs) -> None: + if IMPORT_EXCEPTION is not None: + raise ImportError(IMPORT_ERROR_MESSAGE) from IMPORT_EXCEPTION + + super().__init__( + parent=parent, + model_name=model_name, + set_assistant=set_assistant, + max_retries=max_retries, + **model_kwargs + ) + + self._base_url = base_url + + # Create the client objects for both sync and async + self._client = openai.OpenAI(base_url = self._base_url, max_retries=max_retries) + self._client_async = openai.AsyncOpenAI(base_url = self._base_url, max_retries=max_retries) + + + +class NIMLLMService(OpenAIChatService): + """ + A service for interacting with NIM Chat models, this class should be used to create clients. + """ + + def __init__(self, *, default_model_kwargs: dict = None) -> None: + """ + Creates a service for interacting with OpenAI Chat models, this class should be used to create clients. + + Parameters + ---------- + default_model_kwargs : dict, optional + Default arguments to use when creating a client via the `get_client` function. Any argument specified here + will automatically be used when calling `get_client`. Arguments specified in the `get_client` function will + overwrite default values specified here. This is useful to set model arguments before creating multiple + clients. By default None + + Raises + ------ + ImportError + If the `openai` library is not found in the python environment. + """ + if IMPORT_EXCEPTION is not None: + raise ImportError(IMPORT_ERROR_MESSAGE) from IMPORT_EXCEPTION + + super().__init__() + + self._default_model_kwargs = default_model_kwargs or {} + + + def get_client(self, + *, + model_name: str, + base_url: str, + set_assistant: bool = False, + max_retries: int = 10, + **model_kwargs) -> NIMChatClient: + """ + Returns a client for interacting with a specific model. This method is the preferred way to create a client. + + Parameters + ---------- + model_name : str + The name of the model to create a client for. + + base_url: str + The URI at which the NIM can be reached. + + set_assistant: bool, optional default=False + When `True`, a second input field named `assistant` will be used to proide additional context to the model. + + max_retries: int, optional default=10 + The maximum number of retries to attempt when making a request to the OpenAI API. + + model_kwargs : dict[str, typing.Any] + Additional keyword arguments to pass to the model when generating text. Arguments specified here will + overwrite the `default_model_kwargs` set in the service constructor + """ + + final_model_kwargs = {**self._default_model_kwargs, **model_kwargs} + + return NIMChatClient(self, + model_name=model_name, + base_url=base_url, + set_assistant=set_assistant, + max_retries=max_retries, + **final_model_kwargs) \ No newline at end of file diff --git a/experimental/event-driven-rag-cve-analysis/cyber_dev_day/openai_chat_service.py b/experimental/event-driven-rag-cve-analysis/cyber_dev_day/openai_chat_service.py new file mode 100644 index 000000000..376a67462 --- /dev/null +++ b/experimental/event-driven-rag-cve-analysis/cyber_dev_day/openai_chat_service.py @@ -0,0 +1,397 @@ +# Copyright (c) 2023-2024, NVIDIA CORPORATION. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +import asyncio +import copy +import logging +import os +import time +import typing +from contextlib import contextmanager +from textwrap import dedent + +import appdirs + +from cyber_dev_day.llm_service import LLMClient +from cyber_dev_day.llm_service import LLMService + +logger = logging.getLogger(__name__) + +IMPORT_EXCEPTION = None +IMPORT_ERROR_MESSAGE = ("OpenAIChatService & OpenAIChatClient require the openai package to be installed. " + "Install it by running the following command:\n" + "`conda env update --solver=libmamba -n morpheus " + "--file conda/environments/dev_cuda-121_arch-x86_64.yaml --prune`") + +try: + import openai + import openai.types.chat + import openai.types.chat.chat_completion +except ImportError as import_exc: + IMPORT_EXCEPTION = import_exc + + +class _ApiLogger: + """ + Simple class that allows passing back and forth the inputs and outputs of an API call via a context manager. + """ + + log_template: typing.ClassVar[str] = dedent(""" + ============= MESSAGE %d START ============== + --- Input --- + %s + --- Output --- (%f ms) + %s + ============= MESSAGE %d END ============== + """).strip("\n") + + def __init__(self, *, message_id: int, inputs: typing.Any) -> None: + + self.message_id = message_id + self.inputs = inputs + self.outputs = None + + def set_output(self, output: typing.Any) -> None: + self.outputs = output + + +class OpenAIChatClient(LLMClient): + """ + Client for interacting with a specific OpenAI chat model. This class should be constructed with the + `OpenAIChatService.get_client` method. + + Parameters + ---------- + model_name : str + The name of the model to interact with. + + set_assistant: bool, optional default=False + When `True`, a second input field named `assistant` will be used to proide additional context to the model. + + max_retries: int, optional default=10 + The maximum number of retries to attempt when making a request to the OpenAI API. + + model_kwargs : dict[str, typing.Any] + Additional keyword arguments to pass to the model when generating text. + """ + + _prompt_key: str = "prompt" + _assistant_key: str = "assistant" + + def __init__(self, + parent: "OpenAIChatService", + *, + model_name: str, + set_assistant: bool = False, + max_retries: int = 10, + **model_kwargs) -> None: + if IMPORT_EXCEPTION is not None: + raise ImportError(IMPORT_ERROR_MESSAGE) from IMPORT_EXCEPTION + + super().__init__() + + assert parent is not None, "Parent service cannot be None." + + self._parent = parent + + self._model_name = model_name + self._set_assistant = set_assistant + self._prompt_key = "prompt" + self._assistant_key = "assistant" + + # Preserve original configuration. + self._model_kwargs = copy.deepcopy(model_kwargs) + + # Create the client objects for both sync and async + self._client = openai.OpenAI(max_retries=max_retries) + self._client_async = openai.AsyncOpenAI(max_retries=max_retries) + + def get_input_names(self) -> list[str]: + input_names = [self._prompt_key] + if self._set_assistant: + input_names.append(self._assistant_key) + + return input_names + + @contextmanager + def _api_logger(self, inputs: typing.Any): + + message_id = self._parent._get_message_id() + start_time = time.time() + + api_logger = _ApiLogger(message_id=message_id, inputs=inputs) + + yield api_logger + + end_time = time.time() + duration_ms = (end_time - start_time) * 1000.0 + + self._parent._logger.info(_ApiLogger.log_template, + message_id, + api_logger.inputs, + duration_ms, + api_logger.outputs, + message_id) + + def _create_messages(self, + prompt: str, + assistant: str = None) -> list["openai.types.chat.ChatCompletionMessageParam"]: + messages: list[openai.types.chat.ChatCompletionMessageParam] = [{"role": "user", "content": prompt}] + + if (self._set_assistant and assistant is not None): + messages.append({"role": "assistant", "content": assistant}) + + return messages + + def _extract_completion(self, completion: "openai.types.chat.chat_completion.ChatCompletion") -> str: + choices = completion.choices + if len(choices) == 0: + raise ValueError("No choices were returned from the model.") + + content = choices[0].message.content + if content is None: + raise ValueError("No content was returned from the model.") + + return content + + @typing.overload + def _generate(self, + prompt: str, + assistant: str = None, + return_exceptions: typing.Literal[True] = True) -> str | BaseException: + ... + + @typing.overload + def _generate(self, prompt: str, assistant: str = None, return_exceptions: typing.Literal[False] = False) -> str: + ... + + def _generate(self, prompt: str, assistant: str = None, return_exceptions: bool = False): + + try: + messages = self._create_messages(prompt, assistant) + + output: openai.types.chat.chat_completion.ChatCompletion = self._client.chat.completions.create( + model=self._model_name, messages=messages, **self._model_kwargs) + + return self._extract_completion(output) + except BaseException as e: + + if return_exceptions: + return e + + raise + + def generate(self, **input_dict) -> str: + """ + Issue a request to generate a response based on a given prompt. + + Parameters + ---------- + input_dict : dict + Input containing prompt data. + """ + return self._generate(input_dict[self._prompt_key], + input_dict.get(self._assistant_key), + return_exceptions=False) + + async def _generate_async(self, prompt: str, assistant: str = None) -> str: + + messages = self._create_messages(prompt, assistant) + + with self._api_logger(inputs=messages) as msg_logger: + + try: + output = await self._client_async.chat.completions.create(model=self._model_name, + messages=messages, + **self._model_kwargs) + except Exception as exc: + self._parent._logger.error("Error generating completion: %s", exc) + raise + + msg_logger.set_output(output) + + return self._extract_completion(output) + + async def generate_async(self, **input_dict) -> str: + """ + Issue an asynchronous request to generate a response based on a given prompt. + + Parameters + ---------- + input_dict : dict + Input containing prompt data. + """ + return await self._generate_async(input_dict[self._prompt_key], input_dict.get(self._assistant_key)) + + @typing.overload + def generate_batch(self, + inputs: dict[str, list], + return_exceptions: typing.Literal[True] = True, **kwargs) -> list[str | BaseException]: + ... + + @typing.overload + def generate_batch(self, inputs: dict[str, list], return_exceptions: typing.Literal[False] = False, **kwargs) -> list[str]: + ... + + def generate_batch(self, inputs: dict[str, list], return_exceptions=False, **kwargs) -> list[str] | list[str | BaseException]: + """ + Issue a request to generate a list of responses based on a list of prompts. + + Parameters + ---------- + inputs : dict + Inputs containing prompt data. + return_exceptions : bool + Whether to return exceptions in the output list or raise them immediately. + """ + prompts = inputs[self._prompt_key] + assistants = None + if (self._set_assistant): + assistants = inputs[self._assistant_key] + if len(prompts) != len(assistants): + raise ValueError("The number of prompts and assistants must be equal.") + + results = [] + for (i, prompt) in enumerate(prompts): + assistant = assistants[i] if assistants is not None else None + if (return_exceptions): + results.append(self._generate(prompt, assistant, return_exceptions=True, **kwargs)) + else: + results.append(self._generate(prompt, assistant, return_exceptions=False, **kwargs)) + + return results + + @typing.overload + async def generate_batch_async(self, + inputs: dict[str, list], + return_exceptions: typing.Literal[True] = True, **kwargs) -> list[str | BaseException]: + ... + + @typing.overload + async def generate_batch_async(self, + inputs: dict[str, list], + return_exceptions: typing.Literal[False] = False, **kwargs) -> list[str]: + ... + + async def generate_batch_async(self, + inputs: dict[str, list], + return_exceptions=False, **kwargs) -> list[str] | list[str | BaseException]: + """ + Issue an asynchronous request to generate a list of responses based on a list of prompts. + + Parameters + ---------- + inputs : dict + Inputs containing prompt data. + return_exceptions : bool + Whether to return exceptions in the output list or raise them immediately. + """ + prompts = inputs[self._prompt_key] + assistants = None + if (self._set_assistant): + assistants = inputs[self._assistant_key] + if len(prompts) != len(assistants): + raise ValueError("The number of prompts and assistants must be equal.") + + coros = [] + for (i, prompt) in enumerate(prompts): + assistant = assistants[i] if assistants is not None else None + coros.append(self._generate_async(prompt, assistant, **kwargs)) + + return await asyncio.gather(*coros, return_exceptions=return_exceptions, **kwargs) + + +class OpenAIChatService(LLMService): + """ + A service for interacting with OpenAI Chat models, this class should be used to create clients. + """ + + def __init__(self, *, default_model_kwargs: dict = None) -> None: + """ + Creates a service for interacting with OpenAI Chat models, this class should be used to create clients. + + Parameters + ---------- + default_model_kwargs : dict, optional + Default arguments to use when creating a client via the `get_client` function. Any argument specified here + will automatically be used when calling `get_client`. Arguments specified in the `get_client` function will + overwrite default values specified here. This is useful to set model arguments before creating multiple + clients. By default None + + Raises + ------ + ImportError + If the `openai` library is not found in the python environment. + """ + if IMPORT_EXCEPTION is not None: + raise ImportError(IMPORT_ERROR_MESSAGE) from IMPORT_EXCEPTION + + super().__init__() + + self._default_model_kwargs = default_model_kwargs or {} + + self._logger = logging.getLogger(f"{__package__}.{OpenAIChatService.__name__}") + + # Dont propagate up to the default logger. Just log to file + self._logger.propagate = False + + log_file = os.path.join(appdirs.user_log_dir(appauthor="NVIDIA", appname="morpheus"), "openai.log") + + # Add a file handler + file_handler = logging.FileHandler(log_file) + + self._logger.addHandler(file_handler) + self._logger.setLevel(logging.INFO) + + self._logger.info("OpenAI Chat Service started.") + + self._message_count = 0 + + def _get_message_id(self): + + self._message_count += 1 + + return self._message_count + + def get_client(self, + *, + model_name: str, + set_assistant: bool = False, + max_retries: int = 10, + **model_kwargs) -> OpenAIChatClient: + """ + Returns a client for interacting with a specific model. This method is the preferred way to create a client. + + Parameters + ---------- + model_name : str + The name of the model to create a client for. + + set_assistant: bool, optional default=False + When `True`, a second input field named `assistant` will be used to proide additional context to the model. + + max_retries: int, optional default=10 + The maximum number of retries to attempt when making a request to the OpenAI API. + + model_kwargs : dict[str, typing.Any] + Additional keyword arguments to pass to the model when generating text. Arguments specified here will + overwrite the `default_model_kwargs` set in the service constructor + """ + + final_model_kwargs = {**self._default_model_kwargs, **model_kwargs} + + return OpenAIChatClient(self, + model_name=model_name, + set_assistant=set_assistant, + max_retries=max_retries, + **final_model_kwargs) diff --git a/experimental/event-driven-rag-cve-analysis/cyber_dev_day/pipeline.py b/experimental/event-driven-rag-cve-analysis/cyber_dev_day/pipeline.py new file mode 100644 index 000000000..38d71ac82 --- /dev/null +++ b/experimental/event-driven-rag-cve-analysis/cyber_dev_day/pipeline.py @@ -0,0 +1,137 @@ +# Copyright (c) 2023-2024, NVIDIA CORPORATION. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import logging +import time + +import cudf + +from morpheus.config import Config +from morpheus.config import PipelineModes +from morpheus.messages import ControlMessage +from morpheus.pipeline.linear_pipeline import LinearPipeline +from morpheus.stages.input.in_memory_source_stage import InMemorySourceStage +from morpheus.stages.llm.llm_engine_stage import LLMEngineStage +from morpheus.stages.output.in_memory_sink_stage import InMemorySinkStage +from morpheus.stages.preprocess.deserialize_stage import DeserializeStage +from morpheus.utils.concat_df import concat_dataframes + +from .config import EngineAgentConfig +from .config import EngineChecklistConfig +from .config import EngineCodeRepoConfig +from .config import EngineConfig +from .config import EngineSBOMConfig +from .config import NeMoLLMModelConfig +from .config import NeMoLLMServiceConfig +from .config import NVFoundationLLMModelConfig +from .config import NVFoundationLLMServiceConfig +from .pipeline_utils import build_cve_llm_engine + +logger = logging.getLogger(__name__) + + +def pipeline( + num_threads: int, + pipeline_batch_size, + model_max_batch_size, + model_name, + repeat_count, +) -> float: + + nemo_service_config = NeMoLLMServiceConfig() + nvfoundation_service_config = NVFoundationLLMServiceConfig() + + engine_config = EngineConfig( + checklist=EngineChecklistConfig(model=NeMoLLMModelConfig(service=nemo_service_config, + model_name="gpt-43b-002"), ), + agent=EngineAgentConfig( + model=NVFoundationLLMModelConfig(service=nvfoundation_service_config, model_name="mixtral_8x7b"), + sbom=EngineSBOMConfig(data_file=""), + code_repo=EngineCodeRepoConfig( + faiss_dir="/home/mdemoret/Repos/morpheus/morpheus-dev2/.tmp/Sherlock/NSPECT-V1TL-NPZI_code_faiss", + embedding_model_name="Xenova/text-embedding-ada-002"), + ), + ) + + engine_config = EngineConfig.model_validate({ + 'checklist': { + 'model': { + 'service': { + 'type': 'nemo', 'api_key': None, 'org_id': None + }, + 'model_name': 'gpt-43b-002', + 'customization_id': None, + 'temperature': 0.0, + 'tokens_to_generate': 300 + } + }, + 'agent': { + 'model': { + 'service': { + 'type': 'nvfoundation', 'api_key': None + }, 'model_name': 'mixtral_8x7b', 'temperature': 0.0 + }, + 'sbom': { + 'data_file': '' + }, + 'code_repo': { + 'faiss_dir': '/home/mdemoret/Repos/morpheus/morpheus-dev2/.tmp/Sherlock/NSPECT-V1TL-NPZI_code_faiss', + 'embedding_model_name': 'Xenova/text-embedding-ada-002' + } + } + }) + + logger.info("Using Engine Config: %s", engine_config.model_dump_json(indent=2)) + + config = Config() + config.mode = PipelineModes.OTHER + + # Below properties are specified by the command line + config.num_threads = num_threads + config.pipeline_batch_size = pipeline_batch_size + config.model_max_batch_size = model_max_batch_size + config.mode = PipelineModes.NLP + config.edge_buffer_size = 128 + + source_dfs = [ + cudf.DataFrame({ + "cve_info": [ + "An issue was discovered in the Linux kernel through 6.0.9. drivers/media/dvb-core/dvbdev.c has a use-after-free, related to dvb_register_device dynamically allocating fops." + ] + }) + ] + + completion_task = {"task_type": "completion", "task_dict": {"input_keys": ["cve_info"], }} + + pipe = LinearPipeline(config) + + pipe.set_source(InMemorySourceStage(config, dataframes=source_dfs, repeat=repeat_count)) + + pipe.add_stage( + DeserializeStage(config, message_type=ControlMessage, task_type="llm_engine", task_payload=completion_task)) + + pipe.add_stage(LLMEngineStage(config, engine=build_cve_llm_engine(engine_config))) + + sink = pipe.add_stage(InMemorySinkStage(config)) + + start_time = time.time() + + pipe.run() + + messages = sink.get_messages() + responses = concat_dataframes(messages) + + logger.info("Pipeline complete. Received %s responses:\n%s", len(messages), responses['response']) + + return start_time diff --git a/experimental/event-driven-rag-cve-analysis/cyber_dev_day/pipeline_utils.py b/experimental/event-driven-rag-cve-analysis/cyber_dev_day/pipeline_utils.py new file mode 100644 index 000000000..660d4e618 --- /dev/null +++ b/experimental/event-driven-rag-cve-analysis/cyber_dev_day/pipeline_utils.py @@ -0,0 +1,262 @@ +# Copyright (c) 2024, NVIDIA CORPORATION. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import logging + +from langchain.agents import AgentType +from langchain.agents import Tool +from langchain.agents import initialize_agent +from langchain.agents.agent import AgentExecutor +from langchain.chains import RetrievalQA +from langchain.embeddings.huggingface import HuggingFaceEmbeddings +from langchain.vectorstores.faiss import FAISS + +from morpheus.llm import LLMEngine +from morpheus.llm.nodes.extracter_node import ExtracterNode +from morpheus.llm.nodes.langchain_agent_node import LangChainAgentNode +from cyber_dev_day.llm_service import LLMService +from cyber_dev_day.langchain_llm_client_wrapper import LangchainLLMClientWrapper +from morpheus.llm.task_handlers.simple_task_handler import SimpleTaskHandler + +from .checklist_node import CVEChecklistNode +from .config import EngineAgentConfig +from .config import EngineConfig +from .tools import SBOMChecker + +logger = logging.getLogger(__name__) + + +def build_agent_executor(config: EngineAgentConfig, handle_parsing_errors=False) -> AgentExecutor: + llm_service = LLMService.create(config.model.service.type, **config.model.service.model_dump(exclude={"type"})) + + llm_client = llm_service.get_client(**config.model.model_dump(exclude={"service"})) + + # Wrap the Morpheus client in a LangChain compatible wrapper + langchain_llm = LangchainLLMClientWrapper(client=llm_client) + + # tools = load_tools(["serpapi", "llm-math"], llm=llm) + tools: list[Tool] = [] + + if (config.sbom.data_file is not None): + # Load the SBOM + sbom_checker = SBOMChecker.from_csv(config.sbom.data_file) + + tools.append( + Tool(name="SBOM Package Checker", + func=sbom_checker.sbom_checker, + description=("useful for when you need to check the Docker container's software bill of " + "materials (SBOM) to get whether or not a given library is in the container. " + "Input should be the name of the library or software, and no text following it until a response is returned. " + "If the package is " + "present a version number is returned, otherwise False is returned if the " + "package is not present."))) + + if (config.code_repo.faiss_dir is not None): + embeddings = HuggingFaceEmbeddings(model_name=config.code_repo.embedding_model_name, + model_kwargs={'device': 'cuda'}, + encode_kwargs={'normalize_embeddings': False}) + + # load code vector DB + code_vector_db = FAISS.load_local(folder_path=config.code_repo.faiss_dir, + embeddings=embeddings, + allow_dangerous_deserialization=True) + code_qa_tool = RetrievalQA.from_chain_type(llm=langchain_llm, + chain_type="stuff", + retriever=code_vector_db.as_retriever()) + tools.append( + Tool(name="Docker Container Code QA System", + func=code_qa_tool.run, + description=("useful for when you need to review code to check for an import or function usage in " + "the Docker container. Input should be a question or the actual code. "))) + + sys_prompt = ("You are a very powerful assistant who helps investigate Docker containers " + " given a checklist of investigation items. Your role is to walk through a provided checklist and answer each item in the checklist. " + " Do not investigate additional information per checklist item, just answer the checklist. " + " Information about the Docker container under investigation is stored in vector databases available to you via tools. ") + + if handle_parsing_errors: + agent_executor = initialize_agent(tools, + langchain_llm, + agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, + verbose=config.verbose, + handle_parsing_errors="Check your output. Make sure you're using the right Action/Action input syntax.") + else: + agent_executor = initialize_agent(tools, + langchain_llm, + agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, + verbose=config.verbose) + + agent_executor.agent.llm_chain.prompt.template = ( + sys_prompt + ' ' + agent_executor.agent.llm_chain.prompt.template.replace( + "Answer the following questions as best you can.", + ("If the input is not a question, formulate it into a question first. " + "Include intermediate thought in the final answer.")).replace( + "Use the following format:", + ("Use the following format (start each response with one of the following prefixes): " + "[Question, Thought, Action, Action Input, Final Answer]). " + "If you are making an action, wait for a response to the action input before making an observation. Every response must contain at least one action (and thoughts and observations if you have them), but you cannot have both a final answer and an action in a response. Action input must only contain the exact input, do not provide any text following that in your response. Always end your response with either an action, or a final answer."))) + + return agent_executor + + +def build_cve_llm_engine(config: EngineConfig, handle_parsing_errors=True) -> LLMEngine: + engine = LLMEngine() + + engine.add_node("extracter", node=ExtracterNode()) + + engine.add_node("checklist", inputs=["/extracter"], node=CVEChecklistNode(config=config.checklist)) + + engine.add_node("agent", + inputs=[("/checklist")], + node=LangChainAgentNode(agent_executor=build_agent_executor(config=config.agent, + handle_parsing_errors=handle_parsing_errors))) + + engine.add_task_handler( + inputs=[("/checklist", "checklist"), ("/agent", "response")], + handler=SimpleTaskHandler(output_columns=["checklist", "response"]), + ) + + return engine + + +# Copyright (c) 2024, NVIDIA CORPORATION. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import logging + +from langchain.agents import AgentType +from langchain.agents import Tool +from langchain.agents import initialize_agent +from langchain.agents.agent import AgentExecutor +from langchain.chains import RetrievalQA +from langchain.embeddings.huggingface import HuggingFaceEmbeddings +from langchain.vectorstores.faiss import FAISS + +from morpheus.llm import LLMEngine +from morpheus.llm.nodes.extracter_node import ExtracterNode +from morpheus.llm.nodes.langchain_agent_node import LangChainAgentNode +from cyber_dev_day.llm_service import LLMService +from cyber_dev_day.langchain_llm_client_wrapper import LangchainLLMClientWrapper +from morpheus.llm.task_handlers.simple_task_handler import SimpleTaskHandler + +from .checklist_node import CVEChecklistNode +from .config import EngineAgentConfig +from .config import EngineConfig +from .tools import SBOMChecker + +logger = logging.getLogger(__name__) + + +def build_agent_executor(config: EngineAgentConfig, handle_parsing_errors=False) -> AgentExecutor: + llm_service = LLMService.create(config.model.service.type, **config.model.service.model_dump(exclude={"type"})) + + llm_client = llm_service.get_client(**config.model.model_dump(exclude={"service"})) + + # Wrap the Morpheus client in a LangChain compatible wrapper + langchain_llm = LangchainLLMClientWrapper(client=llm_client) + + # tools = load_tools(["serpapi", "llm-math"], llm=llm) + tools: list[Tool] = [] + + if (config.sbom.data_file is not None): + # Load the SBOM + sbom_checker = SBOMChecker.from_csv(config.sbom.data_file) + + tools.append( + Tool(name="SBOM Package Checker", + func=sbom_checker.sbom_checker, + description=("useful for when you need to check the Docker container's software bill of " + "materials (SBOM) to get whether or not a given library is in the container. " + "Input should be the name of the library or software, and no text following it until a response is returned. " + "If the package is " + "present a version number is returned, otherwise False is returned if the " + "package is not present."))) + + if (config.code_repo.faiss_dir is not None): + embeddings = HuggingFaceEmbeddings(model_name=config.code_repo.embedding_model_name, + model_kwargs={'device': 'cuda'}, + encode_kwargs={'normalize_embeddings': False}) + + # load code vector DB + code_vector_db = FAISS.load_local(folder_path=config.code_repo.faiss_dir, + embeddings=embeddings, + allow_dangerous_deserialization=True) + code_qa_tool = RetrievalQA.from_chain_type(llm=langchain_llm, + chain_type="stuff", + retriever=code_vector_db.as_retriever()) + tools.append( + Tool(name="Docker Container Code QA System", + func=code_qa_tool.run, + description=("useful for when you need to review code to check for an import or function usage in " + "the Docker container. Input should be a question or the actual code. "))) + + sys_prompt = ("You are a very powerful assistant who helps investigate Docker containers " + " given a checklist of investigation items. Your role is to walk through a provided checklist and answer each item in the checklist. " + " Do not investigate additional information per checklist item, just answer the checklist. " + " Information about the Docker container under investigation is stored in vector databases available to you via tools. ") + + if handle_parsing_errors: + agent_executor = initialize_agent(tools, + langchain_llm, + agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, + verbose=config.verbose, + handle_parsing_errors="Check your output. Make sure you're using the right Action/Action input syntax.") + else: + agent_executor = initialize_agent(tools, + langchain_llm, + agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, + verbose=config.verbose) + + agent_executor.agent.llm_chain.prompt.template = ( + sys_prompt + ' ' + agent_executor.agent.llm_chain.prompt.template.replace( + "Answer the following questions as best you can.", + ("If the input is not a question, formulate it into a question first. " + "Include intermediate thought in the final answer.")).replace( + "Use the following format:", + ("Use the following format (start each response with one of the following prefixes): " + "[Question, Thought, Action, Action Input, Final Answer]). " + "If you are making an action, wait for a response to the action input before making an observation. Every response must contain at least one action (and thoughts and observations if you have them), but you cannot have both a final answer and an action in a response. Action input must only contain the exact input, do not provide any text following that in your response. Always end your response with either an action, or a final answer."))) + + return agent_executor + + +def build_cve_llm_engine(config: EngineConfig, handle_parsing_errors=True) -> LLMEngine: + engine = LLMEngine() + + engine.add_node("extracter", node=ExtracterNode()) + + engine.add_node("checklist", inputs=["/extracter"], node=CVEChecklistNode(config=config.checklist)) + + engine.add_node("agent", + inputs=[("/checklist")], + node=LangChainAgentNode(agent_executor=build_agent_executor(config=config.agent, + handle_parsing_errors=handle_parsing_errors))) + + engine.add_task_handler( + inputs=[("/checklist", "checklist"), ("/agent", "response")], + handler=SimpleTaskHandler(output_columns=["checklist", "response"]), + ) + + return engine diff --git a/experimental/event-driven-rag-cve-analysis/cyber_dev_day/tools.py b/experimental/event-driven-rag-cve-analysis/cyber_dev_day/tools.py new file mode 100644 index 000000000..f12442272 --- /dev/null +++ b/experimental/event-driven-rag-cve-analysis/cyber_dev_day/tools.py @@ -0,0 +1,191 @@ +# Copyright (c) 2023, NVIDIA CORPORATION. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import logging +import warnings +from textwrap import dedent + +from packaging.version import InvalidVersion +from packaging.version import parse as parse_version + +logger = logging.getLogger(__name__) + + +def range_version_comparator(software_version: str, vulnerability_lower_range: str, vulnerability_upper_range: str): + """ + Compare a software's version to a range of vulnerable versions to determine vulnerability. + + Parameters + ---------- + software_version : str + The version of the software currently in use. + vulnerability_lower_range : str + The lower bound of the vulnerable version range. + vulnerability_upper_range : str + The upper bound of the vulnerable version range. + + Returns + ------- + bool + Returns True if the software version is within the range of vulnerable versions, + indicating potential vulnerability. + + Raises + ------ + InvalidVersion + If the version strings are not in a valid format, a warning is issued and alphabetic + comparison is used instead. + + Notes + ----- + This function assumes that the software is vulnerable if its version falls inclusively + between the lower and upper bounds of the vulnerability range. It uses the `parse_version` + function to interpret the versions and compares them accordingly. If `parse_version` fails, + Debian version parsing is attempted. Finally, if both of these fail, it falls + back to a simple string comparison. + """ + try: + sv = parse_version(str(software_version)) + lvv = parse_version(str(vulnerability_lower_range)) + uvv = parse_version(str(vulnerability_upper_range)) + return sv <= uvv and sv >= lvv + except InvalidVersion: + #Failed PEP440 versioning; moving on to Debian + pass + + try: + return Dpkg.compare_versions(str(software_version), + str(vulnerability_lower_range)) != -1 and Dpkg.compare_versions( + str(software_version), str(vulnerability_upper_range)) != 1 + except DpkgVersionError: + warnings.warn('Unable to parse provided versions. Using alpha sorting.', stacklevel=2) + # Fallback to alphabetic comparison if version parsing fails + return str(software_version) <= str(vulnerability_upper_range) and str(software_version) >= str( + vulnerability_lower_range) + + +def single_version_comparator(software_version: str, vulnerability_version: str): + """ + Compare a software's version to a known vulnerable version. + + Parameters + ---------- + software_version : str + The version of the software currently in use. + vulnerability_version : str + The version of the software that is known to be vulnerable. + + Returns + ------- + bool + Returns True if the software version is less than or equal to the vulnerability version, + indicating potential vulnerability. + + Raises + ------ + InvalidVersion + If the version strings are not in a valid format, a warning is issued and alphabetic + comparison is used instead. + """ + try: + sv = parse_version(str(software_version)) + vv = parse_version(str(vulnerability_version)) + return sv <= vv + except InvalidVersion: + #Failed PEP440 versioning; moving on to Debian + pass + try: + return Dpkg.compare_versions(str(software_version), str(vulnerability_version)) != 1 + except DpkgVersionError: + warnings.warn('Unable to parse provided versions. Using alpha sorting.', stacklevel=2) + return str(software_version) <= str(vulnerability_version) + + +def version_comparison(software_version: str): + """ + Compare a software's version to multiple known vulnerable versions. + + Parameters + ---------- + software_version : str + A string containing the software version to compare, and the vulnerable versions, + separated by commas. A single vulnerable version, a vulnerable range (two versions), + or multiple specific vulnerable versions can be provided. + + Returns + ------- + bool or str + Returns True if the software version matches any of the vulnerable versions, + or is within the vulnerable range. Returns a string message if the input doesn't + contain enough information for a comparison. + + Notes + ----- + This function can compare against a single vulnerable version, a range of versions, + or a list of specific versions. It uses the `single_version_comparator` for single comparisons, + and `range_version_comparator` for range comparisons. + """ + v = software_version.split(',') + if len(v) == 2: + return single_version_comparator(v[0], v[1]) + elif len(v) == 3: + return range_version_comparator(v[0], v[1], v[2]) + elif len(v) > 3: + return any([v[0] == v_ for v_ in v[1:]]) + else: + return "Couldn't able compare the software version, not enough input" + + +class SBOMChecker: + + tool_description = dedent(""" + Useful for when you need to check the Docker container's software bill of + materials (SBOM) to get whether or not a given library is in the container. + Input should be the name of the library or software. If the package is + present a version number is returned, otherwise False is returned if the + package is not present. + """).replace("\n", "") + + def __init__(self, sbom_map: dict[str, str]): + + # Convert all keys to lowercase + self.sbom_map = {k.lower().strip(): v for k, v in sbom_map.items()} + + def sbom_checker(self, package_name: str): + "use this tool to check the version of the software package from the SBOM" + "returns the software version if the package is present in the SBOM" + "if the package is not in the SBOM returns False" + + num_substrings = len(package_name.split()) + + if num_substrings > 1: + return f"Could not comple action, try again. Action input must be only the package name. Input should not contain {package_name.split(maxsplit=1)[1:]} or any text after {package_name.split(maxsplit=1)[0]}" + + cleaned_package = package_name.lower().strip() + + return self.sbom_map.get(cleaned_package, f"The package '{cleaned_package}' was not found in the SBOM") + + @staticmethod + def from_csv(file_path: str) -> "SBOMChecker": + """ + Use this tool to load the SBOM from a CSV file returns an instance of the SBOMChecker class + """ + try: + import pandas as pd + sbom = pd.read_csv(file_path) + sbom_map = dict(zip(sbom['package'].str.lower(), sbom['version'])) + return SBOMChecker(sbom_map) + except Exception as e: + logger.error("Error loading SBOM from CSV file: %s. Error: %s", file_path, str(e), exc_info=True) + raise e diff --git a/experimental/event-driven-rag-cve-analysis/data/morpheus_24.03-runtime_sbom.csv b/experimental/event-driven-rag-cve-analysis/data/morpheus_24.03-runtime_sbom.csv new file mode 100644 index 000000000..b9c17f7c0 --- /dev/null +++ b/experimental/event-driven-rag-cve-analysis/data/morpheus_24.03-runtime_sbom.csv @@ -0,0 +1,914 @@ +package,version,license,type,cpes,origin,image_url,platform,created +ca-certificates,20230311ubuntu0.22.04.1,GPL-2 GPL-2+ MPL-2.0,dpkg,"['cpe:2.3:a:ca-certificates:ca-certificates:20230311ubuntu0.22.04.1:*:*:*:*:*:*:*', 'cpe:2.3:a:ca-certificates:ca_certificates:20230311ubuntu0.22.04.1:*:*:*:*:*:*:*', 'cpe:2.3:a:ca_certificates:ca-certificates:20230311ubuntu0.22.04.1:*:*:*:*:*:*:*', 'cpe:2.3:a:ca_certificates:ca_certificates:20230311ubuntu0.22.04.1:*:*:*:*:*:*:*', 'cpe:2.3:a:ca:ca-certificates:20230311ubuntu0.22.04.1:*:*:*:*:*:*:*', 'cpe:2.3:a:ca:ca_certificates:20230311ubuntu0.22.04.1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cpp-11,11.4.0-1ubuntu1~22.04,Artistic GFDL-1.2 GPL GPL-2 GPL-3 LGPL,dpkg,"['cpe:2.3:a:cpp-11:cpp-11:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:cpp-11:cpp_11:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:cpp_11:cpp-11:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:cpp_11:cpp_11:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:cpp:cpp-11:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:cpp:cpp_11:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*']",Ubuntu Core developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +curl,7.81.0-1ubuntu1.15,BSD-3-Clause BSD-4-Clause ISC curl other public-domain,dpkg,['cpe:2.3:a:curl:curl:7.81.0-1ubuntu1.15:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +debianutils,5.5-1ubuntu2,GPL-2,dpkg,['cpe:2.3:a:debianutils:debianutils:5.5-1ubuntu2:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +exceptiongroup,1.2.0,Unknown,PYTHON,"['cpe:2.3:a:python-exceptiongroup:python-exceptiongroup:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-exceptiongroup:python_exceptiongroup:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_exceptiongroup:python-exceptiongroup:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_exceptiongroup:python_exceptiongroup:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:exceptiongroup:python-exceptiongroup:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:exceptiongroup:python_exceptiongroup:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-exceptiongroup:exceptiongroup:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_exceptiongroup:exceptiongroup:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:exceptiongroup:exceptiongroup:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-exceptiongroup:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_exceptiongroup:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:exceptiongroup:1.2.0:*:*:*:*:*:*:*']", >,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +filelock,3.13.1,Unknown,PYTHON,"['cpe:2.3:a:python-filelock:python-filelock:3.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-filelock:python_filelock:3.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_filelock:python-filelock:3.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_filelock:python_filelock:3.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:filelock:python-filelock:3.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:filelock:python_filelock:3.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-filelock:filelock:3.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_filelock:filelock:3.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-filelock:3.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_filelock:3.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:filelock:filelock:3.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:filelock:3.13.1:*:*:*:*:*:*:*']",Unknown,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +sphinxcontrib-jsmath,1.0.1,BSD,PYTHON,"['cpe:2.3:a:python-sphinxcontrib-jsmath:python-sphinxcontrib-jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-sphinxcontrib-jsmath:python_sphinxcontrib_jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_sphinxcontrib_jsmath:python-sphinxcontrib-jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_sphinxcontrib_jsmath:python_sphinxcontrib_jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:georg_brandl_project:python-sphinxcontrib-jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:georg_brandl_project:python_sphinxcontrib_jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-sphinxcontrib-jsmath:sphinxcontrib-jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-sphinxcontrib-jsmath:sphinxcontrib_jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-sphinxcontrib:python-sphinxcontrib-jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-sphinxcontrib:python_sphinxcontrib_jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_sphinxcontrib:python-sphinxcontrib-jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_sphinxcontrib:python_sphinxcontrib_jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_sphinxcontrib_jsmath:sphinxcontrib-jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_sphinxcontrib_jsmath:sphinxcontrib_jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:sphinxcontrib-jsmath:python-sphinxcontrib-jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:sphinxcontrib-jsmath:python_sphinxcontrib_jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:sphinxcontrib_jsmath:python-sphinxcontrib-jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:sphinxcontrib_jsmath:python_sphinxcontrib_jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:georg_brandlproject:python-sphinxcontrib-jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:georg_brandlproject:python_sphinxcontrib_jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:georg_brandl_project:sphinxcontrib-jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:georg_brandl_project:sphinxcontrib_jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:georg_project:python-sphinxcontrib-jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:georg_project:python_sphinxcontrib_jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-sphinxcontrib:sphinxcontrib-jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-sphinxcontrib:sphinxcontrib_jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_sphinxcontrib:sphinxcontrib-jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_sphinxcontrib:sphinxcontrib_jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:sphinxcontrib-jsmath:sphinxcontrib-jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:sphinxcontrib-jsmath:sphinxcontrib_jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:sphinxcontrib:python-sphinxcontrib-jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:sphinxcontrib:python_sphinxcontrib_jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:sphinxcontrib_jsmath:sphinxcontrib-jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:sphinxcontrib_jsmath:sphinxcontrib_jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:georg_brandl:python-sphinxcontrib-jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:georg_brandl:python_sphinxcontrib_jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:georg_brandlproject:sphinxcontrib-jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:georg_brandlproject:sphinxcontrib_jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:georgproject:python-sphinxcontrib-jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:georgproject:python_sphinxcontrib_jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:georg_project:sphinxcontrib-jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:georg_project:sphinxcontrib_jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-sphinxcontrib-jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_sphinxcontrib_jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:sphinxcontrib:sphinxcontrib-jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:sphinxcontrib:sphinxcontrib_jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:georg:python-sphinxcontrib-jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:georg:python_sphinxcontrib_jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:georg_brandl:sphinxcontrib-jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:georg_brandl:sphinxcontrib_jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:georgproject:sphinxcontrib-jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:georgproject:sphinxcontrib_jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:sphinxcontrib-jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:sphinxcontrib_jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:georg:sphinxcontrib-jsmath:1.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:georg:sphinxcontrib_jsmath:1.0.1:*:*:*:*:*:*:*']",Georg Brandl ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +gpg-wks-server,2.2.27-3ubuntu2.1,BSD-3-clause CC0-1.0 Expat GPL-3 GPL-3+ LGPL-2.1 LGPL-2.1+ LGPL-3 LGPL-3+ RFC-Reference TinySCHEME permissive,dpkg,"['cpe:2.3:a:gpg-wks-server:gpg-wks-server:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gpg-wks-server:gpg_wks_server:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gpg_wks_server:gpg-wks-server:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gpg_wks_server:gpg_wks_server:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gpg-wks:gpg-wks-server:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gpg-wks:gpg_wks_server:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gpg_wks:gpg-wks-server:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gpg_wks:gpg_wks_server:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gpg:gpg-wks-server:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gpg:gpg_wks_server:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +gpgv,2.2.27-3ubuntu2.1,BSD-3-clause CC0-1.0 Expat GPL-3 GPL-3+ LGPL-2.1 LGPL-2.1+ LGPL-3 LGPL-3+ RFC-Reference TinySCHEME permissive,dpkg,['cpe:2.3:a:gpgv:gpgv:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +gzip,1.10-4ubuntu4.1,FSF-manpages GFDL-1.3+-no-invariant GFDL-3 GPL-3 GPL-3+,dpkg,['cpe:2.3:a:gzip:gzip:1.10-4ubuntu4.1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +init-system-helpers,1.62,BSD-3-clause GPL-2 GPL-2+,dpkg,"['cpe:2.3:a:init-system-helpers:init-system-helpers:1.62:*:*:*:*:*:*:*', 'cpe:2.3:a:init-system-helpers:init_system_helpers:1.62:*:*:*:*:*:*:*', 'cpe:2.3:a:init_system_helpers:init-system-helpers:1.62:*:*:*:*:*:*:*', 'cpe:2.3:a:init_system_helpers:init_system_helpers:1.62:*:*:*:*:*:*:*', 'cpe:2.3:a:init-system:init-system-helpers:1.62:*:*:*:*:*:*:*', 'cpe:2.3:a:init-system:init_system_helpers:1.62:*:*:*:*:*:*:*', 'cpe:2.3:a:init_system:init-system-helpers:1.62:*:*:*:*:*:*:*', 'cpe:2.3:a:init_system:init_system_helpers:1.62:*:*:*:*:*:*:*', 'cpe:2.3:a:init:init-system-helpers:1.62:*:*:*:*:*:*:*', 'cpe:2.3:a:init:init_system_helpers:1.62:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libmount1,2.37.2-4ubuntu3,BSD-2-clause BSD-3-clause BSD-4-clause GPL-2 GPL-2+ GPL-3 GPL-3+ LGPL LGPL-2 LGPL-2+ LGPL-2.1 LGPL-2.1+ LGPL-3 LGPL-3+ MIT public-domain,dpkg,['cpe:2.3:a:libmount1:libmount1:2.37.2-4ubuntu3:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +GitPython,3.1.40,BSD,PYTHON,"['cpe:2.3:a:sebastian_thiel\\,_michael_trier_project:python-GitPython:3.1.40:*:*:*:*:*:*:*', 'cpe:2.3:a:sebastian_thiel\\,_michael_trier_project:python_GitPython:3.1.40:*:*:*:*:*:*:*', 'cpe:2.3:a:sebastian_thiel\\,_michael_trierproject:python-GitPython:3.1.40:*:*:*:*:*:*:*', 'cpe:2.3:a:sebastian_thiel\\,_michael_trierproject:python_GitPython:3.1.40:*:*:*:*:*:*:*', 'cpe:2.3:a:sebastian_thiel\\,_michael_trier_project:GitPython:3.1.40:*:*:*:*:*:*:*', 'cpe:2.3:a:sebastian_thiel\\,_michael_trier:python-GitPython:3.1.40:*:*:*:*:*:*:*', 'cpe:2.3:a:sebastian_thiel\\,_michael_trier:python_GitPython:3.1.40:*:*:*:*:*:*:*', 'cpe:2.3:a:sebastian_thiel\\,_michael_trierproject:GitPython:3.1.40:*:*:*:*:*:*:*', 'cpe:2.3:a:sebastian_thiel\\,_michael_trier:GitPython:3.1.40:*:*:*:*:*:*:*', 'cpe:2.3:a:byronimo_project:python-GitPython:3.1.40:*:*:*:*:*:*:*', 'cpe:2.3:a:byronimo_project:python_GitPython:3.1.40:*:*:*:*:*:*:*', 'cpe:2.3:a:python-GitPython:python-GitPython:3.1.40:*:*:*:*:*:*:*', 'cpe:2.3:a:python-GitPython:python_GitPython:3.1.40:*:*:*:*:*:*:*', 'cpe:2.3:a:python_GitPython:python-GitPython:3.1.40:*:*:*:*:*:*:*', 'cpe:2.3:a:python_GitPython:python_GitPython:3.1.40:*:*:*:*:*:*:*', 'cpe:2.3:a:byronimoproject:python-GitPython:3.1.40:*:*:*:*:*:*:*', 'cpe:2.3:a:byronimoproject:python_GitPython:3.1.40:*:*:*:*:*:*:*', 'cpe:2.3:a:GitPython:python-GitPython:3.1.40:*:*:*:*:*:*:*', 'cpe:2.3:a:GitPython:python_GitPython:3.1.40:*:*:*:*:*:*:*', 'cpe:2.3:a:byronimo_project:GitPython:3.1.40:*:*:*:*:*:*:*', 'cpe:2.3:a:python-GitPython:GitPython:3.1.40:*:*:*:*:*:*:*', 'cpe:2.3:a:python_GitPython:GitPython:3.1.40:*:*:*:*:*:*:*', 'cpe:2.3:a:byronimo:python-GitPython:3.1.40:*:*:*:*:*:*:*', 'cpe:2.3:a:byronimo:python_GitPython:3.1.40:*:*:*:*:*:*:*', 'cpe:2.3:a:byronimoproject:GitPython:3.1.40:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-GitPython:3.1.40:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_GitPython:3.1.40:*:*:*:*:*:*:*', 'cpe:2.3:a:GitPython:GitPython:3.1.40:*:*:*:*:*:*:*', 'cpe:2.3:a:byronimo:GitPython:3.1.40:*:*:*:*:*:*:*', 'cpe:2.3:a:python:GitPython:3.1.40:*:*:*:*:*:*:*']","Sebastian Thiel, Michael Trier ",nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libncurses6,6.3-2ubuntu0.1,BSD-3-clause MIT/X11 X11,dpkg,['cpe:2.3:a:libncurses6:libncurses6:6.3-2ubuntu0.1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libnpth0,1.6-3build2,LGPL-2.1 LGPL-2.1+,dpkg,['cpe:2.3:a:libnpth0:libnpth0:1.6-3build2:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +gnupg2,2.2.27-3ubuntu2.1,BSD-3-clause CC0-1.0 Expat GPL-3 GPL-3+ LGPL-2.1 LGPL-2.1+ LGPL-3 LGPL-3+ RFC-Reference TinySCHEME permissive,dpkg,['cpe:2.3:a:gnupg2:gnupg2:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +gpg-wks-client,2.2.27-3ubuntu2.1,BSD-3-clause CC0-1.0 Expat GPL-3 GPL-3+ LGPL-2.1 LGPL-2.1+ LGPL-3 LGPL-3+ RFC-Reference TinySCHEME permissive,dpkg,"['cpe:2.3:a:gpg-wks-client:gpg-wks-client:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gpg-wks-client:gpg_wks_client:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gpg_wks_client:gpg-wks-client:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gpg_wks_client:gpg_wks_client:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gpg-wks:gpg-wks-client:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gpg-wks:gpg_wks_client:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gpg_wks:gpg-wks-client:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gpg_wks:gpg_wks_client:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gpg:gpg-wks-client:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gpg:gpg_wks_client:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +filelock,3.13.1,Unknown,PYTHON,"['cpe:2.3:a:python-filelock:python-filelock:3.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-filelock:python_filelock:3.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_filelock:python-filelock:3.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_filelock:python_filelock:3.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:filelock:python-filelock:3.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:filelock:python_filelock:3.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-filelock:filelock:3.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_filelock:filelock:3.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-filelock:3.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_filelock:3.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:filelock:filelock:3.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:filelock:3.13.1:*:*:*:*:*:*:*']",Unknown,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +prometheus-client,0.19.0,Apache Software License 2.0,PYTHON,"['cpe:2.3:a:python-prometheus-client:python-prometheus-client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-prometheus-client:python_prometheus_client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_prometheus_client:python-prometheus-client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_prometheus_client:python_prometheus_client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:brian_brazil_project:python-prometheus-client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:brian_brazil_project:python_prometheus_client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:brian_brazilproject:python-prometheus-client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:brian_brazilproject:python_prometheus_client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus-client:python-prometheus-client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus-client:python_prometheus_client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus_client:python-prometheus-client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus_client:python_prometheus_client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-prometheus-client:prometheus-client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-prometheus-client:prometheus_client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-prometheus:python-prometheus-client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-prometheus:python_prometheus_client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_prometheus:python-prometheus-client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_prometheus:python_prometheus_client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_prometheus_client:prometheus-client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_prometheus_client:prometheus_client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:brian_brazil_project:prometheus-client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:brian_brazil_project:prometheus_client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:brian-brazil:python-prometheus-client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:brian-brazil:python_prometheus_client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:brian_brazil:python-prometheus-client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:brian_brazil:python_prometheus_client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:brian_brazilproject:prometheus-client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:brian_brazilproject:prometheus_client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus-client:prometheus-client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus-client:prometheus_client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus:python-prometheus-client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus:python_prometheus_client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus_client:prometheus-client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus_client:prometheus_client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-prometheus:prometheus-client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-prometheus:prometheus_client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_prometheus:prometheus-client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_prometheus:prometheus_client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-prometheus-client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_prometheus_client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:brian-brazil:prometheus-client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:brian-brazil:prometheus_client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:brian_brazil:prometheus-client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:brian_brazil:prometheus_client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus:prometheus-client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus:prometheus_client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:prometheus-client:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:prometheus_client:0.19.0:*:*:*:*:*:*:*']",Brian Brazil ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libcc1-0,12.3.0-1ubuntu1~22.04,Artistic GFDL-1.2 GPL GPL-2 GPL-3 LGPL,dpkg,"['cpe:2.3:a:libcc1-0:libcc1-0:12.3.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:libcc1-0:libcc1_0:12.3.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:libcc1_0:libcc1-0:12.3.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:libcc1_0:libcc1_0:12.3.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:libcc1:libcc1-0:12.3.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:libcc1:libcc1_0:12.3.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*']",Ubuntu Core developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +gcc,4:11.2.0-1ubuntu1,GPL-2,dpkg,['cpe:2.3:a:gcc:gcc:4\\:11.2.0-1ubuntu1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +gcc-11-base,11.4.0-1ubuntu1~22.04,Artistic GFDL-1.2 GPL GPL-2 GPL-3 LGPL,dpkg,"['cpe:2.3:a:gcc-11-base:gcc-11-base:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:gcc-11-base:gcc_11_base:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:gcc_11_base:gcc-11-base:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:gcc_11_base:gcc_11_base:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:gcc-11:gcc-11-base:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:gcc-11:gcc_11_base:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:gcc_11:gcc-11-base:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:gcc_11:gcc_11_base:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:gcc:gcc-11-base:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:gcc:gcc_11_base:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*']",Ubuntu Core developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cffi,1.15.1,MIT,PYTHON,"['cpe:2.3:a:armin_rigo\\,_maciej_fijalkowski_project:python-cffi:1.15.1:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_rigo\\,_maciej_fijalkowski_project:python_cffi:1.15.1:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_rigo\\,_maciej_fijalkowskiproject:python-cffi:1.15.1:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_rigo\\,_maciej_fijalkowskiproject:python_cffi:1.15.1:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_rigo\\,_maciej_fijalkowski_project:cffi:1.15.1:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_rigo\\,_maciej_fijalkowski:python-cffi:1.15.1:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_rigo\\,_maciej_fijalkowski:python_cffi:1.15.1:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_rigo\\,_maciej_fijalkowskiproject:cffi:1.15.1:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_rigo\\,_maciej_fijalkowski:cffi:1.15.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cffi_project:python-cffi:1.15.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cffi_project:python_cffi:1.15.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cffiproject:python-cffi:1.15.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cffiproject:python_cffi:1.15.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cffi_project:cffi:1.15.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cffi:python-cffi:1.15.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cffi:python_cffi:1.15.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cffi:python-cffi:1.15.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cffi:python_cffi:1.15.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cffiproject:cffi:1.15.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-cffi:1.15.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_cffi:1.15.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cffi:python-cffi:1.15.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cffi:python_cffi:1.15.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cffi:cffi:1.15.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cffi:cffi:1.15.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:cffi:1.15.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cffi:cffi:1.15.1:*:*:*:*:*:*:*']","Armin Rigo, Maciej Fijalkowski ",nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libcufft-11-8,10.9.0.58-1,Unknown,dpkg,"['cpe:2.3:a:libcufft-11-8:libcufft-11-8:10.9.0.58-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcufft-11-8:libcufft_11_8:10.9.0.58-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcufft_11_8:libcufft-11-8:10.9.0.58-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcufft_11_8:libcufft_11_8:10.9.0.58-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcufft-11:libcufft-11-8:10.9.0.58-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcufft-11:libcufft_11_8:10.9.0.58-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcufft_11:libcufft-11-8:10.9.0.58-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcufft_11:libcufft_11_8:10.9.0.58-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcufft:libcufft-11-8:10.9.0.58-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcufft:libcufft_11_8:10.9.0.58-1:*:*:*:*:*:*:*']",cudatools (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libcrypt1,1:4.4.27-1,Unknown,dpkg,['cpe:2.3:a:libcrypt1:libcrypt1:1\\:4.4.27-1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +openssh-client,1:8.9p1-3ubuntu0.4,BSD-2-clause BSD-3-clause Expat-with-advertising-restriction Mazieres-BSD-style OpenSSH Powell-BSD-style public-domain,dpkg,"['cpe:2.3:a:openssh-client:openssh-client:1\\:8.9p1-3ubuntu0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:openssh-client:openssh_client:1\\:8.9p1-3ubuntu0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:openssh_client:openssh-client:1\\:8.9p1-3ubuntu0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:openssh_client:openssh_client:1\\:8.9p1-3ubuntu0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:openssh:openssh-client:1\\:8.9p1-3ubuntu0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:openssh:openssh_client:1\\:8.9p1-3ubuntu0.4:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libdb5.3,5.3.28+dfsg1-0.8ubuntu3,Unknown,dpkg,['cpe:2.3:a:libdb5.3:libdb5.3:5.3.28\\+dfsg1-0.8ubuntu3:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +binutils,2.38-4ubuntu2.3,GFDL GPL LGPL,dpkg,['cpe:2.3:a:binutils:binutils:2.38-4ubuntu2.3:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libedit2,3.1-20210910-1build1,BSD-3-clause,dpkg,['cpe:2.3:a:libedit2:libedit2:3.1-20210910-1build1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +perl,5.34.0-3ubuntu1.3,"Artistic Artistic-2 Artistic-dist BSD-3-clause BSD-3-clause-GENERIC BSD-3-clause-with-weird-numbering BSD-4-clause-POWERDOG BZIP DONT-CHANGE-THE-GPL Expat GPL-1 GPL-1+ GPL-2 GPL-2+ GPL-3+-WITH-BISON-EXCEPTION HSIEH-BSD HSIEH-DERIVATIVE LGPL-2.1 REGCOMP REGCOMP, RRA-KEEP-THIS-NOTICE SDBM-PUBLIC-DOMAIN TEXT-TABS Unicode ZLIB",dpkg,['cpe:2.3:a:perl:perl:5.34.0-3ubuntu1.3:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +unzip,6.0-26ubuntu3.1,Unknown,dpkg,['cpe:2.3:a:unzip:unzip:6.0-26ubuntu3.1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +build-essential,12.9ubuntu3,GPL,dpkg,"['cpe:2.3:a:build-essential:build-essential:12.9ubuntu3:*:*:*:*:*:*:*', 'cpe:2.3:a:build-essential:build_essential:12.9ubuntu3:*:*:*:*:*:*:*', 'cpe:2.3:a:build_essential:build-essential:12.9ubuntu3:*:*:*:*:*:*:*', 'cpe:2.3:a:build_essential:build_essential:12.9ubuntu3:*:*:*:*:*:*:*', 'cpe:2.3:a:build:build-essential:12.9ubuntu3:*:*:*:*:*:*:*', 'cpe:2.3:a:build:build_essential:12.9ubuntu3:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +wget,1.21.2-2ubuntu1,GFDL-1.2 GPL-3,dpkg,['cpe:2.3:a:wget:wget:1.21.2-2ubuntu1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libffi8,3.4.2-4,GPL,dpkg,['cpe:2.3:a:libffi8:libffi8:3.4.2-4:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +xz-utils,5.2.5-2ubuntu1,Autoconf GPL-2 GPL-2+ GPL-3 LGPL-2 LGPL-2.1 LGPL-2.1+ PD PD-debian config-h noderivs permissive-fsf permissive-nowarranty probably-PD,dpkg,"['cpe:2.3:a:xz-utils:xz-utils:5.2.5-2ubuntu1:*:*:*:*:*:*:*', 'cpe:2.3:a:xz-utils:xz_utils:5.2.5-2ubuntu1:*:*:*:*:*:*:*', 'cpe:2.3:a:xz_utils:xz-utils:5.2.5-2ubuntu1:*:*:*:*:*:*:*', 'cpe:2.3:a:xz_utils:xz_utils:5.2.5-2ubuntu1:*:*:*:*:*:*:*', 'cpe:2.3:a:xz:xz-utils:5.2.5-2ubuntu1:*:*:*:*:*:*:*', 'cpe:2.3:a:xz:xz_utils:5.2.5-2ubuntu1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libfido2-1,1.10.0-1,BSD-2-clause ISC public-domain,dpkg,"['cpe:2.3:a:libfido2-1:libfido2-1:1.10.0-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libfido2-1:libfido2_1:1.10.0-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libfido2_1:libfido2-1:1.10.0-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libfido2_1:libfido2_1:1.10.0-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libfido2:libfido2-1:1.10.0-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libfido2:libfido2_1:1.10.0-1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +networkx,3.2,Unknown,PYTHON,"['cpe:2.3:a:aric_hagberg_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libgmp10,2:6.2.1+dfsg-3ubuntu1,GPL GPL-2 GPL-3 LGPL-3,dpkg,['cpe:2.3:a:libgmp10:libgmp10:2\\:6.2.1\\+dfsg-3ubuntu1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +pytz,2023.3.post1,MIT,PYTHON,"['cpe:2.3:a:stuart_bishop_project:python-pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuart_bishop_project:python_pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuart_bishopproject:python-pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuart_bishopproject:python_pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuart_bishop_project:pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuart_project:python-pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuart_project:python_pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuart_bishop:python-pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuart_bishop:python_pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuart_bishopproject:pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuartproject:python-pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuartproject:python_pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pytz:python-pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pytz:python_pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pytz:python-pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pytz:python_pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuart_project:pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuart:python-pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuart:python_pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuart_bishop:pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuartproject:pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pytz:pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pytz:pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:pytz:python-pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:pytz:python_pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuart:pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:pytz:pytz:2023.3.post1:*:*:*:*:*:*:*']",Stuart Bishop ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +requests,2.31.0,Apache 2.0,PYTHON,"['cpe:2.3:a:kenneth_reitz_project:python-requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitz_project:python_requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitzproject:python-requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitzproject:python_requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-requests:python-requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-requests:python_requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_requests:python-requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_requests:python_requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitz_project:requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitz:python-requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitz:python_requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitzproject:requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:me_project:python-requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:me_project:python_requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:meproject:python-requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:meproject:python_requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-requests:requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_requests:requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:requests:python-requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:requests:python_requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitz:requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:me_project:requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:me:python-requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:me:python_requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:meproject:requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:requests:requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:me:requests:2.31.0:*:*:*:*:*:*:*']",Kenneth Reitz ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cudf-kafka,23.6.1,Apache 2.0,PYTHON,"['cpe:2.3:a:nvidia_corporation_project:python-cudf-kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation_project:python_cudf_kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:python-cudf-kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:python_cudf_kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation_project:cudf-kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation_project:cudf_kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:python-cudf-kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:python_cudf_kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:cudf-kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:cudf_kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cudf-kafka:python-cudf-kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cudf-kafka:python_cudf_kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cudf_kafka:python-cudf-kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cudf_kafka:python_cudf_kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:cudf-kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:cudf_kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cudf:python-cudf-kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cudf:python_cudf_kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cudf:python-cudf-kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cudf:python_cudf_kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cudf-kafka:python-cudf-kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cudf-kafka:python_cudf_kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cudf_kafka:python-cudf-kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cudf_kafka:python_cudf_kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cudf-kafka:cudf-kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cudf-kafka:cudf_kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cudf_kafka:cudf-kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cudf_kafka:cudf_kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-cudf-kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_cudf_kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cudf:python-cudf-kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cudf:python_cudf_kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cudf:cudf-kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cudf:cudf_kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cudf:cudf-kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cudf:cudf_kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cudf-kafka:cudf-kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cudf-kafka:cudf_kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cudf_kafka:cudf-kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cudf_kafka:cudf_kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:cudf-kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:cudf_kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cudf:cudf-kafka:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cudf:cudf_kafka:23.6.1:*:*:*:*:*:*:*']",NVIDIA Corporation,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +confluent-kafka,1.9.2,Unknown,PYTHON,"['cpe:2.3:a:python-confluent-kafka:python-confluent-kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-confluent-kafka:python_confluent_kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_confluent_kafka:python-confluent-kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_confluent_kafka:python_confluent_kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:confluent_inc_project:python-confluent-kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:confluent_inc_project:python_confluent_kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:confluent_incproject:python-confluent-kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:confluent_incproject:python_confluent_kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-confluent:python-confluent-kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-confluent:python_confluent_kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_confluent:python-confluent-kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_confluent:python_confluent_kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:confluent-kafka:python-confluent-kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:confluent-kafka:python_confluent_kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:confluent_kafka:python-confluent-kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:confluent_kafka:python_confluent_kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-confluent-kafka:confluent-kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-confluent-kafka:confluent_kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_confluent_kafka:confluent-kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_confluent_kafka:confluent_kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:support_project:python-confluent-kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:support_project:python_confluent_kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:confluent_inc_project:confluent-kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:confluent_inc_project:confluent_kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:supportproject:python-confluent-kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:supportproject:python_confluent_kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:confluent_inc:python-confluent-kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:confluent_inc:python_confluent_kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:confluent_incproject:confluent-kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:confluent_incproject:confluent_kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:confluent:python-confluent-kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:confluent:python_confluent_kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-confluent:confluent-kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-confluent:confluent_kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_confluent:confluent-kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_confluent:confluent_kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:confluent-kafka:confluent-kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:confluent-kafka:confluent_kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:confluent_kafka:confluent-kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:confluent_kafka:confluent_kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:support_project:confluent-kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:support_project:confluent_kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:support:python-confluent-kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:support:python_confluent_kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:supportproject:confluent-kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:supportproject:confluent_kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:confluent_inc:confluent-kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:confluent_inc:confluent_kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-confluent-kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_confluent_kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:confluent:confluent-kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:confluent:confluent_kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:support:confluent-kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:support:confluent_kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:confluent-kafka:1.9.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:confluent_kafka:1.9.2:*:*:*:*:*:*:*']",Confluent Inc ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libasound2,1.2.6.1-1ubuntu1,LGPL-2.1 LPGL-2.1+,dpkg,['cpe:2.3:a:libasound2:libasound2:1.2.6.1-1ubuntu1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libassuan0,2.5.5-1build1,GAP GAP~FSF GPL-2 GPL-2+ GPL-3 GPL-3+ LGPL-2.1 LGPL-2.1+ LGPL-3 LGPL-3+,dpkg,['cpe:2.3:a:libassuan0:libassuan0:2.5.5-1build1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +librtmp1,2.4+20151223.gitfa8646d.1-2build4,GPL-2 LGPL-2.1,dpkg,['cpe:2.3:a:librtmp1:librtmp1:2.4\\+20151223.gitfa8646d.1-2build4:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libsasl2-2,2.1.27+dfsg2-3ubuntu1.2,BSD-2-clause BSD-2.2-clause BSD-3-clause BSD-3-clause-JANET BSD-3-clause-PADL BSD-4-clause BSD-4-clause-UC FSFULLR GPL-3 GPL-3+ IBM-as-is MIT-CMU MIT-Export MIT-OpenVision OpenLDAP OpenSSL RSA-MD SSLeay,dpkg,"['cpe:2.3:a:libsasl2-2:libsasl2-2:2.1.27\\+dfsg2-3ubuntu1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libsasl2-2:libsasl2_2:2.1.27\\+dfsg2-3ubuntu1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libsasl2_2:libsasl2-2:2.1.27\\+dfsg2-3ubuntu1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libsasl2_2:libsasl2_2:2.1.27\\+dfsg2-3ubuntu1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libsasl2:libsasl2-2:2.1.27\\+dfsg2-3ubuntu1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libsasl2:libsasl2_2:2.1.27\\+dfsg2-3ubuntu1.2:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libaudit-common,1:3.0.7-1build1,GPL-1 GPL-2 LGPL-2.1,dpkg,"['cpe:2.3:a:libaudit-common:libaudit-common:1\\:3.0.7-1build1:*:*:*:*:*:*:*', 'cpe:2.3:a:libaudit-common:libaudit_common:1\\:3.0.7-1build1:*:*:*:*:*:*:*', 'cpe:2.3:a:libaudit_common:libaudit-common:1\\:3.0.7-1build1:*:*:*:*:*:*:*', 'cpe:2.3:a:libaudit_common:libaudit_common:1\\:3.0.7-1build1:*:*:*:*:*:*:*', 'cpe:2.3:a:libaudit:libaudit-common:1\\:3.0.7-1build1:*:*:*:*:*:*:*', 'cpe:2.3:a:libaudit:libaudit_common:1\\:3.0.7-1build1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +click,8.1.7,BSD-3-Clause,PYTHON,"['cpe:2.3:a:python-click:python-click:8.1.7:*:*:*:*:*:*:*', 'cpe:2.3:a:python-click:python_click:8.1.7:*:*:*:*:*:*:*', 'cpe:2.3:a:python_click:python-click:8.1.7:*:*:*:*:*:*:*', 'cpe:2.3:a:python_click:python_click:8.1.7:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-click:8.1.7:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_click:8.1.7:*:*:*:*:*:*:*', 'cpe:2.3:a:click:python-click:8.1.7:*:*:*:*:*:*:*', 'cpe:2.3:a:click:python_click:8.1.7:*:*:*:*:*:*:*', 'cpe:2.3:a:python-click:click:8.1.7:*:*:*:*:*:*:*', 'cpe:2.3:a:python_click:click:8.1.7:*:*:*:*:*:*:*', 'cpe:2.3:a:python:click:8.1.7:*:*:*:*:*:*:*', 'cpe:2.3:a:click:click:8.1.7:*:*:*:*:*:*:*']",Unknown,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libaudit1,1:3.0.7-1build1,GPL-1 GPL-2 LGPL-2.1,dpkg,['cpe:2.3:a:libaudit1:libaudit1:1\\:3.0.7-1build1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +click,8.1.7,BSD-3-Clause,PYTHON,"['cpe:2.3:a:python-click:python-click:8.1.7:*:*:*:*:*:*:*', 'cpe:2.3:a:python-click:python_click:8.1.7:*:*:*:*:*:*:*', 'cpe:2.3:a:python_click:python-click:8.1.7:*:*:*:*:*:*:*', 'cpe:2.3:a:python_click:python_click:8.1.7:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-click:8.1.7:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_click:8.1.7:*:*:*:*:*:*:*', 'cpe:2.3:a:click:python-click:8.1.7:*:*:*:*:*:*:*', 'cpe:2.3:a:click:python_click:8.1.7:*:*:*:*:*:*:*', 'cpe:2.3:a:python-click:click:8.1.7:*:*:*:*:*:*:*', 'cpe:2.3:a:python_click:click:8.1.7:*:*:*:*:*:*:*', 'cpe:2.3:a:python:click:8.1.7:*:*:*:*:*:*:*', 'cpe:2.3:a:click:click:8.1.7:*:*:*:*:*:*:*']",Unknown,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libavahi-client3,0.8-5ubuntu5.2,GPL GPL-2 LGPL-2.1,dpkg,"['cpe:2.3:a:libavahi-client3:libavahi-client3:0.8-5ubuntu5.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libavahi-client3:libavahi_client3:0.8-5ubuntu5.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libavahi_client3:libavahi-client3:0.8-5ubuntu5.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libavahi_client3:libavahi_client3:0.8-5ubuntu5.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libavahi:libavahi-client3:0.8-5ubuntu5.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libavahi:libavahi_client3:0.8-5ubuntu5.2:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libsemanage-common,3.3-1build2,GPL LGPL,dpkg,"['cpe:2.3:a:libsemanage-common:libsemanage-common:3.3-1build2:*:*:*:*:*:*:*', 'cpe:2.3:a:libsemanage-common:libsemanage_common:3.3-1build2:*:*:*:*:*:*:*', 'cpe:2.3:a:libsemanage_common:libsemanage-common:3.3-1build2:*:*:*:*:*:*:*', 'cpe:2.3:a:libsemanage_common:libsemanage_common:3.3-1build2:*:*:*:*:*:*:*', 'cpe:2.3:a:libsemanage:libsemanage-common:3.3-1build2:*:*:*:*:*:*:*', 'cpe:2.3:a:libsemanage:libsemanage_common:3.3-1build2:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libsemanage2,3.3-1build2,GPL LGPL,dpkg,['cpe:2.3:a:libsemanage2:libsemanage2:3.3-1build2:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libbrotli1,1.0.9-2build6,MIT,dpkg,['cpe:2.3:a:libbrotli1:libbrotli1:1.0.9-2build6:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libsqlite3-0,3.37.2-2ubuntu0.1,GPL-2 GPL-2+ public-domain,dpkg,"['cpe:2.3:a:libsqlite3-0:libsqlite3-0:3.37.2-2ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libsqlite3-0:libsqlite3_0:3.37.2-2ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libsqlite3_0:libsqlite3-0:3.37.2-2ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libsqlite3_0:libsqlite3_0:3.37.2-2ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libsqlite3:libsqlite3-0:3.37.2-2ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libsqlite3:libsqlite3_0:3.37.2-2ubuntu0.1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libssh-4,0.9.6-2ubuntu0.22.04.1,BSD-2-clause BSD-3-clause LGPL-2.1 LGPL-2.1+~OpenSSL public-domain,dpkg,"['cpe:2.3:a:libssh-4:libssh-4:0.9.6-2ubuntu0.22.04.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libssh-4:libssh_4:0.9.6-2ubuntu0.22.04.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libssh_4:libssh-4:0.9.6-2ubuntu0.22.04.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libssh_4:libssh_4:0.9.6-2ubuntu0.22.04.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libssh:libssh-4:0.9.6-2ubuntu0.22.04.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libssh:libssh_4:0.9.6-2ubuntu0.22.04.1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +attrs,23.1.0,Unknown,PYTHON,"['cpe:2.3:a:hynek_schlawack_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +beautifulsoup4,4.12.2,Unknown,PYTHON,"['cpe:2.3:a:leonard_richardson_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +conda_package_streaming,0.9.0,Unknown,PYTHON,"['cpe:2.3:a:\\""anaconda\\,_inc__\\&_contributors\\""_\\>",nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +menuinst,2.0.0,"(c) 2016 Continuum Analytics, Inc. / http://continuum.io + All Rights Reserved + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Continuum Analytics, Inc. nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ""AS IS"" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL CONTINUUM ANALYTICS BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + ",PYTHON,"['cpe:2.3:a:python-menuinst:python-menuinst:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-menuinst:python_menuinst:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_menuinst:python-menuinst:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_menuinst:python_menuinst:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:menuinst:python-menuinst:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:menuinst:python_menuinst:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-menuinst:menuinst:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_menuinst:menuinst:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-menuinst:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_menuinst:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:menuinst:menuinst:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:menuinst:2.0.0:*:*:*:*:*:*:*']",Unknown,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +pkgutil_resolve_name,1.3.10,Unknown,PYTHON,"['cpe:2.3:a:python-pkgutil-resolve-name:python-pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pkgutil-resolve-name:python-pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pkgutil-resolve-name:python_pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pkgutil_resolve_name:python-pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pkgutil_resolve_name:python-pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pkgutil_resolve_name:python_pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pkgutil_resolve_name:python-pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pkgutil_resolve_name:python-pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pkgutil_resolve_name:python_pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pkgutil-resolve:python-pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pkgutil-resolve:python-pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pkgutil-resolve:python_pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pkgutil_resolve:python-pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pkgutil_resolve:python-pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pkgutil_resolve:python_pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pkgutil_resolve:python-pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pkgutil_resolve:python-pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pkgutil_resolve:python_pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:pkgutil-resolve-name:python-pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:pkgutil-resolve-name:python-pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:pkgutil-resolve-name:python_pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:pkgutil_resolve_name:python-pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:pkgutil_resolve_name:python-pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:pkgutil_resolve_name:python_pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pkgutil-resolve-name:pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pkgutil-resolve-name:pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pkgutil_resolve_name:pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pkgutil_resolve_name:pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pkgutil_resolve_name:pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pkgutil_resolve_name:pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:vinay_sajip_project:python-pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:vinay_sajip_project:python-pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:vinay_sajip_project:python_pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:vinay_sajipproject:python-pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:vinay_sajipproject:python-pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:vinay_sajipproject:python_pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:pkgutil-resolve:python-pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:pkgutil-resolve:python-pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:pkgutil-resolve:python_pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:pkgutil_resolve:python-pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:pkgutil_resolve:python-pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:pkgutil_resolve:python_pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pkgutil-resolve:pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pkgutil-resolve:pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pkgutil_resolve:pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pkgutil_resolve:pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pkgutil_resolve:pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pkgutil_resolve:pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pkgutil:python-pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pkgutil:python-pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pkgutil:python_pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pkgutil:python-pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pkgutil:python-pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pkgutil:python_pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:pkgutil-resolve-name:pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:pkgutil-resolve-name:pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:pkgutil_resolve_name:pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:pkgutil_resolve_name:pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:vinay_sajip_project:pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:vinay_sajip_project:pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:vinay-sajip:python-pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:vinay-sajip:python-pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:vinay-sajip:python_pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:vinay_sajip:python-pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:vinay_sajip:python-pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:vinay_sajip:python_pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:vinay_sajipproject:pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:vinay_sajipproject:pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:pkgutil-resolve:pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:pkgutil-resolve:pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:pkgutil_resolve:pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:pkgutil_resolve:pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:pkgutil:python-pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:pkgutil:python-pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:pkgutil:python_pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pkgutil:pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pkgutil:pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pkgutil:pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pkgutil:pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:vinay-sajip:pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:vinay-sajip:pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:vinay_sajip:pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:vinay_sajip:pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:pkgutil:pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:pkgutil:pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python:pkgutil-resolve-name:1.3.10:*:*:*:*:*:*:*', 'cpe:2.3:a:python:pkgutil_resolve_name:1.3.10:*:*:*:*:*:*:*']",Vinay Sajip ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +pluggy,1.0.0,MIT,PYTHON,"['cpe:2.3:a:holger_krekel_project:python-pluggy:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holger_krekel_project:python_pluggy:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holger_krekelproject:python-pluggy:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holger_krekelproject:python_pluggy:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holger_krekel_project:pluggy:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holger_project:python-pluggy:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holger_project:python_pluggy:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holger_krekel:python-pluggy:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holger_krekel:python_pluggy:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holger_krekelproject:pluggy:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holgerproject:python-pluggy:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holgerproject:python_pluggy:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pluggy:python-pluggy:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pluggy:python_pluggy:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pluggy:python-pluggy:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pluggy:python_pluggy:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holger_project:pluggy:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holger:python-pluggy:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holger:python_pluggy:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holger_krekel:pluggy:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holgerproject:pluggy:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pluggy:python-pluggy:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pluggy:python_pluggy:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pluggy:pluggy:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-pluggy:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_pluggy:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pluggy:pluggy:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holger:pluggy:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pluggy:pluggy:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:pluggy:1.0.0:*:*:*:*:*:*:*']",Holger Krekel ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +matplotlib,3.8.2,PSF,PYTHON,"['cpe:2.3:a:john_d__hunter\\,_michael_droettboom_project:python-matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:john_d__hunter\\,_michael_droettboom_project:python_matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:john_d__hunter\\,_michael_droettboomproject:python-matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:john_d__hunter\\,_michael_droettboomproject:python_matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:john_d__hunter\\,_michael_droettboom_project:matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:john_d__hunter\\,_michael_droettboom:python-matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:john_d__hunter\\,_michael_droettboom:python_matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:john_d__hunter\\,_michael_droettboomproject:matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:john_d__hunter\\,_michael_droettboom:matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:matplotlib_users_project:python-matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:matplotlib_users_project:python_matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:matplotlib_usersproject:python-matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:matplotlib_usersproject:python_matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:matplotlib_users_project:matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-matplotlib:python-matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-matplotlib:python_matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_matplotlib:python-matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_matplotlib:python_matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:matplotlib-users:python-matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:matplotlib-users:python_matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:matplotlib_users:python-matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:matplotlib_users:python_matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:matplotlib_usersproject:matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:matplotlib:python-matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:matplotlib:python_matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-matplotlib:matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_matplotlib:matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:matplotlib-users:matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:matplotlib_users:matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:matplotlib:matplotlib:3.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:matplotlib:3.8.2:*:*:*:*:*:*:*']","John D. Hunter, Michael Droettboom ",nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +rpds-py,0.13.2,MIT,PYTHON,"['cpe:2.3:a:julian_berman_project:python-rpds-py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_berman_project:python_rpds_py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_bermanproject:python-rpds-py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_bermanproject:python_rpds_py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+rpds_project:python-rpds-py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+rpds_project:python_rpds_py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+rpdsproject:python-rpds-py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+rpdsproject:python_rpds_py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_berman_project:rpds-py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_berman_project:rpds_py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-rpds-py:python-rpds-py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-rpds-py:python_rpds_py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_rpds_py:python-rpds-py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_rpds_py:python_rpds_py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_berman:python-rpds-py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_berman:python_rpds_py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_bermanproject:rpds-py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_bermanproject:rpds_py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+rpds_project:rpds-py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+rpds_project:rpds_py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+rpds:python-rpds-py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+rpds:python_rpds_py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+rpdsproject:rpds-py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+rpdsproject:rpds_py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-rpds:python-rpds-py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-rpds:python_rpds_py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_rpds:python-rpds-py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_rpds:python_rpds_py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-rpds-py:rpds-py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-rpds-py:rpds_py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_rpds_py:rpds-py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_rpds_py:rpds_py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:rpds-py:python-rpds-py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:rpds-py:python_rpds_py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:rpds_py:python-rpds-py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:rpds_py:python_rpds_py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_berman:rpds-py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_berman:rpds_py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-rpds-py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_rpds_py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+rpds:rpds-py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+rpds:rpds_py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-rpds:rpds-py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-rpds:rpds_py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_rpds:rpds-py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_rpds:rpds_py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:rpds:python-rpds-py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:rpds:python_rpds_py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:rpds-py:rpds-py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:rpds-py:rpds_py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:rpds_py:rpds-py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:rpds_py:rpds_py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:rpds-py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:rpds_py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:rpds:rpds-py:0.13.2:*:*:*:*:*:*:*', 'cpe:2.3:a:rpds:rpds_py:0.13.2:*:*:*:*:*:*:*']",Julian Berman ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +setuptools,59.8.0,UNKNOWN,PYTHON,"['cpe:2.3:a:python_packaging_authority_project:python-setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_packaging_authority_project:python_setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_packaging_authorityproject:python-setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_packaging_authorityproject:python_setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_packaging_authority_project:setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_packaging_authority:python-setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_packaging_authority:python_setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_packaging_authorityproject:setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils_sig_project:python-setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils_sig_project:python_setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils_sigproject:python-setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils_sigproject:python_setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_packaging_authority:setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-setuptools:python-setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-setuptools:python_setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_setuptools:python-setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_setuptools:python_setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils_sig_project:setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils-sig:python-setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils-sig:python_setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils_sig:python-setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils_sig:python_setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils_sigproject:setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-setuptools:setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_setuptools:setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:setuptools:python-setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:setuptools:python_setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils-sig:setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils_sig:setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:setuptools:setuptools:59.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:setuptools:59.8.0:*:*:*:*:*:*:*']",Python Packaging Authority ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libncursesw6,6.3-2ubuntu0.1,BSD-3-clause MIT/X11 X11,dpkg,['cpe:2.3:a:libncursesw6:libncursesw6:6.3-2ubuntu0.1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libnsl-dev,1.3.0-2build2,BSD-3-clause GPL-2 GPL-2+-autoconf-exception GPL-2+-libtool-exception GPL-3 GPL-3+-autoconf-exception LGPL-2.1 LGPL-2.1+ MIT permissive-autoconf-m4 permissive-autoconf-m4-no-warranty permissive-configure permissive-fsf permissive-makefile-in,dpkg,"['cpe:2.3:a:libnsl-dev:libnsl-dev:1.3.0-2build2:*:*:*:*:*:*:*', 'cpe:2.3:a:libnsl-dev:libnsl_dev:1.3.0-2build2:*:*:*:*:*:*:*', 'cpe:2.3:a:libnsl_dev:libnsl-dev:1.3.0-2build2:*:*:*:*:*:*:*', 'cpe:2.3:a:libnsl_dev:libnsl_dev:1.3.0-2build2:*:*:*:*:*:*:*', 'cpe:2.3:a:libnsl:libnsl-dev:1.3.0-2build2:*:*:*:*:*:*:*', 'cpe:2.3:a:libnsl:libnsl_dev:1.3.0-2build2:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libnspr4,2:4.32-3build1,MPL-2.0,dpkg,['cpe:2.3:a:libnspr4:libnspr4:2\\:4.32-3build1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libonig5,6.9.7.1-2build1,BSD-2-clause GPL-2 GPL-2+,dpkg,['cpe:2.3:a:libonig5:libonig5:6.9.7.1-2build1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cpp,4:11.2.0-1ubuntu1,GPL-2,dpkg,['cpe:2.3:a:cpp:cpp:4\\:11.2.0-1ubuntu1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libnghttp2-14,1.43.0-1ubuntu0.1,BSD-2-clause Expat GPL-3 GPL-3+ MIT SIL-OFL-1.1 all-permissive,dpkg,"['cpe:2.3:a:libnghttp2-14:libnghttp2-14:1.43.0-1ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libnghttp2-14:libnghttp2_14:1.43.0-1ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libnghttp2_14:libnghttp2-14:1.43.0-1ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libnghttp2_14:libnghttp2_14:1.43.0-1ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libnghttp2:libnghttp2-14:1.43.0-1ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libnghttp2:libnghttp2_14:1.43.0-1ubuntu0.1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cuda-toolkit-config-common,12.3.101-1,Unknown,dpkg,"['cpe:2.3:a:cuda-toolkit-config-common:cuda-toolkit-config-common:12.3.101-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-toolkit-config-common:cuda_toolkit_config_common:12.3.101-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_toolkit_config_common:cuda-toolkit-config-common:12.3.101-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_toolkit_config_common:cuda_toolkit_config_common:12.3.101-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-toolkit-config:cuda-toolkit-config-common:12.3.101-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-toolkit-config:cuda_toolkit_config_common:12.3.101-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_toolkit_config:cuda-toolkit-config-common:12.3.101-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_toolkit_config:cuda_toolkit_config_common:12.3.101-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-toolkit:cuda-toolkit-config-common:12.3.101-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-toolkit:cuda_toolkit_config_common:12.3.101-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_toolkit:cuda-toolkit-config-common:12.3.101-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_toolkit:cuda_toolkit_config_common:12.3.101-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda-toolkit-config-common:12.3.101-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda_toolkit_config_common:12.3.101-1:*:*:*:*:*:*:*']",cudatools (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +debconf,1.5.79ubuntu1,BSD-2-clause,dpkg,['cpe:2.3:a:debconf:debconf:1.5.79ubuntu1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cuda-cudart-11-8,11.8.89-1,Unknown,dpkg,"['cpe:2.3:a:cuda-cudart-11-8:cuda-cudart-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cudart-11-8:cuda_cudart_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cudart_11_8:cuda-cudart-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cudart_11_8:cuda_cudart_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cudart-11:cuda-cudart-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cudart-11:cuda_cudart_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cudart_11:cuda-cudart-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cudart_11:cuda_cudart_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cudart:cuda-cudart-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cudart:cuda_cudart_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cudart:cuda-cudart-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cudart:cuda_cudart_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda-cudart-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda_cudart_11_8:11.8.89-1:*:*:*:*:*:*:*']",cudatools (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +sqlparse,0.4.4,Unknown,PYTHON,"['cpe:2.3:a:andi_albrecht_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +dpkg,1.21.1ubuntu2.2,BSD-2-clause GPL-2 GPL-2+ public-domain-md5 public-domain-s-s-d,dpkg,['cpe:2.3:a:dpkg:dpkg:1.21.1ubuntu2.2:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +pyarrow-hotfix,0.6,"Apache License, Version 2.0",PYTHON,"['cpe:2.3:a:antoine_pitrou_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +gnupg,2.2.27-3ubuntu2.1,BSD-3-clause CC0-1.0 Expat GPL-3 GPL-3+ LGPL-2.1 LGPL-2.1+ LGPL-3 LGPL-3+ RFC-Reference TinySCHEME permissive,dpkg,['cpe:2.3:a:gnupg:gnupg:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +sphinxcontrib-qthelp,1.0.6,Unknown,PYTHON,"['cpe:2.3:a:georg_brandl_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libcurl4,7.81.0-1ubuntu1.15,BSD-3-Clause BSD-4-Clause ISC curl other public-domain,dpkg,['cpe:2.3:a:libcurl4:libcurl4:7.81.0-1ubuntu1.15:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +sphinxcontrib-serializinghtml,1.1.9,Unknown,PYTHON,"['cpe:2.3:a:python-sphinxcontrib-serializinghtml:python-sphinxcontrib-serializinghtml:1.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:python-sphinxcontrib-serializinghtml:python_sphinxcontrib_serializinghtml:1.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:python_sphinxcontrib_serializinghtml:python-sphinxcontrib-serializinghtml:1.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:python_sphinxcontrib_serializinghtml:python_sphinxcontrib_serializinghtml:1.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:python-sphinxcontrib-serializinghtml:sphinxcontrib-serializinghtml:1.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:python-sphinxcontrib-serializinghtml:sphinxcontrib_serializinghtml:1.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:python_sphinxcontrib_serializinghtml:sphinxcontrib-serializinghtml:1.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:python_sphinxcontrib_serializinghtml:sphinxcontrib_serializinghtml:1.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:sphinxcontrib-serializinghtml:python-sphinxcontrib-serializinghtml:1.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:sphinxcontrib-serializinghtml:python_sphinxcontrib_serializinghtml:1.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:sphinxcontrib_serializinghtml:python-sphinxcontrib-serializinghtml:1.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:sphinxcontrib_serializinghtml:python_sphinxcontrib_serializinghtml:1.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:georg_brandl_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cattrs,23.2.3,MIT,PYTHON,"['cpe:2.3:a:tin_tvrtkovic_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +certifi,2023.11.17,MPL-2.0,PYTHON,"['cpe:2.3:a:kenneth_reitz_project:python-certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitz_project:python_certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitzproject:python-certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitzproject:python_certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitz_project:certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:python-certifi:python-certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:python-certifi:python_certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:python_certifi:python-certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:python_certifi:python_certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitz:python-certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitz:python_certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitzproject:certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:me_project:python-certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:me_project:python_certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:meproject:python-certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:meproject:python_certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:certifi:python-certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:certifi:python_certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:python-certifi:certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:python_certifi:certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitz:certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:me_project:certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:me:python-certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:me:python_certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:meproject:certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:certifi:certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:python:certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:me:certifi:2023.11.17:*:*:*:*:*:*:*']",Kenneth Reitz ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +gcc-12-base,12.3.0-1ubuntu1~22.04,Artistic GFDL-1.2 GPL GPL-2 GPL-3 LGPL,dpkg,"['cpe:2.3:a:gcc-12-base:gcc-12-base:12.3.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:gcc-12-base:gcc_12_base:12.3.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:gcc_12_base:gcc-12-base:12.3.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:gcc_12_base:gcc_12_base:12.3.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:gcc-12:gcc-12-base:12.3.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:gcc-12:gcc_12_base:12.3.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:gcc_12:gcc-12-base:12.3.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:gcc_12:gcc_12_base:12.3.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:gcc:gcc-12-base:12.3.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:gcc:gcc_12_base:12.3.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*']",Ubuntu Core developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +chardet,5.2.0,LGPL,PYTHON,"['cpe:2.3:a:mark_pilgrim_project:python-chardet:5.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mark_pilgrim_project:python_chardet:5.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mark_pilgrimproject:python-chardet:5.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mark_pilgrimproject:python_chardet:5.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-chardet:python-chardet:5.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-chardet:python_chardet:5.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_chardet:python-chardet:5.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_chardet:python_chardet:5.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mark_pilgrim_project:chardet:5.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mark_pilgrim:python-chardet:5.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mark_pilgrim:python_chardet:5.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mark_pilgrimproject:chardet:5.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mark_project:python-chardet:5.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mark_project:python_chardet:5.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:markproject:python-chardet:5.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:markproject:python_chardet:5.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:chardet:python-chardet:5.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:chardet:python_chardet:5.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-chardet:chardet:5.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_chardet:chardet:5.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-chardet:5.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_chardet:5.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mark_pilgrim:chardet:5.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mark_project:chardet:5.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mark:python-chardet:5.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mark:python_chardet:5.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:markproject:chardet:5.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:chardet:chardet:5.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:chardet:5.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mark:chardet:5.2.0:*:*:*:*:*:*:*']",Mark Pilgrim ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +bash,5.1-6ubuntu1,GPL-3,dpkg,['cpe:2.3:a:bash:bash:5.1-6ubuntu1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +passwd,1:4.8.1-2ubuntu2.1,GPL-2,dpkg,['cpe:2.3:a:passwd:passwd:1\\:4.8.1-2ubuntu2.1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +usrmerge,25ubuntu2,GPL GPL-2,dpkg,['cpe:2.3:a:usrmerge:usrmerge:25ubuntu2:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libexpat1,2.4.7-1ubuntu0.2,MIT,dpkg,['cpe:2.3:a:libexpat1:libexpat1:2.4.7-1ubuntu0.2:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +zip,3.0-12build2,Unknown,dpkg,['cpe:2.3:a:zip:zip:3.0-12build2:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cuda-driver-dev-11-8,11.8.89-1,Unknown,dpkg,"['cpe:2.3:a:cuda-driver-dev-11-8:cuda-driver-dev-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-driver-dev-11-8:cuda_driver_dev_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_driver_dev_11_8:cuda-driver-dev-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_driver_dev_11_8:cuda_driver_dev_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-driver-dev-11:cuda-driver-dev-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-driver-dev-11:cuda_driver_dev_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_driver_dev_11:cuda-driver-dev-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_driver_dev_11:cuda_driver_dev_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-driver-dev:cuda-driver-dev-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-driver-dev:cuda_driver_dev_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_driver_dev:cuda-driver-dev-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_driver_dev:cuda_driver_dev_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-driver:cuda-driver-dev-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-driver:cuda_driver_dev_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_driver:cuda-driver-dev-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_driver:cuda_driver_dev_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda-driver-dev-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda_driver_dev_11_8:11.8.89-1:*:*:*:*:*:*:*']",cudatools (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +liblz4-1,1.9.3-2build2,BSD-2-clause GPL-2 GPL-2+,dpkg,"['cpe:2.3:a:liblz4-1:liblz4-1:1.9.3-2build2:*:*:*:*:*:*:*', 'cpe:2.3:a:liblz4-1:liblz4_1:1.9.3-2build2:*:*:*:*:*:*:*', 'cpe:2.3:a:liblz4_1:liblz4-1:1.9.3-2build2:*:*:*:*:*:*:*', 'cpe:2.3:a:liblz4_1:liblz4_1:1.9.3-2build2:*:*:*:*:*:*:*', 'cpe:2.3:a:liblz4:liblz4-1:1.9.3-2build2:*:*:*:*:*:*:*', 'cpe:2.3:a:liblz4:liblz4_1:1.9.3-2build2:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libapt-pkg6.0,2.4.11,GPL-2 GPLv2+,dpkg,"['cpe:2.3:a:libapt-pkg6.0:libapt-pkg6.0:2.4.11:*:*:*:*:*:*:*', 'cpe:2.3:a:libapt-pkg6.0:libapt_pkg6.0:2.4.11:*:*:*:*:*:*:*', 'cpe:2.3:a:libapt_pkg6.0:libapt-pkg6.0:2.4.11:*:*:*:*:*:*:*', 'cpe:2.3:a:libapt_pkg6.0:libapt_pkg6.0:2.4.11:*:*:*:*:*:*:*', 'cpe:2.3:a:libapt:libapt-pkg6.0:2.4.11:*:*:*:*:*:*:*', 'cpe:2.3:a:libapt:libapt_pkg6.0:2.4.11:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +grep,3.7-1build1,GPL-3 GPL-3+,dpkg,['cpe:2.3:a:grep:grep:3.7-1build1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libmd0,1.0.4-1build1,BSD-2-clause BSD-2-clause-NetBSD BSD-3-clause BSD-3-clause-Aaron-D-Gifford Beerware ISC public-domain-md4 public-domain-md5 public-domain-sha1,dpkg,['cpe:2.3:a:libmd0:libmd0:1.0.4-1build1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +ConfigArgParse,1.5.5,MIT,PYTHON,"['cpe:2.3:a:python-ConfigArgParse:python-ConfigArgParse:1.5.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python-ConfigArgParse:python_ConfigArgParse:1.5.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python_ConfigArgParse:python-ConfigArgParse:1.5.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python_ConfigArgParse:python_ConfigArgParse:1.5.5:*:*:*:*:*:*:*', 'cpe:2.3:a:ConfigArgParse:python-ConfigArgParse:1.5.5:*:*:*:*:*:*:*', 'cpe:2.3:a:ConfigArgParse:python_ConfigArgParse:1.5.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python-ConfigArgParse:ConfigArgParse:1.5.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python_ConfigArgParse:ConfigArgParse:1.5.5:*:*:*:*:*:*:*', 'cpe:2.3:a:ConfigArgParse:ConfigArgParse:1.5.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-ConfigArgParse:1.5.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_ConfigArgParse:1.5.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python:ConfigArgParse:1.5.5:*:*:*:*:*:*:*']",Unknown,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +sphinxcontrib-devhelp,1.0.5,Unknown,PYTHON,"['cpe:2.3:a:python-sphinxcontrib-devhelp:python-sphinxcontrib-devhelp:1.0.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python-sphinxcontrib-devhelp:python_sphinxcontrib_devhelp:1.0.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python_sphinxcontrib_devhelp:python-sphinxcontrib-devhelp:1.0.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python_sphinxcontrib_devhelp:python_sphinxcontrib_devhelp:1.0.5:*:*:*:*:*:*:*', 'cpe:2.3:a:georg_brandl_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +sphinxcontrib-applehelp,1.0.7,Unknown,PYTHON,"['cpe:2.3:a:python-sphinxcontrib-applehelp:python-sphinxcontrib-applehelp:1.0.7:*:*:*:*:*:*:*', 'cpe:2.3:a:python-sphinxcontrib-applehelp:python_sphinxcontrib_applehelp:1.0.7:*:*:*:*:*:*:*', 'cpe:2.3:a:python_sphinxcontrib_applehelp:python-sphinxcontrib-applehelp:1.0.7:*:*:*:*:*:*:*', 'cpe:2.3:a:python_sphinxcontrib_applehelp:python_sphinxcontrib_applehelp:1.0.7:*:*:*:*:*:*:*', 'cpe:2.3:a:georg_brandl_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +betterproto,1.2.5,MIT,PYTHON,"['cpe:2.3:a:daniel_g__taylor_project:python-betterproto:1.2.5:*:*:*:*:*:*:*', 'cpe:2.3:a:daniel_g__taylor_project:python_betterproto:1.2.5:*:*:*:*:*:*:*', 'cpe:2.3:a:daniel_g__taylorproject:python-betterproto:1.2.5:*:*:*:*:*:*:*', 'cpe:2.3:a:daniel_g__taylorproject:python_betterproto:1.2.5:*:*:*:*:*:*:*', 'cpe:2.3:a:danielgtaylor_project:python-betterproto:1.2.5:*:*:*:*:*:*:*', 'cpe:2.3:a:danielgtaylor_project:python_betterproto:1.2.5:*:*:*:*:*:*:*', 'cpe:2.3:a:danielgtaylorproject:python-betterproto:1.2.5:*:*:*:*:*:*:*', 'cpe:2.3:a:danielgtaylorproject:python_betterproto:1.2.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python-betterproto:python-betterproto:1.2.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python-betterproto:python_betterproto:1.2.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python_betterproto:python-betterproto:1.2.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python_betterproto:python_betterproto:1.2.5:*:*:*:*:*:*:*', 'cpe:2.3:a:daniel_g__taylor_project:betterproto:1.2.5:*:*:*:*:*:*:*', 'cpe:2.3:a:daniel_g__taylor:python-betterproto:1.2.5:*:*:*:*:*:*:*', 'cpe:2.3:a:daniel_g__taylor:python_betterproto:1.2.5:*:*:*:*:*:*:*', 'cpe:2.3:a:daniel_g__taylorproject:betterproto:1.2.5:*:*:*:*:*:*:*', 'cpe:2.3:a:danielgtaylor_project:betterproto:1.2.5:*:*:*:*:*:*:*', 'cpe:2.3:a:danielgtaylor:python-betterproto:1.2.5:*:*:*:*:*:*:*', 'cpe:2.3:a:danielgtaylor:python_betterproto:1.2.5:*:*:*:*:*:*:*', 'cpe:2.3:a:danielgtaylorproject:betterproto:1.2.5:*:*:*:*:*:*:*', 'cpe:2.3:a:betterproto:python-betterproto:1.2.5:*:*:*:*:*:*:*', 'cpe:2.3:a:betterproto:python_betterproto:1.2.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python-betterproto:betterproto:1.2.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python_betterproto:betterproto:1.2.5:*:*:*:*:*:*:*', 'cpe:2.3:a:daniel_g__taylor:betterproto:1.2.5:*:*:*:*:*:*:*', 'cpe:2.3:a:danielgtaylor:betterproto:1.2.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-betterproto:1.2.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_betterproto:1.2.5:*:*:*:*:*:*:*', 'cpe:2.3:a:betterproto:betterproto:1.2.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python:betterproto:1.2.5:*:*:*:*:*:*:*']",Daniel G. Taylor ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +Jinja2,3.1.2,BSD-3-Clause,PYTHON,"['cpe:2.3:a:armin_ronacher_project:python-Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacher_project:python_Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacherproject:python-Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacherproject:python_Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacher_project:Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin-ronacher:python-Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin-ronacher:python_Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacher:python-Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacher:python_Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacherproject:Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-Jinja2:python-Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-Jinja2:python_Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_Jinja2:python-Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_Jinja2:python_Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin-ronacher:Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacher:Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:Jinja2:python-Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:Jinja2:python_Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-Jinja2:Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_Jinja2:Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:Jinja2:Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:Jinja2:3.1.2:*:*:*:*:*:*:*']",Armin Ronacher ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +gunicorn,21.2.0,MIT,PYTHON,"['cpe:2.3:a:benoit_chesneau_project:python-gunicorn:21.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benoit_chesneau_project:python_gunicorn:21.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benoit_chesneauproject:python-gunicorn:21.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benoit_chesneauproject:python_gunicorn:21.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benoit_chesneau_project:gunicorn:21.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benoit_chesneau:python-gunicorn:21.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benoit_chesneau:python_gunicorn:21.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benoit_chesneauproject:gunicorn:21.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benoitc_project:python-gunicorn:21.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benoitc_project:python_gunicorn:21.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-gunicorn:python-gunicorn:21.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-gunicorn:python_gunicorn:21.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_gunicorn:python-gunicorn:21.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_gunicorn:python_gunicorn:21.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benoitcproject:python-gunicorn:21.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benoitcproject:python_gunicorn:21.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benoit_chesneau:gunicorn:21.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benoitc_project:gunicorn:21.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:gunicorn:python-gunicorn:21.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:gunicorn:python_gunicorn:21.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-gunicorn:gunicorn:21.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_gunicorn:gunicorn:21.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benoitc:python-gunicorn:21.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benoitc:python_gunicorn:21.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benoitcproject:gunicorn:21.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-gunicorn:21.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_gunicorn:21.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:gunicorn:gunicorn:21.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benoitc:gunicorn:21.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:gunicorn:21.2.0:*:*:*:*:*:*:*']",Benoit Chesneau ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +bokeh,2.4.3,BSD-3-Clause,PYTHON,"['cpe:2.3:a:bokeh_team_project:python-bokeh:2.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:bokeh_team_project:python_bokeh:2.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:bokeh_teamproject:python-bokeh:2.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:bokeh_teamproject:python_bokeh:2.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:info_project:python-bokeh:2.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:info_project:python_bokeh:2.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python-bokeh:python-bokeh:2.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python-bokeh:python_bokeh:2.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python_bokeh:python-bokeh:2.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python_bokeh:python_bokeh:2.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:bokeh_team_project:bokeh:2.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:infoproject:python-bokeh:2.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:infoproject:python_bokeh:2.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:bokeh_team:python-bokeh:2.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:bokeh_team:python_bokeh:2.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:bokeh_teamproject:bokeh:2.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-bokeh:2.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_bokeh:2.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:bokeh:python-bokeh:2.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:bokeh:python_bokeh:2.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:info_project:bokeh:2.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python-bokeh:bokeh:2.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python_bokeh:bokeh:2.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:info:python-bokeh:2.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:info:python_bokeh:2.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:infoproject:bokeh:2.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:bokeh_team:bokeh:2.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python:bokeh:2.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:bokeh:bokeh:2.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:info:bokeh:2.4.3:*:*:*:*:*:*:*']",Bokeh Team ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +hpack,4.0.0,MIT License,PYTHON,"['cpe:2.3:a:cory_benfield_project:python-hpack:4.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_benfield_project:python_hpack:4.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_benfieldproject:python-hpack:4.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_benfieldproject:python_hpack:4.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_benfield_project:hpack:4.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_benfield:python-hpack:4.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_benfield:python_hpack:4.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_benfieldproject:hpack:4.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_project:python-hpack:4.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_project:python_hpack:4.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-hpack:python-hpack:4.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-hpack:python_hpack:4.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_hpack:python-hpack:4.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_hpack:python_hpack:4.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:coryproject:python-hpack:4.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:coryproject:python_hpack:4.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_benfield:hpack:4.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-hpack:4.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_hpack:4.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_project:hpack:4.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:hpack:python-hpack:4.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:hpack:python_hpack:4.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-hpack:hpack:4.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_hpack:hpack:4.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cory:python-hpack:4.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cory:python_hpack:4.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:coryproject:hpack:4.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:hpack:4.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:hpack:hpack:4.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cory:hpack:4.0.0:*:*:*:*:*:*:*']",Cory Benfield ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +PyYAML,6.0.1,MIT,PYTHON,"['cpe:2.3:a:kirill_simonov_project:python-PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:kirill_simonov_project:python_PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:kirill_simonovproject:python-PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:kirill_simonovproject:python_PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:kirill_simonov_project:PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:kirill_simonov:python-PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:kirill_simonov:python_PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:kirill_simonovproject:PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-PyYAML:python-PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-PyYAML:python_PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_PyYAML:python-PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_PyYAML:python_PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:xi_project:python-PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:xi_project:python_PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:xiproject:python-PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:xiproject:python_PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:kirill_simonov:PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:PyYAML:python-PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:PyYAML:python_PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-PyYAML:PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_PyYAML:PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:xi_project:PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:xi:python-PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:xi:python_PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:xiproject:PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:PyYAML:PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:xi:PyYAML:6.0.1:*:*:*:*:*:*:*']",Kirill Simonov ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +hyperframe,6.0.1,MIT License,PYTHON,"['cpe:2.3:a:cory_benfield_project:python-hyperframe:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_benfield_project:python_hyperframe:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_benfieldproject:python-hyperframe:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_benfieldproject:python_hyperframe:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-hyperframe:python-hyperframe:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-hyperframe:python_hyperframe:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_hyperframe:python-hyperframe:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_hyperframe:python_hyperframe:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_benfield_project:hyperframe:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_benfield:python-hyperframe:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_benfield:python_hyperframe:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_benfieldproject:hyperframe:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_project:python-hyperframe:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_project:python_hyperframe:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:coryproject:python-hyperframe:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:coryproject:python_hyperframe:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:hyperframe:python-hyperframe:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:hyperframe:python_hyperframe:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-hyperframe:hyperframe:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_hyperframe:hyperframe:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_benfield:hyperframe:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-hyperframe:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_hyperframe:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_project:hyperframe:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cory:python-hyperframe:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cory:python_hyperframe:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:coryproject:hyperframe:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:hyperframe:hyperframe:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:hyperframe:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cory:hyperframe:6.0.1:*:*:*:*:*:*:*']",Cory Benfield ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +unicodedata2,15.1.0,Apache License 2.0,PYTHON,"['cpe:2.3:a:mike_kaplinskiy_project:python-unicodedata2:15.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_kaplinskiy_project:python_unicodedata2:15.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_kaplinskiyproject:python-unicodedata2:15.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_kaplinskiyproject:python_unicodedata2:15.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-unicodedata2:python-unicodedata2:15.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-unicodedata2:python_unicodedata2:15.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_unicodedata2:python-unicodedata2:15.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_unicodedata2:python_unicodedata2:15.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_kaplinskiy_project:unicodedata2:15.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike-kaplinskiy:python-unicodedata2:15.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike-kaplinskiy:python_unicodedata2:15.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_kaplinskiy:python-unicodedata2:15.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_kaplinskiy:python_unicodedata2:15.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_kaplinskiyproject:unicodedata2:15.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-unicodedata2:unicodedata2:15.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_unicodedata2:unicodedata2:15.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:unicodedata2:python-unicodedata2:15.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:unicodedata2:python_unicodedata2:15.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike-kaplinskiy:unicodedata2:15.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_kaplinskiy:unicodedata2:15.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-unicodedata2:15.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_unicodedata2:15.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:unicodedata2:unicodedata2:15.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:unicodedata2:15.1.0:*:*:*:*:*:*:*']",Mike Kaplinskiy ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cytoolz,0.12.2,BSD,PYTHON,"['cpe:2.3:a:https\\:\\/\\/raw_github_com\\/pytoolz\\/cytoolz\\/master\\/authors_md_project:python-cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:https\\:\\/\\/raw_github_com\\/pytoolz\\/cytoolz\\/master\\/authors_md_project:python_cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:https\\:\\/\\/raw_github_com\\/pytoolz\\/cytoolz\\/master\\/authors_mdproject:python-cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:https\\:\\/\\/raw_github_com\\/pytoolz\\/cytoolz\\/master\\/authors_mdproject:python_cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:https\\:\\/\\/raw_github_com\\/pytoolz\\/cytoolz\\/master\\/authors_md_project:cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:https\\:\\/\\/raw_github_com\\/pytoolz\\/cytoolz\\/master\\/authors_md:python-cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:https\\:\\/\\/raw_github_com\\/pytoolz\\/cytoolz\\/master\\/authors_md:python_cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:https\\:\\/\\/raw_github_com\\/pytoolz\\/cytoolz\\/master\\/authors_mdproject:cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:https\\:\\/\\/raw_github_com\\/pytoolz\\/cytoolz\\/master\\/authors_md:cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:erik_n_welch_project:python-cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:erik_n_welch_project:python_cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:erik_n_welchproject:python-cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:erik_n_welchproject:python_cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cytoolz:python-cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cytoolz:python_cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cytoolz:python-cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cytoolz:python_cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:erik_n_welch_project:cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:erik-n-welch:python-cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:erik-n-welch:python_cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:erik_n_welch:python-cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:erik_n_welch:python_cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:erik_n_welchproject:cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:cytoolz:python-cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:cytoolz:python_cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cytoolz:cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cytoolz:cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:erik-n-welch:cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:erik_n_welch:cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:cytoolz:cytoolz:0.12.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:cytoolz:0.12.2:*:*:*:*:*:*:*']",https://raw.github.com/pytoolz/cytoolz/master/AUTHORS.md ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +diffutils,1:3.8-0ubuntu2,GFDL GPL,dpkg,['cpe:2.3:a:diffutils:diffutils:1\\:3.8-0ubuntu2:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +exceptiongroup,1.2.0,Unknown,PYTHON,"['cpe:2.3:a:python-exceptiongroup:python-exceptiongroup:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-exceptiongroup:python_exceptiongroup:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_exceptiongroup:python-exceptiongroup:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_exceptiongroup:python_exceptiongroup:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:exceptiongroup:python-exceptiongroup:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:exceptiongroup:python_exceptiongroup:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-exceptiongroup:exceptiongroup:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_exceptiongroup:exceptiongroup:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:exceptiongroup:exceptiongroup:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-exceptiongroup:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_exceptiongroup:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:exceptiongroup:1.2.0:*:*:*:*:*:*:*']", >,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +fonttools,4.46.0,MIT,PYTHON,"['cpe:2.3:a:just_van_rossum_project:python-fonttools:4.46.0:*:*:*:*:*:*:*', 'cpe:2.3:a:just_van_rossum_project:python_fonttools:4.46.0:*:*:*:*:*:*:*', 'cpe:2.3:a:just_van_rossumproject:python-fonttools:4.46.0:*:*:*:*:*:*:*', 'cpe:2.3:a:just_van_rossumproject:python_fonttools:4.46.0:*:*:*:*:*:*:*', 'cpe:2.3:a:just_van_rossum_project:fonttools:4.46.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-fonttools:python-fonttools:4.46.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-fonttools:python_fonttools:4.46.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_fonttools:python-fonttools:4.46.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_fonttools:python_fonttools:4.46.0:*:*:*:*:*:*:*', 'cpe:2.3:a:just_van_rossum:python-fonttools:4.46.0:*:*:*:*:*:*:*', 'cpe:2.3:a:just_van_rossum:python_fonttools:4.46.0:*:*:*:*:*:*:*', 'cpe:2.3:a:just_van_rossumproject:fonttools:4.46.0:*:*:*:*:*:*:*', 'cpe:2.3:a:just_project:python-fonttools:4.46.0:*:*:*:*:*:*:*', 'cpe:2.3:a:just_project:python_fonttools:4.46.0:*:*:*:*:*:*:*', 'cpe:2.3:a:justproject:python-fonttools:4.46.0:*:*:*:*:*:*:*', 'cpe:2.3:a:justproject:python_fonttools:4.46.0:*:*:*:*:*:*:*', 'cpe:2.3:a:fonttools:python-fonttools:4.46.0:*:*:*:*:*:*:*', 'cpe:2.3:a:fonttools:python_fonttools:4.46.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-fonttools:fonttools:4.46.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_fonttools:fonttools:4.46.0:*:*:*:*:*:*:*', 'cpe:2.3:a:just_van_rossum:fonttools:4.46.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-fonttools:4.46.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_fonttools:4.46.0:*:*:*:*:*:*:*', 'cpe:2.3:a:just_project:fonttools:4.46.0:*:*:*:*:*:*:*', 'cpe:2.3:a:just:python-fonttools:4.46.0:*:*:*:*:*:*:*', 'cpe:2.3:a:just:python_fonttools:4.46.0:*:*:*:*:*:*:*', 'cpe:2.3:a:justproject:fonttools:4.46.0:*:*:*:*:*:*:*', 'cpe:2.3:a:fonttools:fonttools:4.46.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:fonttools:4.46.0:*:*:*:*:*:*:*', 'cpe:2.3:a:just:fonttools:4.46.0:*:*:*:*:*:*:*']",Just van Rossum ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +dpkg-dev,1.21.1ubuntu2.2,BSD-2-clause GPL-2 GPL-2+ public-domain-md5 public-domain-s-s-d,dpkg,"['cpe:2.3:a:dpkg-dev:dpkg-dev:1.21.1ubuntu2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:dpkg-dev:dpkg_dev:1.21.1ubuntu2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:dpkg_dev:dpkg-dev:1.21.1ubuntu2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:dpkg_dev:dpkg_dev:1.21.1ubuntu2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:dpkg:dpkg-dev:1.21.1ubuntu2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:dpkg:dpkg_dev:1.21.1ubuntu2.2:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +fontconfig-config,2.13.1-4.2ubuntu5,Unknown,dpkg,"['cpe:2.3:a:fontconfig-config:fontconfig-config:2.13.1-4.2ubuntu5:*:*:*:*:*:*:*', 'cpe:2.3:a:fontconfig-config:fontconfig_config:2.13.1-4.2ubuntu5:*:*:*:*:*:*:*', 'cpe:2.3:a:fontconfig_config:fontconfig-config:2.13.1-4.2ubuntu5:*:*:*:*:*:*:*', 'cpe:2.3:a:fontconfig_config:fontconfig_config:2.13.1-4.2ubuntu5:*:*:*:*:*:*:*', 'cpe:2.3:a:fontconfig:fontconfig-config:2.13.1-4.2ubuntu5:*:*:*:*:*:*:*', 'cpe:2.3:a:fontconfig:fontconfig_config:2.13.1-4.2ubuntu5:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +g++-11,11.4.0-1ubuntu1~22.04,Artistic GFDL-1.2 GPL GPL-2 GPL-3 LGPL,dpkg,"['cpe:2.3:a:g\\+\\+-11:g\\+\\+-11:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:g\\+\\+-11:g\\+\\+_11:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:g\\+\\+_11:g\\+\\+-11:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:g\\+\\+_11:g\\+\\+_11:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:g\\+\\+:g\\+\\+-11:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:g\\+\\+:g\\+\\+_11:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*']",Ubuntu Core developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +gcc-11,11.4.0-1ubuntu1~22.04,Artistic GFDL-1.2 GPL GPL-2 GPL-3 LGPL,dpkg,"['cpe:2.3:a:gcc-11:gcc-11:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:gcc-11:gcc_11:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:gcc_11:gcc-11:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:gcc_11:gcc_11:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:gcc:gcc-11:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:gcc:gcc_11:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*']",Ubuntu Core developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +certifi,2023.11.17,MPL-2.0,PYTHON,"['cpe:2.3:a:kenneth_reitz_project:python-certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitz_project:python_certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitzproject:python-certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitzproject:python_certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitz_project:certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:python-certifi:python-certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:python-certifi:python_certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:python_certifi:python-certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:python_certifi:python_certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitz:python-certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitz:python_certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitzproject:certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:me_project:python-certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:me_project:python_certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:meproject:python-certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:meproject:python_certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:certifi:python-certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:certifi:python_certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:python-certifi:certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:python_certifi:certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitz:certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:me_project:certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:me:python-certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:me:python_certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:meproject:certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:certifi:certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:python:certifi:2023.11.17:*:*:*:*:*:*:*', 'cpe:2.3:a:me:certifi:2023.11.17:*:*:*:*:*:*:*']",Kenneth Reitz ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cffi,1.16.0,MIT,PYTHON,"['cpe:2.3:a:armin_rigo\\,_maciej_fijalkowski_project:python-cffi:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_rigo\\,_maciej_fijalkowski_project:python_cffi:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_rigo\\,_maciej_fijalkowskiproject:python-cffi:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_rigo\\,_maciej_fijalkowskiproject:python_cffi:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_rigo\\,_maciej_fijalkowski_project:cffi:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_rigo\\,_maciej_fijalkowski:python-cffi:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_rigo\\,_maciej_fijalkowski:python_cffi:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_rigo\\,_maciej_fijalkowskiproject:cffi:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_rigo\\,_maciej_fijalkowski:cffi:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cffi_project:python-cffi:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cffi_project:python_cffi:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cffiproject:python-cffi:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cffiproject:python_cffi:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cffi_project:cffi:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cffi:python-cffi:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cffi:python_cffi:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cffi:python-cffi:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cffi:python_cffi:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cffiproject:cffi:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-cffi:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_cffi:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cffi:python-cffi:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cffi:python_cffi:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cffi:cffi:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cffi:cffi:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:cffi:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cffi:cffi:1.16.0:*:*:*:*:*:*:*']","Armin Rigo, Maciej Fijalkowski ",nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +ncurses-bin,6.3-2ubuntu0.1,BSD-3-clause MIT/X11 X11,dpkg,"['cpe:2.3:a:ncurses-bin:ncurses-bin:6.3-2ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:ncurses-bin:ncurses_bin:6.3-2ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:ncurses_bin:ncurses-bin:6.3-2ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:ncurses_bin:ncurses_bin:6.3-2ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:ncurses:ncurses-bin:6.3-2ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:ncurses:ncurses_bin:6.3-2ubuntu0.1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +base-files,12ubuntu4.4,GPL,dpkg,"['cpe:2.3:a:base-files:base-files:12ubuntu4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:base-files:base_files:12ubuntu4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:base_files:base-files:12ubuntu4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:base_files:base_files:12ubuntu4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:base:base-files:12ubuntu4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:base:base_files:12ubuntu4.4:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libgomp1,12.3.0-1ubuntu1~22.04,Artistic GFDL-1.2 GPL GPL-2 GPL-3 LGPL,dpkg,['cpe:2.3:a:libgomp1:libgomp1:12.3.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*'],Ubuntu Core developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +perl-base,5.34.0-3ubuntu1.3,"Artistic Artistic-2 Artistic-dist BSD-3-clause BSD-3-clause-GENERIC BSD-3-clause-with-weird-numbering BSD-4-clause-POWERDOG BZIP DONT-CHANGE-THE-GPL Expat GPL-1 GPL-1+ GPL-2 GPL-2+ GPL-3+-WITH-BISON-EXCEPTION HSIEH-BSD HSIEH-DERIVATIVE LGPL-2.1 REGCOMP REGCOMP, RRA-KEEP-THIS-NOTICE SDBM-PUBLIC-DOMAIN TEXT-TABS Unicode ZLIB",dpkg,"['cpe:2.3:a:perl-base:perl-base:5.34.0-3ubuntu1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:perl-base:perl_base:5.34.0-3ubuntu1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:perl_base:perl-base:5.34.0-3ubuntu1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:perl_base:perl_base:5.34.0-3ubuntu1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:perl:perl-base:5.34.0-3ubuntu1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:perl:perl_base:5.34.0-3ubuntu1.3:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +bsdutils,1:2.37.2-4ubuntu3,BSD-2-clause BSD-3-clause BSD-4-clause GPL-2 GPL-2+ GPL-3 GPL-3+ LGPL LGPL-2 LGPL-2+ LGPL-2.1 LGPL-2.1+ LGPL-3 LGPL-3+ MIT public-domain,dpkg,['cpe:2.3:a:bsdutils:bsdutils:1\\:2.37.2-4ubuntu3:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +util-linux,2.37.2-4ubuntu3,BSD-2-clause BSD-3-clause BSD-4-clause GPL-2 GPL-2+ GPL-3 GPL-3+ LGPL LGPL-2 LGPL-2+ LGPL-2.1 LGPL-2.1+ LGPL-3 LGPL-3+ MIT public-domain,dpkg,"['cpe:2.3:a:util-linux:util-linux:2.37.2-4ubuntu3:*:*:*:*:*:*:*', 'cpe:2.3:a:util-linux:util_linux:2.37.2-4ubuntu3:*:*:*:*:*:*:*', 'cpe:2.3:a:util_linux:util-linux:2.37.2-4ubuntu3:*:*:*:*:*:*:*', 'cpe:2.3:a:util_linux:util_linux:2.37.2-4ubuntu3:*:*:*:*:*:*:*', 'cpe:2.3:a:util:util-linux:2.37.2-4ubuntu3:*:*:*:*:*:*:*', 'cpe:2.3:a:util:util_linux:2.37.2-4ubuntu3:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libext2fs2,1.46.5-2ubuntu1.1,GPL-2 LGPL-2,dpkg,['cpe:2.3:a:libext2fs2:libext2fs2:1.46.5-2ubuntu1.1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +nb-conda-kernels,2.3.1,Unknown,PYTHON,"['cpe:2.3:a:continuum_analytics_project:python-nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:continuum_analytics_project:python_nb_conda_kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:continuum_analyticsproject:python-nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:continuum_analyticsproject:python_nb_conda_kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-nb-conda-kernels:python-nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-nb-conda-kernels:python_nb_conda_kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_nb_conda_kernels:python-nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_nb_conda_kernels:python_nb_conda_kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:continuum_analytics_project:nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:continuum_analytics_project:nb_conda_kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:continuum_analytics:python-nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:continuum_analytics:python_nb_conda_kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:continuum_analyticsproject:nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:continuum_analyticsproject:nb_conda_kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nb-conda-kernels:python-nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nb-conda-kernels:python_nb_conda_kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nb_conda_kernels:python-nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nb_conda_kernels:python_nb_conda_kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-nb-conda-kernels:nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-nb-conda-kernels:nb_conda_kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_nb_conda_kernels:nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_nb_conda_kernels:nb_conda_kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-nb-conda:python-nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-nb-conda:python_nb_conda_kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_nb_conda:python-nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_nb_conda:python_nb_conda_kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:continuum_analytics:nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:continuum_analytics:nb_conda_kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nb-conda-kernels:nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nb-conda-kernels:nb_conda_kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nb_conda_kernels:nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nb_conda_kernels:nb_conda_kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-nb:python-nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-nb:python_nb_conda_kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_nb:python-nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_nb:python_nb_conda_kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nb-conda:python-nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nb-conda:python_nb_conda_kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nb_conda:python-nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nb_conda:python_nb_conda_kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-nb-conda:nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-nb-conda:nb_conda_kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_nb_conda:nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_nb_conda:nb_conda_kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_nb_conda_kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nb:python-nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nb:python_nb_conda_kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-nb:nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-nb:nb_conda_kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_nb:nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_nb:nb_conda_kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nb-conda:nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nb-conda:nb_conda_kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nb_conda:nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nb_conda:nb_conda_kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:nb_conda_kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nb:nb-conda-kernels:2.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nb:nb_conda_kernels:2.3.1:*:*:*:*:*:*:*']",Continuum Analytics,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libfontconfig1,2.13.1-4.2ubuntu5,Unknown,dpkg,['cpe:2.3:a:libfontconfig1:libfontconfig1:2.13.1-4.2ubuntu5:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +js,1.0.0,ISC,NPM,['cpe:2.3:a:js:js:1.0.0:*:*:*:*:*:*:*'],Unknown,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libfreetype6,2.11.1+dfsg-1ubuntu0.2,BSD-3-Clause BSL-1.0 FSFAP FTL GPL-2 GPL-2+ GPL-3 GPL-3+ MIT OpenGroup-BSD-like Public-Domain Zlib,dpkg,['cpe:2.3:a:libfreetype6:libfreetype6:2.11.1\\+dfsg-1ubuntu0.2:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +Babel,2.13.1,BSD-3-Clause,PYTHON,"['cpe:2.3:a:armin_ronacher_project:python-Babel:2.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacher_project:python_Babel:2.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacherproject:python-Babel:2.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacherproject:python_Babel:2.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacher_project:Babel:2.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:armin-ronacher:python-Babel:2.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:armin-ronacher:python_Babel:2.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacher:python-Babel:2.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacher:python_Babel:2.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacherproject:Babel:2.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-Babel:python-Babel:2.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-Babel:python_Babel:2.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_Babel:python-Babel:2.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_Babel:python_Babel:2.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:armin-ronacher:Babel:2.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacher:Babel:2.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-Babel:2.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_Babel:2.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:Babel:python-Babel:2.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:Babel:python_Babel:2.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-Babel:Babel:2.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_Babel:Babel:2.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:Babel:2.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:Babel:Babel:2.13.1:*:*:*:*:*:*:*']",Armin Ronacher ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libgcc-11-dev,11.4.0-1ubuntu1~22.04,Artistic GFDL-1.2 GPL GPL-2 GPL-3 LGPL,dpkg,"['cpe:2.3:a:libgcc-11-dev:libgcc-11-dev:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:libgcc-11-dev:libgcc_11_dev:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:libgcc_11_dev:libgcc-11-dev:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:libgcc_11_dev:libgcc_11_dev:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:libgcc-11:libgcc-11-dev:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:libgcc-11:libgcc_11_dev:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:libgcc_11:libgcc-11-dev:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:libgcc_11:libgcc_11_dev:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:libgcc:libgcc-11-dev:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:libgcc:libgcc_11_dev:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*']",Ubuntu Core developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +npy-append-array,0.9.16,MIT,PYTHON,"['cpe:2.3:a:michael_siebert2k_project:python-npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_siebert2k_project:python_npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_siebert2kproject:python-npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_siebert2kproject:python_npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_siebert_project:python-npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_siebert_project:python_npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:python-npy-append-array:python-npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:python-npy-append-array:python_npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:python_npy_append_array:python-npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:python_npy_append_array:python_npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_siebertproject:python-npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_siebertproject:python_npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_siebert2k_project:npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_siebert2k_project:npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:michael-siebert2k:python-npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:michael-siebert2k:python_npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_siebert2k:python-npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_siebert2k:python_npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_siebert2kproject:npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_siebert2kproject:npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:python-npy-append:python-npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:python-npy-append:python_npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:python_npy_append:python-npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:python_npy_append:python_npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_siebert_project:npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_siebert_project:npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:npy-append-array:python-npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:npy-append-array:python_npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:npy_append_array:python-npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:npy_append_array:python_npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:python-npy-append-array:npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:python-npy-append-array:npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:python_npy_append_array:npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:python_npy_append_array:npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_siebert:python-npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_siebert:python_npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_siebertproject:npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_siebertproject:npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:michael-siebert2k:npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:michael-siebert2k:npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_siebert2k:npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_siebert2k:npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:npy-append:python-npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:npy-append:python_npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:npy_append:python-npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:npy_append:python_npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:python-npy-append:npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:python-npy-append:npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:python-npy:python-npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:python-npy:python_npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:python_npy:python-npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:python_npy:python_npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:python_npy_append:npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:python_npy_append:npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:npy-append-array:npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:npy-append-array:npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:npy_append_array:npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:npy_append_array:npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_siebert:npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_siebert:npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:npy-append:npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:npy-append:npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:npy:python-npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:npy:python_npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:npy_append:npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:npy_append:npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:python-npy:npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:python-npy:npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:python_npy:npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:python_npy:npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:python:npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:python:npy_append_array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:npy:npy-append-array:0.9.16:*:*:*:*:*:*:*', 'cpe:2.3:a:npy:npy_append_array:0.9.16:*:*:*:*:*:*:*']",Michael Siebert ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libgcc-s1,12.3.0-1ubuntu1~22.04,Artistic GFDL-1.2 GPL GPL-2 GPL-3 LGPL,dpkg,"['cpe:2.3:a:libgcc-s1:libgcc-s1:12.3.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:libgcc-s1:libgcc_s1:12.3.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:libgcc_s1:libgcc-s1:12.3.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:libgcc_s1:libgcc_s1:12.3.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:libgcc:libgcc-s1:12.3.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:libgcc:libgcc_s1:12.3.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*']",Ubuntu Core developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +Brotli,1.0.9,MIT,PYTHON,"['cpe:2.3:a:brotli_authors_project:python-Brotli:1.0.9:*:*:*:*:*:*:*', 'cpe:2.3:a:brotli_authors_project:python_Brotli:1.0.9:*:*:*:*:*:*:*', 'cpe:2.3:a:brotli_authorsproject:python-Brotli:1.0.9:*:*:*:*:*:*:*', 'cpe:2.3:a:brotli_authorsproject:python_Brotli:1.0.9:*:*:*:*:*:*:*', 'cpe:2.3:a:brotli_authors_project:Brotli:1.0.9:*:*:*:*:*:*:*', 'cpe:2.3:a:brotli_authors:python-Brotli:1.0.9:*:*:*:*:*:*:*', 'cpe:2.3:a:brotli_authors:python_Brotli:1.0.9:*:*:*:*:*:*:*', 'cpe:2.3:a:brotli_authorsproject:Brotli:1.0.9:*:*:*:*:*:*:*', 'cpe:2.3:a:python-Brotli:python-Brotli:1.0.9:*:*:*:*:*:*:*', 'cpe:2.3:a:python-Brotli:python_Brotli:1.0.9:*:*:*:*:*:*:*', 'cpe:2.3:a:python_Brotli:python-Brotli:1.0.9:*:*:*:*:*:*:*', 'cpe:2.3:a:python_Brotli:python_Brotli:1.0.9:*:*:*:*:*:*:*', 'cpe:2.3:a:brotli_authors:Brotli:1.0.9:*:*:*:*:*:*:*', 'cpe:2.3:a:Brotli:python-Brotli:1.0.9:*:*:*:*:*:*:*', 'cpe:2.3:a:Brotli:python_Brotli:1.0.9:*:*:*:*:*:*:*', 'cpe:2.3:a:python-Brotli:Brotli:1.0.9:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-Brotli:1.0.9:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_Brotli:1.0.9:*:*:*:*:*:*:*', 'cpe:2.3:a:python_Brotli:Brotli:1.0.9:*:*:*:*:*:*:*', 'cpe:2.3:a:Brotli:Brotli:1.0.9:*:*:*:*:*:*:*', 'cpe:2.3:a:python:Brotli:1.0.9:*:*:*:*:*:*:*']",The Brotli Authors,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libgcrypt20,1.9.4-3ubuntu3,GPL-2 LGPL,dpkg,['cpe:2.3:a:libgcrypt20:libgcrypt20:1.9.4-3ubuntu3:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +numba,0.58.1,BSD,PYTHON,"['cpe:2.3:a:python-numba:python-numba:0.58.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-numba:python_numba:0.58.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_numba:python-numba:0.58.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_numba:python_numba:0.58.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-numba:0.58.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_numba:0.58.1:*:*:*:*:*:*:*', 'cpe:2.3:a:numba:python-numba:0.58.1:*:*:*:*:*:*:*', 'cpe:2.3:a:numba:python_numba:0.58.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-numba:numba:0.58.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_numba:numba:0.58.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:numba:0.58.1:*:*:*:*:*:*:*', 'cpe:2.3:a:numba:numba:0.58.1:*:*:*:*:*:*:*']",Unknown,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +Brotli,1.1.0,MIT,PYTHON,"['cpe:2.3:a:brotli_authors_project:python-Brotli:1.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:brotli_authors_project:python_Brotli:1.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:brotli_authorsproject:python-Brotli:1.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:brotli_authorsproject:python_Brotli:1.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:brotli_authors_project:Brotli:1.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:brotli_authors:python-Brotli:1.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:brotli_authors:python_Brotli:1.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:brotli_authorsproject:Brotli:1.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-Brotli:python-Brotli:1.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-Brotli:python_Brotli:1.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_Brotli:python-Brotli:1.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_Brotli:python_Brotli:1.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:brotli_authors:Brotli:1.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:Brotli:python-Brotli:1.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:Brotli:python_Brotli:1.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-Brotli:Brotli:1.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-Brotli:1.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_Brotli:1.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_Brotli:Brotli:1.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:Brotli:Brotli:1.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:Brotli:1.1.0:*:*:*:*:*:*:*']",The Brotli Authors,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libgdbm-compat4,1.23-1,GFDL-NIV-1.3+ GPL-2 GPL-2+ GPL-3 GPL-3+,dpkg,"['cpe:2.3:a:libgdbm-compat4:libgdbm-compat4:1.23-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libgdbm-compat4:libgdbm_compat4:1.23-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libgdbm_compat4:libgdbm-compat4:1.23-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libgdbm_compat4:libgdbm_compat4:1.23-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libgdbm:libgdbm-compat4:1.23-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libgdbm:libgdbm_compat4:1.23-1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libgdbm6,1.23-1,GFDL-NIV-1.3+ GPL-2 GPL-2+ GPL-3 GPL-3+,dpkg,['cpe:2.3:a:libgdbm6:libgdbm6:1.23-1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libbsd0,0.11.5-1,BSD-2-clause BSD-2-clause-NetBSD BSD-2-clause-author BSD-2-clause-verbatim BSD-3-clause BSD-3-clause-John-Birrell BSD-3-clause-Regents BSD-3-clause-author BSD-4-clause-Christopher-G-Demetriou BSD-4-clause-Niels-Provos BSD-5-clause-Peter-Wemm Beerware Expat ISC ISC-Original public-domain,dpkg,['cpe:2.3:a:libbsd0:libbsd0:0.11.5-1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libglib2.0-0,2.72.4-0ubuntu2.2,Expat GPL-2+ LGPL,dpkg,"['cpe:2.3:a:libglib2.0-0:libglib2.0-0:2.72.4-0ubuntu2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libglib2.0-0:libglib2.0_0:2.72.4-0ubuntu2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libglib2.0_0:libglib2.0-0:2.72.4-0ubuntu2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libglib2.0_0:libglib2.0_0:2.72.4-0ubuntu2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libglib2.0:libglib2.0-0:2.72.4-0ubuntu2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libglib2.0:libglib2.0_0:2.72.4-0ubuntu2.2:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libbz2-1.0,1.0.8-5build1,BSD-variant GPL-2,dpkg,"['cpe:2.3:a:libbz2-1.0:libbz2-1.0:1.0.8-5build1:*:*:*:*:*:*:*', 'cpe:2.3:a:libbz2-1.0:libbz2_1.0:1.0.8-5build1:*:*:*:*:*:*:*', 'cpe:2.3:a:libbz2_1.0:libbz2-1.0:1.0.8-5build1:*:*:*:*:*:*:*', 'cpe:2.3:a:libbz2_1.0:libbz2_1.0:1.0.8-5build1:*:*:*:*:*:*:*', 'cpe:2.3:a:libbz2:libbz2-1.0:1.0.8-5build1:*:*:*:*:*:*:*', 'cpe:2.3:a:libbz2:libbz2_1.0:1.0.8-5build1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +dataclasses,0.8,UNKNOWN,PYTHON,"['cpe:2.3:a:python-dataclasses:python-dataclasses:0.8:*:*:*:*:*:*:*', 'cpe:2.3:a:python-dataclasses:python_dataclasses:0.8:*:*:*:*:*:*:*', 'cpe:2.3:a:python_dataclasses:python-dataclasses:0.8:*:*:*:*:*:*:*', 'cpe:2.3:a:python_dataclasses:python_dataclasses:0.8:*:*:*:*:*:*:*', 'cpe:2.3:a:dataclasses:python-dataclasses:0.8:*:*:*:*:*:*:*', 'cpe:2.3:a:dataclasses:python_dataclasses:0.8:*:*:*:*:*:*:*', 'cpe:2.3:a:python-dataclasses:dataclasses:0.8:*:*:*:*:*:*:*', 'cpe:2.3:a:python_dataclasses:dataclasses:0.8:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-dataclasses:0.8:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_dataclasses:0.8:*:*:*:*:*:*:*', 'cpe:2.3:a:dataclasses:dataclasses:0.8:*:*:*:*:*:*:*', 'cpe:2.3:a:python:dataclasses:0.8:*:*:*:*:*:*:*']",Unknown,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +referencing,0.31.1,MIT,PYTHON,"['cpe:2.3:a:julian\\+referencing_project:python-referencing:0.31.1:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+referencing_project:python_referencing:0.31.1:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+referencingproject:python-referencing:0.31.1:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+referencingproject:python_referencing:0.31.1:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_berman_project:python-referencing:0.31.1:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_berman_project:python_referencing:0.31.1:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_bermanproject:python-referencing:0.31.1:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_bermanproject:python_referencing:0.31.1:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+referencing_project:referencing:0.31.1:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+referencing:python-referencing:0.31.1:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+referencing:python_referencing:0.31.1:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+referencingproject:referencing:0.31.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-referencing:python-referencing:0.31.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-referencing:python_referencing:0.31.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_referencing:python-referencing:0.31.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_referencing:python_referencing:0.31.1:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_berman_project:referencing:0.31.1:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_berman:python-referencing:0.31.1:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_berman:python_referencing:0.31.1:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_bermanproject:referencing:0.31.1:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+referencing:referencing:0.31.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-referencing:referencing:0.31.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_referencing:referencing:0.31.1:*:*:*:*:*:*:*', 'cpe:2.3:a:referencing:python-referencing:0.31.1:*:*:*:*:*:*:*', 'cpe:2.3:a:referencing:python_referencing:0.31.1:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_berman:referencing:0.31.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-referencing:0.31.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_referencing:0.31.1:*:*:*:*:*:*:*', 'cpe:2.3:a:referencing:referencing:0.31.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:referencing:0.31.1:*:*:*:*:*:*:*']",Julian Berman ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +datacompy,0.8.4,Apache Software License,PYTHON,"['cpe:2.3:a:ian_robertson\\,_dan_coates\\,_faisal_dosani_project:python-datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:ian_robertson\\,_dan_coates\\,_faisal_dosani_project:python_datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:ian_robertson\\,_dan_coates\\,_faisal_dosaniproject:python-datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:ian_robertson\\,_dan_coates\\,_faisal_dosaniproject:python_datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:ian_robertson\\,_dan_coates\\,_faisal_dosani_project:datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:ian_robertson\\,_dan_coates\\,_faisal_dosani:python-datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:ian_robertson\\,_dan_coates\\,_faisal_dosani:python_datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:ian_robertson\\,_dan_coates\\,_faisal_dosaniproject:datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:ian_robertson\\,_dan_coates\\,_faisal_dosani:datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:faisal_dosani_project:python-datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:faisal_dosani_project:python_datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:faisal_dosaniproject:python-datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:faisal_dosaniproject:python_datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python-datacompy:python-datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python-datacompy:python_datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_datacompy:python-datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_datacompy:python_datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:faisal_dosani_project:datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:faisal-dosani:python-datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:faisal-dosani:python_datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:faisal_dosani:python-datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:faisal_dosani:python_datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:faisal_dosaniproject:datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:datacompy:python-datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:datacompy:python_datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python-datacompy:datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_datacompy:datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:faisal-dosani:datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:faisal_dosani:datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:datacompy:datacompy:0.8.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python:datacompy:0.8.4:*:*:*:*:*:*:*']","Ian Robertson, Dan Coates, Faisal Dosani ",nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +imagesize,1.4.1,MIT,PYTHON,"['cpe:2.3:a:yoshiki_shibukawa_project:python-imagesize:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:yoshiki_shibukawa_project:python_imagesize:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:yoshiki_shibukawaproject:python-imagesize:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:yoshiki_shibukawaproject:python_imagesize:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:yoshiki_shibukawa_project:imagesize:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:yoshiki_shibukawa:python-imagesize:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:yoshiki_shibukawa:python_imagesize:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:yoshiki_shibukawaproject:imagesize:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-imagesize:python-imagesize:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-imagesize:python_imagesize:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_imagesize:python-imagesize:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_imagesize:python_imagesize:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:yoshiki_project:python-imagesize:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:yoshiki_project:python_imagesize:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:yoshikiproject:python-imagesize:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:yoshikiproject:python_imagesize:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:yoshiki_shibukawa:imagesize:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:imagesize:python-imagesize:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:imagesize:python_imagesize:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-imagesize:imagesize:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_imagesize:imagesize:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:yoshiki_project:imagesize:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:yoshiki:python-imagesize:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:yoshiki:python_imagesize:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:yoshikiproject:imagesize:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-imagesize:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_imagesize:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:imagesize:imagesize:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:yoshiki:imagesize:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:imagesize:1.4.1:*:*:*:*:*:*:*']",Yoshiki Shibukawa ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +dill,0.3.7,BSD-3-Clause,PYTHON,"['cpe:2.3:a:mike_mckerns_project:python-dill:0.3.7:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_mckerns_project:python_dill:0.3.7:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_mckernsproject:python-dill:0.3.7:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_mckernsproject:python_dill:0.3.7:*:*:*:*:*:*:*', 'cpe:2.3:a:mmckerns_project:python-dill:0.3.7:*:*:*:*:*:*:*', 'cpe:2.3:a:mmckerns_project:python_dill:0.3.7:*:*:*:*:*:*:*', 'cpe:2.3:a:mmckernsproject:python-dill:0.3.7:*:*:*:*:*:*:*', 'cpe:2.3:a:mmckernsproject:python_dill:0.3.7:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_mckerns_project:dill:0.3.7:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_mckerns:python-dill:0.3.7:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_mckerns:python_dill:0.3.7:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_mckernsproject:dill:0.3.7:*:*:*:*:*:*:*', 'cpe:2.3:a:python-dill:python-dill:0.3.7:*:*:*:*:*:*:*', 'cpe:2.3:a:python-dill:python_dill:0.3.7:*:*:*:*:*:*:*', 'cpe:2.3:a:python_dill:python-dill:0.3.7:*:*:*:*:*:*:*', 'cpe:2.3:a:python_dill:python_dill:0.3.7:*:*:*:*:*:*:*', 'cpe:2.3:a:mmckerns_project:dill:0.3.7:*:*:*:*:*:*:*', 'cpe:2.3:a:mmckerns:python-dill:0.3.7:*:*:*:*:*:*:*', 'cpe:2.3:a:mmckerns:python_dill:0.3.7:*:*:*:*:*:*:*', 'cpe:2.3:a:mmckernsproject:dill:0.3.7:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-dill:0.3.7:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_dill:0.3.7:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_mckerns:dill:0.3.7:*:*:*:*:*:*:*', 'cpe:2.3:a:dill:python-dill:0.3.7:*:*:*:*:*:*:*', 'cpe:2.3:a:dill:python_dill:0.3.7:*:*:*:*:*:*:*', 'cpe:2.3:a:python-dill:dill:0.3.7:*:*:*:*:*:*:*', 'cpe:2.3:a:python_dill:dill:0.3.7:*:*:*:*:*:*:*', 'cpe:2.3:a:mmckerns:dill:0.3.7:*:*:*:*:*:*:*', 'cpe:2.3:a:python:dill:0.3.7:*:*:*:*:*:*:*', 'cpe:2.3:a:dill:dill:0.3.7:*:*:*:*:*:*:*']",Mike McKerns ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +distributed,2023.3.2.1,BSD,PYTHON,"['cpe:2.3:a:python-distributed:python-distributed:2023.3.2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-distributed:python_distributed:2023.3.2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_distributed:python-distributed:2023.3.2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_distributed:python_distributed:2023.3.2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:distributed:python-distributed:2023.3.2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:distributed:python_distributed:2023.3.2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-distributed:distributed:2023.3.2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_distributed:distributed:2023.3.2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-distributed:2023.3.2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_distributed:2023.3.2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:distributed:distributed:2023.3.2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:distributed:2023.3.2.1:*:*:*:*:*:*:*']",Unknown,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +importlib-metadata,7.0.0,Unknown,PYTHON,"['cpe:2.3:a:python-importlib-metadata:python-importlib-metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-importlib-metadata:python_importlib_metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_importlib_metadata:python-importlib-metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_importlib_metadata:python_importlib_metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jason_r__coombs_project:python-importlib-metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jason_r__coombs_project:python_importlib_metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jason_r__coombsproject:python-importlib-metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jason_r__coombsproject:python_importlib_metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib-metadata:python-importlib-metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib-metadata:python_importlib_metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib_metadata:python-importlib-metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib_metadata:python_importlib_metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-importlib-metadata:importlib-metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-importlib-metadata:importlib_metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_importlib_metadata:importlib-metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_importlib_metadata:importlib_metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jason_r__coombs_project:importlib-metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jason_r__coombs_project:importlib_metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-importlib:python-importlib-metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-importlib:python_importlib_metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_importlib:python-importlib-metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_importlib:python_importlib_metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jason_r__coombs:python-importlib-metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jason_r__coombs:python_importlib_metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jason_r__coombsproject:importlib-metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jason_r__coombsproject:importlib_metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaraco_project:python-importlib-metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaraco_project:python_importlib_metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaracoproject:python-importlib-metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaracoproject:python_importlib_metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib-metadata:importlib-metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib-metadata:importlib_metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib_metadata:importlib-metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib_metadata:importlib_metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib:python-importlib-metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib:python_importlib_metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-importlib:importlib-metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-importlib:importlib_metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_importlib:importlib-metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_importlib:importlib_metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jason_r__coombs:importlib-metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jason_r__coombs:importlib_metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaraco_project:importlib-metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaraco_project:importlib_metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaraco:python-importlib-metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaraco:python_importlib_metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaracoproject:importlib-metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaracoproject:importlib_metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-importlib-metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_importlib_metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib:importlib-metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib:importlib_metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaraco:importlib-metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaraco:importlib_metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:importlib-metadata:7.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:importlib_metadata:7.0.0:*:*:*:*:*:*:*']",Jason R. Coombs ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +docker,5.0.3,Apache License 2.0,PYTHON,"['cpe:2.3:a:python-docker:python-docker:5.0.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python-docker:python_docker:5.0.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python_docker:python-docker:5.0.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python_docker:python_docker:5.0.3:*:*:*:*:*:*:*', 'cpe:2.3:a:docker:python-docker:5.0.3:*:*:*:*:*:*:*', 'cpe:2.3:a:docker:python_docker:5.0.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python-docker:docker:5.0.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-docker:5.0.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_docker:5.0.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python_docker:docker:5.0.3:*:*:*:*:*:*:*', 'cpe:2.3:a:docker:docker:5.0.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python:docker:5.0.3:*:*:*:*:*:*:*']",Unknown,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +docker-pycreds,0.4.0,Apache License 2.0,PYTHON,"['cpe:2.3:a:python-docker-pycreds:python-docker-pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-docker-pycreds:python_docker_pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_docker_pycreds:python-docker-pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_docker_pycreds:python_docker_pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:unknown_project:python-docker-pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:unknown_project:python_docker_pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:docker-pycreds:python-docker-pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:docker-pycreds:python_docker_pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:docker_pycreds:python-docker-pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:docker_pycreds:python_docker_pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-docker-pycreds:docker-pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-docker-pycreds:docker_pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_docker_pycreds:docker-pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_docker_pycreds:docker_pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:unknownproject:python-docker-pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:unknownproject:python_docker_pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-docker:python-docker-pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-docker:python_docker_pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_docker:python-docker-pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_docker:python_docker_pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:unknown_project:docker-pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:unknown_project:docker_pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:docker-pycreds:docker-pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:docker-pycreds:docker_pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:docker_pycreds:docker-pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:docker_pycreds:docker_pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:unknown:python-docker-pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:unknown:python_docker_pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:unknownproject:docker-pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:unknownproject:docker_pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:docker:python-docker-pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:docker:python_docker_pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-docker:docker-pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-docker:docker_pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-docker-pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_docker_pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_docker:docker-pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_docker:docker_pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:unknown:docker-pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:unknown:docker_pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:docker:docker-pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:docker:docker_pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:docker-pycreds:0.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:docker_pycreds:0.4.0:*:*:*:*:*:*:*']",UNKNOWN ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +importlib-resources,6.1.1,Unknown,PYTHON,"['cpe:2.3:a:python-importlib-resources:python-importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-importlib-resources:python_importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_importlib_resources:python-importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_importlib_resources:python_importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_warsaw_project:python-importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_warsaw_project:python_importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_warsawproject:python-importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_warsawproject:python_importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib-resources:python-importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib-resources:python_importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib_resources:python-importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib_resources:python_importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-importlib-resources:importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-importlib-resources:importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_importlib_resources:importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_importlib_resources:importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-importlib:python-importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-importlib:python_importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_importlib:python-importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_importlib:python_importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_project:python-importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_project:python_importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_warsaw_project:importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_warsaw_project:importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_warsaw:python-importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_warsaw:python_importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_warsawproject:importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_warsawproject:importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barryproject:python-importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barryproject:python_importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib-resources:importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib-resources:importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib_resources:importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib_resources:importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib:python-importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib:python_importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-importlib:importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-importlib:importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_importlib:importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_importlib:importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_project:importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_project:importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry:python-importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry:python_importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_warsaw:importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_warsaw:importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barryproject:importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barryproject:importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib:importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib:importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry:importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry:importlib_resources:6.1.1:*:*:*:*:*:*:*']",Barry Warsaw ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +docutils,0.20.1,"public domain, Python, 2-Clause BSD, GPL 3 (see COPYING.txt)",PYTHON,"['cpe:2.3:a:david_goodger_project:python-docutils:0.20.1:*:*:*:*:*:*:*', 'cpe:2.3:a:david_goodger_project:python_docutils:0.20.1:*:*:*:*:*:*:*', 'cpe:2.3:a:david_goodgerproject:python-docutils:0.20.1:*:*:*:*:*:*:*', 'cpe:2.3:a:david_goodgerproject:python_docutils:0.20.1:*:*:*:*:*:*:*', 'cpe:2.3:a:goodger_project:python-docutils:0.20.1:*:*:*:*:*:*:*', 'cpe:2.3:a:goodger_project:python_docutils:0.20.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-docutils:python-docutils:0.20.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-docutils:python_docutils:0.20.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_docutils:python-docutils:0.20.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_docutils:python_docutils:0.20.1:*:*:*:*:*:*:*', 'cpe:2.3:a:david_goodger_project:docutils:0.20.1:*:*:*:*:*:*:*', 'cpe:2.3:a:goodgerproject:python-docutils:0.20.1:*:*:*:*:*:*:*', 'cpe:2.3:a:goodgerproject:python_docutils:0.20.1:*:*:*:*:*:*:*', 'cpe:2.3:a:david_goodger:python-docutils:0.20.1:*:*:*:*:*:*:*', 'cpe:2.3:a:david_goodger:python_docutils:0.20.1:*:*:*:*:*:*:*', 'cpe:2.3:a:david_goodgerproject:docutils:0.20.1:*:*:*:*:*:*:*', 'cpe:2.3:a:docutils:python-docutils:0.20.1:*:*:*:*:*:*:*', 'cpe:2.3:a:docutils:python_docutils:0.20.1:*:*:*:*:*:*:*', 'cpe:2.3:a:goodger_project:docutils:0.20.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-docutils:docutils:0.20.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_docutils:docutils:0.20.1:*:*:*:*:*:*:*', 'cpe:2.3:a:goodger:python-docutils:0.20.1:*:*:*:*:*:*:*', 'cpe:2.3:a:goodger:python_docutils:0.20.1:*:*:*:*:*:*:*', 'cpe:2.3:a:goodgerproject:docutils:0.20.1:*:*:*:*:*:*:*', 'cpe:2.3:a:david_goodger:docutils:0.20.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-docutils:0.20.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_docutils:0.20.1:*:*:*:*:*:*:*', 'cpe:2.3:a:docutils:docutils:0.20.1:*:*:*:*:*:*:*', 'cpe:2.3:a:goodger:docutils:0.20.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:docutils:0.20.1:*:*:*:*:*:*:*']",David Goodger ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +traitlets,5.14.0,"BSD 3-Clause License + + - Copyright (c) 2001-, IPython Development Team + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ""AS IS"" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.",PYTHON,"['cpe:2.3:a:ipython_development_team_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +triton,2.0.0,Unknown,PYTHON,"['cpe:2.3:a:philippe_tillet_project:python-triton:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:philippe_tillet_project:python_triton:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:philippe_tilletproject:python-triton:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:philippe_tilletproject:python_triton:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:philippe_tillet_project:triton:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:philippe_tillet:python-triton:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:philippe_tillet:python_triton:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:philippe_tilletproject:triton:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-triton:python-triton:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-triton:python_triton:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_triton:python-triton:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_triton:python_triton:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:phil_project:python-triton:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:phil_project:python_triton:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:philproject:python-triton:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:philproject:python_triton:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:philippe_tillet:triton:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-triton:triton:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-triton:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_triton:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_triton:triton:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:triton:python-triton:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:triton:python_triton:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:phil_project:triton:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:phil:python-triton:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:phil:python_triton:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:philproject:triton:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:triton:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:triton:triton:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:phil:triton:2.0.0:*:*:*:*:*:*:*']",Philippe Tillet ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +tritonclient,2.26.0,BSD,PYTHON,"['cpe:2.3:a:sw_dl_triton_project:python-tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:sw_dl_triton_project:python_tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_inc__project:python-tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_inc__project:python_tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-tritonclient:python-tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-tritonclient:python_tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_tritonclient:python-tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_tritonclient:python_tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:sw_dl_tritonproject:python-tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:sw_dl_tritonproject:python_tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_inc_project:python-tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_inc_project:python_tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:sw_dl_triton_project:tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_inc__project:tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-tritonclient:tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_tritonclient:tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:sw-dl-triton:python-tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:sw-dl-triton:python_tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:sw_dl_triton:python-tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:sw_dl_triton:python_tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:sw_dl_tritonproject:tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:tritonclient:python-tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:tritonclient:python_tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_inc_:python-tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_inc_:python_tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_inc_project:tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:sw-dl-triton:tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:sw_dl_triton:tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:tritonclient:tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_inc_:tritonclient:2.26.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:tritonclient:2.26.0:*:*:*:*:*:*:*']",NVIDIA Inc. ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libkeyutils1,1.6.1-2ubuntu3,GPL-2 GPL-2+ LGPL-2 LGPL-2+,dpkg,['cpe:2.3:a:libkeyutils1:libkeyutils1:1.6.1-2ubuntu3:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +PyJWT,2.8.0,MIT,PYTHON,"['cpe:2.3:a:jose_padilla_project:python-PyJWT:2.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jose_padilla_project:python_PyJWT:2.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jose_padillaproject:python-PyJWT:2.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jose_padillaproject:python_PyJWT:2.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:hello_project:python-PyJWT:2.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:hello_project:python_PyJWT:2.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jose_padilla_project:PyJWT:2.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:helloproject:python-PyJWT:2.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:helloproject:python_PyJWT:2.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jose_padilla:python-PyJWT:2.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jose_padilla:python_PyJWT:2.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jose_padillaproject:PyJWT:2.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-PyJWT:python-PyJWT:2.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-PyJWT:python_PyJWT:2.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_PyJWT:python-PyJWT:2.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_PyJWT:python_PyJWT:2.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:hello_project:PyJWT:2.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-PyJWT:2.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_PyJWT:2.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:PyJWT:python-PyJWT:2.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:PyJWT:python_PyJWT:2.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:hello:python-PyJWT:2.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:hello:python_PyJWT:2.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:helloproject:PyJWT:2.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jose_padilla:PyJWT:2.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-PyJWT:PyJWT:2.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_PyJWT:PyJWT:2.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:PyJWT:2.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:PyJWT:PyJWT:2.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:hello:PyJWT:2.8.0:*:*:*:*:*:*:*']",Jose Padilla ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +liblcms2-2,2.12~rc1-2build2,GPL-2 GPL-2+ GPL-3 MIT,dpkg,"['cpe:2.3:a:liblcms2-2:liblcms2-2:2.12\\~rc1-2build2:*:*:*:*:*:*:*', 'cpe:2.3:a:liblcms2-2:liblcms2_2:2.12\\~rc1-2build2:*:*:*:*:*:*:*', 'cpe:2.3:a:liblcms2_2:liblcms2-2:2.12\\~rc1-2build2:*:*:*:*:*:*:*', 'cpe:2.3:a:liblcms2_2:liblcms2_2:2.12\\~rc1-2build2:*:*:*:*:*:*:*', 'cpe:2.3:a:liblcms2:liblcms2-2:2.12\\~rc1-2build2:*:*:*:*:*:*:*', 'cpe:2.3:a:liblcms2:liblcms2_2:2.12\\~rc1-2build2:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libacl1,2.3.1-1,GPL-2 GPL-2+ LGPL-2+ LGPL-2.1,dpkg,['cpe:2.3:a:libacl1:libacl1:2.3.1-1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +liblsan0,12.3.0-1ubuntu1~22.04,Artistic GFDL-1.2 GPL GPL-2 GPL-3 LGPL,dpkg,['cpe:2.3:a:liblsan0:liblsan0:12.3.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*'],Ubuntu Core developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libasan6,11.4.0-1ubuntu1~22.04,Artistic GFDL-1.2 GPL GPL-2 GPL-3 LGPL,dpkg,['cpe:2.3:a:libasan6:libasan6:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*'],Ubuntu Core developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +liblzma5,5.2.5-2ubuntu1,Autoconf GPL-2 GPL-2+ GPL-3 LGPL-2 LGPL-2.1 LGPL-2.1+ PD PD-debian config-h noderivs permissive-fsf permissive-nowarranty probably-PD,dpkg,['cpe:2.3:a:liblzma5:liblzma5:5.2.5-2ubuntu1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libmpc3,1.2.1-2build1,LGPL-3,dpkg,['cpe:2.3:a:libmpc3:libmpc3:1.2.1-2build1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +Jinja2,3.1.2,BSD-3-Clause,PYTHON,"['cpe:2.3:a:armin_ronacher_project:python-Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacher_project:python_Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacherproject:python-Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacherproject:python_Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacher_project:Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin-ronacher:python-Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin-ronacher:python_Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacher:python-Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacher:python_Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacherproject:Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-Jinja2:python-Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-Jinja2:python_Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_Jinja2:python-Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_Jinja2:python_Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin-ronacher:Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacher:Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:Jinja2:python-Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:Jinja2:python_Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-Jinja2:Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_Jinja2:Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:Jinja2:Jinja2:3.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:Jinja2:3.1.2:*:*:*:*:*:*:*']",Armin Ronacher ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +Mako,1.3.0,MIT,PYTHON,"['cpe:2.3:a:mike_bayer_project:python-Mako:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_bayer_project:python_Mako:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_bayerproject:python-Mako:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_bayerproject:python_Mako:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_project:python-Mako:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_project:python_Mako:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_bayer_project:Mako:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mikeproject:python-Mako:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mikeproject:python_Mako:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-Mako:python-Mako:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-Mako:python_Mako:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_Mako:python-Mako:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_Mako:python_Mako:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_bayer:python-Mako:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_bayer:python_Mako:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_bayerproject:Mako:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-Mako:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_Mako:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_project:Mako:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:Mako:python-Mako:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:Mako:python_Mako:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike:python-Mako:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike:python_Mako:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mikeproject:Mako:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-Mako:Mako:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_Mako:Mako:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_bayer:Mako:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:Mako:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:Mako:Mako:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike:Mako:1.3.0:*:*:*:*:*:*:*']",Mike Bayer ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +sphinxcontrib-htmlhelp,2.0.4,Unknown,PYTHON,"['cpe:2.3:a:python-sphinxcontrib-htmlhelp:python-sphinxcontrib-htmlhelp:2.0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python-sphinxcontrib-htmlhelp:python_sphinxcontrib_htmlhelp:2.0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_sphinxcontrib_htmlhelp:python-sphinxcontrib-htmlhelp:2.0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_sphinxcontrib_htmlhelp:python_sphinxcontrib_htmlhelp:2.0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:georg_brandl_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +blinker,1.7.0,Unknown,PYTHON,"['cpe:2.3:a:jason_kirtland_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cubinlinker,0.3.0,Unknown,PYTHON,"['cpe:2.3:a:python-cubinlinker:python-cubinlinker:0.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cubinlinker:python_cubinlinker:0.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cubinlinker:python-cubinlinker:0.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cubinlinker:python_cubinlinker:0.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cubinlinker:python-cubinlinker:0.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cubinlinker:python_cubinlinker:0.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cubinlinker:cubinlinker:0.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cubinlinker:cubinlinker:0.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-cubinlinker:0.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_cubinlinker:0.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cubinlinker:cubinlinker:0.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:cubinlinker:0.3.0:*:*:*:*:*:*:*']",Unknown,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +boltons,23.0.0,BSD,PYTHON,"['cpe:2.3:a:mahmoud_hashemi_project:python-boltons:23.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mahmoud_hashemi_project:python_boltons:23.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mahmoud_hashemiproject:python-boltons:23.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mahmoud_hashemiproject:python_boltons:23.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mahmoud_hashemi_project:boltons:23.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mahmoud_hashemi:python-boltons:23.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mahmoud_hashemi:python_boltons:23.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mahmoud_hashemiproject:boltons:23.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mahmoud_project:python-boltons:23.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mahmoud_project:python_boltons:23.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mahmoudproject:python-boltons:23.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mahmoudproject:python_boltons:23.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-boltons:python-boltons:23.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-boltons:python_boltons:23.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_boltons:python-boltons:23.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_boltons:python_boltons:23.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mahmoud_hashemi:boltons:23.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mahmoud_project:boltons:23.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:boltons:python-boltons:23.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:boltons:python_boltons:23.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mahmoud:python-boltons:23.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mahmoud:python_boltons:23.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mahmoudproject:boltons:23.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-boltons:boltons:23.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_boltons:boltons:23.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-boltons:23.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_boltons:23.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:boltons:boltons:23.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mahmoud:boltons:23.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:boltons:23.0.0:*:*:*:*:*:*:*']",Mahmoud Hashemi ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +typing_extensions,4.8.0,Unknown,PYTHON,"['cpe:2.3:a:python-typing-extensions:python-typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing-extensions:python-typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing-extensions:python_typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing_extensions:python-typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing_extensions:python-typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing_extensions:python_typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_typing_extensions:python-typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_typing_extensions:python-typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_typing_extensions:python_typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing-extensions:typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing-extensions:typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing_extensions:typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing_extensions:typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_typing_extensions:typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_typing_extensions:typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing-extensions:python-typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing-extensions:python-typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing-extensions:python_typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing_extensions:python-typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing_extensions:python-typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing_extensions:python_typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing:python-typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing:python-typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing:python_typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_typing:python-typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_typing:python-typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_typing:python_typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing-extensions:typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing-extensions:typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing_extensions:typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing_extensions:typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing:typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing:typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_typing:typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_typing:typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing:python-typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing:python-typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing:python_typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing:typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing:typing_extensions:4.8.0:*:*:*:*:*:*:*']"," <""Guido van Rossum, Jukka Lehtosalo, Łukasz Langa, Michael Lee"" >",nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +idna,3.4,Unknown,PYTHON,"['cpe:2.3:a:kim_davies_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +idna,3.6,Unknown,PYTHON,"['cpe:2.3:a:kim_davies_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +kiwisolver,1.4.5,"========================= + The Kiwi licensing terms + ========================= + Kiwi is licensed under the terms of the Modified BSD License (also known as + New or Revised BSD), as follows: + + Copyright (c) 2013, Nucleic Development Team + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + + Neither the name of the Nucleic Development Team nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ""AS IS"" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + About Kiwi + ---------- + Chris Colbert began the Kiwi project in December 2013 in an effort to + create a blisteringly fast UI constraint solver. Chris is still the + project lead. + + The Nucleic Development Team is the set of all contributors to the Nucleic + project and its subprojects. + + The core team that coordinates development on GitHub can be found here: + http://github.com/nucleic. The current team consists of: + + * Chris Colbert + + Our Copyright Policy + -------------------- + Nucleic uses a shared copyright model. Each contributor maintains copyright + over their contributions to Nucleic. But, it is important to note that these + contributions are typically only changes to the repositories. Thus, the Nucleic + source code, in its entirety is not the copyright of any single person or + institution. Instead, it is the collective copyright of the entire Nucleic + Development Team. If individual contributors want to maintain a record of what + changes/contributions they have specific copyright on, they should indicate + their copyright in the commit message of the change, when they commit the + change to one of the Nucleic repositories. + + With this in mind, the following banner should be used in any source code file + to indicate the copyright and license terms: + + #------------------------------------------------------------------------------ + # Copyright (c) 2013, Nucleic Development Team. + # + # Distributed under the terms of the Modified BSD License. + # + # The full license is in the file LICENSE, distributed with this software. + #------------------------------------------------------------------------------ + ",PYTHON,"['cpe:2.3:a:nucleic_development_team_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libarchive-c,5.0,CC0,PYTHON,"['cpe:2.3:a:python-libarchive-c:python-libarchive-c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-libarchive-c:python_libarchive_c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_libarchive_c:python-libarchive-c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_libarchive_c:python_libarchive_c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-libarchive:python-libarchive-c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-libarchive:python_libarchive_c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_libarchive:python-libarchive-c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_libarchive:python_libarchive_c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:changaco_project:python-libarchive-c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:changaco_project:python_libarchive_c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:changacoproject:python-libarchive-c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:changacoproject:python_libarchive_c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:libarchive-c:python-libarchive-c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:libarchive-c:python_libarchive_c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:libarchive_c:python-libarchive-c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:libarchive_c:python_libarchive_c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-libarchive-c:libarchive-c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-libarchive-c:libarchive_c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_libarchive_c:libarchive-c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_libarchive_c:libarchive_c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:libarchive:python-libarchive-c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:libarchive:python_libarchive_c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-libarchive:libarchive-c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-libarchive:libarchive_c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_libarchive:libarchive-c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_libarchive:libarchive_c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:changaco_project:libarchive-c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:changaco_project:libarchive_c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:changaco:python-libarchive-c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:changaco:python_libarchive_c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:changacoproject:libarchive-c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:changacoproject:libarchive_c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-libarchive-c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_libarchive_c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:libarchive-c:libarchive-c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:libarchive-c:libarchive_c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:libarchive_c:libarchive-c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:libarchive_c:libarchive_c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:libarchive:libarchive-c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:libarchive:libarchive_c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:changaco:libarchive-c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:changaco:libarchive_c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:libarchive-c:5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:libarchive_c:5.0:*:*:*:*:*:*:*']",Changaco ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libmambapy,1.5.0,Unknown,PYTHON,"['cpe:2.3:a:quantstack_project:python-libmambapy:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:quantstack_project:python_libmambapy:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-libmambapy:python-libmambapy:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-libmambapy:python_libmambapy:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_libmambapy:python-libmambapy:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_libmambapy:python_libmambapy:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:quantstackproject:python-libmambapy:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:quantstackproject:python_libmambapy:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:info_project:python-libmambapy:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:info_project:python_libmambapy:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:infoproject:python-libmambapy:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:infoproject:python_libmambapy:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:quantstack_project:libmambapy:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:libmambapy:python-libmambapy:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:libmambapy:python_libmambapy:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-libmambapy:libmambapy:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_libmambapy:libmambapy:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:quantstack:python-libmambapy:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:quantstack:python_libmambapy:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:quantstackproject:libmambapy:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-libmambapy:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_libmambapy:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:info_project:libmambapy:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:info:python-libmambapy:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:info:python_libmambapy:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:infoproject:libmambapy:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:libmambapy:libmambapy:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:quantstack:libmambapy:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:libmambapy:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:info:libmambapy:1.5.0:*:*:*:*:*:*:*']",QuantStack ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +llvmlite,0.41.1,BSD,PYTHON,"['cpe:2.3:a:python-llvmlite:python-llvmlite:0.41.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-llvmlite:python_llvmlite:0.41.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_llvmlite:python-llvmlite:0.41.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_llvmlite:python_llvmlite:0.41.1:*:*:*:*:*:*:*', 'cpe:2.3:a:llvmlite:python-llvmlite:0.41.1:*:*:*:*:*:*:*', 'cpe:2.3:a:llvmlite:python_llvmlite:0.41.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-llvmlite:llvmlite:0.41.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_llvmlite:llvmlite:0.41.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-llvmlite:0.41.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_llvmlite:0.41.1:*:*:*:*:*:*:*', 'cpe:2.3:a:llvmlite:llvmlite:0.41.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:llvmlite:0.41.1:*:*:*:*:*:*:*']",Unknown,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +pip,23.3.1,MIT,PYTHON,"['cpe:2.3:a:pip_developers_project:python-pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:pip_developers_project:python_pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils_sig_project:python-pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils_sig_project:python_pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:pip_developersproject:python-pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:pip_developersproject:python_pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils_sigproject:python-pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils_sigproject:python_pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:pip_developers_project:pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils_sig_project:pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:pip_developers:python-pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:pip_developers:python_pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:pip_developersproject:pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils-sig:python-pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils-sig:python_pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils_sig:python-pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils_sig:python_pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils_sigproject:pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pip:python-pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pip:python_pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pip:python-pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pip:python_pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:pip_developers:pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils-sig:pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils_sig:pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:pypa:python-pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:pypa:python_pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:pip:python-pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:pip:python_pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pip:pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pip:pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:pypa:pip:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:pip:pip:23.3.1:*:*:*:*:*:*:*']",The pip developers ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libgraphite2-3,1.3.14-1build2,Artistic GPL-1 GPL-1+ GPL-2 GPL-2+ LGPL-2.1 LGPL-2.1+ MPL-1.1 custom-sil-open-font-license public-domain,dpkg,"['cpe:2.3:a:libgraphite2-3:libgraphite2-3:1.3.14-1build2:*:*:*:*:*:*:*', 'cpe:2.3:a:libgraphite2-3:libgraphite2_3:1.3.14-1build2:*:*:*:*:*:*:*', 'cpe:2.3:a:libgraphite2_3:libgraphite2-3:1.3.14-1build2:*:*:*:*:*:*:*', 'cpe:2.3:a:libgraphite2_3:libgraphite2_3:1.3.14-1build2:*:*:*:*:*:*:*', 'cpe:2.3:a:libgraphite2:libgraphite2-3:1.3.14-1build2:*:*:*:*:*:*:*', 'cpe:2.3:a:libgraphite2:libgraphite2_3:1.3.14-1build2:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libgssapi-krb5-2,1.19.2-2ubuntu0.3,GPL-2,dpkg,"['cpe:2.3:a:libgssapi-krb5-2:libgssapi-krb5-2:1.19.2-2ubuntu0.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libgssapi-krb5-2:libgssapi_krb5_2:1.19.2-2ubuntu0.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libgssapi_krb5_2:libgssapi-krb5-2:1.19.2-2ubuntu0.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libgssapi_krb5_2:libgssapi_krb5_2:1.19.2-2ubuntu0.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libgssapi-krb5:libgssapi-krb5-2:1.19.2-2ubuntu0.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libgssapi-krb5:libgssapi_krb5_2:1.19.2-2ubuntu0.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libgssapi_krb5:libgssapi-krb5-2:1.19.2-2ubuntu0.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libgssapi_krb5:libgssapi_krb5_2:1.19.2-2ubuntu0.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libgssapi:libgssapi-krb5-2:1.19.2-2ubuntu0.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libgssapi:libgssapi_krb5_2:1.19.2-2ubuntu0.3:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +morpheus,23.11.1,Apache,PYTHON,"['cpe:2.3:a:nvidia_corporation_project:python-morpheus:23.11.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation_project:python_morpheus:23.11.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:python-morpheus:23.11.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:python_morpheus:23.11.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation_project:morpheus:23.11.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:python-morpheus:23.11.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:python_morpheus:23.11.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:morpheus:23.11.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-morpheus:python-morpheus:23.11.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-morpheus:python_morpheus:23.11.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_morpheus:python-morpheus:23.11.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_morpheus:python_morpheus:23.11.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:morpheus:23.11.1:*:*:*:*:*:*:*', 'cpe:2.3:a:morpheus:python-morpheus:23.11.1:*:*:*:*:*:*:*', 'cpe:2.3:a:morpheus:python_morpheus:23.11.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-morpheus:morpheus:23.11.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_morpheus:morpheus:23.11.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-morpheus:23.11.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_morpheus:23.11.1:*:*:*:*:*:*:*', 'cpe:2.3:a:morpheus:morpheus:23.11.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:morpheus:23.11.1:*:*:*:*:*:*:*']",NVIDIA Corporation,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +tomli,2.0.1,Unknown,PYTHON,"['cpe:2.3:a:taneli_hukkinen_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +mpmath,1.3.0,BSD,PYTHON,"['cpe:2.3:a:fredrik_johansson_project:python-mpmath:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:fredrik_johansson_project:python_mpmath:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:fredrik_johanssonproject:python-mpmath:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:fredrik_johanssonproject:python_mpmath:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:fredrik_johansson_project:mpmath:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:fredrik-johansson:python-mpmath:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:fredrik-johansson:python_mpmath:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:fredrik_johansson:python-mpmath:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:fredrik_johansson:python_mpmath:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:fredrik_johanssonproject:mpmath:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-mpmath:python-mpmath:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-mpmath:python_mpmath:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_mpmath:python-mpmath:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_mpmath:python_mpmath:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:fredrik-johansson:mpmath:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:fredrik_johansson:mpmath:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mpmath:python-mpmath:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mpmath:python_mpmath:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-mpmath:mpmath:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-mpmath:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_mpmath:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_mpmath:mpmath:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mpmath:mpmath:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:mpmath:1.3.0:*:*:*:*:*:*:*']",Fredrik Johansson ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +pytz,2023.3.post1,MIT,PYTHON,"['cpe:2.3:a:stuart_bishop_project:python-pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuart_bishop_project:python_pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuart_bishopproject:python-pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuart_bishopproject:python_pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuart_bishop_project:pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuart_project:python-pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuart_project:python_pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuart_bishop:python-pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuart_bishop:python_pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuart_bishopproject:pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuartproject:python-pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuartproject:python_pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pytz:python-pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pytz:python_pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pytz:python-pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pytz:python_pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuart_project:pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuart:python-pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuart:python_pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuart_bishop:pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuartproject:pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pytz:pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pytz:pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:pytz:python-pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:pytz:python_pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:stuart:pytz:2023.3.post1:*:*:*:*:*:*:*', 'cpe:2.3:a:pytz:pytz:2023.3.post1:*:*:*:*:*:*:*']",Stuart Bishop ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libidn2-0,2.3.2-2build1,GPL-2 GPL-2+ GPL-3 GPL-3+ LGPL-3 LGPL-3+ Unicode,dpkg,"['cpe:2.3:a:libidn2-0:libidn2-0:2.3.2-2build1:*:*:*:*:*:*:*', 'cpe:2.3:a:libidn2-0:libidn2_0:2.3.2-2build1:*:*:*:*:*:*:*', 'cpe:2.3:a:libidn2_0:libidn2-0:2.3.2-2build1:*:*:*:*:*:*:*', 'cpe:2.3:a:libidn2_0:libidn2_0:2.3.2-2build1:*:*:*:*:*:*:*', 'cpe:2.3:a:libidn2:libidn2-0:2.3.2-2build1:*:*:*:*:*:*:*', 'cpe:2.3:a:libidn2:libidn2_0:2.3.2-2build1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +pyzmq,25.1.2,LGPL+BSD,PYTHON,"['cpe:2.3:a:brian_e__granger\\,_min_ragan_kelley_project:python-pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:brian_e__granger\\,_min_ragan_kelley_project:python_pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:brian_e__granger\\,_min_ragan_kelleyproject:python-pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:brian_e__granger\\,_min_ragan_kelleyproject:python_pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:brian_e__granger\\,_min_ragan_kelley_project:pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:brian_e__granger\\,_min_ragan_kelley:python-pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:brian_e__granger\\,_min_ragan_kelley:python_pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:brian_e__granger\\,_min_ragan_kelleyproject:pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:brian_e__granger\\,_min_ragan_kelley:pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:zeromq_dev_project:python-pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:zeromq_dev_project:python_pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:zeromq_devproject:python-pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:zeromq_devproject:python_pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pyzmq:python-pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pyzmq:python_pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pyzmq:python-pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pyzmq:python_pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:zeromq_dev_project:pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:zeromq-dev:python-pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:zeromq-dev:python_pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:zeromq_dev:python-pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:zeromq_dev:python_pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:zeromq_devproject:pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pyzmq:pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pyzmq:pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:pyzmq:python-pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:pyzmq:python_pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:zeromq-dev:pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:zeromq_dev:pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:pyzmq:25.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:pyzmq:pyzmq:25.1.2:*:*:*:*:*:*:*']","Brian E. Granger, Min Ragan-Kelley ",nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cudf,23.6.1,Apache 2.0,PYTHON,"['cpe:2.3:a:nvidia_corporation_project:python-cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation_project:python_cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:python-cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:python_cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation_project:cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:python-cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:python_cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cudf:python-cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cudf:python_cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cudf:python-cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cudf:python_cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cudf:python-cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cudf:python_cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cudf:cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cudf:cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:cudf:cudf:23.6.1:*:*:*:*:*:*:*']",NVIDIA Corporation,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libitm1,12.3.0-1ubuntu1~22.04,Artistic GFDL-1.2 GPL GPL-2 GPL-3 LGPL,dpkg,['cpe:2.3:a:libitm1:libitm1:12.3.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*'],Ubuntu Core developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +rich,13.7.0,MIT,PYTHON,"['cpe:2.3:a:will_mcgugan_project:python-rich:13.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:will_mcgugan_project:python_rich:13.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:will_mcguganproject:python-rich:13.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:will_mcguganproject:python_rich:13.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:willmcgugan_project:python-rich:13.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:willmcgugan_project:python_rich:13.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:willmcguganproject:python-rich:13.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:willmcguganproject:python_rich:13.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:will_mcgugan_project:rich:13.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:will_mcgugan:python-rich:13.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:will_mcgugan:python_rich:13.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:will_mcguganproject:rich:13.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:willmcgugan_project:rich:13.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-rich:python-rich:13.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-rich:python_rich:13.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_rich:python-rich:13.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_rich:python_rich:13.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:willmcgugan:python-rich:13.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:willmcgugan:python_rich:13.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:willmcguganproject:rich:13.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-rich:13.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_rich:13.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:will_mcgugan:rich:13.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-rich:rich:13.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_rich:rich:13.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:rich:python-rich:13.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:rich:python_rich:13.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:willmcgugan:rich:13.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:rich:13.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:rich:rich:13.7.0:*:*:*:*:*:*:*']",Will McGugan ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libjpeg-turbo8,2.1.2-0ubuntu1,LGPL-2.1,dpkg,"['cpe:2.3:a:libjpeg-turbo8:libjpeg-turbo8:2.1.2-0ubuntu1:*:*:*:*:*:*:*', 'cpe:2.3:a:libjpeg-turbo8:libjpeg_turbo8:2.1.2-0ubuntu1:*:*:*:*:*:*:*', 'cpe:2.3:a:libjpeg_turbo8:libjpeg-turbo8:2.1.2-0ubuntu1:*:*:*:*:*:*:*', 'cpe:2.3:a:libjpeg_turbo8:libjpeg_turbo8:2.1.2-0ubuntu1:*:*:*:*:*:*:*', 'cpe:2.3:a:libjpeg:libjpeg-turbo8:2.1.2-0ubuntu1:*:*:*:*:*:*:*', 'cpe:2.3:a:libjpeg:libjpeg_turbo8:2.1.2-0ubuntu1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cycler,0.12.1,"Copyright (c) 2015, matplotlib project + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name of the matplotlib project nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ""AS IS"" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.",PYTHON,"['cpe:2.3:a:thomas_a_caswell_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +sysvinit-utils,3.01-1ubuntu1,GPL-2 GPL-2+,dpkg,"['cpe:2.3:a:sysvinit-utils:sysvinit-utils:3.01-1ubuntu1:*:*:*:*:*:*:*', 'cpe:2.3:a:sysvinit-utils:sysvinit_utils:3.01-1ubuntu1:*:*:*:*:*:*:*', 'cpe:2.3:a:sysvinit_utils:sysvinit-utils:3.01-1ubuntu1:*:*:*:*:*:*:*', 'cpe:2.3:a:sysvinit_utils:sysvinit_utils:3.01-1ubuntu1:*:*:*:*:*:*:*', 'cpe:2.3:a:sysvinit:sysvinit-utils:3.01-1ubuntu1:*:*:*:*:*:*:*', 'cpe:2.3:a:sysvinit:sysvinit_utils:3.01-1ubuntu1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libasound2-data,1.2.6.1-1ubuntu1,LGPL-2.1 LPGL-2.1+,dpkg,"['cpe:2.3:a:libasound2-data:libasound2-data:1.2.6.1-1ubuntu1:*:*:*:*:*:*:*', 'cpe:2.3:a:libasound2-data:libasound2_data:1.2.6.1-1ubuntu1:*:*:*:*:*:*:*', 'cpe:2.3:a:libasound2_data:libasound2-data:1.2.6.1-1ubuntu1:*:*:*:*:*:*:*', 'cpe:2.3:a:libasound2_data:libasound2_data:1.2.6.1-1ubuntu1:*:*:*:*:*:*:*', 'cpe:2.3:a:libasound2:libasound2-data:1.2.6.1-1ubuntu1:*:*:*:*:*:*:*', 'cpe:2.3:a:libasound2:libasound2_data:1.2.6.1-1ubuntu1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +tar,1.34+dfsg-1ubuntu0.1.22.04.1,GPL-2 GPL-3,dpkg,['cpe:2.3:a:tar:tar:1.34\\+dfsg-1ubuntu0.1.22.04.1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +charset-normalizer,3.2.0,MIT,PYTHON,"['cpe:2.3:a:python-charset-normalizer:python-charset-normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-charset-normalizer:python_charset_normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_charset_normalizer:python-charset-normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_charset_normalizer:python_charset_normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed_tahri_project:python-charset-normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed_tahri_project:python_charset_normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed_tahriproject:python-charset-normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed_tahriproject:python_charset_normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:charset-normalizer:python-charset-normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:charset-normalizer:python_charset_normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:charset_normalizer:python-charset-normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:charset_normalizer:python_charset_normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-charset-normalizer:charset-normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-charset-normalizer:charset_normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_charset_normalizer:charset-normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_charset_normalizer:charset_normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-charset:python-charset-normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-charset:python_charset_normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_charset:python-charset-normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_charset:python_charset_normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed_tahri_project:charset-normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed_tahri_project:charset_normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed-tahri:python-charset-normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed-tahri:python_charset_normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed_tahri:python-charset-normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed_tahri:python_charset_normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed_tahriproject:charset-normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed_tahriproject:charset_normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:charset-normalizer:charset-normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:charset-normalizer:charset_normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:charset_normalizer:charset-normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:charset_normalizer:charset_normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:charset:python-charset-normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:charset:python_charset_normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-charset:charset-normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-charset:charset_normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_charset:charset-normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_charset:charset_normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-charset-normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_charset_normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed-tahri:charset-normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed-tahri:charset_normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed_tahri:charset-normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed_tahri:charset_normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:charset:charset-normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:charset:charset_normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:charset-normalizer:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:charset_normalizer:3.2.0:*:*:*:*:*:*:*']",Ahmed TAHRI ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cryptography,41.0.3,Apache-2.0 OR BSD-3-Clause,PYTHON,"['cpe:2.3:a:python_cryptographic_authority_and_individual_contributors_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +charset-normalizer,3.3.2,MIT,PYTHON,"['cpe:2.3:a:python-charset-normalizer:python-charset-normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-charset-normalizer:python_charset_normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_charset_normalizer:python-charset-normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_charset_normalizer:python_charset_normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed_tahri_project:python-charset-normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed_tahri_project:python_charset_normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed_tahriproject:python-charset-normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed_tahriproject:python_charset_normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:charset-normalizer:python-charset-normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:charset-normalizer:python_charset_normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:charset_normalizer:python-charset-normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:charset_normalizer:python_charset_normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-charset-normalizer:charset-normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-charset-normalizer:charset_normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_charset_normalizer:charset-normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_charset_normalizer:charset_normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-charset:python-charset-normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-charset:python_charset_normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_charset:python-charset-normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_charset:python_charset_normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed_tahri_project:charset-normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed_tahri_project:charset_normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed-tahri:python-charset-normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed-tahri:python_charset_normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed_tahri:python-charset-normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed_tahri:python_charset_normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed_tahriproject:charset-normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed_tahriproject:charset_normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:charset-normalizer:charset-normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:charset-normalizer:charset_normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:charset_normalizer:charset-normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:charset_normalizer:charset_normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:charset:python-charset-normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:charset:python_charset_normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-charset:charset-normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-charset:charset_normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_charset:charset-normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_charset:charset_normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-charset-normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_charset_normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed-tahri:charset-normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed-tahri:charset_normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed_tahri:charset-normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:ahmed_tahri:charset_normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:charset:charset-normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:charset:charset_normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:charset-normalizer:3.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:charset_normalizer:3.3.2:*:*:*:*:*:*:*']",Ahmed TAHRI ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libattr1,1:2.5.1-1build1,GPL-2 GPL-2+ LGPL-2+ LGPL-2.1,dpkg,['cpe:2.3:a:libattr1:libattr1:1\\:2.5.1-1build1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libseccomp2,2.5.3-2ubuntu2,LGPL-2.1,dpkg,['cpe:2.3:a:libseccomp2:libseccomp2:2.5.3-2ubuntu2:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libselinux1,3.3-1build2,GPL-2 LGPL-2.1,dpkg,['cpe:2.3:a:libselinux1:libselinux1:3.3-1build2:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +colorama,0.4.6,Unknown,PYTHON,"['cpe:2.3:a:jonathan_hartley_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libbinutils,2.38-4ubuntu2.3,GFDL GPL LGPL,dpkg,['cpe:2.3:a:libbinutils:libbinutils:2.38-4ubuntu2.3:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libblkid1,2.37.2-4ubuntu3,BSD-2-clause BSD-3-clause BSD-4-clause GPL-2 GPL-2+ GPL-3 GPL-3+ LGPL LGPL-2 LGPL-2+ LGPL-2.1 LGPL-2.1+ LGPL-3 LGPL-3+ MIT public-domain,dpkg,['cpe:2.3:a:libblkid1:libblkid1:2.37.2-4ubuntu3:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libsmartcols1,2.37.2-4ubuntu3,BSD-2-clause BSD-3-clause BSD-4-clause GPL-2 GPL-2+ GPL-3 GPL-3+ LGPL LGPL-2 LGPL-2+ LGPL-2.1 LGPL-2.1+ LGPL-3 LGPL-3+ MIT public-domain,dpkg,['cpe:2.3:a:libsmartcols1:libsmartcols1:2.37.2-4ubuntu3:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libss2,1.46.5-2ubuntu1.1,Unknown,dpkg,['cpe:2.3:a:libss2:libss2:1.46.5-2ubuntu1.1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +bzip2,1.0.8-5build1,BSD-variant GPL-2,dpkg,['cpe:2.3:a:bzip2:bzip2:1.0.8-5build1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libnuma1,2.0.14-3ubuntu2,GPL LGPL,dpkg,['cpe:2.3:a:libnuma1:libnuma1:2.0.14-3ubuntu2:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cuda-toolkit-11-8-config-common,11.8.89-1,Unknown,dpkg,"['cpe:2.3:a:cuda-toolkit-11-8-config-common:cuda-toolkit-11-8-config-common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-toolkit-11-8-config-common:cuda_toolkit_11_8_config_common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_toolkit_11_8_config_common:cuda-toolkit-11-8-config-common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_toolkit_11_8_config_common:cuda_toolkit_11_8_config_common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-toolkit-11-8-config:cuda-toolkit-11-8-config-common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-toolkit-11-8-config:cuda_toolkit_11_8_config_common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_toolkit_11_8_config:cuda-toolkit-11-8-config-common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_toolkit_11_8_config:cuda_toolkit_11_8_config_common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-toolkit-11-8:cuda-toolkit-11-8-config-common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-toolkit-11-8:cuda_toolkit_11_8_config_common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_toolkit_11_8:cuda-toolkit-11-8-config-common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_toolkit_11_8:cuda_toolkit_11_8_config_common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-toolkit-11:cuda-toolkit-11-8-config-common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-toolkit-11:cuda_toolkit_11_8_config_common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_toolkit_11:cuda-toolkit-11-8-config-common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_toolkit_11:cuda_toolkit_11_8_config_common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-toolkit:cuda-toolkit-11-8-config-common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-toolkit:cuda_toolkit_11_8_config_common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_toolkit:cuda-toolkit-11-8-config-common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_toolkit:cuda_toolkit_11_8_config_common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda-toolkit-11-8-config-common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda_toolkit_11_8_config_common:11.8.89-1:*:*:*:*:*:*:*']",cudatools (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +entrypoints,0.4,Unknown,PYTHON,"['cpe:2.3:a:thomas_kluyver_project:python-entrypoints:0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_kluyver_project:python_entrypoints:0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_kluyverproject:python-entrypoints:0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_kluyverproject:python_entrypoints:0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python-entrypoints:python-entrypoints:0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python-entrypoints:python_entrypoints:0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_entrypoints:python-entrypoints:0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_entrypoints:python_entrypoints:0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_kluyver_project:entrypoints:0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_kluyver:python-entrypoints:0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_kluyver:python_entrypoints:0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_kluyverproject:entrypoints:0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_project:python-entrypoints:0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_project:python_entrypoints:0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:thomasproject:python-entrypoints:0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:thomasproject:python_entrypoints:0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:entrypoints:python-entrypoints:0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:entrypoints:python_entrypoints:0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python-entrypoints:entrypoints:0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_entrypoints:entrypoints:0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_kluyver:entrypoints:0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_project:entrypoints:0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-entrypoints:0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_entrypoints:0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas:python-entrypoints:0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas:python_entrypoints:0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:thomasproject:entrypoints:0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:entrypoints:entrypoints:0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python:entrypoints:0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas:entrypoints:0.4:*:*:*:*:*:*:*']",Thomas Kluyver ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libc6,2.35-0ubuntu3.5,GFDL-1.3 GPL-2 LGPL-2.1,dpkg,['cpe:2.3:a:libc6:libc6:2.35-0ubuntu3.5:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +findutils,4.8.0-1ubuntu3,GFDL-1.3 GPL-3,dpkg,['cpe:2.3:a:findutils:findutils:4.8.0-1ubuntu3:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +g++,4:11.2.0-1ubuntu1,GPL-2,dpkg,['cpe:2.3:a:g\\+\\+:g\\+\\+:4\\:11.2.0-1ubuntu1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libcublas-11-8,11.11.3.6-1,Unknown,dpkg,"['cpe:2.3:a:libcublas-11-8:libcublas-11-8:11.11.3.6-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcublas-11-8:libcublas_11_8:11.11.3.6-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcublas_11_8:libcublas-11-8:11.11.3.6-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcublas_11_8:libcublas_11_8:11.11.3.6-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcublas-11:libcublas-11-8:11.11.3.6-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcublas-11:libcublas_11_8:11.11.3.6-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcublas_11:libcublas-11-8:11.11.3.6-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcublas_11:libcublas_11_8:11.11.3.6-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcublas:libcublas-11-8:11.11.3.6-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcublas:libcublas_11_8:11.11.3.6-1:*:*:*:*:*:*:*']",cudatools (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libcom-err2,1.46.5-2ubuntu1.1,Unknown,dpkg,"['cpe:2.3:a:libcom-err2:libcom-err2:1.46.5-2ubuntu1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcom-err2:libcom_err2:1.46.5-2ubuntu1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcom_err2:libcom-err2:1.46.5-2ubuntu1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcom_err2:libcom_err2:1.46.5-2ubuntu1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcom:libcom-err2:1.46.5-2ubuntu1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcom:libcom_err2:1.46.5-2ubuntu1.1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +ncurses-base,6.3-2ubuntu0.1,BSD-3-clause MIT/X11 X11,dpkg,"['cpe:2.3:a:ncurses-base:ncurses-base:6.3-2ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:ncurses-base:ncurses_base:6.3-2ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:ncurses_base:ncurses-base:6.3-2ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:ncurses_base:ncurses_base:6.3-2ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:ncurses:ncurses-base:6.3-2ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:ncurses:ncurses_base:6.3-2ubuntu0.1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libcups2,2.4.1op1-1ubuntu4.7,Apache-2.0 Apache-2.0-with-GPL2-LGPL2-Exception BSD-2-Clause FSFUL Zlib,dpkg,['cpe:2.3:a:libcups2:libcups2:2.4.1op1-1ubuntu4.7:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +apt,2.4.11,GPL-2 GPLv2+,dpkg,['cpe:2.3:a:apt:apt:2.4.11:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libcrypt-dev,1:4.4.27-1,Unknown,dpkg,"['cpe:2.3:a:libcrypt-dev:libcrypt-dev:1\\:4.4.27-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcrypt-dev:libcrypt_dev:1\\:4.4.27-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcrypt_dev:libcrypt-dev:1\\:4.4.27-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcrypt_dev:libcrypt_dev:1\\:4.4.27-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcrypt:libcrypt-dev:1\\:4.4.27-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcrypt:libcrypt_dev:1\\:4.4.27-1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +base-passwd,3.5.52build1,GPL-2 public-domain,dpkg,"['cpe:2.3:a:base-passwd:base-passwd:3.5.52build1:*:*:*:*:*:*:*', 'cpe:2.3:a:base-passwd:base_passwd:3.5.52build1:*:*:*:*:*:*:*', 'cpe:2.3:a:base_passwd:base-passwd:3.5.52build1:*:*:*:*:*:*:*', 'cpe:2.3:a:base_passwd:base_passwd:3.5.52build1:*:*:*:*:*:*:*', 'cpe:2.3:a:base:base-passwd:3.5.52build1:*:*:*:*:*:*:*', 'cpe:2.3:a:base:base_passwd:3.5.52build1:*:*:*:*:*:*:*']",Colin Watson (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libcurand-11-8,10.3.0.86-1,Unknown,dpkg,"['cpe:2.3:a:libcurand-11-8:libcurand-11-8:10.3.0.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcurand-11-8:libcurand_11_8:10.3.0.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcurand_11_8:libcurand-11-8:10.3.0.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcurand_11_8:libcurand_11_8:10.3.0.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcurand-11:libcurand-11-8:10.3.0.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcurand-11:libcurand_11_8:10.3.0.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcurand_11:libcurand-11-8:10.3.0.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcurand_11:libcurand_11_8:10.3.0.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcurand:libcurand-11-8:10.3.0.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcurand:libcurand_11_8:10.3.0.86-1:*:*:*:*:*:*:*']",cudatools (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +openssl,3.0.2-0ubuntu1.12,Apache-2.0 Artistic GPL-1 GPL-1+,dpkg,['cpe:2.3:a:openssl:openssl:3.0.2-0ubuntu1.12:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libdbus-1-3,1.12.20-2ubuntu4.1,AFL-2.1 BSD-3-clause BSD-3-clause-generic Expat GPL-2 GPL-2+ Tcl-BSDish g10-permissive,dpkg,"['cpe:2.3:a:libdbus-1-3:libdbus-1-3:1.12.20-2ubuntu4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libdbus-1-3:libdbus_1_3:1.12.20-2ubuntu4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libdbus_1_3:libdbus-1-3:1.12.20-2ubuntu4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libdbus_1_3:libdbus_1_3:1.12.20-2ubuntu4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libdbus-1:libdbus-1-3:1.12.20-2ubuntu4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libdbus-1:libdbus_1_3:1.12.20-2ubuntu4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libdbus_1:libdbus-1-3:1.12.20-2ubuntu4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libdbus_1:libdbus_1_3:1.12.20-2ubuntu4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libdbus:libdbus-1-3:1.12.20-2ubuntu4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libdbus:libdbus_1_3:1.12.20-2ubuntu4.1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +patch,2.7.6-7build2,GPL,dpkg,['cpe:2.3:a:patch:patch:2.7.6-7build2:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cuda-cudart-dev-11-8,11.8.89-1,Unknown,dpkg,"['cpe:2.3:a:cuda-cudart-dev-11-8:cuda-cudart-dev-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cudart-dev-11-8:cuda_cudart_dev_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cudart_dev_11_8:cuda-cudart-dev-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cudart_dev_11_8:cuda_cudart_dev_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cudart-dev-11:cuda-cudart-dev-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cudart-dev-11:cuda_cudart_dev_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cudart_dev_11:cuda-cudart-dev-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cudart_dev_11:cuda_cudart_dev_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cudart-dev:cuda-cudart-dev-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cudart-dev:cuda_cudart_dev_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cudart_dev:cuda-cudart-dev-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cudart_dev:cuda_cudart_dev_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cudart:cuda-cudart-dev-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cudart:cuda_cudart_dev_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cudart:cuda-cudart-dev-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cudart:cuda_cudart_dev_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda-cudart-dev-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda_cudart_dev_11_8:11.8.89-1:*:*:*:*:*:*:*']",cudatools (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libmpfr6,4.1.0-3build3,LGPL-3,dpkg,['cpe:2.3:a:libmpfr6:libmpfr6:4.1.0-3build3:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cuda-compat-11-8,520.61.05-1,Unknown,dpkg,"['cpe:2.3:a:cuda-compat-11-8:cuda-compat-11-8:520.61.05-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-compat-11-8:cuda_compat_11_8:520.61.05-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_compat_11_8:cuda-compat-11-8:520.61.05-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_compat_11_8:cuda_compat_11_8:520.61.05-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-compat-11:cuda-compat-11-8:520.61.05-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-compat-11:cuda_compat_11_8:520.61.05-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_compat_11:cuda-compat-11-8:520.61.05-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_compat_11:cuda_compat_11_8:520.61.05-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-compat:cuda-compat-11-8:520.61.05-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-compat:cuda_compat_11_8:520.61.05-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_compat:cuda-compat-11-8:520.61.05-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_compat:cuda_compat_11_8:520.61.05-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda-compat-11-8:520.61.05-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda_compat_11_8:520.61.05-1:*:*:*:*:*:*:*']",cudatools (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libnsl2,1.3.0-2build2,BSD-3-clause GPL-2 GPL-2+-autoconf-exception GPL-2+-libtool-exception GPL-3 GPL-3+-autoconf-exception LGPL-2.1 LGPL-2.1+ MIT permissive-autoconf-m4 permissive-autoconf-m4-no-warranty permissive-configure permissive-fsf permissive-makefile-in,dpkg,['cpe:2.3:a:libnsl2:libnsl2:1.3.0-2build2:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +fastrlock,0.8.2,MIT style,PYTHON,"['cpe:2.3:a:stefan_behnel_project:python-fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan_behnel_project:python_fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan_behnelproject:python-fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan_behnelproject:python_fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan_ml_project:python-fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan_ml_project:python_fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-fastrlock:python-fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-fastrlock:python_fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_fastrlock:python-fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_fastrlock:python_fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan_mlproject:python-fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan_mlproject:python_fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan_behnel_project:fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan_behnel:python-fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan_behnel:python_fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan_behnelproject:fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan_ml_project:fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:fastrlock:python-fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:fastrlock:python_fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-fastrlock:fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_fastrlock:fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan-ml:python-fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan-ml:python_fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan_ml:python-fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan_ml:python_fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan_mlproject:fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan_behnel:fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:fastrlock:fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan-ml:fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan_ml:fastrlock:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:fastrlock:0.8.2:*:*:*:*:*:*:*']",Stefan Behnel ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libcap2,1:2.44-1ubuntu0.22.04.1,BSD-3-clause GPL-2 GPL-2+,dpkg,['cpe:2.3:a:libcap2:libcap2:1\\:2.44-1ubuntu0.22.04.1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +gnupg-l10n,2.2.27-3ubuntu2.1,BSD-3-clause CC0-1.0 Expat GPL-3 GPL-3+ LGPL-2.1 LGPL-2.1+ LGPL-3 LGPL-3+ RFC-Reference TinySCHEME permissive,dpkg,"['cpe:2.3:a:gnupg-l10n:gnupg-l10n:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gnupg-l10n:gnupg_l10n:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gnupg_l10n:gnupg-l10n:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gnupg_l10n:gnupg_l10n:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gnupg:gnupg-l10n:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gnupg:gnupg_l10n:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +gnupg-utils,2.2.27-3ubuntu2.1,BSD-3-clause CC0-1.0 Expat GPL-3 GPL-3+ LGPL-2.1 LGPL-2.1+ LGPL-3 LGPL-3+ RFC-Reference TinySCHEME permissive,dpkg,"['cpe:2.3:a:gnupg-utils:gnupg-utils:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gnupg-utils:gnupg_utils:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gnupg_utils:gnupg-utils:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gnupg_utils:gnupg_utils:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gnupg:gnupg-utils:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gnupg:gnupg_utils:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +gpg-agent,2.2.27-3ubuntu2.1,BSD-3-clause CC0-1.0 Expat GPL-3 GPL-3+ LGPL-2.1 LGPL-2.1+ LGPL-3 LGPL-3+ RFC-Reference TinySCHEME permissive,dpkg,"['cpe:2.3:a:gpg-agent:gpg-agent:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gpg-agent:gpg_agent:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gpg_agent:gpg-agent:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gpg_agent:gpg_agent:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gpg:gpg-agent:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*', 'cpe:2.3:a:gpg:gpg_agent:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libc-dev-bin,2.35-0ubuntu3.5,GFDL-1.3 GPL-2 LGPL-2.1,dpkg,"['cpe:2.3:a:libc-dev-bin:libc-dev-bin:2.35-0ubuntu3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:libc-dev-bin:libc_dev_bin:2.35-0ubuntu3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:libc_dev_bin:libc-dev-bin:2.35-0ubuntu3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:libc_dev_bin:libc_dev_bin:2.35-0ubuntu3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:libc-dev:libc-dev-bin:2.35-0ubuntu3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:libc-dev:libc_dev_bin:2.35-0ubuntu3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:libc_dev:libc-dev-bin:2.35-0ubuntu3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:libc_dev:libc_dev_bin:2.35-0ubuntu3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:libc:libc-dev-bin:2.35-0ubuntu3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:libc:libc_dev_bin:2.35-0ubuntu3.5:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libcusolver-11-8,11.4.1.48-1,Unknown,dpkg,"['cpe:2.3:a:libcusolver-11-8:libcusolver-11-8:11.4.1.48-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcusolver-11-8:libcusolver_11_8:11.4.1.48-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcusolver_11_8:libcusolver-11-8:11.4.1.48-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcusolver_11_8:libcusolver_11_8:11.4.1.48-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcusolver-11:libcusolver-11-8:11.4.1.48-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcusolver-11:libcusolver_11_8:11.4.1.48-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcusolver_11:libcusolver-11-8:11.4.1.48-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcusolver_11:libcusolver_11_8:11.4.1.48-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcusolver:libcusolver-11-8:11.4.1.48-1:*:*:*:*:*:*:*', 'cpe:2.3:a:libcusolver:libcusolver_11_8:11.4.1.48-1:*:*:*:*:*:*:*']",cudatools (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libcbor0.8,0.8.0-2ubuntu1,Apache-2.0 Expat,dpkg,['cpe:2.3:a:libcbor0.8:libcbor0.8:0.8.0-2ubuntu1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +prometheus-flask-exporter,0.23.0,MIT,PYTHON,"['cpe:2.3:a:python-prometheus-flask-exporter:python-prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-prometheus-flask-exporter:python_prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_prometheus_flask_exporter:python-prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_prometheus_flask_exporter:python_prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus-flask-exporter:python-prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus-flask-exporter:python_prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus_flask_exporter:python-prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus_flask_exporter:python_prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-prometheus-flask-exporter:prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-prometheus-flask-exporter:prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_prometheus_flask_exporter:prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_prometheus_flask_exporter:prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-prometheus-flask:python-prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-prometheus-flask:python_prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_prometheus_flask:python-prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_prometheus_flask:python_prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:viktor_adam_project:python-prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:viktor_adam_project:python_prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus-flask-exporter:prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus-flask-exporter:prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus_flask_exporter:prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus_flask_exporter:prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:viktor_adamproject:python-prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:viktor_adamproject:python_prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-prometheus:python-prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-prometheus:python_prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_prometheus:python-prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_prometheus:python_prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus-flask:python-prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus-flask:python_prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus_flask:python-prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus_flask:python_prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-prometheus-flask:prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-prometheus-flask:prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_prometheus_flask:prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_prometheus_flask:prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:rycus86_project:python-prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:rycus86_project:python_prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:rycus86project:python-prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:rycus86project:python_prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:viktor_adam_project:prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:viktor_adam_project:prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:viktor_adam:python-prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:viktor_adam:python_prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:viktor_adamproject:prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:viktor_adamproject:prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus:python-prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus:python_prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-prometheus:prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-prometheus:prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_prometheus:prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_prometheus:prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus-flask:prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus-flask:prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus_flask:prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus_flask:prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:rycus86_project:prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:rycus86_project:prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:rycus86:python-prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:rycus86:python_prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:rycus86project:prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:rycus86project:prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:viktor_adam:prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:viktor_adam:prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus:prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:prometheus:prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:rycus86:prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:rycus86:prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:prometheus-flask-exporter:0.23.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:prometheus_flask_exporter:0.23.0:*:*:*:*:*:*:*']",Viktor Adam ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libdpkg-perl,1.21.1ubuntu2.2,BSD-2-clause GPL-2 GPL-2+ public-domain-md5 public-domain-s-s-d,dpkg,"['cpe:2.3:a:libdpkg-perl:libdpkg-perl:1.21.1ubuntu2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libdpkg-perl:libdpkg_perl:1.21.1ubuntu2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libdpkg_perl:libdpkg-perl:1.21.1ubuntu2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libdpkg_perl:libdpkg_perl:1.21.1ubuntu2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libdpkg:libdpkg-perl:1.21.1ubuntu2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libdpkg:libdpkg_perl:1.21.1ubuntu2.2:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +binutils-common,2.38-4ubuntu2.3,GFDL GPL LGPL,dpkg,"['cpe:2.3:a:binutils-common:binutils-common:2.38-4ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:binutils-common:binutils_common:2.38-4ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:binutils_common:binutils-common:2.38-4ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:binutils_common:binutils_common:2.38-4ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:binutils:binutils-common:2.38-4ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:binutils:binutils_common:2.38-4ubuntu2.3:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +conda,23.3.1,BSD-3-Clause,PYTHON,"['cpe:2.3:a:anaconda\\,_inc__project:python-conda:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anaconda\\,_inc__project:python_conda:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anaconda\\,_inc_project:python-conda:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anaconda\\,_inc_project:python_conda:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anaconda\\,_inc__project:conda:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anaconda\\,_inc_:python-conda:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anaconda\\,_inc_:python_conda:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anaconda\\,_inc_project:conda:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:conda_project:python-conda:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:conda_project:python_conda:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:condaproject:python-conda:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:condaproject:python_conda:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-conda:python-conda:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-conda:python_conda:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_conda:python-conda:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_conda:python_conda:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anaconda\\,_inc_:conda:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:conda_project:conda:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-conda:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_conda:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:conda:python-conda:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:conda:python_conda:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:condaproject:conda:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-conda:conda:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_conda:conda:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:conda:23.3.1:*:*:*:*:*:*:*', 'cpe:2.3:a:conda:conda:23.3.1:*:*:*:*:*:*:*']","Anaconda, Inc. ",nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +binutils-x86-64-linux-gnu,2.38-4ubuntu2.3,GFDL GPL LGPL,dpkg,"['cpe:2.3:a:binutils-x86-64-linux-gnu:binutils-x86-64-linux-gnu:2.38-4ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:binutils-x86-64-linux-gnu:binutils_x86_64_linux_gnu:2.38-4ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:binutils_x86_64_linux_gnu:binutils-x86-64-linux-gnu:2.38-4ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:binutils_x86_64_linux_gnu:binutils_x86_64_linux_gnu:2.38-4ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:binutils-x86-64-linux:binutils-x86-64-linux-gnu:2.38-4ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:binutils-x86-64-linux:binutils_x86_64_linux_gnu:2.38-4ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:binutils_x86_64_linux:binutils-x86-64-linux-gnu:2.38-4ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:binutils_x86_64_linux:binutils_x86_64_linux_gnu:2.38-4ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:binutils-x86-64:binutils-x86-64-linux-gnu:2.38-4ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:binutils-x86-64:binutils_x86_64_linux_gnu:2.38-4ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:binutils_x86_64:binutils-x86-64-linux-gnu:2.38-4ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:binutils_x86_64:binutils_x86_64_linux_gnu:2.38-4ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:binutils-x86:binutils-x86-64-linux-gnu:2.38-4ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:binutils-x86:binutils_x86_64_linux_gnu:2.38-4ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:binutils_x86:binutils-x86-64-linux-gnu:2.38-4ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:binutils_x86:binutils_x86_64_linux_gnu:2.38-4ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:binutils:binutils-x86-64-linux-gnu:2.38-4ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:binutils:binutils_x86_64_linux_gnu:2.38-4ubuntu2.3:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cuda-cuobjdump-11-8,11.8.86-1,Unknown,dpkg,"['cpe:2.3:a:cuda-cuobjdump-11-8:cuda-cuobjdump-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cuobjdump-11-8:cuda_cuobjdump_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cuobjdump_11_8:cuda-cuobjdump-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cuobjdump_11_8:cuda_cuobjdump_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cuobjdump-11:cuda-cuobjdump-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cuobjdump-11:cuda_cuobjdump_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cuobjdump_11:cuda-cuobjdump-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cuobjdump_11:cuda_cuobjdump_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cuobjdump:cuda-cuobjdump-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cuobjdump:cuda_cuobjdump_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cuobjdump:cuda-cuobjdump-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cuobjdump:cuda_cuobjdump_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda-cuobjdump-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda_cuobjdump_11_8:11.8.86-1:*:*:*:*:*:*:*']",cudatools (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cuda-cupti-11-8,11.8.87-1,Unknown,dpkg,"['cpe:2.3:a:cuda-cupti-11-8:cuda-cupti-11-8:11.8.87-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cupti-11-8:cuda_cupti_11_8:11.8.87-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cupti_11_8:cuda-cupti-11-8:11.8.87-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cupti_11_8:cuda_cupti_11_8:11.8.87-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cupti-11:cuda-cupti-11-8:11.8.87-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cupti-11:cuda_cupti_11_8:11.8.87-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cupti_11:cuda-cupti-11-8:11.8.87-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cupti_11:cuda_cupti_11_8:11.8.87-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cupti:cuda-cupti-11-8:11.8.87-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cupti:cuda_cupti_11_8:11.8.87-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cupti:cuda-cupti-11-8:11.8.87-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cupti:cuda_cupti_11_8:11.8.87-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda-cupti-11-8:11.8.87-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda_cupti_11_8:11.8.87-1:*:*:*:*:*:*:*']",cudatools (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cuda-cuxxfilt-11-8,11.8.86-1,Unknown,dpkg,"['cpe:2.3:a:cuda-cuxxfilt-11-8:cuda-cuxxfilt-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cuxxfilt-11-8:cuda_cuxxfilt_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cuxxfilt_11_8:cuda-cuxxfilt-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cuxxfilt_11_8:cuda_cuxxfilt_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cuxxfilt-11:cuda-cuxxfilt-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cuxxfilt-11:cuda_cuxxfilt_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cuxxfilt_11:cuda-cuxxfilt-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cuxxfilt_11:cuda_cuxxfilt_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cuxxfilt:cuda-cuxxfilt-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cuxxfilt:cuda_cuxxfilt_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cuxxfilt:cuda-cuxxfilt-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cuxxfilt:cuda_cuxxfilt_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda-cuxxfilt-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda_cuxxfilt_11_8:11.8.86-1:*:*:*:*:*:*:*']",cudatools (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +zlib1g,1:1.2.11.dfsg-2ubuntu9.2,Zlib,dpkg,['cpe:2.3:a:zlib1g:zlib1g:1\\:1.2.11.dfsg-2ubuntu9.2:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cuda-gdb-11-8,11.8.86-1,Unknown,dpkg,"['cpe:2.3:a:cuda-gdb-11-8:cuda-gdb-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-gdb-11-8:cuda_gdb_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_gdb_11_8:cuda-gdb-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_gdb_11_8:cuda_gdb_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-gdb-11:cuda-gdb-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-gdb-11:cuda_gdb_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_gdb_11:cuda-gdb-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_gdb_11:cuda_gdb_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-gdb:cuda-gdb-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-gdb:cuda_gdb_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_gdb:cuda-gdb-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_gdb:cuda_gdb_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda-gdb-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda_gdb_11_8:11.8.86-1:*:*:*:*:*:*:*']",cudatools (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cuda-keyring,1.1-1,Unknown,dpkg,"['cpe:2.3:a:cuda-keyring:cuda-keyring:1.1-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-keyring:cuda_keyring:1.1-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_keyring:cuda-keyring:1.1-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_keyring:cuda_keyring:1.1-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda-keyring:1.1-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda_keyring:1.1-1:*:*:*:*:*:*:*']",cudatools (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cuda-nvcc-11-8,11.8.89-1,Unknown,dpkg,"['cpe:2.3:a:cuda-nvcc-11-8:cuda-nvcc-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-nvcc-11-8:cuda_nvcc_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_nvcc_11_8:cuda-nvcc-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_nvcc_11_8:cuda_nvcc_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-nvcc-11:cuda-nvcc-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-nvcc-11:cuda_nvcc_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_nvcc_11:cuda-nvcc-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_nvcc_11:cuda_nvcc_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-nvcc:cuda-nvcc-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-nvcc:cuda_nvcc_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_nvcc:cuda-nvcc-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_nvcc:cuda_nvcc_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda-nvcc-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda_nvcc_11_8:11.8.89-1:*:*:*:*:*:*:*']",cudatools (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +psutil,5.9.5,BSD-3-Clause,PYTHON,"['cpe:2.3:a:giampaolo_rodola_project:python-psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:giampaolo_rodola_project:python_psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:giampaolo_rodolaproject:python-psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:giampaolo_rodolaproject:python_psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:giampaolo_rodola_project:psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:g_rodola_project:python-psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:g_rodola_project:python_psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:giampaolo_rodola:python-psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:giampaolo_rodola:python_psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:giampaolo_rodolaproject:psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:g_rodolaproject:python-psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:g_rodolaproject:python_psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python-psutil:python-psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python-psutil:python_psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python_psutil:python-psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python_psutil:python_psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:g_rodola_project:psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:giampaolo_rodola:psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:g-rodola:python-psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:g-rodola:python_psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:g_rodola:python-psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:g_rodola:python_psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:g_rodolaproject:psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:psutil:python-psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:psutil:python_psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python-psutil:psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python_psutil:psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:g-rodola:psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:g_rodola:psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:psutil:psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python:psutil:5.9.5:*:*:*:*:*:*:*']",Giampaolo Rodola ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +ptxcompiler,0.8.1,Apache 2.0,PYTHON,"['cpe:2.3:a:python-ptxcompiler:python-ptxcompiler:0.8.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-ptxcompiler:python_ptxcompiler:0.8.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_ptxcompiler:python-ptxcompiler:0.8.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_ptxcompiler:python_ptxcompiler:0.8.1:*:*:*:*:*:*:*', 'cpe:2.3:a:ptxcompiler:python-ptxcompiler:0.8.1:*:*:*:*:*:*:*', 'cpe:2.3:a:ptxcompiler:python_ptxcompiler:0.8.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-ptxcompiler:ptxcompiler:0.8.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_ptxcompiler:ptxcompiler:0.8.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-ptxcompiler:0.8.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_ptxcompiler:0.8.1:*:*:*:*:*:*:*', 'cpe:2.3:a:ptxcompiler:ptxcompiler:0.8.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:ptxcompiler:0.8.1:*:*:*:*:*:*:*']",Unknown,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libnettle8,3.7.3-1build2,Expat GAP GPL GPL-2 GPL-2+ GPL-3+ LGPL LGPL-2 LGPL-2+ LGPL-3+ public-domain,dpkg,['cpe:2.3:a:libnettle8:libnettle8:3.7.3-1build2:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libp11-kit0,0.24.0-6build1,Apache-2.0 BSD-3-Clause ISC ISC+IBM LGPL-2.1 LGPL-2.1+ permissive-like-automake-output same-as-rest-of-p11kit,dpkg,"['cpe:2.3:a:libp11-kit0:libp11-kit0:0.24.0-6build1:*:*:*:*:*:*:*', 'cpe:2.3:a:libp11-kit0:libp11_kit0:0.24.0-6build1:*:*:*:*:*:*:*', 'cpe:2.3:a:libp11_kit0:libp11-kit0:0.24.0-6build1:*:*:*:*:*:*:*', 'cpe:2.3:a:libp11_kit0:libp11_kit0:0.24.0-6build1:*:*:*:*:*:*:*', 'cpe:2.3:a:libp11:libp11-kit0:0.24.0-6build1:*:*:*:*:*:*:*', 'cpe:2.3:a:libp11:libp11_kit0:0.24.0-6build1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cuda-nvprune-11-8,11.8.86-1,Unknown,dpkg,"['cpe:2.3:a:cuda-nvprune-11-8:cuda-nvprune-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-nvprune-11-8:cuda_nvprune_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_nvprune_11_8:cuda-nvprune-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_nvprune_11_8:cuda_nvprune_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-nvprune-11:cuda-nvprune-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-nvprune-11:cuda_nvprune_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_nvprune_11:cuda-nvprune-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_nvprune_11:cuda_nvprune_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-nvprune:cuda-nvprune-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-nvprune:cuda_nvprune_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_nvprune:cuda-nvprune-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_nvprune:cuda_nvprune_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda-nvprune-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda_nvprune_11_8:11.8.86-1:*:*:*:*:*:*:*']",cudatools (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libk5crypto3,1.19.2-2ubuntu0.3,GPL-2,dpkg,['cpe:2.3:a:libk5crypto3:libk5crypto3:1.19.2-2ubuntu0.3:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libkrb5-3,1.19.2-2ubuntu0.3,GPL-2,dpkg,"['cpe:2.3:a:libkrb5-3:libkrb5-3:1.19.2-2ubuntu0.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libkrb5-3:libkrb5_3:1.19.2-2ubuntu0.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libkrb5_3:libkrb5-3:1.19.2-2ubuntu0.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libkrb5_3:libkrb5_3:1.19.2-2ubuntu0.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libkrb5:libkrb5-3:1.19.2-2ubuntu0.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libkrb5:libkrb5_3:1.19.2-2ubuntu0.3:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libksba8,1.6.0-2ubuntu0.2,FSFUL GPL-3 LGPL-2.1-or-later,dpkg,['cpe:2.3:a:libksba8:libksba8:1.6.0-2ubuntu0.2:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +jq,1.6-2.1ubuntu3,CC-BY-3.0 Expat GPL-2 GPL-2.0+ MIT,dpkg,['cpe:2.3:a:jq:jq:1.6-2.1ubuntu3:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libldap-2.5-0,2.5.16+dfsg-0ubuntu0.22.04.1,Unknown,dpkg,"['cpe:2.3:a:libldap-2.5-0:libldap-2.5-0:2.5.16\\+dfsg-0ubuntu0.22.04.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libldap-2.5-0:libldap_2.5_0:2.5.16\\+dfsg-0ubuntu0.22.04.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libldap_2.5_0:libldap-2.5-0:2.5.16\\+dfsg-0ubuntu0.22.04.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libldap_2.5_0:libldap_2.5_0:2.5.16\\+dfsg-0ubuntu0.22.04.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libldap-2.5:libldap-2.5-0:2.5.16\\+dfsg-0ubuntu0.22.04.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libldap-2.5:libldap_2.5_0:2.5.16\\+dfsg-0ubuntu0.22.04.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libldap_2.5:libldap-2.5-0:2.5.16\\+dfsg-0ubuntu0.22.04.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libldap_2.5:libldap_2.5_0:2.5.16\\+dfsg-0ubuntu0.22.04.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libldap:libldap-2.5-0:2.5.16\\+dfsg-0ubuntu0.22.04.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libldap:libldap_2.5_0:2.5.16\\+dfsg-0ubuntu0.22.04.1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +gpgsm,2.2.27-3ubuntu2.1,BSD-3-clause CC0-1.0 Expat GPL-3 GPL-3+ LGPL-2.1 LGPL-2.1+ LGPL-3 LGPL-3+ RFC-Reference TinySCHEME permissive,dpkg,['cpe:2.3:a:gpgsm:gpgsm:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +java-common,0.72build2,GPL-2 GPL-2+,dpkg,"['cpe:2.3:a:java-common:java-common:0.72build2:*:*:*:*:*:*:*', 'cpe:2.3:a:java-common:java_common:0.72build2:*:*:*:*:*:*:*', 'cpe:2.3:a:java_common:java-common:0.72build2:*:*:*:*:*:*:*', 'cpe:2.3:a:java_common:java_common:0.72build2:*:*:*:*:*:*:*', 'cpe:2.3:a:java:java-common:0.72build2:*:*:*:*:*:*:*', 'cpe:2.3:a:java:java_common:0.72build2:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +Flask,3.0.0,Unknown,PYTHON,"['cpe:2.3:a:python-Flask:python-Flask:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-Flask:python_Flask:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_Flask:python-Flask:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_Flask:python_Flask:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-Flask:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_Flask:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:Flask:python-Flask:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:Flask:python_Flask:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-Flask:Flask:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_Flask:Flask:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:Flask:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:Flask:Flask:3.0.0:*:*:*:*:*:*:*']",Unknown,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +coreutils,8.32-4.1ubuntu1,GPL-3,dpkg,['cpe:2.3:a:coreutils:coreutils:8.32-4.1ubuntu1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cryptography,41.0.7,Apache-2.0 OR BSD-3-Clause,PYTHON,"['cpe:2.3:a:python_cryptographic_authority_and_individual_contributors_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +h2,4.1.0,MIT License,PYTHON,"['cpe:2.3:a:cory_benfield_project:python-h2:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_benfield_project:python_h2:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_benfieldproject:python-h2:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_benfieldproject:python_h2:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_benfield_project:h2:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_benfield:python-h2:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_benfield:python_h2:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_benfieldproject:h2:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_project:python-h2:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_project:python_h2:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:coryproject:python-h2:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:coryproject:python_h2:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-h2:python-h2:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-h2:python_h2:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_h2:python-h2:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_h2:python_h2:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_benfield:h2:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-h2:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_h2:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cory_project:h2:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cory:python-h2:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cory:python_h2:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:coryproject:h2:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:h2:python-h2:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:h2:python_h2:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-h2:h2:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_h2:h2:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:h2:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cory:h2:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:h2:h2:4.1.0:*:*:*:*:*:*:*']",Cory Benfield ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cachetools,5.3.2,MIT,PYTHON,"['cpe:2.3:a:thomas_kemmer_project:python-cachetools:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_kemmer_project:python_cachetools:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_kemmerproject:python-cachetools:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_kemmerproject:python_cachetools:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cachetools:python-cachetools:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cachetools:python_cachetools:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cachetools:python-cachetools:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cachetools:python_cachetools:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:tkemmer_project:python-cachetools:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:tkemmer_project:python_cachetools:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_kemmer_project:cachetools:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:tkemmerproject:python-cachetools:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:tkemmerproject:python_cachetools:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_kemmer:python-cachetools:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_kemmer:python_cachetools:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_kemmerproject:cachetools:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:cachetools:python-cachetools:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:cachetools:python_cachetools:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cachetools:cachetools:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cachetools:cachetools:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:tkemmer_project:cachetools:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:tkemmer:python-cachetools:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:tkemmer:python_cachetools:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:tkemmerproject:cachetools:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-cachetools:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_cachetools:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_kemmer:cachetools:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:cachetools:cachetools:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:tkemmer:cachetools:5.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:cachetools:5.3.2:*:*:*:*:*:*:*']",Thomas Kemmer ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +Pygments,2.17.2,BSD-2-Clause,PYTHON,"['cpe:2.3:a:georg_brandl_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +PyYAML,6.0.1,MIT,PYTHON,"['cpe:2.3:a:kirill_simonov_project:python-PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:kirill_simonov_project:python_PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:kirill_simonovproject:python-PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:kirill_simonovproject:python_PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:kirill_simonov_project:PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:kirill_simonov:python-PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:kirill_simonov:python_PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:kirill_simonovproject:PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-PyYAML:python-PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-PyYAML:python_PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_PyYAML:python-PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_PyYAML:python_PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:xi_project:python-PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:xi_project:python_PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:xiproject:python-PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:xiproject:python_PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:kirill_simonov:PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:PyYAML:python-PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:PyYAML:python_PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-PyYAML:PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_PyYAML:PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:xi_project:PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:xi:python-PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:xi:python_PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:xiproject:PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:PyYAML:PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:PyYAML:6.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:xi:PyYAML:6.0.1:*:*:*:*:*:*:*']",Kirill Simonov ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +Pygments,2.17.2,BSD-2-Clause,PYTHON,"['cpe:2.3:a:georg_brandl_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +url-normalize,1.4.3,MIT,PYTHON,"['cpe:2.3:a:nikolay_panov_project:python-url-normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:nikolay_panov_project:python_url_normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:nikolay_panovproject:python-url-normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:nikolay_panovproject:python_url_normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python-url-normalize:python-url-normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python-url-normalize:python_url_normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python_url_normalize:python-url-normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python_url_normalize:python_url_normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:github_project:python-url-normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:github_project:python_url_normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:nikolay_panov_project:url-normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:nikolay_panov_project:url_normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:githubproject:python-url-normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:githubproject:python_url_normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:nikolay_panov:python-url-normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:nikolay_panov:python_url_normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:nikolay_panovproject:url-normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:nikolay_panovproject:url_normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python-url-normalize:url-normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python-url-normalize:url_normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python_url_normalize:url-normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python_url_normalize:url_normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:url-normalize:python-url-normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:url-normalize:python_url_normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:url_normalize:python-url-normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:url_normalize:python_url_normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python-url:python-url-normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python-url:python_url_normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python_url:python-url-normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python_url:python_url_normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:github_project:url-normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:github_project:url_normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:github:python-url-normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:github:python_url_normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:githubproject:url-normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:githubproject:url_normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:nikolay_panov:url-normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:nikolay_panov:url_normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-url-normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_url_normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:url-normalize:url-normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:url-normalize:url_normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:url_normalize:url-normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:url_normalize:url_normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python-url:url-normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python-url:url_normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python_url:url-normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python_url:url_normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:url:python-url-normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:url:python_url_normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:github:url-normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:github:url_normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python:url-normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python:url_normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:url:url-normalize:1.4.3:*:*:*:*:*:*:*', 'cpe:2.3:a:url:url_normalize:1.4.3:*:*:*:*:*:*:*']",Nikolay Panov ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +dask,2023.3.2,BSD,PYTHON,"['cpe:2.3:a:python-dask:python-dask:2023.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-dask:python_dask:2023.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_dask:python-dask:2023.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_dask:python_dask:2023.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-dask:2023.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_dask:2023.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:dask:python-dask:2023.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:dask:python_dask:2023.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-dask:dask:2023.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_dask:dask:2023.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:dask:2023.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:dask:dask:2023.3.2:*:*:*:*:*:*:*']",Unknown,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +merlin-core,23.6.0,Apache 2.0,PYTHON,"['cpe:2.3:a:nvidia_corporation_project:python-merlin-core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation_project:python_merlin_core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:python-merlin-core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:python_merlin_core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation_project:merlin-core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation_project:merlin_core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:python-merlin-core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:python_merlin_core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:merlin-core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:merlin_core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-merlin-core:python-merlin-core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-merlin-core:python_merlin_core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_merlin_core:python-merlin-core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_merlin_core:python_merlin_core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-merlin:python-merlin-core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-merlin:python_merlin_core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_merlin:python-merlin-core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_merlin:python_merlin_core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:merlin-core:python-merlin-core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:merlin-core:python_merlin_core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:merlin_core:python-merlin-core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:merlin_core:python_merlin_core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:merlin-core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:merlin_core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-merlin-core:merlin-core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-merlin-core:merlin_core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_merlin_core:merlin-core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_merlin_core:merlin_core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:merlin:python-merlin-core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:merlin:python_merlin_core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-merlin:merlin-core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-merlin:merlin_core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-merlin-core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_merlin_core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_merlin:merlin-core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_merlin:merlin_core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:merlin-core:merlin-core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:merlin-core:merlin_core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:merlin_core:merlin-core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:merlin_core:merlin_core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:merlin:merlin-core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:merlin:merlin_core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:merlin-core:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:merlin_core:23.6.0:*:*:*:*:*:*:*']",NVIDIA Corporation,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +ca-certificates-java,20190909ubuntu1.2,GPL,dpkg,"['cpe:2.3:a:ca-certificates-java:ca-certificates-java:20190909ubuntu1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:ca-certificates-java:ca_certificates_java:20190909ubuntu1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:ca_certificates_java:ca-certificates-java:20190909ubuntu1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:ca_certificates_java:ca_certificates_java:20190909ubuntu1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:ca-certificates:ca-certificates-java:20190909ubuntu1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:ca-certificates:ca_certificates_java:20190909ubuntu1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:ca_certificates:ca-certificates-java:20190909ubuntu1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:ca_certificates:ca_certificates_java:20190909ubuntu1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:ca:ca-certificates-java:20190909ubuntu1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:ca:ca_certificates_java:20190909ubuntu1.2:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +greenlet,3.0.1,MIT License,PYTHON,"['cpe:2.3:a:alexey_borzenkov_project:python-greenlet:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:alexey_borzenkov_project:python_greenlet:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:alexey_borzenkovproject:python-greenlet:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:alexey_borzenkovproject:python_greenlet:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:alexey_borzenkov_project:greenlet:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:alexey_borzenkov:python-greenlet:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:alexey_borzenkov:python_greenlet:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:alexey_borzenkovproject:greenlet:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-greenlet:python-greenlet:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-greenlet:python_greenlet:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_greenlet:python-greenlet:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_greenlet:python_greenlet:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:snaury_project:python-greenlet:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:snaury_project:python_greenlet:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:snauryproject:python-greenlet:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:snauryproject:python_greenlet:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:alexey_borzenkov:greenlet:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:greenlet:python-greenlet:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:greenlet:python_greenlet:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-greenlet:greenlet:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_greenlet:greenlet:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:snaury_project:greenlet:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-greenlet:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_greenlet:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:snaury:python-greenlet:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:snaury:python_greenlet:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:snauryproject:greenlet:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:greenlet:greenlet:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:greenlet:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:snaury:greenlet:3.0.1:*:*:*:*:*:*:*']",Alexey Borzenkov ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cuda-cccl-11-8,11.8.89-1,Unknown,dpkg,"['cpe:2.3:a:cuda-cccl-11-8:cuda-cccl-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cccl-11-8:cuda_cccl_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cccl_11_8:cuda-cccl-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cccl_11_8:cuda_cccl_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cccl-11:cuda-cccl-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cccl-11:cuda_cccl_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cccl_11:cuda-cccl-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cccl_11:cuda_cccl_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cccl:cuda-cccl-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-cccl:cuda_cccl_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cccl:cuda-cccl-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_cccl:cuda_cccl_11_8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda-cccl-11-8:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda_cccl_11_8:11.8.89-1:*:*:*:*:*:*:*']",cudatools (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +ordered-set,4.1.0,Unknown,PYTHON,"['cpe:2.3:a:elia_robyn_lake_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cuda-toolkit-11-config-common,11.8.89-1,Unknown,dpkg,"['cpe:2.3:a:cuda-toolkit-11-config-common:cuda-toolkit-11-config-common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-toolkit-11-config-common:cuda_toolkit_11_config_common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_toolkit_11_config_common:cuda-toolkit-11-config-common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_toolkit_11_config_common:cuda_toolkit_11_config_common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-toolkit-11-config:cuda-toolkit-11-config-common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-toolkit-11-config:cuda_toolkit_11_config_common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_toolkit_11_config:cuda-toolkit-11-config-common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_toolkit_11_config:cuda_toolkit_11_config_common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-toolkit-11:cuda-toolkit-11-config-common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-toolkit-11:cuda_toolkit_11_config_common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_toolkit_11:cuda-toolkit-11-config-common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_toolkit_11:cuda_toolkit_11_config_common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-toolkit:cuda-toolkit-11-config-common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-toolkit:cuda_toolkit_11_config_common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_toolkit:cuda-toolkit-11-config-common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_toolkit:cuda_toolkit_11_config_common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda-toolkit-11-config-common:11.8.89-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda_toolkit_11_config_common:11.8.89-1:*:*:*:*:*:*:*']",cudatools (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cuda-compiler-11-8,11.8.0-1,Unknown,dpkg,"['cpe:2.3:a:cuda-compiler-11-8:cuda-compiler-11-8:11.8.0-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-compiler-11-8:cuda_compiler_11_8:11.8.0-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_compiler_11_8:cuda-compiler-11-8:11.8.0-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_compiler_11_8:cuda_compiler_11_8:11.8.0-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-compiler-11:cuda-compiler-11-8:11.8.0-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-compiler-11:cuda_compiler_11_8:11.8.0-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_compiler_11:cuda-compiler-11-8:11.8.0-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_compiler_11:cuda_compiler_11_8:11.8.0-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-compiler:cuda-compiler-11-8:11.8.0-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-compiler:cuda_compiler_11_8:11.8.0-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_compiler:cuda-compiler-11-8:11.8.0-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_compiler:cuda_compiler_11_8:11.8.0-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda-compiler-11-8:11.8.0-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda_compiler_11_8:11.8.0-1:*:*:*:*:*:*:*']",cudatools (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +jupyter_core,5.5.0,"BSD 3-Clause License + + - Copyright (c) 2015-, Jupyter Development Team + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ""AS IS"" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.",PYTHON,"['cpe:2.3:a:jupyter_development_team_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +adduser,3.118ubuntu5,GPL-2,dpkg,['cpe:2.3:a:adduser:adduser:3.118ubuntu5:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +packaging,23.2,Unknown,PYTHON,"['cpe:2.3:a:donald_stufft_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +openjdk-11-jre-headless,11.0.21+9-0ubuntu1~22.04,Apache-2.0 GPL GPL-2 LGPL LGPL-2 LGPL-2-1 MIT,dpkg,"['cpe:2.3:a:openjdk-11-jre-headless:openjdk-11-jre-headless:11.0.21\\+9-0ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:openjdk-11-jre-headless:openjdk_11_jre_headless:11.0.21\\+9-0ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:openjdk_11_jre_headless:openjdk-11-jre-headless:11.0.21\\+9-0ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:openjdk_11_jre_headless:openjdk_11_jre_headless:11.0.21\\+9-0ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:openjdk-11-jre:openjdk-11-jre-headless:11.0.21\\+9-0ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:openjdk-11-jre:openjdk_11_jre_headless:11.0.21\\+9-0ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:openjdk_11_jre:openjdk-11-jre-headless:11.0.21\\+9-0ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:openjdk_11_jre:openjdk_11_jre_headless:11.0.21\\+9-0ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:openjdk-11:openjdk-11-jre-headless:11.0.21\\+9-0ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:openjdk-11:openjdk_11_jre_headless:11.0.21\\+9-0ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:openjdk_11:openjdk-11-jre-headless:11.0.21\\+9-0ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:openjdk_11:openjdk_11_jre_headless:11.0.21\\+9-0ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:openjdk:openjdk-11-jre-headless:11.0.21\\+9-0ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:openjdk:openjdk_11_jre_headless:11.0.21\\+9-0ubuntu1\\~22.04:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +databricks-cli,0.18.0,Apache License 2.0,PYTHON,"['cpe:2.3:a:python-databricks-cli:python-databricks-cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-databricks-cli:python_databricks_cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_databricks_cli:python-databricks-cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_databricks_cli:python_databricks_cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:andrew_chen_project:python-databricks-cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:andrew_chen_project:python_databricks_cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:andrew_chenproject:python-databricks-cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:andrew_chenproject:python_databricks_cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:andrewchen_project:python-databricks-cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:andrewchen_project:python_databricks_cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:andrewchenproject:python-databricks-cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:andrewchenproject:python_databricks_cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-databricks:python-databricks-cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-databricks:python_databricks_cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_databricks:python-databricks-cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_databricks:python_databricks_cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:databricks-cli:python-databricks-cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:databricks-cli:python_databricks_cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:databricks_cli:python-databricks-cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:databricks_cli:python_databricks_cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-databricks-cli:databricks-cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-databricks-cli:databricks_cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_databricks_cli:databricks-cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_databricks_cli:databricks_cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:andrew_chen_project:databricks-cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:andrew_chen_project:databricks_cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:andrew_chen:python-databricks-cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:andrew_chen:python_databricks_cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:andrew_chenproject:databricks-cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:andrew_chenproject:databricks_cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:andrewchen_project:databricks-cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:andrewchen_project:databricks_cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:andrewchen:python-databricks-cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:andrewchen:python_databricks_cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:andrewchenproject:databricks-cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:andrewchenproject:databricks_cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:databricks:python-databricks-cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:databricks:python_databricks_cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-databricks:databricks-cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-databricks:databricks_cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_databricks:databricks-cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_databricks:databricks_cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:databricks-cli:databricks-cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:databricks-cli:databricks_cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:databricks_cli:databricks-cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:databricks_cli:databricks_cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-databricks-cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_databricks_cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:andrew_chen:databricks-cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:andrew_chen:databricks_cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:andrewchen:databricks-cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:andrewchen:databricks_cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:databricks:databricks-cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:databricks:databricks_cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:databricks-cli:0.18.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:databricks_cli:0.18.0:*:*:*:*:*:*:*']",Andrew Chen ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +bc,1.07.1-3build1,GPL-2 GPL-2.0+ X11 permissive permissive',dpkg,['cpe:2.3:a:bc:bc:1.07.1-3build1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +pandas,1.3.5,BSD-3-Clause,PYTHON,"['cpe:2.3:a:pandas_development_team_project:python-pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:pandas_development_team_project:python_pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:pandas_development_teamproject:python-pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:pandas_development_teamproject:python_pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:pandas_development_team_project:pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:pandas_development_team:python-pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:pandas_development_team:python_pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:pandas_development_teamproject:pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:pandas_dev_project:python-pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:pandas_dev_project:python_pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:pandas_devproject:python-pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:pandas_devproject:python_pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:pandas_development_team:pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pandas:python-pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pandas:python_pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pandas:python-pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pandas:python_pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:pandas_dev_project:pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:pandas-dev:python-pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:pandas-dev:python_pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:pandas_dev:python-pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:pandas_dev:python_pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:pandas_devproject:pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:pandas:python-pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:pandas:python_pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pandas:pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pandas:pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:pandas-dev:pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:pandas_dev:pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:pandas:pandas:1.3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python:pandas:1.3.5:*:*:*:*:*:*:*']",The Pandas Development Team ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +partd,1.4.1,BSD,PYTHON,"['cpe:2.3:a:python-partd:python-partd:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-partd:python_partd:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_partd:python-partd:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_partd:python_partd:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-partd:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_partd:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:partd:python-partd:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:partd:python_partd:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-partd:partd:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_partd:partd:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:partd:1.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:partd:partd:1.4.1:*:*:*:*:*:*:*']",Unknown,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libgpg-error0,1.43-3,BSD-3-clause GPL-3 GPL-3+ LGPL-2.1 LGPL-2.1+ g10-permissive,dpkg,"['cpe:2.3:a:libgpg-error0:libgpg-error0:1.43-3:*:*:*:*:*:*:*', 'cpe:2.3:a:libgpg-error0:libgpg_error0:1.43-3:*:*:*:*:*:*:*', 'cpe:2.3:a:libgpg_error0:libgpg-error0:1.43-3:*:*:*:*:*:*:*', 'cpe:2.3:a:libgpg_error0:libgpg_error0:1.43-3:*:*:*:*:*:*:*', 'cpe:2.3:a:libgpg:libgpg-error0:1.43-3:*:*:*:*:*:*:*', 'cpe:2.3:a:libgpg:libgpg_error0:1.43-3:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cuda-nvdisasm-11-8,11.8.86-1,Unknown,dpkg,"['cpe:2.3:a:cuda-nvdisasm-11-8:cuda-nvdisasm-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-nvdisasm-11-8:cuda_nvdisasm_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_nvdisasm_11_8:cuda-nvdisasm-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_nvdisasm_11_8:cuda_nvdisasm_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-nvdisasm-11:cuda-nvdisasm-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-nvdisasm-11:cuda_nvdisasm_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_nvdisasm_11:cuda-nvdisasm-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_nvdisasm_11:cuda_nvdisasm_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-nvdisasm:cuda-nvdisasm-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda-nvdisasm:cuda_nvdisasm_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_nvdisasm:cuda-nvdisasm-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda_nvdisasm:cuda_nvdisasm_11_8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda-nvdisasm-11-8:11.8.86-1:*:*:*:*:*:*:*', 'cpe:2.3:a:cuda:cuda_nvdisasm_11_8:11.8.86-1:*:*:*:*:*:*:*']",cudatools (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cuda-python,11.8.3,"NVIDIA SOFTWARE LICENSE + + This license is a legal agreement between you and NVIDIA Corporation (""NVIDIA"") and governs your use of the NVIDIA CUDA Python software and materials provided hereunder (""SOFTWARE""). + + This license can be accepted only by an adult of legal age of majority in the country in which the SOFTWARE is used. If you are under the legal age of majority, you must ask your parent or legal guardian to consent to this license. By taking delivery of the SOFTWARE, you affirm that you have reached the legal age of majority, you accept the terms of this license, and you take legal and financial responsibility for the actions of your permitted users. + + You agree to use the SOFTWARE only for purposes that are permitted by (a) this license, and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions. + + 1. LICENSE. Subject to the terms of this license, NVIDIA grants you a non-exclusive limited license to: (a) install and use the SOFTWARE, and (b) distribute the SOFTWARE subject to the distribution requirements described in this license. NVIDIA reserves all rights, title and interest in and to the SOFTWARE not expressly granted to you under this license. + + 2. DISTRIBUTION REQUIREMENTS. These are the distribution requirements for you to exercise the distribution grant: + a. The terms under which you distribute the SOFTWARE must be consistent with the terms of this license, including (without limitation) terms relating to the license grant and license restrictions and protection of NVIDIA's intellectual property rights. + b. You agree to notify NVIDIA in writing of any known or suspected distribution or use of the SOFTWARE not in compliance with the requirements of this license, and to enforce the terms of your agreements with respect to distributed SOFTWARE. + + 3. LIMITATIONS. Your license to use the SOFTWARE is restricted as follows: + a. The SOFTWARE is licensed for you to develop applications only for use in systems with NVIDIA GPUs. + b. You may not reverse engineer, decompile or disassemble, or remove copyright or other proprietary notices from any portion of the SOFTWARE or copies of the SOFTWARE. + c. You may not modify or create derivative works of any portion of the SOFTWARE. + d. You may not bypass, disable, or circumvent any technical measure, encryption, security, digital rights management or authentication mechanism in the SOFTWARE. + e. You may not use the SOFTWARE in any manner that would cause it to become subject to an open source software license. As examples, licenses that require as a condition of use, modification, and/or distribution that the SOFTWARE be (i) disclosed or distributed in source code form; (ii) licensed for the purpose of making derivative works; or (iii) redistributable at no charge. + f. Unless you have an agreement with NVIDIA for this purpose, you may not use the SOFTWARE with any system or application where the use or failure of the system or application can reasonably be expected to threaten or result in personal injury, death, or catastrophic loss. Examples include use in avionics, navigation, military, medical, life support or other life critical applications. NVIDIA does not design, test or manufacture the SOFTWARE for these critical uses and NVIDIA shall not be liable to you or any third party, in whole or in part, for any claims or damages arising from such uses. + g. You agree to defend, indemnify and hold harmless NVIDIA and its affiliates, and their respective employees, contractors, agents, officers and directors, from and against any and all claims, damages, obligations, losses, liabilities, costs or debt, fines, restitutions and expenses (including but not limited to attorney's fees and costs incident to establishing the right of indemnification) arising out of or related to use of the SOFTWARE outside of the scope of this Agreement, or not in compliance with its terms. + + 4. PRE-RELEASE. SOFTWARE versions identified as alpha, beta, preview, early access or otherwise as pre-release may not be fully functional, may contain errors or design flaws, and may have reduced or different security, privacy, availability, and reliability standards relative to commercial versions of NVIDIA software and materials. You may use a pre-release SOFTWARE version at your own risk, understanding that these versions are not intended for use in production or business-critical systems. + + 5. OWNERSHIP. The SOFTWARE and the related intellectual property rights therein are and will remain the sole and exclusive property of NVIDIA or its licensors. The SOFTWARE is copyrighted and protected by the laws of the United States and other countries, and international treaty provisions. NVIDIA may make changes to the SOFTWARE, at any time without notice, but is not obligated to support or update the SOFTWARE. + + 6. COMPONENTS UNDER OTHER LICENSES. The SOFTWARE may include NVIDIA or third-party components with separate legal notices or terms as may be described in proprietary notices accompanying the SOFTWARE. If and to the extent there is a conflict between the terms in this license and the license terms associated with a component, the license terms associated with the components control only to the extent necessary to resolve the conflict. + + 7. FEEDBACK. You may, but don't have to, provide to NVIDIA any Feedback. ""Feedback"" means any suggestions, bug fixes, enhancements, modifications, feature requests or other feedback regarding the SOFTWARE. For any Feedback that you voluntarily provide, you hereby grant NVIDIA and its affiliates a perpetual, non-exclusive, worldwide, irrevocable license to use, reproduce, modify, license, sublicense (through multiple tiers of sublicensees), and distribute (through multiple tiers of distributors) the Feedback without the payment of any royalties or fees to you. NVIDIA will use Feedback at its choice. + + 8. NO WARRANTIES. THE SOFTWARE IS PROVIDED ""AS IS"" WITHOUT ANY EXPRESS OR IMPLIED WARRANTY OF ANY KIND INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, OR FITNESS FOR A PARTICULAR PURPOSE. NVIDIA DOES NOT WARRANT THAT THE SOFTWARE WILL MEET YOUR REQUIREMENTS OR THAT THE OPERATION THEREOF WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ALL ERRORS WILL BE CORRECTED. + + 9. LIMITATIONS OF LIABILITY. TO THE MAXIMUM EXTENT PERMITTED BY LAW, NVIDIA AND ITS AFFILIATES SHALL NOT BE LIABLE FOR ANY SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, OR ANY LOST PROFITS, PROJECT DELAYS, LOSS OF USE, LOSS OF DATA OR LOSS OF GOODWILL, OR THE COSTS OF PROCURING SUBSTITUTE PRODUCTS, ARISING OUT OF OR IN CONNECTION WITH THIS LICENSE OR THE USE OR PERFORMANCE OF THE SOFTWARE, WHETHER SUCH LIABILITY ARISES FROM ANY CLAIM BASED UPON BREACH OF CONTRACT, BREACH OF WARRANTY, TORT (INCLUDING NEGLIGENCE), PRODUCT LIABILITY OR ANY OTHER CAUSE OF ACTION OR THEORY OF LIABILITY, EVEN IF NVIDIA HAS PREVIOUSLY BEEN ADVISED OF, OR COULD REASONABLY HAVE FORESEEN, THE POSSIBILITY OF SUCH DAMAGES. IN NO EVENT WILL NVIDIA'S AND ITS AFFILIATES TOTAL CUMULATIVE LIABILITY UNDER OR ARISING OUT OF THIS LICENSE EXCEED US$10.00. THE NATURE OF THE LIABILITY OR THE NUMBER OF CLAIMS OR SUITS SHALL NOT ENLARGE OR EXTEND THIS LIMIT. + + 10. TERMINATION. Your rights under this license will terminate automatically without notice from NVIDIA if you fail to comply with any term and condition of this license or if you commence or participate in any legal proceeding against NVIDIA with respect to the SOFTWARE. NVIDIA may terminate this license with advance written notice to you if NVIDIA decides to no longer provide the SOFTWARE in a country or, in NVIDIA's sole discretion, the continued use of it is no longer commercially viable. Upon any termination of this license, you agree to promptly discontinue use of the SOFTWARE and destroy all copies in your possession or control. Your prior distributions in accordance with this license are not affected by the termination of this license. All provisions of this license will survive termination, except for the license granted to you. + + 11. APPLICABLE LAW. This license will be governed in all respects by the laws of the United States and of the State of Delaware as those laws are applied to contracts entered into and performed entirely within Delaware by Delaware residents, without regard to the conflicts of laws principles. The United Nations Convention on Contracts for the International Sale of Goods is specifically disclaimed. You agree to all terms of this Agreement in the English language. The state or federal courts residing in Santa Clara County, California shall have exclusive jurisdiction over any dispute or claim arising out of this license. Notwithstanding this, you agree that NVIDIA shall still be allowed to apply for injunctive remedies or an equivalent type of urgent legal relief in any jurisdiction. + + 12. NO ASSIGNMENT. This license and your rights and obligations thereunder may not be assigned by you by any means or operation of law without NVIDIA's permission. Any attempted assignment not approved by NVIDIA in writing shall be void and of no effect. + + 13. EXPORT. The SOFTWARE is subject to United States export laws and regulations. You agree that you will not ship, transfer or export the SOFTWARE into any country, or use the SOFTWARE in any manner, prohibited by the United States Bureau of Industry and Security or economic sanctions regulations administered by the U.S. Department of Treasury's Office of Foreign Assets Control (OFAC), or any applicable export laws, restrictions or regulations. These laws include restrictions on destinations, end users and end use. By accepting this license, you confirm that you are not a resident or citizen of any country currently embargoed by the U.S. and that you are not otherwise prohibited from receiving the SOFTWARE. + + 14. GOVERNMENT USE. The SOFTWARE has been developed entirely at private expense and is ""commercial items"" consisting of ""commercial computer software"" and ""commercial computer software documentation"" provided with RESTRICTED RIGHTS. Use, duplication or disclosure by the U.S. Government or a U.S. Government subcontractor is subject to the restrictions in this license pursuant to DFARS 227.7202-3(a) or as set forth in subparagraphs (b)(1) and (2) of the Commercial Computer Software - Restricted Rights clause at FAR 52.227-19, as applicable. Contractor/manufacturer is NVIDIA, 2788 San Tomas Expressway, Santa Clara, CA 95051. + + 15. ENTIRE AGREEMENT. This license is the final, complete and exclusive agreement between the parties relating to the subject matter of this license and supersedes all prior or contemporaneous understandings and agreements relating to this subject matter, whether oral or written. If any court of competent jurisdiction determines that any provision of this license is illegal, invalid or unenforceable, the remaining provisions will remain in full force and effect. This license may only be modified in a writing signed by an authorized representative of each party. + + (v. May 12, 2021) + ",PYTHON,"['cpe:2.3:a:nvidia_corporation_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +conda-package-handling,2.2.0,Unknown,PYTHON,"['cpe:2.3:a:python-conda-package-handling:python-conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-conda-package-handling:python_conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_conda_package_handling:python-conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_conda_package_handling:python_conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:anaconda\\,_inc__project:python-conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:anaconda\\,_inc__project:python_conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:conda-package-handling:python-conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:conda-package-handling:python_conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:conda_package_handling:python-conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:conda_package_handling:python_conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-conda-package-handling:conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-conda-package-handling:conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_conda_package_handling:conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_conda_package_handling:conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:anaconda\\,_inc_project:python-conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:anaconda\\,_inc_project:python_conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-conda-package:python-conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-conda-package:python_conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_conda_package:python-conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_conda_package:python_conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:anaconda\\,_inc__project:conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:anaconda\\,_inc__project:conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:conda-package-handling:conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:conda-package-handling:conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:conda_package_handling:conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:conda_package_handling:conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:anaconda\\,_inc_:python-conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:anaconda\\,_inc_:python_conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:anaconda\\,_inc_project:conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:anaconda\\,_inc_project:conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:conda-package:python-conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:conda-package:python_conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:conda_package:python-conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:conda_package:python_conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:conda_project:python-conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:conda_project:python_conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-conda-package:conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-conda-package:conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_conda_package:conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_conda_package:conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:condaproject:python-conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:condaproject:python_conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-conda:python-conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-conda:python_conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_conda:python-conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_conda:python_conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:anaconda\\,_inc_:conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:anaconda\\,_inc_:conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:conda-package:conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:conda-package:conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:conda_package:conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:conda_package:conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:conda_project:conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:conda_project:conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:conda:python-conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:conda:python_conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:condaproject:conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:condaproject:conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-conda:conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-conda:conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_conda:conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_conda:conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:conda_package_handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:conda:conda-package-handling:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:conda:conda_package_handling:2.2.0:*:*:*:*:*:*:*']","Anaconda, Inc. ",nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +gpgconf,2.2.27-3ubuntu2.1,BSD-3-clause CC0-1.0 Expat GPL-3 GPL-3+ LGPL-2.1 LGPL-2.1+ LGPL-3 LGPL-3+ RFC-Reference TinySCHEME permissive,dpkg,['cpe:2.3:a:gpgconf:gpgconf:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +typing-utils,0.1.0,Apache License 2.0,PYTHON,"['cpe:2.3:a:python-typing-utils:python-typing-utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing-utils:python_typing_utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_typing_utils:python-typing-utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_typing_utils:python_typing_utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:bojiang__project:python-typing-utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:bojiang__project:python_typing_utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:bojiang_project:python-typing-utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:bojiang_project:python_typing_utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:bojiangproject:python-typing-utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:bojiangproject:python_typing_utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing:python-typing-utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing:python_typing_utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_typing:python-typing-utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_typing:python_typing_utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing-utils:typing-utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing-utils:typing_utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_typing_utils:typing-utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_typing_utils:typing_utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing-utils:python-typing-utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing-utils:python_typing_utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing_utils:python-typing-utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing_utils:python_typing_utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:bojiang__project:typing-utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:bojiang__project:typing_utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:bojiang-:python-typing-utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:bojiang-:python_typing_utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:bojiang_:python-typing-utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:bojiang_:python_typing_utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:bojiang_project:typing-utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:bojiang_project:typing_utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:bojiang:python-typing-utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:bojiang:python_typing_utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:bojiangproject:typing-utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:bojiangproject:typing_utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing:typing-utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing:typing_utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-typing-utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_typing_utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_typing:typing-utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_typing:typing_utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing:python-typing-utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing:python_typing_utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing-utils:typing-utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing-utils:typing_utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing_utils:typing-utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing_utils:typing_utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:bojiang-:typing-utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:bojiang-:typing_utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:bojiang_:typing-utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:bojiang_:typing_utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:bojiang:typing-utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:bojiang:typing_utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:typing-utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:typing_utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing:typing-utils:0.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing:typing_utils:0.1.0:*:*:*:*:*:*:*']",bojiang ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +conda_index,0.3.0,Unknown,PYTHON,"['cpe:2.3:a:\\""anaconda\\,_inc__\\&_contributors\\""_\\>",nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +six,1.16.0,MIT,PYTHON,"['cpe:2.3:a:benjamin_peterson_project:python-six:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benjamin_peterson_project:python_six:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benjamin_petersonproject:python-six:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benjamin_petersonproject:python_six:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benjamin_peterson_project:six:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benjamin_peterson:python-six:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benjamin_peterson:python_six:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benjamin_petersonproject:six:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benjamin_project:python-six:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benjamin_project:python_six:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benjaminproject:python-six:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benjaminproject:python_six:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benjamin_peterson:six:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-six:python-six:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-six:python_six:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_six:python-six:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_six:python_six:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benjamin_project:six:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benjamin:python-six:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benjamin:python_six:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benjaminproject:six:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-six:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_six:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-six:six:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_six:six:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:six:python-six:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:six:python_six:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:benjamin:six:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:six:1.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:six:six:1.16.0:*:*:*:*:*:*:*']",Benjamin Peterson ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +Markdown,3.5.1,"Copyright 2007, 2008 The Python Markdown Project (v. 1.7 and later) + Copyright 2004, 2005, 2006 Yuri Takhteyev (v. 0.2-1.6b) + Copyright 2004 Manfred Stienstra (the original version) + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the Python Markdown Project nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE PYTHON MARKDOWN PROJECT ''AS IS'' AND ANY + EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL ANY CONTRIBUTORS TO THE PYTHON MARKDOWN PROJECT + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + ",PYTHON,"['cpe:2.3:a:manfred_stienstra\\,_yuri_takhteyev_project:python-Markdown:3.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:manfred_stienstra\\,_yuri_takhteyev_project:python_Markdown:3.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:manfred_stienstra\\,_yuri_takhteyevproject:python-Markdown:3.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:manfred_stienstra\\,_yuri_takhteyevproject:python_Markdown:3.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:waylan_limberg_\\>",nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +MarkupSafe,2.1.3,BSD-3-Clause,PYTHON,"['cpe:2.3:a:python-MarkupSafe:python-MarkupSafe:2.1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python-MarkupSafe:python_MarkupSafe:2.1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python_MarkupSafe:python-MarkupSafe:2.1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python_MarkupSafe:python_MarkupSafe:2.1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:MarkupSafe:python-MarkupSafe:2.1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:MarkupSafe:python_MarkupSafe:2.1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python-MarkupSafe:MarkupSafe:2.1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python_MarkupSafe:MarkupSafe:2.1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-MarkupSafe:2.1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_MarkupSafe:2.1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:MarkupSafe:MarkupSafe:2.1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python:MarkupSafe:2.1.3:*:*:*:*:*:*:*']",Unknown,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +MarkupSafe,2.1.3,BSD-3-Clause,PYTHON,"['cpe:2.3:a:python-MarkupSafe:python-MarkupSafe:2.1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python-MarkupSafe:python_MarkupSafe:2.1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python_MarkupSafe:python-MarkupSafe:2.1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python_MarkupSafe:python_MarkupSafe:2.1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:MarkupSafe:python-MarkupSafe:2.1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:MarkupSafe:python_MarkupSafe:2.1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python-MarkupSafe:MarkupSafe:2.1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python_MarkupSafe:MarkupSafe:2.1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-MarkupSafe:2.1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_MarkupSafe:2.1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:MarkupSafe:MarkupSafe:2.1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python:MarkupSafe:2.1.3:*:*:*:*:*:*:*']",Unknown,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +ucf,3.0043,GPL-2,dpkg,['cpe:2.3:a:ucf:ucf:3.0043:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +Pillow,10.1.0,HPND,PYTHON,"['cpe:2.3:a:jeffrey_a__clark_\\(alex\\)_project:python-Pillow:10.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jeffrey_a__clark_\\(alex\\)_project:python_Pillow:10.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jeffrey_a__clark_\\(alex\\)project:python-Pillow:10.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jeffrey_a__clark_\\(alex\\)project:python_Pillow:10.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jeffrey_a__clark_\\(alex\\)_project:Pillow:10.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jeffrey_a__clark_\\(alex\\):python-Pillow:10.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jeffrey_a__clark_\\(alex\\):python_Pillow:10.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jeffrey_a__clark_\\(alex\\)project:Pillow:10.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jeffrey_a__clark_\\(alex\\):Pillow:10.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:aclark_project:python-Pillow:10.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:aclark_project:python_Pillow:10.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:aclarkproject:python-Pillow:10.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:aclarkproject:python_Pillow:10.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-Pillow:python-Pillow:10.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-Pillow:python_Pillow:10.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_Pillow:python-Pillow:10.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_Pillow:python_Pillow:10.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:aclark_project:Pillow:10.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:Pillow:python-Pillow:10.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:Pillow:python_Pillow:10.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:aclark:python-Pillow:10.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:aclark:python_Pillow:10.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:aclarkproject:Pillow:10.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-Pillow:Pillow:10.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-Pillow:10.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_Pillow:10.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_Pillow:Pillow:10.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:Pillow:Pillow:10.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:aclark:Pillow:10.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:Pillow:10.1.0:*:*:*:*:*:*:*']",Jeffrey A. Clark (Alex) ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libkrb5support0,1.19.2-2ubuntu0.3,GPL-2,dpkg,['cpe:2.3:a:libkrb5support0:libkrb5support0:1.19.2-2ubuntu0.3:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +hostname,3.23ubuntu2,GPL-2,dpkg,['cpe:2.3:a:hostname:hostname:3.23ubuntu2:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +conda-build,3.28.1,"Except where noted below, conda is released under the following terms: + + (c) 2012 Continuum Analytics, Inc. / http://continuum.io + All Rights Reserved + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Continuum Analytics, Inc. nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ""AS IS"" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL CONTINUUM ANALYTICS BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + Exceptions + ========== + + versioneer.py is Public Domain",PYTHON,"['cpe:2.3:a:\\""anaconda\\,_inc_\\""_\\>",nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +typing_extensions,4.8.0,Unknown,PYTHON,"['cpe:2.3:a:python-typing-extensions:python-typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing-extensions:python-typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing-extensions:python_typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing_extensions:python-typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing_extensions:python-typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing_extensions:python_typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_typing_extensions:python-typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_typing_extensions:python-typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_typing_extensions:python_typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing-extensions:typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing-extensions:typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing_extensions:typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing_extensions:typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_typing_extensions:typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_typing_extensions:typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing-extensions:python-typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing-extensions:python-typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing-extensions:python_typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing_extensions:python-typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing_extensions:python-typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing_extensions:python_typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing:python-typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing:python-typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing:python_typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_typing:python-typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_typing:python-typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_typing:python_typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing-extensions:typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing-extensions:typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing_extensions:typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing_extensions:typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing:typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-typing:typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_typing:typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_typing:typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing:python-typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing:python-typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing:python_typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:typing_extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing:typing-extensions:4.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:typing:typing_extensions:4.8.0:*:*:*:*:*:*:*']"," <""Guido van Rossum, Jukka Lehtosalo, Łukasz Langa, Michael Lee"" >",nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +ujson,5.8.0,Unknown,PYTHON,"['cpe:2.3:a:jonas_tarnstrom_project:python-ujson:5.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jonas_tarnstrom_project:python_ujson:5.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jonas_tarnstromproject:python-ujson:5.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jonas_tarnstromproject:python_ujson:5.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jonas_tarnstrom_project:ujson:5.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jonas_tarnstrom:python-ujson:5.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jonas_tarnstrom:python_ujson:5.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jonas_tarnstromproject:ujson:5.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-ujson:python-ujson:5.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-ujson:python_ujson:5.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_ujson:python-ujson:5.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_ujson:python_ujson:5.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jonas_tarnstrom:ujson:5.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-ujson:5.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_ujson:5.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-ujson:ujson:5.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_ujson:ujson:5.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:ujson:python-ujson:5.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:ujson:python_ujson:5.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:ujson:5.8.0:*:*:*:*:*:*:*', 'cpe:2.3:a:ujson:ujson:5.8.0:*:*:*:*:*:*:*']",Jonas Tarnstrom,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +conda-libmamba-solver,23.3.0,"BSD 3-Clause License + + Copyright (c) 2022, Anaconda, Inc. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ""AS IS"" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + --- + + This work also includes code borrowed from mamba.utils v0.19, licensed as BSD 3-Clause",PYTHON,"['cpe:2.3:a:\\""anaconda\\,_inc_\\""_\\>",nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +mlflow,2.9.1,Apache License 2.0,PYTHON,"['cpe:2.3:a:databricks_project:python-mlflow:2.9.1:*:*:*:*:*:*:*', 'cpe:2.3:a:databricks_project:python_mlflow:2.9.1:*:*:*:*:*:*:*', 'cpe:2.3:a:databricksproject:python-mlflow:2.9.1:*:*:*:*:*:*:*', 'cpe:2.3:a:databricksproject:python_mlflow:2.9.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-mlflow:python-mlflow:2.9.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-mlflow:python_mlflow:2.9.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_mlflow:python-mlflow:2.9.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_mlflow:python_mlflow:2.9.1:*:*:*:*:*:*:*', 'cpe:2.3:a:databricks_project:mlflow:2.9.1:*:*:*:*:*:*:*', 'cpe:2.3:a:databricks:python-mlflow:2.9.1:*:*:*:*:*:*:*', 'cpe:2.3:a:databricks:python_mlflow:2.9.1:*:*:*:*:*:*:*', 'cpe:2.3:a:databricksproject:mlflow:2.9.1:*:*:*:*:*:*:*', 'cpe:2.3:a:mlflow:python-mlflow:2.9.1:*:*:*:*:*:*:*', 'cpe:2.3:a:mlflow:python_mlflow:2.9.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-mlflow:mlflow:2.9.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-mlflow:2.9.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_mlflow:2.9.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_mlflow:mlflow:2.9.1:*:*:*:*:*:*:*', 'cpe:2.3:a:databricks:mlflow:2.9.1:*:*:*:*:*:*:*', 'cpe:2.3:a:mlflow:mlflow:2.9.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:mlflow:2.9.1:*:*:*:*:*:*:*']",Databricks,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +googleapis-common-protos,1.61.0,Apache-2.0,PYTHON,"['cpe:2.3:a:python-googleapis-common-protos:python-googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-googleapis-common-protos:python_googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_googleapis_common_protos:python-googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_googleapis_common_protos:python_googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis_packages_project:python-googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis_packages_project:python_googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis_packagesproject:python-googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis_packagesproject:python_googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis-common-protos:python-googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis-common-protos:python_googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis_common_protos:python-googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis_common_protos:python_googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-googleapis-common-protos:googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-googleapis-common-protos:googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-googleapis-common:python-googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-googleapis-common:python_googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_googleapis_common:python-googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_googleapis_common:python_googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_googleapis_common_protos:googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_googleapis_common_protos:googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis_packages_project:googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis_packages_project:googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis-packages:python-googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis-packages:python_googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis_packages:python-googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis_packages:python_googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis_packagesproject:googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis_packagesproject:googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:google_llc_project:python-googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:google_llc_project:python_googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:google_llcproject:python-googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:google_llcproject:python_googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis-common-protos:googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis-common-protos:googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis-common:python-googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis-common:python_googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis_common:python-googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis_common:python_googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis_common_protos:googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis_common_protos:googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-googleapis-common:googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-googleapis-common:googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-googleapis:python-googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-googleapis:python_googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_googleapis:python-googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_googleapis:python_googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_googleapis_common:googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_googleapis_common:googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis-packages:googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis-packages:googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis_packages:googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis_packages:googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:google_llc_project:googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:google_llc_project:googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:google_llc:python-googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:google_llc:python_googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:google_llcproject:googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:google_llcproject:googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis-common:googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis-common:googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis:python-googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis:python_googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis_common:googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis_common:googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-googleapis:googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-googleapis:googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_googleapis:googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_googleapis:googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:google_llc:googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:google_llc:googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis:googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:googleapis:googleapis_common_protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:googleapis-common-protos:1.61.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:googleapis_common_protos:1.61.0:*:*:*:*:*:*:*']",Google LLC ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +dask-cuda,23.6.0,Apache-2.0,PYTHON,"['cpe:2.3:a:nvidia_corporation_project:python-dask-cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation_project:python_dask_cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:python-dask-cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:python_dask_cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation_project:dask-cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation_project:dask_cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:python-dask-cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:python_dask_cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:dask-cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:dask_cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-dask-cuda:python-dask-cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-dask-cuda:python_dask_cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_dask_cuda:python-dask-cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_dask_cuda:python_dask_cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:dask-cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:dask_cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-dask:python-dask-cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-dask:python_dask_cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_dask:python-dask-cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_dask:python_dask_cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:dask-cuda:python-dask-cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:dask-cuda:python_dask_cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:dask_cuda:python-dask-cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:dask_cuda:python_dask_cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-dask-cuda:dask-cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-dask-cuda:dask_cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_dask_cuda:dask-cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_dask_cuda:dask_cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-dask-cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_dask_cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:dask:python-dask-cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:dask:python_dask_cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-dask:dask-cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-dask:dask_cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_dask:dask-cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_dask:dask_cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:dask-cuda:dask-cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:dask-cuda:dask_cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:dask_cuda:dask-cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:dask_cuda:dask_cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:dask-cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:dask_cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:dask:dask-cuda:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:dask:dask_cuda:23.6.0:*:*:*:*:*:*:*']",NVIDIA Corporation,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +more-itertools,10.1.0,Unknown,PYTHON,"['cpe:2.3:a:erik_rose_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +dask-cudf,23.6.1,Apache 2.0,PYTHON,"['cpe:2.3:a:nvidia_corporation_project:python-dask-cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation_project:python_dask_cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:python-dask-cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:python_dask_cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation_project:dask-cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation_project:dask_cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:python-dask-cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:python_dask_cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:dask-cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:dask_cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-dask-cudf:python-dask-cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-dask-cudf:python_dask_cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_dask_cudf:python-dask-cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_dask_cudf:python_dask_cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:dask-cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:dask_cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-dask:python-dask-cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-dask:python_dask_cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_dask:python-dask-cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_dask:python_dask_cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:dask-cudf:python-dask-cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:dask-cudf:python_dask_cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:dask_cudf:python-dask-cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:dask_cudf:python_dask_cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-dask-cudf:dask-cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-dask-cudf:dask_cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_dask_cudf:dask-cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_dask_cudf:dask_cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-dask-cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_dask_cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:dask:python-dask-cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:dask:python_dask_cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-dask:dask-cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-dask:dask_cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_dask:dask-cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_dask:dask_cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:dask-cudf:dask-cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:dask-cudf:dask_cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:dask_cudf:dask-cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:dask_cudf:dask_cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:dask-cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:dask_cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:dask:dask-cudf:23.6.1:*:*:*:*:*:*:*', 'cpe:2.3:a:dask:dask_cudf:23.6.1:*:*:*:*:*:*:*']",NVIDIA Corporation,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +grpcio,1.54.2,Apache License 2.0,PYTHON,"['cpe:2.3:a:grpc_authors_project:python-grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:grpc_authors_project:python_grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:grpc_authorsproject:python-grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:grpc_authorsproject:python_grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:grpc_io_project:python-grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:grpc_io_project:python_grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:grpc_ioproject:python-grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:grpc_ioproject:python_grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:grpc_authors_project:grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-grpcio:python-grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-grpcio:python_grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_grpcio:python-grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_grpcio:python_grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:grpc_authors:python-grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:grpc_authors:python_grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:grpc_authorsproject:grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:grpc_io_project:grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:grpc-io:python-grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:grpc-io:python_grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:grpc_io:python-grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:grpc_io:python_grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:grpc_ioproject:grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:grpcio:python-grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:grpcio:python_grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-grpcio:grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_grpcio:grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:grpc_authors:grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:grpc-io:grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:grpc_io:grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:grpcio:grpcio:1.54.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:grpcio:1.54.2:*:*:*:*:*:*:*']",The gRPC Authors ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +packaging,23.1,Unknown,PYTHON,"['cpe:2.3:a:donald_stufft_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +grpclib,0.4.6,BSD-3-Clause,PYTHON,"['cpe:2.3:a:vladimir_magamedov_project:python-grpclib:0.4.6:*:*:*:*:*:*:*', 'cpe:2.3:a:vladimir_magamedov_project:python_grpclib:0.4.6:*:*:*:*:*:*:*', 'cpe:2.3:a:vladimir_magamedovproject:python-grpclib:0.4.6:*:*:*:*:*:*:*', 'cpe:2.3:a:vladimir_magamedovproject:python_grpclib:0.4.6:*:*:*:*:*:*:*', 'cpe:2.3:a:vladimir_magamedov_project:grpclib:0.4.6:*:*:*:*:*:*:*', 'cpe:2.3:a:vladimir_magamedov:python-grpclib:0.4.6:*:*:*:*:*:*:*', 'cpe:2.3:a:vladimir_magamedov:python_grpclib:0.4.6:*:*:*:*:*:*:*', 'cpe:2.3:a:vladimir_magamedovproject:grpclib:0.4.6:*:*:*:*:*:*:*', 'cpe:2.3:a:vladimir_project:python-grpclib:0.4.6:*:*:*:*:*:*:*', 'cpe:2.3:a:vladimir_project:python_grpclib:0.4.6:*:*:*:*:*:*:*', 'cpe:2.3:a:vladimirproject:python-grpclib:0.4.6:*:*:*:*:*:*:*', 'cpe:2.3:a:vladimirproject:python_grpclib:0.4.6:*:*:*:*:*:*:*', 'cpe:2.3:a:python-grpclib:python-grpclib:0.4.6:*:*:*:*:*:*:*', 'cpe:2.3:a:python-grpclib:python_grpclib:0.4.6:*:*:*:*:*:*:*', 'cpe:2.3:a:python_grpclib:python-grpclib:0.4.6:*:*:*:*:*:*:*', 'cpe:2.3:a:python_grpclib:python_grpclib:0.4.6:*:*:*:*:*:*:*', 'cpe:2.3:a:vladimir_magamedov:grpclib:0.4.6:*:*:*:*:*:*:*', 'cpe:2.3:a:vladimir_project:grpclib:0.4.6:*:*:*:*:*:*:*', 'cpe:2.3:a:vladimir:python-grpclib:0.4.6:*:*:*:*:*:*:*', 'cpe:2.3:a:vladimir:python_grpclib:0.4.6:*:*:*:*:*:*:*', 'cpe:2.3:a:vladimirproject:grpclib:0.4.6:*:*:*:*:*:*:*', 'cpe:2.3:a:grpclib:python-grpclib:0.4.6:*:*:*:*:*:*:*', 'cpe:2.3:a:grpclib:python_grpclib:0.4.6:*:*:*:*:*:*:*', 'cpe:2.3:a:python-grpclib:grpclib:0.4.6:*:*:*:*:*:*:*', 'cpe:2.3:a:python_grpclib:grpclib:0.4.6:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-grpclib:0.4.6:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_grpclib:0.4.6:*:*:*:*:*:*:*', 'cpe:2.3:a:vladimir:grpclib:0.4.6:*:*:*:*:*:*:*', 'cpe:2.3:a:grpclib:grpclib:0.4.6:*:*:*:*:*:*:*', 'cpe:2.3:a:python:grpclib:0.4.6:*:*:*:*:*:*:*']",Vladimir Magamedov ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +python-rapidjson,1.13,MIT License,PYTHON,"['cpe:2.3:a:ken_robbins_project:python-rapidjson:1.13:*:*:*:*:*:*:*', 'cpe:2.3:a:ken_robbins_project:python_rapidjson:1.13:*:*:*:*:*:*:*', 'cpe:2.3:a:ken_robbinsproject:python-rapidjson:1.13:*:*:*:*:*:*:*', 'cpe:2.3:a:ken_robbinsproject:python_rapidjson:1.13:*:*:*:*:*:*:*', 'cpe:2.3:a:python-rapidjson:python-rapidjson:1.13:*:*:*:*:*:*:*', 'cpe:2.3:a:python-rapidjson:python_rapidjson:1.13:*:*:*:*:*:*:*', 'cpe:2.3:a:python_rapidjson:python-rapidjson:1.13:*:*:*:*:*:*:*', 'cpe:2.3:a:python_rapidjson:python_rapidjson:1.13:*:*:*:*:*:*:*', 'cpe:2.3:a:ken_project:python-rapidjson:1.13:*:*:*:*:*:*:*', 'cpe:2.3:a:ken_project:python_rapidjson:1.13:*:*:*:*:*:*:*', 'cpe:2.3:a:ken_robbins:python-rapidjson:1.13:*:*:*:*:*:*:*', 'cpe:2.3:a:ken_robbins:python_rapidjson:1.13:*:*:*:*:*:*:*', 'cpe:2.3:a:kenproject:python-rapidjson:1.13:*:*:*:*:*:*:*', 'cpe:2.3:a:kenproject:python_rapidjson:1.13:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-rapidjson:1.13:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_rapidjson:1.13:*:*:*:*:*:*:*', 'cpe:2.3:a:ken:python-rapidjson:1.13:*:*:*:*:*:*:*', 'cpe:2.3:a:ken:python_rapidjson:1.13:*:*:*:*:*:*:*']",Ken Robbins ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +querystring-parser,1.2.4,UNKNOWN,PYTHON,"['cpe:2.3:a:python-querystring-parser:python-querystring-parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python-querystring-parser:python_querystring_parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_querystring_parser:python-querystring-parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_querystring_parser:python_querystring_parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python-querystring-parser:querystring-parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python-querystring-parser:querystring_parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python-querystring:python-querystring-parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python-querystring:python_querystring_parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_querystring:python-querystring-parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_querystring:python_querystring_parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_querystring_parser:querystring-parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_querystring_parser:querystring_parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:querystring-parser:python-querystring-parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:querystring-parser:python_querystring_parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:querystring_parser:python-querystring-parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:querystring_parser:python_querystring_parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:bernii_project:python-querystring-parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:bernii_project:python_querystring_parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:berni_project:python-querystring-parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:berni_project:python_querystring_parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:berniiproject:python-querystring-parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:berniiproject:python_querystring_parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:berniproject:python-querystring-parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:berniproject:python_querystring_parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python-querystring:querystring-parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python-querystring:querystring_parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_querystring:querystring-parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_querystring:querystring_parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:querystring-parser:querystring-parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:querystring-parser:querystring_parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:querystring:python-querystring-parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:querystring:python_querystring_parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:querystring_parser:querystring-parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:querystring_parser:querystring_parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:bernii_project:querystring-parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:bernii_project:querystring_parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:berni_project:querystring-parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:berni_project:querystring_parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:bernii:python-querystring-parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:bernii:python_querystring_parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:berniiproject:querystring-parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:berniiproject:querystring_parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-querystring-parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_querystring_parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:berni:python-querystring-parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:berni:python_querystring_parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:berniproject:querystring-parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:berniproject:querystring_parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:querystring:querystring-parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:querystring:querystring_parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:bernii:querystring-parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:bernii:querystring_parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python:querystring-parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python:querystring_parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:berni:querystring-parser:1.2.4:*:*:*:*:*:*:*', 'cpe:2.3:a:berni:querystring_parser:1.2.4:*:*:*:*:*:*:*']",bernii ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +requests,2.31.0,Apache 2.0,PYTHON,"['cpe:2.3:a:kenneth_reitz_project:python-requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitz_project:python_requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitzproject:python-requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitzproject:python_requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-requests:python-requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-requests:python_requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_requests:python-requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_requests:python_requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitz_project:requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitz:python-requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitz:python_requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitzproject:requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:me_project:python-requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:me_project:python_requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:meproject:python-requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:meproject:python_requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-requests:requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_requests:requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:requests:python-requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:requests:python_requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:kenneth_reitz:requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:me_project:requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:me:python-requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:me:python_requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:meproject:requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:requests:requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:requests:2.31.0:*:*:*:*:*:*:*', 'cpe:2.3:a:me:requests:2.31.0:*:*:*:*:*:*:*']",Kenneth Reitz ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cupy,12.2.0,MIT License,PYTHON,"['cpe:2.3:a:seiya_tokui_project:python-cupy:12.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:seiya_tokui_project:python_cupy:12.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:seiya_tokuiproject:python-cupy:12.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:seiya_tokuiproject:python_cupy:12.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:tokui_project:python-cupy:12.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:tokui_project:python_cupy:12.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:seiya_tokui_project:cupy:12.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:tokuiproject:python-cupy:12.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:tokuiproject:python_cupy:12.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cupy:python-cupy:12.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cupy:python_cupy:12.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cupy:python-cupy:12.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cupy:python_cupy:12.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:seiya_tokui:python-cupy:12.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:seiya_tokui:python_cupy:12.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:seiya_tokuiproject:cupy:12.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-cupy:12.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_cupy:12.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:tokui_project:cupy:12.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:tokui:python-cupy:12.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:tokui:python_cupy:12.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:tokuiproject:cupy:12.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cupy:python-cupy:12.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cupy:python_cupy:12.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cupy:cupy:12.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cupy:cupy:12.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:seiya_tokui:cupy:12.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:cupy:12.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:tokui:cupy:12.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cupy:cupy:12.2.0:*:*:*:*:*:*:*']",Seiya Tokui ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +rmm,23.6.0,Apache 2.0,PYTHON,"['cpe:2.3:a:nvidia_corporation_project:python-rmm:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation_project:python_rmm:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:python-rmm:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:python_rmm:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation_project:rmm:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:python-rmm:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:python_rmm:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:rmm:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:rmm:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-rmm:python-rmm:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-rmm:python_rmm:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_rmm:python-rmm:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_rmm:python_rmm:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-rmm:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_rmm:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-rmm:rmm:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_rmm:rmm:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:rmm:python-rmm:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:rmm:python_rmm:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:rmm:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:rmm:rmm:23.6.0:*:*:*:*:*:*:*']",NVIDIA Corporation,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +contourpy,1.2.0,"BSD 3-Clause License + + Copyright (c) 2021-2023, ContourPy Developers. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ""AS IS"" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.",PYTHON,"['cpe:2.3:a:ian_thomas_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libatomic1,12.3.0-1ubuntu1~22.04,Artistic GFDL-1.2 GPL GPL-2 GPL-3 LGPL,dpkg,['cpe:2.3:a:libatomic1:libatomic1:12.3.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*'],Ubuntu Core developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libsasl2-modules-db,2.1.27+dfsg2-3ubuntu1.2,BSD-2-clause BSD-2.2-clause BSD-3-clause BSD-3-clause-JANET BSD-3-clause-PADL BSD-4-clause BSD-4-clause-UC FSFULLR GPL-3 GPL-3+ IBM-as-is MIT-CMU MIT-Export MIT-OpenVision OpenLDAP OpenSSL RSA-MD SSLeay,dpkg,"['cpe:2.3:a:libsasl2-modules-db:libsasl2-modules-db:2.1.27\\+dfsg2-3ubuntu1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libsasl2-modules-db:libsasl2_modules_db:2.1.27\\+dfsg2-3ubuntu1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libsasl2_modules_db:libsasl2-modules-db:2.1.27\\+dfsg2-3ubuntu1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libsasl2_modules_db:libsasl2_modules_db:2.1.27\\+dfsg2-3ubuntu1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libsasl2-modules:libsasl2-modules-db:2.1.27\\+dfsg2-3ubuntu1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libsasl2-modules:libsasl2_modules_db:2.1.27\\+dfsg2-3ubuntu1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libsasl2_modules:libsasl2-modules-db:2.1.27\\+dfsg2-3ubuntu1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libsasl2_modules:libsasl2_modules_db:2.1.27\\+dfsg2-3ubuntu1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libsasl2:libsasl2-modules-db:2.1.27\\+dfsg2-3ubuntu1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libsasl2:libsasl2_modules_db:2.1.27\\+dfsg2-3ubuntu1.2:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +cloudpickle,3.0.0,BSD-3-Clause,PYTHON,"['cpe:2.3:a:cloudpickle_developer_team_project:python-cloudpickle:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cloudpickle_developer_team_project:python_cloudpickle:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cloudpickle_developer_teamproject:python-cloudpickle:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cloudpickle_developer_teamproject:python_cloudpickle:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cloudpickle_developer_team_project:cloudpickle:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cloudpickle_developer_team:python-cloudpickle:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cloudpickle_developer_team:python_cloudpickle:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cloudpickle_developer_teamproject:cloudpickle:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cloudpickle_developer_team:cloudpickle:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cloudpickle:python-cloudpickle:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cloudpickle:python_cloudpickle:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cloudpickle:python-cloudpickle:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cloudpickle:python_cloudpickle:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cloudpipe_project:python-cloudpickle:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cloudpipe_project:python_cloudpickle:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cloudpipeproject:python-cloudpickle:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cloudpipeproject:python_cloudpickle:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cloudpickle:python-cloudpickle:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cloudpickle:python_cloudpickle:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-cloudpickle:cloudpickle:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_cloudpickle:cloudpickle:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cloudpipe_project:cloudpickle:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cloudpipe:python-cloudpickle:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cloudpipe:python_cloudpickle:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cloudpipeproject:cloudpickle:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-cloudpickle:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_cloudpickle:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cloudpickle:cloudpickle:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cloudpipe:cloudpickle:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:cloudpickle:3.0.0:*:*:*:*:*:*:*']",The cloudpickle developer team ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libavahi-common-data,0.8-5ubuntu5.2,GPL GPL-2 LGPL-2.1,dpkg,"['cpe:2.3:a:libavahi-common-data:libavahi-common-data:0.8-5ubuntu5.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libavahi-common-data:libavahi_common_data:0.8-5ubuntu5.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libavahi_common_data:libavahi-common-data:0.8-5ubuntu5.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libavahi_common_data:libavahi_common_data:0.8-5ubuntu5.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libavahi-common:libavahi-common-data:0.8-5ubuntu5.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libavahi-common:libavahi_common_data:0.8-5ubuntu5.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libavahi_common:libavahi-common-data:0.8-5ubuntu5.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libavahi_common:libavahi_common_data:0.8-5ubuntu5.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libavahi:libavahi-common-data:0.8-5ubuntu5.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libavahi:libavahi_common_data:0.8-5ubuntu5.2:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libavahi-common3,0.8-5ubuntu5.2,GPL GPL-2 LGPL-2.1,dpkg,"['cpe:2.3:a:libavahi-common3:libavahi-common3:0.8-5ubuntu5.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libavahi-common3:libavahi_common3:0.8-5ubuntu5.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libavahi_common3:libavahi-common3:0.8-5ubuntu5.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libavahi_common3:libavahi_common3:0.8-5ubuntu5.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libavahi:libavahi-common3:0.8-5ubuntu5.2:*:*:*:*:*:*:*', 'cpe:2.3:a:libavahi:libavahi_common3:0.8-5ubuntu5.2:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libsepol2,3.3-1build1,GPL LGPL,dpkg,['cpe:2.3:a:libsepol2:libsepol2:3.3-1build1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +anyio,3.7.1,MIT,PYTHON,"['cpe:2.3:a:python-anyio:python-anyio:3.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-anyio:python_anyio:3.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_anyio:python-anyio:3.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_anyio:python_anyio:3.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-anyio:3.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_anyio:3.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anyio:python-anyio:3.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anyio:python_anyio:3.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-anyio:anyio:3.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_anyio:anyio:3.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:anyio:3.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anyio:anyio:3.7.1:*:*:*:*:*:*:*']", >,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +appdirs,1.4.4,MIT,PYTHON,"['cpe:2.3:a:trent_mick_project:python-appdirs:1.4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:trent_mick_project:python_appdirs:1.4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:trent_mickproject:python-appdirs:1.4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:trent_mickproject:python_appdirs:1.4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python-appdirs:python-appdirs:1.4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python-appdirs:python_appdirs:1.4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_appdirs:python-appdirs:1.4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_appdirs:python_appdirs:1.4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:trentm_project:python-appdirs:1.4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:trentm_project:python_appdirs:1.4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:trentmproject:python-appdirs:1.4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:trentmproject:python_appdirs:1.4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:trent_mick_project:appdirs:1.4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:trent_mick:python-appdirs:1.4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:trent_mick:python_appdirs:1.4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:trent_mickproject:appdirs:1.4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:appdirs:python-appdirs:1.4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:appdirs:python_appdirs:1.4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python-appdirs:appdirs:1.4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_appdirs:appdirs:1.4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:trentm_project:appdirs:1.4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-appdirs:1.4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_appdirs:1.4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:trentm:python-appdirs:1.4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:trentm:python_appdirs:1.4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:trentmproject:appdirs:1.4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:trent_mick:appdirs:1.4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:appdirs:appdirs:1.4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python:appdirs:1.4.4:*:*:*:*:*:*:*', 'cpe:2.3:a:trentm:appdirs:1.4.4:*:*:*:*:*:*:*']",Trent Mick ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +asn1crypto,1.5.1,MIT,PYTHON,"['cpe:2.3:a:python-asn1crypto:python-asn1crypto:1.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-asn1crypto:python_asn1crypto:1.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_asn1crypto:python-asn1crypto:1.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_asn1crypto:python_asn1crypto:1.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:wbond_project:python-asn1crypto:1.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:wbond_project:python_asn1crypto:1.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:wbondproject:python-asn1crypto:1.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:wbondproject:python_asn1crypto:1.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:will_project:python-asn1crypto:1.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:will_project:python_asn1crypto:1.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:willproject:python-asn1crypto:1.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:willproject:python_asn1crypto:1.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:asn1crypto:python-asn1crypto:1.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:asn1crypto:python_asn1crypto:1.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-asn1crypto:asn1crypto:1.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_asn1crypto:asn1crypto:1.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-asn1crypto:1.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_asn1crypto:1.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:wbond_project:asn1crypto:1.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:wbond:python-asn1crypto:1.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:wbond:python_asn1crypto:1.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:wbondproject:asn1crypto:1.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:will_project:asn1crypto:1.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:will:python-asn1crypto:1.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:will:python_asn1crypto:1.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:willproject:asn1crypto:1.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:asn1crypto:asn1crypto:1.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:asn1crypto:1.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:wbond:asn1crypto:1.5.1:*:*:*:*:*:*:*', 'cpe:2.3:a:will:asn1crypto:1.5.1:*:*:*:*:*:*:*']",wbond ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +sympy,1.12,BSD,PYTHON,"['cpe:2.3:a:sympy_development_team_project:python-sympy:1.12:*:*:*:*:*:*:*', 'cpe:2.3:a:sympy_development_team_project:python_sympy:1.12:*:*:*:*:*:*:*', 'cpe:2.3:a:sympy_development_teamproject:python-sympy:1.12:*:*:*:*:*:*:*', 'cpe:2.3:a:sympy_development_teamproject:python_sympy:1.12:*:*:*:*:*:*:*', 'cpe:2.3:a:sympy_development_team_project:sympy:1.12:*:*:*:*:*:*:*', 'cpe:2.3:a:sympy_development_team:python-sympy:1.12:*:*:*:*:*:*:*', 'cpe:2.3:a:sympy_development_team:python_sympy:1.12:*:*:*:*:*:*:*', 'cpe:2.3:a:sympy_development_teamproject:sympy:1.12:*:*:*:*:*:*:*', 'cpe:2.3:a:sympy_development_team:sympy:1.12:*:*:*:*:*:*:*', 'cpe:2.3:a:sympy_project:python-sympy:1.12:*:*:*:*:*:*:*', 'cpe:2.3:a:sympy_project:python_sympy:1.12:*:*:*:*:*:*:*', 'cpe:2.3:a:python-sympy:python-sympy:1.12:*:*:*:*:*:*:*', 'cpe:2.3:a:python-sympy:python_sympy:1.12:*:*:*:*:*:*:*', 'cpe:2.3:a:python_sympy:python-sympy:1.12:*:*:*:*:*:*:*', 'cpe:2.3:a:python_sympy:python_sympy:1.12:*:*:*:*:*:*:*', 'cpe:2.3:a:sympyproject:python-sympy:1.12:*:*:*:*:*:*:*', 'cpe:2.3:a:sympyproject:python_sympy:1.12:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-sympy:1.12:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_sympy:1.12:*:*:*:*:*:*:*', 'cpe:2.3:a:sympy_project:sympy:1.12:*:*:*:*:*:*:*', 'cpe:2.3:a:python-sympy:sympy:1.12:*:*:*:*:*:*:*', 'cpe:2.3:a:python_sympy:sympy:1.12:*:*:*:*:*:*:*', 'cpe:2.3:a:sympy:python-sympy:1.12:*:*:*:*:*:*:*', 'cpe:2.3:a:sympy:python_sympy:1.12:*:*:*:*:*:*:*', 'cpe:2.3:a:sympyproject:sympy:1.12:*:*:*:*:*:*:*', 'cpe:2.3:a:python:sympy:1.12:*:*:*:*:*:*:*', 'cpe:2.3:a:sympy:sympy:1.12:*:*:*:*:*:*:*']",SymPy development team ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +tblib,2.0.0,BSD-2-Clause,PYTHON,"['cpe:2.3:a:contact_project:python-tblib:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:contact_project:python_tblib:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:contactproject:python-tblib:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:contactproject:python_tblib:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-tblib:python-tblib:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-tblib:python_tblib:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_tblib:python-tblib:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_tblib:python_tblib:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:contact_project:tblib:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:contact:python-tblib:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:contact:python_tblib:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:contactproject:tblib:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-tblib:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_tblib:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-tblib:tblib:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_tblib:tblib:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:tblib:python-tblib:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:tblib:python_tblib:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:contact:tblib:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:tblib:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:tblib:tblib:2.0.0:*:*:*:*:*:*:*']",Ionel Cristian Mărieș ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +threadpoolctl,3.2.0,BSD-3-Clause,PYTHON,"['cpe:2.3:a:thomas_moreau_2010_project:python-threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_moreau_2010_project:python_threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_moreau_2010project:python-threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_moreau_2010project:python_threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_moreau_project:python-threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_moreau_project:python_threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-threadpoolctl:python-threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-threadpoolctl:python_threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_threadpoolctl:python-threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_threadpoolctl:python_threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_moreauproject:python-threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_moreauproject:python_threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_moreau_2010_project:threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas-moreau-2010:python-threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas-moreau-2010:python_threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_moreau_2010:python-threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_moreau_2010:python_threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_moreau_2010project:threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_moreau_project:threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-threadpoolctl:threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_threadpoolctl:threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_moreau:python-threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_moreau:python_threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_moreauproject:threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:threadpoolctl:python-threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:threadpoolctl:python_threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas-moreau-2010:threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_moreau_2010:threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:thomas_moreau:threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:threadpoolctl:threadpoolctl:3.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:threadpoolctl:3.2.0:*:*:*:*:*:*:*']",Thomas Moreau ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +locket,1.0.0,BSD-2-Clause,PYTHON,"['cpe:2.3:a:michael_williamson_project:python-locket:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_williamson_project:python_locket:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_williamsonproject:python-locket:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_williamsonproject:python_locket:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_williamson_project:locket:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_williamson:python-locket:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_williamson:python_locket:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_williamsonproject:locket:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-locket:python-locket:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-locket:python_locket:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_locket:python-locket:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_locket:python_locket:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_project:python-locket:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_project:python_locket:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:michael_williamson:locket:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mikeproject:python-locket:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mikeproject:python_locket:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:locket:python-locket:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:locket:python_locket:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-locket:locket:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-locket:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_locket:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_locket:locket:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_project:locket:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike:python-locket:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike:python_locket:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mikeproject:locket:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:locket:locket:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:locket:1.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike:locket:1.0.0:*:*:*:*:*:*:*']",Michael Williamson ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +lz4,4.3.2,Unknown,PYTHON,"['cpe:2.3:a:jonathan_underwood_project:python-lz4:4.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:jonathan_underwood_project:python_lz4:4.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:jonathan_underwoodproject:python-lz4:4.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:jonathan_underwoodproject:python_lz4:4.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:jonathan_underwood_project:lz4:4.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:jonathan-underwood:python-lz4:4.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:jonathan-underwood:python_lz4:4.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:jonathan_underwood:python-lz4:4.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:jonathan_underwood:python_lz4:4.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:jonathan_underwoodproject:lz4:4.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:jonathan-underwood:lz4:4.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:jonathan_underwood:lz4:4.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-lz4:python-lz4:4.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-lz4:python_lz4:4.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_lz4:python-lz4:4.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_lz4:python_lz4:4.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-lz4:4.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_lz4:4.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:lz4:python-lz4:4.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:lz4:python_lz4:4.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-lz4:lz4:4.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_lz4:lz4:4.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:lz4:4.3.2:*:*:*:*:*:*:*', 'cpe:2.3:a:lz4:lz4:4.3.2:*:*:*:*:*:*:*']",Jonathan Underwood ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +markdown-it-py,3.0.0,Unknown,PYTHON,"['cpe:2.3:a:chris_sewell_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +pluggy,1.3.0,MIT,PYTHON,"['cpe:2.3:a:holger_krekel_project:python-pluggy:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holger_krekel_project:python_pluggy:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holger_krekelproject:python-pluggy:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holger_krekelproject:python_pluggy:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holger_krekel_project:pluggy:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holger_project:python-pluggy:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holger_project:python_pluggy:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holger_krekel:python-pluggy:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holger_krekel:python_pluggy:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holger_krekelproject:pluggy:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holgerproject:python-pluggy:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holgerproject:python_pluggy:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pluggy:python-pluggy:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pluggy:python_pluggy:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pluggy:python-pluggy:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pluggy:python_pluggy:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holger_project:pluggy:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holger:python-pluggy:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holger:python_pluggy:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holger_krekel:pluggy:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holgerproject:pluggy:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pluggy:python-pluggy:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pluggy:python_pluggy:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pluggy:pluggy:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-pluggy:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_pluggy:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pluggy:pluggy:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:holger:pluggy:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pluggy:pluggy:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:pluggy:1.3.0:*:*:*:*:*:*:*']",Holger Krekel ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +scikit-learn,1.2.2,new BSD,PYTHON,"['cpe:2.3:a:python-scikit-learn:python-scikit-learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-scikit-learn:python_scikit_learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_scikit_learn:python-scikit-learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_scikit_learn:python_scikit_learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-scikit:python-scikit-learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-scikit:python_scikit_learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_scikit:python-scikit-learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_scikit:python_scikit_learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-scikit-learn:scikit-learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-scikit-learn:scikit_learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_scikit_learn:scikit-learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_scikit_learn:scikit_learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:scikit-learn:python-scikit-learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:scikit-learn:python_scikit_learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:scikit_learn:python-scikit-learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:scikit_learn:python_scikit_learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-scikit:scikit-learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-scikit:scikit_learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-scikit-learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_scikit_learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_scikit:scikit-learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_scikit:scikit_learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:scikit:python-scikit-learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:scikit:python_scikit_learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:scikit-learn:scikit-learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:scikit-learn:scikit_learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:scikit_learn:scikit-learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:scikit_learn:scikit_learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:scikit-learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:scikit_learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:scikit:scikit-learn:1.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:scikit:scikit_learn:1.2.2:*:*:*:*:*:*:*']",Unknown,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +pyOpenSSL,23.2.0,"Apache License, Version 2.0",PYTHON,"['cpe:2.3:a:pyopenssl_developers_project:python-pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pyopenssl_developers_project:python_pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pyopenssl_developersproject:python-pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pyopenssl_developersproject:python_pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cryptography_dev_project:python-pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cryptography_dev_project:python_pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cryptography_devproject:python-pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cryptography_devproject:python_pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pyopenssl_developers_project:pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pyopenssl_developers:python-pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pyopenssl_developers:python_pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pyopenssl_developersproject:pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cryptography_dev_project:pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cryptography-dev:python-pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cryptography-dev:python_pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cryptography_dev:python-pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cryptography_dev:python_pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cryptography_devproject:pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pyOpenSSL:python-pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pyOpenSSL:python_pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pyOpenSSL:python-pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pyOpenSSL:python_pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pyopenssl_developers:pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cryptography-dev:pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cryptography_dev:pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pyOpenSSL:python-pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pyOpenSSL:python_pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pyOpenSSL:pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pyOpenSSL:pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pyOpenSSL:pyOpenSSL:23.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:pyOpenSSL:23.2.0:*:*:*:*:*:*:*']",The pyOpenSSL developers ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +pyOpenSSL,23.3.0,"Apache License, Version 2.0",PYTHON,"['cpe:2.3:a:pyopenssl_developers_project:python-pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pyopenssl_developers_project:python_pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pyopenssl_developersproject:python-pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pyopenssl_developersproject:python_pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cryptography_dev_project:python-pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cryptography_dev_project:python_pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cryptography_devproject:python-pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cryptography_devproject:python_pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pyopenssl_developers_project:pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pyopenssl_developers:python-pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pyopenssl_developers:python_pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pyopenssl_developersproject:pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cryptography_dev_project:pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cryptography-dev:python-pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cryptography-dev:python_pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cryptography_dev:python-pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cryptography_dev:python_pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cryptography_devproject:pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pyOpenSSL:python-pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pyOpenSSL:python_pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pyOpenSSL:python-pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pyOpenSSL:python_pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pyopenssl_developers:pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cryptography-dev:pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:cryptography_dev:pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pyOpenSSL:python-pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pyOpenSSL:python_pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pyOpenSSL:pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pyOpenSSL:pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pyOpenSSL:pyOpenSSL:23.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:pyOpenSSL:23.3.0:*:*:*:*:*:*:*']",The pyOpenSSL developers ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +pyarrow,11.0.0,"Apache License, Version 2.0",PYTHON,"['cpe:2.3:a:python-pyarrow:python-pyarrow:11.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pyarrow:python_pyarrow:11.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pyarrow:python-pyarrow:11.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pyarrow:python_pyarrow:11.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pyarrow:python-pyarrow:11.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pyarrow:python_pyarrow:11.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pyarrow:pyarrow:11.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pyarrow:pyarrow:11.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-pyarrow:11.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_pyarrow:11.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pyarrow:pyarrow:11.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:pyarrow:11.0.0:*:*:*:*:*:*:*']",Unknown,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libunistring2,1.0-1,FreeSoftware GFDL-1.2 GFDL-1.2+ GPL-2 GPL-2+ GPL-3 GPL-3+ LGPL-3 LGPL-3+ MIT,dpkg,['cpe:2.3:a:libunistring2:libunistring2:1.0-1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libuuid1,2.37.2-4ubuntu3,BSD-2-clause BSD-3-clause BSD-4-clause GPL-2 GPL-2+ GPL-3 GPL-3+ LGPL LGPL-2 LGPL-2+ LGPL-2.1 LGPL-2.1+ LGPL-3 LGPL-3+ MIT public-domain,dpkg,['cpe:2.3:a:libuuid1:libuuid1:2.37.2-4ubuntu3:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libxxhash0,0.8.1-1,BSD-2-clause GPL-2,dpkg,['cpe:2.3:a:libxxhash0:libxxhash0:0.8.1-1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libzstd1,1.4.8+dfsg-3build1,BSD-3-clause Expat GPL-2 zlib,dpkg,['cpe:2.3:a:libzstd1:libzstd1:1.4.8\\+dfsg-3build1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +linux-libc-dev,5.15.0-89.99,GPL-2,dpkg,"['cpe:2.3:a:linux-libc-dev:linux-libc-dev:5.15.0-89.99:*:*:*:*:*:*:*', 'cpe:2.3:a:linux-libc-dev:linux_libc_dev:5.15.0-89.99:*:*:*:*:*:*:*', 'cpe:2.3:a:linux_libc_dev:linux-libc-dev:5.15.0-89.99:*:*:*:*:*:*:*', 'cpe:2.3:a:linux_libc_dev:linux_libc_dev:5.15.0-89.99:*:*:*:*:*:*:*', 'cpe:2.3:a:linux-libc:linux-libc-dev:5.15.0-89.99:*:*:*:*:*:*:*', 'cpe:2.3:a:linux-libc:linux_libc_dev:5.15.0-89.99:*:*:*:*:*:*:*', 'cpe:2.3:a:linux_libc:linux-libc-dev:5.15.0-89.99:*:*:*:*:*:*:*', 'cpe:2.3:a:linux_libc:linux_libc_dev:5.15.0-89.99:*:*:*:*:*:*:*', 'cpe:2.3:a:linux:linux-libc-dev:5.15.0-89.99:*:*:*:*:*:*:*', 'cpe:2.3:a:linux:linux_libc_dev:5.15.0-89.99:*:*:*:*:*:*:*']",Ubuntu Kernel Team (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +login,1:4.8.1-2ubuntu2.1,GPL-2,dpkg,['cpe:2.3:a:login:login:1\\:4.8.1-2ubuntu2.1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +logsave,1.46.5-2ubuntu1.1,GPL-2 LGPL-2,dpkg,['cpe:2.3:a:logsave:logsave:1.46.5-2ubuntu1.1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +lsb-base,11.1.0ubuntu4,BSD-3-clause GPL-2,dpkg,"['cpe:2.3:a:lsb-base:lsb-base:11.1.0ubuntu4:*:*:*:*:*:*:*', 'cpe:2.3:a:lsb-base:lsb_base:11.1.0ubuntu4:*:*:*:*:*:*:*', 'cpe:2.3:a:lsb_base:lsb-base:11.1.0ubuntu4:*:*:*:*:*:*:*', 'cpe:2.3:a:lsb_base:lsb_base:11.1.0ubuntu4:*:*:*:*:*:*:*', 'cpe:2.3:a:lsb:lsb-base:11.1.0ubuntu4:*:*:*:*:*:*:*', 'cpe:2.3:a:lsb:lsb_base:11.1.0ubuntu4:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +lto-disabled-list,24,GPL-2 GPL-2+,dpkg,"['cpe:2.3:a:lto-disabled-list:lto-disabled-list:24:*:*:*:*:*:*:*', 'cpe:2.3:a:lto-disabled-list:lto_disabled_list:24:*:*:*:*:*:*:*', 'cpe:2.3:a:lto_disabled_list:lto-disabled-list:24:*:*:*:*:*:*:*', 'cpe:2.3:a:lto_disabled_list:lto_disabled_list:24:*:*:*:*:*:*:*', 'cpe:2.3:a:lto-disabled:lto-disabled-list:24:*:*:*:*:*:*:*', 'cpe:2.3:a:lto-disabled:lto_disabled_list:24:*:*:*:*:*:*:*', 'cpe:2.3:a:lto_disabled:lto-disabled-list:24:*:*:*:*:*:*:*', 'cpe:2.3:a:lto_disabled:lto_disabled_list:24:*:*:*:*:*:*:*', 'cpe:2.3:a:lto:lto-disabled-list:24:*:*:*:*:*:*:*', 'cpe:2.3:a:lto:lto_disabled_list:24:*:*:*:*:*:*:*']",Matthias Klose (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +make,4.3-4.1build1,GPL-3 GPL-3+,dpkg,['cpe:2.3:a:make:make:4.3-4.1build1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +mawk,1.3.4.20200120-3,GPL-2,dpkg,['cpe:2.3:a:mawk:mawk:1.3.4.20200120-3:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +websockets,12.0,BSD-3-Clause,PYTHON,"['cpe:2.3:a:aymeric_augustin_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +mount,2.37.2-4ubuntu3,BSD-2-clause BSD-3-clause BSD-4-clause GPL-2 GPL-2+ GPL-3 GPL-3+ LGPL LGPL-2 LGPL-2+ LGPL-2.1 LGPL-2.1+ LGPL-3 LGPL-3+ MIT public-domain,dpkg,['cpe:2.3:a:mount:mount:2.37.2-4ubuntu3:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +pycosat,0.6.4,MIT,PYTHON,"['cpe:2.3:a:ilan_schnell_project:python-pycosat:0.6.4:*:*:*:*:*:*:*', 'cpe:2.3:a:ilan_schnell_project:python_pycosat:0.6.4:*:*:*:*:*:*:*', 'cpe:2.3:a:ilan_schnellproject:python-pycosat:0.6.4:*:*:*:*:*:*:*', 'cpe:2.3:a:ilan_schnellproject:python_pycosat:0.6.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pycosat:python-pycosat:0.6.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pycosat:python_pycosat:0.6.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pycosat:python-pycosat:0.6.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pycosat:python_pycosat:0.6.4:*:*:*:*:*:*:*', 'cpe:2.3:a:ilan_schnell_project:pycosat:0.6.4:*:*:*:*:*:*:*', 'cpe:2.3:a:ilan_project:python-pycosat:0.6.4:*:*:*:*:*:*:*', 'cpe:2.3:a:ilan_project:python_pycosat:0.6.4:*:*:*:*:*:*:*', 'cpe:2.3:a:ilan_schnell:python-pycosat:0.6.4:*:*:*:*:*:*:*', 'cpe:2.3:a:ilan_schnell:python_pycosat:0.6.4:*:*:*:*:*:*:*', 'cpe:2.3:a:ilan_schnellproject:pycosat:0.6.4:*:*:*:*:*:*:*', 'cpe:2.3:a:ilanproject:python-pycosat:0.6.4:*:*:*:*:*:*:*', 'cpe:2.3:a:ilanproject:python_pycosat:0.6.4:*:*:*:*:*:*:*', 'cpe:2.3:a:pycosat:python-pycosat:0.6.4:*:*:*:*:*:*:*', 'cpe:2.3:a:pycosat:python_pycosat:0.6.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pycosat:pycosat:0.6.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pycosat:pycosat:0.6.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-pycosat:0.6.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_pycosat:0.6.4:*:*:*:*:*:*:*', 'cpe:2.3:a:ilan_project:pycosat:0.6.4:*:*:*:*:*:*:*', 'cpe:2.3:a:ilan_schnell:pycosat:0.6.4:*:*:*:*:*:*:*', 'cpe:2.3:a:ilan:python-pycosat:0.6.4:*:*:*:*:*:*:*', 'cpe:2.3:a:ilan:python_pycosat:0.6.4:*:*:*:*:*:*:*', 'cpe:2.3:a:ilanproject:pycosat:0.6.4:*:*:*:*:*:*:*', 'cpe:2.3:a:pycosat:pycosat:0.6.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python:pycosat:0.6.4:*:*:*:*:*:*:*', 'cpe:2.3:a:ilan:pycosat:0.6.4:*:*:*:*:*:*:*']",Ilan Schnell ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +wheel,0.41.2,Unknown,PYTHON,"['cpe:2.3:a:daniel_holth_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +pycparser,2.21,BSD,PYTHON,"['cpe:2.3:a:eli_bendersky_project:python-pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:eli_bendersky_project:python_pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:eli_benderskyproject:python-pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:eli_benderskyproject:python_pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pycparser:python-pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pycparser:python_pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pycparser:python-pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pycparser:python_pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:eli_bendersky_project:pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:eliben_project:python-pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:eliben_project:python_pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:eli_bendersky:python-pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:eli_bendersky:python_pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:eli_benderskyproject:pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:elibenproject:python-pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:elibenproject:python_pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:pycparser:python-pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:pycparser:python_pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pycparser:pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pycparser:pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:eliben_project:pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:eli_bendersky:pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:eliben:python-pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:eliben:python_pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:elibenproject:pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:pycparser:pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:eliben:pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:python:pycparser:2.21:*:*:*:*:*:*:*']",Eli Bendersky ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +pycparser,2.21,BSD,PYTHON,"['cpe:2.3:a:eli_bendersky_project:python-pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:eli_bendersky_project:python_pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:eli_benderskyproject:python-pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:eli_benderskyproject:python_pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pycparser:python-pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pycparser:python_pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pycparser:python-pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pycparser:python_pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:eli_bendersky_project:pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:eliben_project:python-pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:eliben_project:python_pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:eli_bendersky:python-pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:eli_bendersky:python_pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:eli_benderskyproject:pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:elibenproject:python-pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:elibenproject:python_pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:pycparser:python-pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:pycparser:python_pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pycparser:pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pycparser:pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:eliben_project:pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:eli_bendersky:pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:eliben:python-pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:eliben:python_pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:elibenproject:pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:pycparser:pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:eliben:pycparser:2.21:*:*:*:*:*:*:*', 'cpe:2.3:a:python:pycparser:2.21:*:*:*:*:*:*:*']",Eli Bendersky ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +wheel,0.42.0,Unknown,PYTHON,"['cpe:2.3:a:daniel_holth_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +pynvml,11.4.1,BSD,PYTHON,"['cpe:2.3:a:nvidia_corporation_project:python-pynvml:11.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation_project:python_pynvml:11.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:python-pynvml:11.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:python_pynvml:11.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation_project:pynvml:11.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:python-pynvml:11.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:python_pynvml:11.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:pynvml:11.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:rzamora_project:python-pynvml:11.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:rzamora_project:python_pynvml:11.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:rzamoraproject:python-pynvml:11.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:rzamoraproject:python_pynvml:11.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pynvml:python-pynvml:11.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pynvml:python_pynvml:11.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pynvml:python-pynvml:11.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pynvml:python_pynvml:11.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:pynvml:11.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:rzamora_project:pynvml:11.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:rzamora:python-pynvml:11.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:rzamora:python_pynvml:11.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:rzamoraproject:pynvml:11.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:pynvml:python-pynvml:11.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:pynvml:python_pynvml:11.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pynvml:pynvml:11.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-pynvml:11.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_pynvml:11.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pynvml:pynvml:11.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:rzamora:pynvml:11.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:pynvml:pynvml:11.4.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:pynvml:11.4.1:*:*:*:*:*:*:*']",NVIDIA Corporation ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +zict,3.0.0,BSD,PYTHON,"['cpe:2.3:a:python-zict:python-zict:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-zict:python_zict:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_zict:python-zict:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_zict:python_zict:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-zict:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_zict:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-zict:zict:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_zict:zict:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:zict:python-zict:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:zict:python_zict:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:zict:3.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:zict:zict:3.0.0:*:*:*:*:*:*:*']",Unknown,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +pyparsing,3.1.1,Unknown,PYTHON,"['cpe:2.3:a:paul_mcguire_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +python-dateutil,2.8.2,Dual License,PYTHON,"['cpe:2.3:a:gustavo_niemeyer_project:python-dateutil:2.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:gustavo_niemeyer_project:python_dateutil:2.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:gustavo_niemeyerproject:python-dateutil:2.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:gustavo_niemeyerproject:python_dateutil:2.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:gustavo_niemeyer:python-dateutil:2.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:gustavo_niemeyer:python_dateutil:2.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:gustavo_project:python-dateutil:2.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:gustavo_project:python_dateutil:2.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-dateutil:python-dateutil:2.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-dateutil:python_dateutil:2.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_dateutil:python-dateutil:2.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_dateutil:python_dateutil:2.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:gustavoproject:python-dateutil:2.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:gustavoproject:python_dateutil:2.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:gustavo:python-dateutil:2.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:gustavo:python_dateutil:2.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-dateutil:2.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_dateutil:2.8.2:*:*:*:*:*:*:*']",Gustavo Niemeyer ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +zipp,3.17.0,Unknown,PYTHON,"['cpe:2.3:a:jason_r__coombs_project:python-zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jason_r__coombs_project:python_zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jason_r__coombsproject:python-zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jason_r__coombsproject:python_zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jason_r__coombs_project:zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jason_r__coombs:python-zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jason_r__coombs:python_zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jason_r__coombsproject:zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaraco_project:python-zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaraco_project:python_zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaracoproject:python-zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaracoproject:python_zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-zipp:python-zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-zipp:python_zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_zipp:python-zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_zipp:python_zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jason_r__coombs:zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaraco_project:zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaraco:python-zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaraco:python_zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaracoproject:zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-zipp:zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_zipp:zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:zipp:python-zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:zipp:python_zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaraco:zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:zipp:zipp:3.17.0:*:*:*:*:*:*:*']",Jason R. Coombs ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +zipp,3.17.0,Unknown,PYTHON,"['cpe:2.3:a:jason_r__coombs_project:python-zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jason_r__coombs_project:python_zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jason_r__coombsproject:python-zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jason_r__coombsproject:python_zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jason_r__coombs_project:zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jason_r__coombs:python-zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jason_r__coombs:python_zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jason_r__coombsproject:zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaraco_project:python-zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaraco_project:python_zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaracoproject:python-zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaracoproject:python_zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-zipp:python-zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-zipp:python_zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_zipp:python-zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_zipp:python_zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jason_r__coombs:zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaraco_project:zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaraco:python-zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaraco:python_zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaracoproject:zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-zipp:zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_zipp:zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:zipp:python-zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:zipp:python_zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jaraco:zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:zipp:3.17.0:*:*:*:*:*:*:*', 'cpe:2.3:a:zipp:zipp:3.17.0:*:*:*:*:*:*:*']",Jason R. Coombs ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +zstandard,0.19.0,BSD,PYTHON,"['cpe:2.3:a:gregory_szorc_project:python-zstandard:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:gregory_szorc_project:python_zstandard:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:gregory_szorcproject:python-zstandard:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:gregory_szorcproject:python_zstandard:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-zstandard:python-zstandard:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-zstandard:python_zstandard:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_zstandard:python-zstandard:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_zstandard:python_zstandard:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:gregory_szorc_project:zstandard:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:gregory-szorc:python-zstandard:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:gregory-szorc:python_zstandard:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:gregory_szorc:python-zstandard:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:gregory_szorc:python_zstandard:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:gregory_szorcproject:zstandard:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-zstandard:zstandard:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_zstandard:zstandard:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:zstandard:python-zstandard:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:zstandard:python_zstandard:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:gregory-szorc:zstandard:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:gregory_szorc:zstandard:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-zstandard:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_zstandard:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:zstandard:zstandard:0.19.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:zstandard:0.19.0:*:*:*:*:*:*:*']",Gregory Szorc ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +python,3.10.12,N/A,BINARY,"['cpe:2.3:a:python_software_foundation:python:3.10.12:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python:3.10.12:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python:3.10.12:*:*:*:*:*:*:*']",N/A,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +python,3.10.12,N/A,BINARY,"['cpe:2.3:a:python_software_foundation:python:3.10.12:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python:3.10.12:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python:3.10.12:*:*:*:*:*:*:*']",N/A,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +python,3.10.13,N/A,BINARY,"['cpe:2.3:a:python_software_foundation:python:3.10.13:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python:3.10.13:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python:3.10.13:*:*:*:*:*:*:*']",N/A,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +configparser,5.3.0,Unknown,PYTHON,"['cpe:2.3:a:python-configparser:python-configparser:5.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-configparser:python_configparser:5.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_configparser:python-configparser:5.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_configparser:python_configparser:5.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:lukasz_project:python-configparser:5.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:lukasz_project:python_configparser:5.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:lukaszproject:python-configparser:5.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:lukaszproject:python_configparser:5.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:configparser:python-configparser:5.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:configparser:python_configparser:5.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-configparser:configparser:5.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_configparser:configparser:5.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:lukasz_project:configparser:5.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:lukasz:python-configparser:5.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:lukasz:python_configparser:5.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:lukaszproject:configparser:5.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-configparser:5.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_configparser:5.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:configparser:configparser:5.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:lukasz:configparser:5.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:configparser:5.3.0:*:*:*:*:*:*:*']",Łukasz Langa ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +numpy,1.26.2,"Copyright (c) 2005-2023, NumPy Developers. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + * Neither the name of the NumPy Developers nor the names of any + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.",PYTHON,"['cpe:2.3:a:travis_e__oliphant_et_al__project:python-numpy:1.26.2:*:*:*:*:*:*:*', 'cpe:2.3:a:travis_e__oliphant_et_al__project:python_numpy:1.26.2:*:*:*:*:*:*:*', 'cpe:2.3:a:travis_e__oliphant_et_al_project:python-numpy:1.26.2:*:*:*:*:*:*:*', 'cpe:2.3:a:travis_e__oliphant_et_al_project:python_numpy:1.26.2:*:*:*:*:*:*:*', 'cpe:2.3:a:travis_e__oliphant_et_al__project:numpy:1.26.2:*:*:*:*:*:*:*', 'cpe:2.3:a:travis_e__oliphant_et_al_:python-numpy:1.26.2:*:*:*:*:*:*:*', 'cpe:2.3:a:travis_e__oliphant_et_al_:python_numpy:1.26.2:*:*:*:*:*:*:*', 'cpe:2.3:a:travis_e__oliphant_et_al_project:numpy:1.26.2:*:*:*:*:*:*:*', 'cpe:2.3:a:travis_e__oliphant_et_al_:numpy:1.26.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-numpy:python-numpy:1.26.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-numpy:python_numpy:1.26.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_numpy:python-numpy:1.26.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_numpy:python_numpy:1.26.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-numpy:1.26.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_numpy:1.26.2:*:*:*:*:*:*:*', 'cpe:2.3:a:numpy:python-numpy:1.26.2:*:*:*:*:*:*:*', 'cpe:2.3:a:numpy:python_numpy:1.26.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-numpy:numpy:1.26.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_numpy:numpy:1.26.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:numpy:1.26.2:*:*:*:*:*:*:*', 'cpe:2.3:a:numpy:numpy:1.26.2:*:*:*:*:*:*:*']",Travis E. Oliphant et al.,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +numpydoc,1.4.0,BSD,PYTHON,"['cpe:2.3:a:pauli_virtanen_and_others_project:python-numpydoc:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pauli_virtanen_and_others_project:python_numpydoc:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pauli_virtanen_and_othersproject:python-numpydoc:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pauli_virtanen_and_othersproject:python_numpydoc:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pauli_virtanen_and_others_project:numpydoc:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pauli_virtanen_and_others:python-numpydoc:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pauli_virtanen_and_others:python_numpydoc:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pauli_virtanen_and_othersproject:numpydoc:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pauli_virtanen_and_others:numpydoc:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-numpydoc:python-numpydoc:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-numpydoc:python_numpydoc:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_numpydoc:python-numpydoc:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_numpydoc:python_numpydoc:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pav_project:python-numpydoc:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pav_project:python_numpydoc:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pavproject:python-numpydoc:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pavproject:python_numpydoc:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:numpydoc:python-numpydoc:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:numpydoc:python_numpydoc:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-numpydoc:numpydoc:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_numpydoc:numpydoc:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-numpydoc:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_numpydoc:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pav_project:numpydoc:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pav:python-numpydoc:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pav:python_numpydoc:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pavproject:numpydoc:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:numpydoc:numpydoc:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:numpydoc:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:pav:numpydoc:1.4.0:*:*:*:*:*:*:*']",Pauli Virtanen and others ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +nvtabular,23.6.0,Apache 2.0,PYTHON,"['cpe:2.3:a:nvidia_corporation_project:python-nvtabular:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation_project:python_nvtabular:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:python-nvtabular:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:python_nvtabular:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation_project:nvtabular:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:python-nvtabular:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:python_nvtabular:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:nvtabular:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-nvtabular:python-nvtabular:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-nvtabular:python_nvtabular:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_nvtabular:python-nvtabular:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_nvtabular:python_nvtabular:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:nvtabular:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvtabular:python-nvtabular:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvtabular:python_nvtabular:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-nvtabular:nvtabular:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_nvtabular:nvtabular:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-nvtabular:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_nvtabular:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvtabular:nvtabular:23.6.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:nvtabular:23.6.0:*:*:*:*:*:*:*']",NVIDIA Corporation,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +nvtx,0.2.8,Apache 2.0,PYTHON,"['cpe:2.3:a:nvidia_corporation_project:python-nvtx:0.2.8:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation_project:python_nvtx:0.2.8:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:python-nvtx:0.2.8:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:python_nvtx:0.2.8:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation_project:nvtx:0.2.8:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:python-nvtx:0.2.8:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:python_nvtx:0.2.8:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:nvtx:0.2.8:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:nvtx:0.2.8:*:*:*:*:*:*:*', 'cpe:2.3:a:python-nvtx:python-nvtx:0.2.8:*:*:*:*:*:*:*', 'cpe:2.3:a:python-nvtx:python_nvtx:0.2.8:*:*:*:*:*:*:*', 'cpe:2.3:a:python_nvtx:python-nvtx:0.2.8:*:*:*:*:*:*:*', 'cpe:2.3:a:python_nvtx:python_nvtx:0.2.8:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-nvtx:0.2.8:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_nvtx:0.2.8:*:*:*:*:*:*:*', 'cpe:2.3:a:nvtx:python-nvtx:0.2.8:*:*:*:*:*:*:*', 'cpe:2.3:a:nvtx:python_nvtx:0.2.8:*:*:*:*:*:*:*', 'cpe:2.3:a:python-nvtx:nvtx:0.2.8:*:*:*:*:*:*:*', 'cpe:2.3:a:python_nvtx:nvtx:0.2.8:*:*:*:*:*:*:*', 'cpe:2.3:a:python:nvtx:0.2.8:*:*:*:*:*:*:*', 'cpe:2.3:a:nvtx:nvtx:0.2.8:*:*:*:*:*:*:*']",NVIDIA Corporation,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +oauthlib,3.2.2,BSD,PYTHON,"['cpe:2.3:a:oauthlib_community_project:python-oauthlib:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:oauthlib_community_project:python_oauthlib:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:oauthlib_communityproject:python-oauthlib:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:oauthlib_communityproject:python_oauthlib:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:oauthlib_community_project:oauthlib:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:oauthlib_community:python-oauthlib:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:oauthlib_community:python_oauthlib:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:oauthlib_communityproject:oauthlib:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-oauthlib:python-oauthlib:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-oauthlib:python_oauthlib:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_oauthlib:python-oauthlib:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_oauthlib:python_oauthlib:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:idan_project:python-oauthlib:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:idan_project:python_oauthlib:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:idanproject:python-oauthlib:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:idanproject:python_oauthlib:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:oauthlib_community:oauthlib:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:oauthlib:python-oauthlib:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:oauthlib:python_oauthlib:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-oauthlib:oauthlib:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_oauthlib:oauthlib:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-oauthlib:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_oauthlib:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:idan_project:oauthlib:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:idan:python-oauthlib:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:idan:python_oauthlib:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:idanproject:oauthlib:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:oauthlib:oauthlib:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:oauthlib:3.2.2:*:*:*:*:*:*:*', 'cpe:2.3:a:idan:oauthlib:3.2.2:*:*:*:*:*:*:*']",The OAuthlib Community ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +alembic,1.13.0,MIT,PYTHON,"['cpe:2.3:a:mike_bayer_project:python-alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_bayer_project:python_alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_bayerproject:python-alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_bayerproject:python_alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_mp_project:python-alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_mp_project:python_alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_mpproject:python-alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_mpproject:python_alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-alembic:python-alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-alembic:python_alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_alembic:python-alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_alembic:python_alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_bayer_project:alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_bayer:python-alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_bayer:python_alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_bayerproject:alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_mp_project:alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:alembic:python-alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:alembic:python_alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike-mp:python-alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike-mp:python_alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_mp:python-alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_mp:python_alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_mpproject:alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-alembic:alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_alembic:alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_bayer:alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:alembic:alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike-mp:alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_mp:alembic:1.13.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:alembic:1.13.0:*:*:*:*:*:*:*']",Mike Bayer ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libpam-modules,1.4.0-11ubuntu2.3,GPL,dpkg,"['cpe:2.3:a:libpam-modules:libpam-modules:1.4.0-11ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libpam-modules:libpam_modules:1.4.0-11ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libpam_modules:libpam-modules:1.4.0-11ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libpam_modules:libpam_modules:1.4.0-11ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libpam:libpam-modules:1.4.0-11ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libpam:libpam_modules:1.4.0-11ubuntu2.3:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libpam-modules-bin,1.4.0-11ubuntu2.3,GPL,dpkg,"['cpe:2.3:a:libpam-modules-bin:libpam-modules-bin:1.4.0-11ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libpam-modules-bin:libpam_modules_bin:1.4.0-11ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libpam_modules_bin:libpam-modules-bin:1.4.0-11ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libpam_modules_bin:libpam_modules_bin:1.4.0-11ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libpam-modules:libpam-modules-bin:1.4.0-11ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libpam-modules:libpam_modules_bin:1.4.0-11ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libpam_modules:libpam-modules-bin:1.4.0-11ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libpam_modules:libpam_modules_bin:1.4.0-11ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libpam:libpam-modules-bin:1.4.0-11ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libpam:libpam_modules_bin:1.4.0-11ubuntu2.3:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libpam-runtime,1.4.0-11ubuntu2.3,GPL,dpkg,"['cpe:2.3:a:libpam-runtime:libpam-runtime:1.4.0-11ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libpam-runtime:libpam_runtime:1.4.0-11ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libpam_runtime:libpam-runtime:1.4.0-11ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libpam_runtime:libpam_runtime:1.4.0-11ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libpam:libpam-runtime:1.4.0-11ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libpam:libpam_runtime:1.4.0-11ubuntu2.3:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libpam0g,1.4.0-11ubuntu2.3,GPL,dpkg,['cpe:2.3:a:libpam0g:libpam0g:1.4.0-11ubuntu2.3:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libpcre2-8-0,10.39-3ubuntu0.1,Unknown,dpkg,"['cpe:2.3:a:libpcre2-8-0:libpcre2-8-0:10.39-3ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libpcre2-8-0:libpcre2_8_0:10.39-3ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libpcre2_8_0:libpcre2-8-0:10.39-3ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libpcre2_8_0:libpcre2_8_0:10.39-3ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libpcre2-8:libpcre2-8-0:10.39-3ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libpcre2-8:libpcre2_8_0:10.39-3ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libpcre2_8:libpcre2-8-0:10.39-3ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libpcre2_8:libpcre2_8_0:10.39-3ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libpcre2:libpcre2-8-0:10.39-3ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libpcre2:libpcre2_8_0:10.39-3ubuntu0.1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libpcre3,2:8.39-13ubuntu0.22.04.1,Unknown,dpkg,['cpe:2.3:a:libpcre3:libpcre3:2\\:8.39-13ubuntu0.22.04.1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libpcsclite1,1.9.5-3ubuntu1,BSD-3-clause GPL-3 GPL-3+ ISC,dpkg,['cpe:2.3:a:libpcsclite1:libpcsclite1:1.9.5-3ubuntu1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libperl5.34,5.34.0-3ubuntu1.3,"Artistic Artistic-2 Artistic-dist BSD-3-clause BSD-3-clause-GENERIC BSD-3-clause-with-weird-numbering BSD-4-clause-POWERDOG BZIP DONT-CHANGE-THE-GPL Expat GPL-1 GPL-1+ GPL-2 GPL-2+ GPL-3+-WITH-BISON-EXCEPTION HSIEH-BSD HSIEH-DERIVATIVE LGPL-2.1 REGCOMP REGCOMP, RRA-KEEP-THIS-NOTICE SDBM-PUBLIC-DOMAIN TEXT-TABS Unicode ZLIB",dpkg,['cpe:2.3:a:libperl5.34:libperl5.34:5.34.0-3ubuntu1.3:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libpng16-16,1.6.37-3build5,Apache-2.0 BSD-3-clause BSD-like-with-advertising-clause GPL-2 GPL-2+ expat libpng,dpkg,"['cpe:2.3:a:libpng16-16:libpng16-16:1.6.37-3build5:*:*:*:*:*:*:*', 'cpe:2.3:a:libpng16-16:libpng16_16:1.6.37-3build5:*:*:*:*:*:*:*', 'cpe:2.3:a:libpng16_16:libpng16-16:1.6.37-3build5:*:*:*:*:*:*:*', 'cpe:2.3:a:libpng16_16:libpng16_16:1.6.37-3build5:*:*:*:*:*:*:*', 'cpe:2.3:a:libpng16:libpng16-16:1.6.37-3build5:*:*:*:*:*:*:*', 'cpe:2.3:a:libpng16:libpng16_16:1.6.37-3build5:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libprocps8,2:3.3.17-6ubuntu2.1,GPL-2 GPL-2.0+ LGPL-2 LGPL-2.0+ LGPL-2.1 LGPL-2.1+,dpkg,['cpe:2.3:a:libprocps8:libprocps8:2\\:3.3.17-6ubuntu2.1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libpsl5,0.21.0-1.2build2,Chromium MIT,dpkg,['cpe:2.3:a:libpsl5:libpsl5:0.21.0-1.2build2:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libquadmath0,12.3.0-1ubuntu1~22.04,Artistic GFDL-1.2 GPL GPL-2 GPL-3 LGPL,dpkg,['cpe:2.3:a:libquadmath0:libquadmath0:12.3.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*'],Ubuntu Core developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libreadline8,8.1.2-1,GFDL GPL-3,dpkg,['cpe:2.3:a:libreadline8:libreadline8:8.1.2-1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +psutil,5.9.5,BSD-3-Clause,PYTHON,"['cpe:2.3:a:giampaolo_rodola_project:python-psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:giampaolo_rodola_project:python_psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:giampaolo_rodolaproject:python-psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:giampaolo_rodolaproject:python_psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:giampaolo_rodola_project:psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:g_rodola_project:python-psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:g_rodola_project:python_psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:giampaolo_rodola:python-psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:giampaolo_rodola:python_psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:giampaolo_rodolaproject:psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:g_rodolaproject:python-psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:g_rodolaproject:python_psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python-psutil:python-psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python-psutil:python_psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python_psutil:python-psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python_psutil:python_psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:g_rodola_project:psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:giampaolo_rodola:psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:g-rodola:python-psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:g-rodola:python_psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:g_rodola:python-psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:g_rodola:python_psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:g_rodolaproject:psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:psutil:python-psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:psutil:python_psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python-psutil:psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python_psutil:psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:g-rodola:psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:g_rodola:psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:psutil:psutil:5.9.5:*:*:*:*:*:*:*', 'cpe:2.3:a:python:psutil:5.9.5:*:*:*:*:*:*:*']",Giampaolo Rodola ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +gitdb,4.0.11,BSD License,PYTHON,"['cpe:2.3:a:sebastian_thiel_project:python-gitdb:4.0.11:*:*:*:*:*:*:*', 'cpe:2.3:a:sebastian_thiel_project:python_gitdb:4.0.11:*:*:*:*:*:*:*', 'cpe:2.3:a:sebastian_thielproject:python-gitdb:4.0.11:*:*:*:*:*:*:*', 'cpe:2.3:a:sebastian_thielproject:python_gitdb:4.0.11:*:*:*:*:*:*:*', 'cpe:2.3:a:byronimo_project:python-gitdb:4.0.11:*:*:*:*:*:*:*', 'cpe:2.3:a:byronimo_project:python_gitdb:4.0.11:*:*:*:*:*:*:*', 'cpe:2.3:a:sebastian_thiel_project:gitdb:4.0.11:*:*:*:*:*:*:*', 'cpe:2.3:a:byronimoproject:python-gitdb:4.0.11:*:*:*:*:*:*:*', 'cpe:2.3:a:byronimoproject:python_gitdb:4.0.11:*:*:*:*:*:*:*', 'cpe:2.3:a:sebastian_thiel:python-gitdb:4.0.11:*:*:*:*:*:*:*', 'cpe:2.3:a:sebastian_thiel:python_gitdb:4.0.11:*:*:*:*:*:*:*', 'cpe:2.3:a:sebastian_thielproject:gitdb:4.0.11:*:*:*:*:*:*:*', 'cpe:2.3:a:python-gitdb:python-gitdb:4.0.11:*:*:*:*:*:*:*', 'cpe:2.3:a:python-gitdb:python_gitdb:4.0.11:*:*:*:*:*:*:*', 'cpe:2.3:a:python_gitdb:python-gitdb:4.0.11:*:*:*:*:*:*:*', 'cpe:2.3:a:python_gitdb:python_gitdb:4.0.11:*:*:*:*:*:*:*', 'cpe:2.3:a:byronimo_project:gitdb:4.0.11:*:*:*:*:*:*:*', 'cpe:2.3:a:byronimo:python-gitdb:4.0.11:*:*:*:*:*:*:*', 'cpe:2.3:a:byronimo:python_gitdb:4.0.11:*:*:*:*:*:*:*', 'cpe:2.3:a:byronimoproject:gitdb:4.0.11:*:*:*:*:*:*:*', 'cpe:2.3:a:sebastian_thiel:gitdb:4.0.11:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-gitdb:4.0.11:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_gitdb:4.0.11:*:*:*:*:*:*:*', 'cpe:2.3:a:gitdb:python-gitdb:4.0.11:*:*:*:*:*:*:*', 'cpe:2.3:a:gitdb:python_gitdb:4.0.11:*:*:*:*:*:*:*', 'cpe:2.3:a:python-gitdb:gitdb:4.0.11:*:*:*:*:*:*:*', 'cpe:2.3:a:python_gitdb:gitdb:4.0.11:*:*:*:*:*:*:*', 'cpe:2.3:a:byronimo:gitdb:4.0.11:*:*:*:*:*:*:*', 'cpe:2.3:a:python:gitdb:4.0.11:*:*:*:*:*:*:*', 'cpe:2.3:a:gitdb:gitdb:4.0.11:*:*:*:*:*:*:*']",Sebastian Thiel ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +gmpy2,2.1.2,LGPL-3.0+,PYTHON,"['cpe:2.3:a:case_van_horsen_project:python-gmpy2:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:case_van_horsen_project:python_gmpy2:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:case_van_horsenproject:python-gmpy2:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:case_van_horsenproject:python_gmpy2:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:case_van_horsen_project:gmpy2:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:case_van_horsen:python-gmpy2:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:case_van_horsen:python_gmpy2:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:case_van_horsenproject:gmpy2:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:casevh_project:python-gmpy2:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:casevh_project:python_gmpy2:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:casevhproject:python-gmpy2:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:casevhproject:python_gmpy2:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-gmpy2:python-gmpy2:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-gmpy2:python_gmpy2:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_gmpy2:python-gmpy2:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_gmpy2:python_gmpy2:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:case_van_horsen:gmpy2:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:casevh_project:gmpy2:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:casevh:python-gmpy2:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:casevh:python_gmpy2:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:casevhproject:gmpy2:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-gmpy2:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_gmpy2:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:gmpy2:python-gmpy2:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:gmpy2:python_gmpy2:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-gmpy2:gmpy2:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_gmpy2:gmpy2:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:casevh:gmpy2:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:gmpy2:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:gmpy2:gmpy2:2.1.2:*:*:*:*:*:*:*']",Case Van Horsen ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +importlib-resources,6.1.1,Unknown,PYTHON,"['cpe:2.3:a:python-importlib-resources:python-importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-importlib-resources:python_importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_importlib_resources:python-importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_importlib_resources:python_importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_warsaw_project:python-importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_warsaw_project:python_importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_warsawproject:python-importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_warsawproject:python_importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib-resources:python-importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib-resources:python_importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib_resources:python-importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib_resources:python_importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-importlib-resources:importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-importlib-resources:importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_importlib_resources:importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_importlib_resources:importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-importlib:python-importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-importlib:python_importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_importlib:python-importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_importlib:python_importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_project:python-importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_project:python_importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_warsaw_project:importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_warsaw_project:importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_warsaw:python-importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_warsaw:python_importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_warsawproject:importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_warsawproject:importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barryproject:python-importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barryproject:python_importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib-resources:importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib-resources:importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib_resources:importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib_resources:importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib:python-importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib:python_importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-importlib:importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-importlib:importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_importlib:importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_importlib:importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_project:importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_project:importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry:python-importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry:python_importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_warsaw:importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry_warsaw:importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barryproject:importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barryproject:importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib:importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:importlib:importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:importlib_resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry:importlib-resources:6.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:barry:importlib_resources:6.1.1:*:*:*:*:*:*:*']",Barry Warsaw ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +itsdangerous,2.1.2,BSD-3-Clause,PYTHON,"['cpe:2.3:a:armin_ronacher_project:python-itsdangerous:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacher_project:python_itsdangerous:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacherproject:python-itsdangerous:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacherproject:python_itsdangerous:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-itsdangerous:python-itsdangerous:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-itsdangerous:python_itsdangerous:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_itsdangerous:python-itsdangerous:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_itsdangerous:python_itsdangerous:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacher_project:itsdangerous:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin-ronacher:python-itsdangerous:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin-ronacher:python_itsdangerous:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacher:python-itsdangerous:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacher:python_itsdangerous:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacherproject:itsdangerous:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:itsdangerous:python-itsdangerous:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:itsdangerous:python_itsdangerous:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-itsdangerous:itsdangerous:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_itsdangerous:itsdangerous:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin-ronacher:itsdangerous:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:armin_ronacher:itsdangerous:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-itsdangerous:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_itsdangerous:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:itsdangerous:itsdangerous:2.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:itsdangerous:2.1.2:*:*:*:*:*:*:*']",Armin Ronacher ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +joblib,1.3.2,BSD 3-Clause,PYTHON,"['cpe:2.3:a:gael_varoquaux_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +joblib,1.3.2,BSD 3-Clause,PYTHON,"['cpe:2.3:a:gael_varoquaux_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +json5,0.9.14,Apache,PYTHON,"['cpe:2.3:a:dirk_pranke_project:python-json5:0.9.14:*:*:*:*:*:*:*', 'cpe:2.3:a:dirk_pranke_project:python_json5:0.9.14:*:*:*:*:*:*:*', 'cpe:2.3:a:dirk_prankeproject:python-json5:0.9.14:*:*:*:*:*:*:*', 'cpe:2.3:a:dirk_prankeproject:python_json5:0.9.14:*:*:*:*:*:*:*', 'cpe:2.3:a:dpranke_project:python-json5:0.9.14:*:*:*:*:*:*:*', 'cpe:2.3:a:dpranke_project:python_json5:0.9.14:*:*:*:*:*:*:*', 'cpe:2.3:a:dprankeproject:python-json5:0.9.14:*:*:*:*:*:*:*', 'cpe:2.3:a:dprankeproject:python_json5:0.9.14:*:*:*:*:*:*:*', 'cpe:2.3:a:dirk_pranke_project:json5:0.9.14:*:*:*:*:*:*:*', 'cpe:2.3:a:python-json5:python-json5:0.9.14:*:*:*:*:*:*:*', 'cpe:2.3:a:python-json5:python_json5:0.9.14:*:*:*:*:*:*:*', 'cpe:2.3:a:python_json5:python-json5:0.9.14:*:*:*:*:*:*:*', 'cpe:2.3:a:python_json5:python_json5:0.9.14:*:*:*:*:*:*:*', 'cpe:2.3:a:dirk_pranke:python-json5:0.9.14:*:*:*:*:*:*:*', 'cpe:2.3:a:dirk_pranke:python_json5:0.9.14:*:*:*:*:*:*:*', 'cpe:2.3:a:dirk_prankeproject:json5:0.9.14:*:*:*:*:*:*:*', 'cpe:2.3:a:dpranke_project:json5:0.9.14:*:*:*:*:*:*:*', 'cpe:2.3:a:dpranke:python-json5:0.9.14:*:*:*:*:*:*:*', 'cpe:2.3:a:dpranke:python_json5:0.9.14:*:*:*:*:*:*:*', 'cpe:2.3:a:dprankeproject:json5:0.9.14:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-json5:0.9.14:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_json5:0.9.14:*:*:*:*:*:*:*', 'cpe:2.3:a:json5:python-json5:0.9.14:*:*:*:*:*:*:*', 'cpe:2.3:a:json5:python_json5:0.9.14:*:*:*:*:*:*:*', 'cpe:2.3:a:python-json5:json5:0.9.14:*:*:*:*:*:*:*', 'cpe:2.3:a:python_json5:json5:0.9.14:*:*:*:*:*:*:*', 'cpe:2.3:a:dirk_pranke:json5:0.9.14:*:*:*:*:*:*:*', 'cpe:2.3:a:dpranke:json5:0.9.14:*:*:*:*:*:*:*', 'cpe:2.3:a:python:json5:0.9.14:*:*:*:*:*:*:*', 'cpe:2.3:a:json5:json5:0.9.14:*:*:*:*:*:*:*']",Dirk Pranke ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +jsonpatch,1.32,Modified BSD License,PYTHON,"['cpe:2.3:a:python-jsonpatch:python-jsonpatch:1.32:*:*:*:*:*:*:*', 'cpe:2.3:a:python-jsonpatch:python_jsonpatch:1.32:*:*:*:*:*:*:*', 'cpe:2.3:a:python_jsonpatch:python-jsonpatch:1.32:*:*:*:*:*:*:*', 'cpe:2.3:a:python_jsonpatch:python_jsonpatch:1.32:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan_project:python-jsonpatch:1.32:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan_project:python_jsonpatch:1.32:*:*:*:*:*:*:*', 'cpe:2.3:a:stefanproject:python-jsonpatch:1.32:*:*:*:*:*:*:*', 'cpe:2.3:a:stefanproject:python_jsonpatch:1.32:*:*:*:*:*:*:*', 'cpe:2.3:a:jsonpatch:python-jsonpatch:1.32:*:*:*:*:*:*:*', 'cpe:2.3:a:jsonpatch:python_jsonpatch:1.32:*:*:*:*:*:*:*', 'cpe:2.3:a:python-jsonpatch:jsonpatch:1.32:*:*:*:*:*:*:*', 'cpe:2.3:a:python_jsonpatch:jsonpatch:1.32:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan_project:jsonpatch:1.32:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-jsonpatch:1.32:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_jsonpatch:1.32:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan:python-jsonpatch:1.32:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan:python_jsonpatch:1.32:*:*:*:*:*:*:*', 'cpe:2.3:a:stefanproject:jsonpatch:1.32:*:*:*:*:*:*:*', 'cpe:2.3:a:jsonpatch:jsonpatch:1.32:*:*:*:*:*:*:*', 'cpe:2.3:a:python:jsonpatch:1.32:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan:jsonpatch:1.32:*:*:*:*:*:*:*']",Stefan Kögl ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libstdc++-11-dev,11.4.0-1ubuntu1~22.04,Artistic GFDL-1.2 GPL GPL-2 GPL-3 LGPL,dpkg,"['cpe:2.3:a:libstdc\\+\\+-11-dev:libstdc\\+\\+-11-dev:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:libstdc\\+\\+-11-dev:libstdc\\+\\+_11_dev:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:libstdc\\+\\+_11_dev:libstdc\\+\\+-11-dev:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:libstdc\\+\\+_11_dev:libstdc\\+\\+_11_dev:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:libstdc\\+\\+-11:libstdc\\+\\+-11-dev:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:libstdc\\+\\+-11:libstdc\\+\\+_11_dev:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:libstdc\\+\\+_11:libstdc\\+\\+-11-dev:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:libstdc\\+\\+_11:libstdc\\+\\+_11_dev:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:libstdc\\+\\+:libstdc\\+\\+-11-dev:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*', 'cpe:2.3:a:libstdc\\+\\+:libstdc\\+\\+_11_dev:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*']",Ubuntu Core developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libstdc++6,12.3.0-1ubuntu1~22.04,Artistic GFDL-1.2 GPL GPL-2 GPL-3 LGPL,dpkg,['cpe:2.3:a:libstdc\\+\\+6:libstdc\\+\\+6:12.3.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*'],Ubuntu Core developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libsystemd0,249.11-0ubuntu3.11,CC0-1.0 Expat GPL-2 GPL-2+ LGPL-2.1 LGPL-2.1+ public-domain,dpkg,['cpe:2.3:a:libsystemd0:libsystemd0:249.11-0ubuntu3.11:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libtasn1-6,4.18.0-4build1,GFDL-1.3 GPL-3 LGPL LGPL-2.1,dpkg,"['cpe:2.3:a:libtasn1-6:libtasn1-6:4.18.0-4build1:*:*:*:*:*:*:*', 'cpe:2.3:a:libtasn1-6:libtasn1_6:4.18.0-4build1:*:*:*:*:*:*:*', 'cpe:2.3:a:libtasn1_6:libtasn1-6:4.18.0-4build1:*:*:*:*:*:*:*', 'cpe:2.3:a:libtasn1_6:libtasn1_6:4.18.0-4build1:*:*:*:*:*:*:*', 'cpe:2.3:a:libtasn1:libtasn1-6:4.18.0-4build1:*:*:*:*:*:*:*', 'cpe:2.3:a:libtasn1:libtasn1_6:4.18.0-4build1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libtinfo6,6.3-2ubuntu0.1,BSD-3-clause MIT/X11 X11,dpkg,['cpe:2.3:a:libtinfo6:libtinfo6:6.3-2ubuntu0.1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libtirpc-common,1.3.2-2ubuntu0.1,BSD-3-Clause GPL-2 LGPL-2.1,dpkg,"['cpe:2.3:a:libtirpc-common:libtirpc-common:1.3.2-2ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libtirpc-common:libtirpc_common:1.3.2-2ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libtirpc_common:libtirpc-common:1.3.2-2ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libtirpc_common:libtirpc_common:1.3.2-2ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libtirpc:libtirpc-common:1.3.2-2ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libtirpc:libtirpc_common:1.3.2-2ubuntu0.1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libtirpc-dev,1.3.2-2ubuntu0.1,BSD-3-Clause GPL-2 LGPL-2.1,dpkg,"['cpe:2.3:a:libtirpc-dev:libtirpc-dev:1.3.2-2ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libtirpc-dev:libtirpc_dev:1.3.2-2ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libtirpc_dev:libtirpc-dev:1.3.2-2ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libtirpc_dev:libtirpc_dev:1.3.2-2ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libtirpc:libtirpc-dev:1.3.2-2ubuntu0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:libtirpc:libtirpc_dev:1.3.2-2ubuntu0.1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libtirpc3,1.3.2-2ubuntu0.1,BSD-3-Clause GPL-2 LGPL-2.1,dpkg,['cpe:2.3:a:libtirpc3:libtirpc3:1.3.2-2ubuntu0.1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libtsan0,11.4.0-1ubuntu1~22.04,Artistic GFDL-1.2 GPL GPL-2 GPL-3 LGPL,dpkg,['cpe:2.3:a:libtsan0:libtsan0:11.4.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*'],Ubuntu Core developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libubsan1,12.3.0-1ubuntu1~22.04,Artistic GFDL-1.2 GPL GPL-2 GPL-3 LGPL,dpkg,['cpe:2.3:a:libubsan1:libubsan1:12.3.0-1ubuntu1\\~22.04:*:*:*:*:*:*:*'],Ubuntu Core developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libudev1,249.11-0ubuntu3.11,CC0-1.0 Expat GPL-2 GPL-2+ LGPL-2.1 LGPL-2.1+ public-domain,dpkg,['cpe:2.3:a:libudev1:libudev1:249.11-0ubuntu3.11:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +SQLAlchemy,2.0.0,MIT,PYTHON,"['cpe:2.3:a:mike_bayer_project:python-SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_bayer_project:python_SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_bayerproject:python-SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_bayerproject:python_SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-SQLAlchemy:python-SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-SQLAlchemy:python_SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_SQLAlchemy:python-SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_SQLAlchemy:python_SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_mp_project:python-SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_mp_project:python_SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_mpproject:python-SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_mpproject:python_SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_bayer_project:SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:SQLAlchemy:python-SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:SQLAlchemy:python_SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_bayer:python-SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_bayer:python_SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_bayerproject:SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-SQLAlchemy:SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_SQLAlchemy:SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_mp_project:SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike-mp:python-SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike-mp:python_SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_mp:python-SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_mp:python_SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_mpproject:SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:SQLAlchemy:SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_bayer:SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike-mp:SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mike_mp:SQLAlchemy:2.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:SQLAlchemy:2.0.0:*:*:*:*:*:*:*']",Mike Bayer ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +SciPy,1.11.4,"Copyright (c) 2001-2002 Enthought, Inc. 2003-2023, SciPy Developers. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + ""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.",PYTHON,"['cpe:2.3:a:python-SciPy:python-SciPy:1.11.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python-SciPy:python_SciPy:1.11.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_SciPy:python-SciPy:1.11.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_SciPy:python_SciPy:1.11.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-SciPy:1.11.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_SciPy:1.11.4:*:*:*:*:*:*:*', 'cpe:2.3:a:SciPy:python-SciPy:1.11.4:*:*:*:*:*:*:*', 'cpe:2.3:a:SciPy:python_SciPy:1.11.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python-SciPy:SciPy:1.11.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_SciPy:SciPy:1.11.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python:SciPy:1.11.4:*:*:*:*:*:*:*', 'cpe:2.3:a:SciPy:SciPy:1.11.4:*:*:*:*:*:*:*']",Unknown,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +Sphinx,7.2.6,Unknown,PYTHON,"['cpe:2.3:a:georg_brandl_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +Werkzeug,3.0.1,Unknown,PYTHON,"['cpe:2.3:a:python-Werkzeug:python-Werkzeug:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-Werkzeug:python_Werkzeug:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_Werkzeug:python-Werkzeug:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_Werkzeug:python_Werkzeug:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:Werkzeug:python-Werkzeug:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:Werkzeug:python_Werkzeug:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-Werkzeug:Werkzeug:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_Werkzeug:Werkzeug:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-Werkzeug:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_Werkzeug:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:Werkzeug:Werkzeug:3.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:Werkzeug:3.0.1:*:*:*:*:*:*:*']",Unknown,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +absl-py,1.4.0,Apache 2.0,PYTHON,"['cpe:2.3:a:abseil_authors_project:python-absl-py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:abseil_authors_project:python_absl_py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:abseil_authorsproject:python-absl-py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:abseil_authorsproject:python_absl_py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:abseil_authors_project:absl-py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:abseil_authors_project:absl_py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:abseil_authors:python-absl-py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:abseil_authors:python_absl_py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:abseil_authorsproject:absl-py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:abseil_authorsproject:absl_py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-absl-py:python-absl-py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-absl-py:python_absl_py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_absl_py:python-absl-py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_absl_py:python_absl_py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-absl:python-absl-py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-absl:python_absl_py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_absl:python-absl-py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_absl:python_absl_py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:abseil_authors:absl-py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:abseil_authors:absl_py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:absl-py:python-absl-py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:absl-py:python_absl_py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:absl_py:python-absl-py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:absl_py:python_absl_py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-absl-py:absl-py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-absl-py:absl_py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_absl_py:absl-py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_absl_py:absl_py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-absl-py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_absl_py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:absl:python-absl-py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:absl:python_absl_py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-absl:absl-py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-absl:absl_py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_absl:absl-py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_absl:absl_py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:absl-py:absl-py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:absl-py:absl_py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:absl_py:absl-py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:absl_py:absl_py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:absl-py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:absl_py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:absl:absl-py:1.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:absl:absl_py:1.4.0:*:*:*:*:*:*:*']",The Abseil Authors,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +alabaster,0.7.13,Unknown,PYTHON,"['cpe:2.3:a:jeff_forcier_project:python-alabaster:0.7.13:*:*:*:*:*:*:*', 'cpe:2.3:a:jeff_forcier_project:python_alabaster:0.7.13:*:*:*:*:*:*:*', 'cpe:2.3:a:jeff_forcierproject:python-alabaster:0.7.13:*:*:*:*:*:*:*', 'cpe:2.3:a:jeff_forcierproject:python_alabaster:0.7.13:*:*:*:*:*:*:*', 'cpe:2.3:a:python-alabaster:python-alabaster:0.7.13:*:*:*:*:*:*:*', 'cpe:2.3:a:python-alabaster:python_alabaster:0.7.13:*:*:*:*:*:*:*', 'cpe:2.3:a:python_alabaster:python-alabaster:0.7.13:*:*:*:*:*:*:*', 'cpe:2.3:a:python_alabaster:python_alabaster:0.7.13:*:*:*:*:*:*:*', 'cpe:2.3:a:jeff_forcier_project:alabaster:0.7.13:*:*:*:*:*:*:*', 'cpe:2.3:a:jeff_forcier:python-alabaster:0.7.13:*:*:*:*:*:*:*', 'cpe:2.3:a:jeff_forcier:python_alabaster:0.7.13:*:*:*:*:*:*:*', 'cpe:2.3:a:jeff_forcierproject:alabaster:0.7.13:*:*:*:*:*:*:*', 'cpe:2.3:a:jeff_project:python-alabaster:0.7.13:*:*:*:*:*:*:*', 'cpe:2.3:a:jeff_project:python_alabaster:0.7.13:*:*:*:*:*:*:*', 'cpe:2.3:a:jeffproject:python-alabaster:0.7.13:*:*:*:*:*:*:*', 'cpe:2.3:a:jeffproject:python_alabaster:0.7.13:*:*:*:*:*:*:*', 'cpe:2.3:a:alabaster:python-alabaster:0.7.13:*:*:*:*:*:*:*', 'cpe:2.3:a:alabaster:python_alabaster:0.7.13:*:*:*:*:*:*:*', 'cpe:2.3:a:python-alabaster:alabaster:0.7.13:*:*:*:*:*:*:*', 'cpe:2.3:a:python_alabaster:alabaster:0.7.13:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-alabaster:0.7.13:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_alabaster:0.7.13:*:*:*:*:*:*:*', 'cpe:2.3:a:jeff_forcier:alabaster:0.7.13:*:*:*:*:*:*:*', 'cpe:2.3:a:jeff_project:alabaster:0.7.13:*:*:*:*:*:*:*', 'cpe:2.3:a:jeff:python-alabaster:0.7.13:*:*:*:*:*:*:*', 'cpe:2.3:a:jeff:python_alabaster:0.7.13:*:*:*:*:*:*:*', 'cpe:2.3:a:jeffproject:alabaster:0.7.13:*:*:*:*:*:*:*', 'cpe:2.3:a:alabaster:alabaster:0.7.13:*:*:*:*:*:*:*', 'cpe:2.3:a:python:alabaster:0.7.13:*:*:*:*:*:*:*', 'cpe:2.3:a:jeff:alabaster:0.7.13:*:*:*:*:*:*:*']",Jeff Forcier ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +jsonpointer,2.0,Modified BSD License,PYTHON,"['cpe:2.3:a:python-jsonpointer:python-jsonpointer:2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-jsonpointer:python_jsonpointer:2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_jsonpointer:python-jsonpointer:2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_jsonpointer:python_jsonpointer:2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan_project:python-jsonpointer:2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan_project:python_jsonpointer:2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:stefanproject:python-jsonpointer:2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:stefanproject:python_jsonpointer:2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jsonpointer:python-jsonpointer:2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jsonpointer:python_jsonpointer:2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-jsonpointer:jsonpointer:2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_jsonpointer:jsonpointer:2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan_project:jsonpointer:2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-jsonpointer:2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_jsonpointer:2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan:python-jsonpointer:2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan:python_jsonpointer:2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:stefanproject:jsonpointer:2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jsonpointer:jsonpointer:2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:jsonpointer:2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:stefan:jsonpointer:2.0:*:*:*:*:*:*:*']",Stefan Kögl ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +smmap,5.0.0,BSD,PYTHON,"['cpe:2.3:a:sebastian_thiel_project:python-smmap:5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:sebastian_thiel_project:python_smmap:5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:sebastian_thielproject:python-smmap:5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:sebastian_thielproject:python_smmap:5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:byronimo_project:python-smmap:5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:byronimo_project:python_smmap:5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:sebastian_thiel_project:smmap:5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:byronimoproject:python-smmap:5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:byronimoproject:python_smmap:5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:sebastian_thiel:python-smmap:5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:sebastian_thiel:python_smmap:5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:sebastian_thielproject:smmap:5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-smmap:python-smmap:5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-smmap:python_smmap:5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_smmap:python-smmap:5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_smmap:python_smmap:5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:byronimo_project:smmap:5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:byronimo:python-smmap:5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:byronimo:python_smmap:5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:byronimoproject:smmap:5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:sebastian_thiel:smmap:5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-smmap:5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_smmap:5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-smmap:smmap:5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_smmap:smmap:5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:smmap:python-smmap:5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:smmap:python_smmap:5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:byronimo:smmap:5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:smmap:5.0.0:*:*:*:*:*:*:*', 'cpe:2.3:a:smmap:smmap:5.0.0:*:*:*:*:*:*:*']",Sebastian Thiel ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +sniffio,1.3.0,MIT OR Apache-2.0,PYTHON,"['cpe:2.3:a:nathaniel_j__smith_project:python-sniffio:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nathaniel_j__smith_project:python_sniffio:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nathaniel_j__smithproject:python-sniffio:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nathaniel_j__smithproject:python_sniffio:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nathaniel_j__smith_project:sniffio:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nathaniel_j__smith:python-sniffio:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nathaniel_j__smith:python_sniffio:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nathaniel_j__smithproject:sniffio:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-sniffio:python-sniffio:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-sniffio:python_sniffio:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_sniffio:python-sniffio:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_sniffio:python_sniffio:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nathaniel_j__smith:sniffio:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:njs_project:python-sniffio:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:njs_project:python_sniffio:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:njsproject:python-sniffio:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:njsproject:python_sniffio:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-sniffio:sniffio:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_sniffio:sniffio:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:sniffio:python-sniffio:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:sniffio:python_sniffio:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-sniffio:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_sniffio:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:njs_project:sniffio:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:njs:python-sniffio:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:njs:python_sniffio:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:njsproject:sniffio:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:sniffio:sniffio:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:sniffio:1.3.0:*:*:*:*:*:*:*', 'cpe:2.3:a:njs:sniffio:1.3.0:*:*:*:*:*:*:*']",Nathaniel J. Smith ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +snowballstemmer,2.2.0,BSD-3-Clause,PYTHON,"['cpe:2.3:a:snowball_developers_project:python-snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:snowball_developers_project:python_snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:snowball_developersproject:python-snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:snowball_developersproject:python_snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:snowball_discuss_project:python-snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:snowball_discuss_project:python_snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:snowball_discussproject:python-snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:snowball_discussproject:python_snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-snowballstemmer:python-snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-snowballstemmer:python_snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_snowballstemmer:python-snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_snowballstemmer:python_snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:snowball_developers_project:snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:snowball_developers:python-snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:snowball_developers:python_snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:snowball_developersproject:snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:snowball_discuss_project:snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:snowball-discuss:python-snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:snowball-discuss:python_snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:snowball_discuss:python-snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:snowball_discuss:python_snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:snowball_discussproject:snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-snowballstemmer:snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_snowballstemmer:snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:snowballstemmer:python-snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:snowballstemmer:python_snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:snowball_developers:snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:snowball-discuss:snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:snowball_discuss:snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:snowballstemmer:snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_snowballstemmer:2.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:snowballstemmer:2.2.0:*:*:*:*:*:*:*']",Snowball Developers ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +sortedcontainers,2.4.0,Apache 2.0,PYTHON,"['cpe:2.3:a:python-sortedcontainers:python-sortedcontainers:2.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-sortedcontainers:python_sortedcontainers:2.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_sortedcontainers:python-sortedcontainers:2.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_sortedcontainers:python_sortedcontainers:2.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:grant_jenks_project:python-sortedcontainers:2.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:grant_jenks_project:python_sortedcontainers:2.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:grant_jenksproject:python-sortedcontainers:2.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:grant_jenksproject:python_sortedcontainers:2.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-sortedcontainers:sortedcontainers:2.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_sortedcontainers:sortedcontainers:2.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:sortedcontainers:python-sortedcontainers:2.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:sortedcontainers:python_sortedcontainers:2.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:contact_project:python-sortedcontainers:2.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:contact_project:python_sortedcontainers:2.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:contactproject:python-sortedcontainers:2.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:contactproject:python_sortedcontainers:2.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:grant_jenks_project:sortedcontainers:2.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:grant_jenks:python-sortedcontainers:2.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:grant_jenks:python_sortedcontainers:2.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:grant_jenksproject:sortedcontainers:2.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:sortedcontainers:sortedcontainers:2.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:contact_project:sortedcontainers:2.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:contact:python-sortedcontainers:2.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:contact:python_sortedcontainers:2.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:contactproject:sortedcontainers:2.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-sortedcontainers:2.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_sortedcontainers:2.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:grant_jenks:sortedcontainers:2.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:contact:sortedcontainers:2.4.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:sortedcontainers:2.4.0:*:*:*:*:*:*:*']",Grant Jenks ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +soupsieve,2.5,Unknown,PYTHON,"['cpe:2.3:a:isaac_muse_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +toolz,0.12.0,BSD,PYTHON,"['cpe:2.3:a:https\\:\\/\\/raw_github_com\\/pytoolz\\/toolz\\/master\\/authors_md_project:python-toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:https\\:\\/\\/raw_github_com\\/pytoolz\\/toolz\\/master\\/authors_md_project:python_toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:https\\:\\/\\/raw_github_com\\/pytoolz\\/toolz\\/master\\/authors_mdproject:python-toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:https\\:\\/\\/raw_github_com\\/pytoolz\\/toolz\\/master\\/authors_mdproject:python_toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:https\\:\\/\\/raw_github_com\\/pytoolz\\/toolz\\/master\\/authors_md_project:toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:https\\:\\/\\/raw_github_com\\/pytoolz\\/toolz\\/master\\/authors_md:python-toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:https\\:\\/\\/raw_github_com\\/pytoolz\\/toolz\\/master\\/authors_md:python_toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:https\\:\\/\\/raw_github_com\\/pytoolz\\/toolz\\/master\\/authors_mdproject:toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:https\\:\\/\\/raw_github_com\\/pytoolz\\/toolz\\/master\\/authors_md:toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-toolz:python-toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-toolz:python_toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_toolz:python-toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_toolz:python_toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-toolz:toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_toolz:toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:toolz:python-toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:toolz:python_toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:toolz:toolz:0.12.0:*:*:*:*:*:*:*']",https://raw.github.com/pytoolz/toolz/master/AUTHORS.md,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +toolz,0.12.0,BSD,PYTHON,"['cpe:2.3:a:https\\:\\/\\/raw_github_com\\/pytoolz\\/toolz\\/master\\/authors_md_project:python-toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:https\\:\\/\\/raw_github_com\\/pytoolz\\/toolz\\/master\\/authors_md_project:python_toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:https\\:\\/\\/raw_github_com\\/pytoolz\\/toolz\\/master\\/authors_mdproject:python-toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:https\\:\\/\\/raw_github_com\\/pytoolz\\/toolz\\/master\\/authors_mdproject:python_toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:https\\:\\/\\/raw_github_com\\/pytoolz\\/toolz\\/master\\/authors_md_project:toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:https\\:\\/\\/raw_github_com\\/pytoolz\\/toolz\\/master\\/authors_md:python-toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:https\\:\\/\\/raw_github_com\\/pytoolz\\/toolz\\/master\\/authors_md:python_toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:https\\:\\/\\/raw_github_com\\/pytoolz\\/toolz\\/master\\/authors_mdproject:toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:https\\:\\/\\/raw_github_com\\/pytoolz\\/toolz\\/master\\/authors_md:toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-toolz:python-toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-toolz:python_toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_toolz:python-toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_toolz:python_toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-toolz:toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_toolz:toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:toolz:python-toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:toolz:python_toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:toolz:0.12.0:*:*:*:*:*:*:*', 'cpe:2.3:a:toolz:toolz:0.12.0:*:*:*:*:*:*:*']",https://raw.github.com/pytoolz/toolz/master/AUTHORS.md,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +torch,2.0.1,BSD-3,PYTHON,"['cpe:2.3:a:pytorch_team_project:python-torch:2.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:pytorch_team_project:python_torch:2.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:pytorch_teamproject:python-torch:2.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:pytorch_teamproject:python_torch:2.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:packages_project:python-torch:2.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:packages_project:python_torch:2.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:packagesproject:python-torch:2.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:packagesproject:python_torch:2.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:pytorch_team_project:torch:2.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-torch:python-torch:2.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-torch:python_torch:2.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_torch:python-torch:2.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_torch:python_torch:2.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:pytorch_team:python-torch:2.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:pytorch_team:python_torch:2.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:pytorch_teamproject:torch:2.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:packages_project:torch:2.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:packages:python-torch:2.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:packages:python_torch:2.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:packagesproject:torch:2.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-torch:2.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_torch:2.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-torch:torch:2.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_torch:torch:2.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:pytorch_team:torch:2.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:torch:python-torch:2.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:torch:python_torch:2.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:packages:torch:2.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:torch:2.0.1:*:*:*:*:*:*:*', 'cpe:2.3:a:torch:torch:2.0.1:*:*:*:*:*:*:*']",PyTorch Team ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +tornado,6.3.3,Apache-2.0,PYTHON,"['cpe:2.3:a:python_tornado_project:python-tornado:6.3.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python_tornado_project:python_tornado:6.3.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python_tornadoproject:python-tornado:6.3.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python_tornadoproject:python_tornado:6.3.3:*:*:*:*:*:*:*', 'cpe:2.3:a:facebook_project:python-tornado:6.3.3:*:*:*:*:*:*:*', 'cpe:2.3:a:facebook_project:python_tornado:6.3.3:*:*:*:*:*:*:*', 'cpe:2.3:a:facebookproject:python-tornado:6.3.3:*:*:*:*:*:*:*', 'cpe:2.3:a:facebookproject:python_tornado:6.3.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python_tornado_project:tornado:6.3.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python-tornado:python-tornado:6.3.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python-tornado:python_tornado:6.3.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python_tornado:python-tornado:6.3.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python_tornado:python_tornado:6.3.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python_tornadoproject:tornado:6.3.3:*:*:*:*:*:*:*', 'cpe:2.3:a:facebook_project:tornado:6.3.3:*:*:*:*:*:*:*', 'cpe:2.3:a:facebook:python-tornado:6.3.3:*:*:*:*:*:*:*', 'cpe:2.3:a:facebook:python_tornado:6.3.3:*:*:*:*:*:*:*', 'cpe:2.3:a:facebookproject:tornado:6.3.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python-tornado:tornado:6.3.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python_tornado:tornado:6.3.3:*:*:*:*:*:*:*', 'cpe:2.3:a:tornado:python-tornado:6.3.3:*:*:*:*:*:*:*', 'cpe:2.3:a:tornado:python_tornado:6.3.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-tornado:6.3.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_tornado:6.3.3:*:*:*:*:*:*:*', 'cpe:2.3:a:facebook:tornado:6.3.3:*:*:*:*:*:*:*', 'cpe:2.3:a:tornado:tornado:6.3.3:*:*:*:*:*:*:*', 'cpe:2.3:a:python:tornado:6.3.3:*:*:*:*:*:*:*']",Facebook ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +tqdm,4.66.1,MPL-2.0 AND MIT,PYTHON,"['cpe:2.3:a:python-tqdm:python-tqdm:4.66.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-tqdm:python_tqdm:4.66.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_tqdm:python-tqdm:4.66.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_tqdm:python_tqdm:4.66.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-tqdm:4.66.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_tqdm:4.66.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-tqdm:tqdm:4.66.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_tqdm:tqdm:4.66.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tqdm:python-tqdm:4.66.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tqdm:python_tqdm:4.66.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:tqdm:4.66.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tqdm:tqdm:4.66.1:*:*:*:*:*:*:*']",Unknown,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +tqdm,4.66.1,MPL-2.0 AND MIT,PYTHON,"['cpe:2.3:a:python-tqdm:python-tqdm:4.66.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-tqdm:python_tqdm:4.66.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_tqdm:python-tqdm:4.66.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_tqdm:python_tqdm:4.66.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-tqdm:4.66.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_tqdm:4.66.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-tqdm:tqdm:4.66.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_tqdm:tqdm:4.66.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tqdm:python-tqdm:4.66.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tqdm:python_tqdm:4.66.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:tqdm:4.66.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tqdm:tqdm:4.66.1:*:*:*:*:*:*:*']",Unknown,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libgnutls30,3.7.3-4ubuntu1.3,Apache-2.0 BSD-3-Clause CC0 Expat GFDL-1.3 GPL GPL-3 GPLv3+ LGPL LGPL-3 LGPLv2.1+ LGPLv3+_or_GPLv2+ The,dpkg,['cpe:2.3:a:libgnutls30:libgnutls30:3.7.3-4ubuntu1.3:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libharfbuzz0b,2.7.4-1ubuntu3.1,MIT,dpkg,['cpe:2.3:a:libharfbuzz0b:libharfbuzz0b:2.7.4-1ubuntu3.1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libhogweed6,3.7.3-1build2,Expat GAP GPL GPL-2 GPL-2+ GPL-3+ LGPL LGPL-2 LGPL-2+ LGPL-3+ public-domain,dpkg,['cpe:2.3:a:libhogweed6:libhogweed6:3.7.3-1build2:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +mrc,23.11.0,Apache,PYTHON,"['cpe:2.3:a:nvidia_corporation_project:python-mrc:23.11.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation_project:python_mrc:23.11.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:python-mrc:23.11.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:python_mrc:23.11.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation_project:mrc:23.11.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:python-mrc:23.11.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:python_mrc:23.11.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporationproject:mrc:23.11.0:*:*:*:*:*:*:*', 'cpe:2.3:a:nvidia_corporation:mrc:23.11.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-mrc:python-mrc:23.11.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-mrc:python_mrc:23.11.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_mrc:python-mrc:23.11.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_mrc:python_mrc:23.11.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-mrc:23.11.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_mrc:23.11.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mrc:python-mrc:23.11.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mrc:python_mrc:23.11.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-mrc:mrc:23.11.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_mrc:mrc:23.11.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:mrc:23.11.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mrc:mrc:23.11.0:*:*:*:*:*:*:*']",NVIDIA Corporation,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libisl23,0.24-2build1,BSD-2-clause LGPL-2 LGPL-2.1+ MIT,dpkg,['cpe:2.3:a:libisl23:libisl23:0.24-2build1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +requests-cache,1.1.1,BSD-2-Clause,PYTHON,"['cpe:2.3:a:roman_haritonov_project:python-requests-cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:roman_haritonov_project:python_requests_cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:roman_haritonovproject:python-requests-cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:roman_haritonovproject:python_requests_cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-requests-cache:python-requests-cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-requests-cache:python_requests_cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_requests_cache:python-requests-cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_requests_cache:python_requests_cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:roman_haritonov_project:requests-cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:roman_haritonov_project:requests_cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-requests:python-requests-cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-requests:python_requests_cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_requests:python-requests-cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_requests:python_requests_cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:roman_haritonov:python-requests-cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:roman_haritonov:python_requests_cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:roman_haritonovproject:requests-cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:roman_haritonovproject:requests_cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-requests-cache:requests-cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-requests-cache:requests_cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_requests_cache:requests-cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_requests_cache:requests_cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:requests-cache:python-requests-cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:requests-cache:python_requests_cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:requests_cache:python-requests-cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:requests_cache:python_requests_cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-requests:requests-cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-requests:requests_cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_requests:requests-cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_requests:requests_cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:requests:python-requests-cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:requests:python_requests_cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:roman_haritonov:requests-cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:roman_haritonov:requests_cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:requests-cache:requests-cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:requests-cache:requests_cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:requests_cache:requests-cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:requests_cache:requests_cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-requests-cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_requests_cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:requests:requests-cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:requests:requests_cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:requests-cache:1.1.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:requests_cache:1.1.1:*:*:*:*:*:*:*']",Roman Haritonov,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +msgpack,1.0.7,Apache 2.0,PYTHON,"['cpe:2.3:a:inada_naoki_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libjpeg8,8c-2ubuntu10,LGPL-2.1,dpkg,['cpe:2.3:a:libjpeg8:libjpeg8:8c-2ubuntu10:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +multidict,6.0.4,Apache 2,PYTHON,"['cpe:2.3:a:andrew_svetlov_project:python-multidict:6.0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:andrew_svetlov_project:python_multidict:6.0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:andrew_svetlovproject:python-multidict:6.0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:andrew_svetlovproject:python_multidict:6.0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python-multidict:python-multidict:6.0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python-multidict:python_multidict:6.0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_multidict:python-multidict:6.0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_multidict:python_multidict:6.0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:andrew_svetlov_project:multidict:6.0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:andrew-svetlov:python-multidict:6.0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:andrew-svetlov:python_multidict:6.0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:andrew_svetlov:python-multidict:6.0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:andrew_svetlov:python_multidict:6.0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:andrew_svetlovproject:multidict:6.0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:multidict:python-multidict:6.0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:multidict:python_multidict:6.0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python-multidict:multidict:6.0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_multidict:multidict:6.0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:andrew-svetlov:multidict:6.0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:andrew_svetlov:multidict:6.0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-multidict:6.0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_multidict:6.0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:multidict:multidict:6.0.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python:multidict:6.0.4:*:*:*:*:*:*:*']",Andrew Svetlov ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libjq1,1.6-2.1ubuntu3,CC-BY-3.0 Expat GPL-2 GPL-2.0+ MIT,dpkg,['cpe:2.3:a:libjq1:libjq1:1.6-2.1ubuntu3:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +munkres,1.1.4,Apache Software License,PYTHON,"['cpe:2.3:a:brian_clapper_project:python-munkres:1.1.4:*:*:*:*:*:*:*', 'cpe:2.3:a:brian_clapper_project:python_munkres:1.1.4:*:*:*:*:*:*:*', 'cpe:2.3:a:brian_clapperproject:python-munkres:1.1.4:*:*:*:*:*:*:*', 'cpe:2.3:a:brian_clapperproject:python_munkres:1.1.4:*:*:*:*:*:*:*', 'cpe:2.3:a:brian_clapper_project:munkres:1.1.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python-munkres:python-munkres:1.1.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python-munkres:python_munkres:1.1.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_munkres:python-munkres:1.1.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_munkres:python_munkres:1.1.4:*:*:*:*:*:*:*', 'cpe:2.3:a:brian_clapper:python-munkres:1.1.4:*:*:*:*:*:*:*', 'cpe:2.3:a:brian_clapper:python_munkres:1.1.4:*:*:*:*:*:*:*', 'cpe:2.3:a:brian_clapperproject:munkres:1.1.4:*:*:*:*:*:*:*', 'cpe:2.3:a:bmc_project:python-munkres:1.1.4:*:*:*:*:*:*:*', 'cpe:2.3:a:bmc_project:python_munkres:1.1.4:*:*:*:*:*:*:*', 'cpe:2.3:a:bmcproject:python-munkres:1.1.4:*:*:*:*:*:*:*', 'cpe:2.3:a:bmcproject:python_munkres:1.1.4:*:*:*:*:*:*:*', 'cpe:2.3:a:munkres:python-munkres:1.1.4:*:*:*:*:*:*:*', 'cpe:2.3:a:munkres:python_munkres:1.1.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python-munkres:munkres:1.1.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python_munkres:munkres:1.1.4:*:*:*:*:*:*:*', 'cpe:2.3:a:brian_clapper:munkres:1.1.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-munkres:1.1.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_munkres:1.1.4:*:*:*:*:*:*:*', 'cpe:2.3:a:bmc_project:munkres:1.1.4:*:*:*:*:*:*:*', 'cpe:2.3:a:bmc:python-munkres:1.1.4:*:*:*:*:*:*:*', 'cpe:2.3:a:bmc:python_munkres:1.1.4:*:*:*:*:*:*:*', 'cpe:2.3:a:bmcproject:munkres:1.1.4:*:*:*:*:*:*:*', 'cpe:2.3:a:munkres:munkres:1.1.4:*:*:*:*:*:*:*', 'cpe:2.3:a:python:munkres:1.1.4:*:*:*:*:*:*:*', 'cpe:2.3:a:bmc:munkres:1.1.4:*:*:*:*:*:*:*']",Brian Clapper ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +perl-modules-5.34,5.34.0-3ubuntu1.3,"Artistic Artistic-2 Artistic-dist BSD-3-clause BSD-3-clause-GENERIC BSD-3-clause-with-weird-numbering BSD-4-clause-POWERDOG BZIP DONT-CHANGE-THE-GPL Expat GPL-1 GPL-1+ GPL-2 GPL-2+ GPL-3+-WITH-BISON-EXCEPTION HSIEH-BSD HSIEH-DERIVATIVE LGPL-2.1 REGCOMP REGCOMP, RRA-KEEP-THIS-NOTICE SDBM-PUBLIC-DOMAIN TEXT-TABS Unicode ZLIB",dpkg,"['cpe:2.3:a:perl-modules-5.34:perl-modules-5.34:5.34.0-3ubuntu1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:perl-modules-5.34:perl_modules_5.34:5.34.0-3ubuntu1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:perl_modules_5.34:perl-modules-5.34:5.34.0-3ubuntu1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:perl_modules_5.34:perl_modules_5.34:5.34.0-3ubuntu1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:perl-modules:perl-modules-5.34:5.34.0-3ubuntu1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:perl-modules:perl_modules_5.34:5.34.0-3ubuntu1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:perl_modules:perl-modules-5.34:5.34.0-3ubuntu1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:perl_modules:perl_modules_5.34:5.34.0-3ubuntu1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:perl:perl-modules-5.34:5.34.0-3ubuntu1.3:*:*:*:*:*:*:*', 'cpe:2.3:a:perl:perl_modules_5.34:5.34.0-3ubuntu1.3:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +pinentry-curses,1.1.1-1build2,GPL-2 GPL-2+ LGPL-3 LGPL-3+ X11,dpkg,"['cpe:2.3:a:pinentry-curses:pinentry-curses:1.1.1-1build2:*:*:*:*:*:*:*', 'cpe:2.3:a:pinentry-curses:pinentry_curses:1.1.1-1build2:*:*:*:*:*:*:*', 'cpe:2.3:a:pinentry_curses:pinentry-curses:1.1.1-1build2:*:*:*:*:*:*:*', 'cpe:2.3:a:pinentry_curses:pinentry_curses:1.1.1-1build2:*:*:*:*:*:*:*', 'cpe:2.3:a:pinentry:pinentry-curses:1.1.1-1build2:*:*:*:*:*:*:*', 'cpe:2.3:a:pinentry:pinentry_curses:1.1.1-1build2:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +pkg-config,0.29.2-1ubuntu3,GPL,dpkg,"['cpe:2.3:a:pkg-config:pkg-config:0.29.2-1ubuntu3:*:*:*:*:*:*:*', 'cpe:2.3:a:pkg-config:pkg_config:0.29.2-1ubuntu3:*:*:*:*:*:*:*', 'cpe:2.3:a:pkg_config:pkg-config:0.29.2-1ubuntu3:*:*:*:*:*:*:*', 'cpe:2.3:a:pkg_config:pkg_config:0.29.2-1ubuntu3:*:*:*:*:*:*:*', 'cpe:2.3:a:pkg:pkg-config:0.29.2-1ubuntu3:*:*:*:*:*:*:*', 'cpe:2.3:a:pkg:pkg_config:0.29.2-1ubuntu3:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +procps,2:3.3.17-6ubuntu2.1,GPL-2 GPL-2.0+ LGPL-2 LGPL-2.0+ LGPL-2.1 LGPL-2.1+,dpkg,['cpe:2.3:a:procps:procps:2\\:3.3.17-6ubuntu2.1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +readline-common,8.1.2-1,GFDL GPL-3,dpkg,"['cpe:2.3:a:readline-common:readline-common:8.1.2-1:*:*:*:*:*:*:*', 'cpe:2.3:a:readline-common:readline_common:8.1.2-1:*:*:*:*:*:*:*', 'cpe:2.3:a:readline_common:readline-common:8.1.2-1:*:*:*:*:*:*:*', 'cpe:2.3:a:readline_common:readline_common:8.1.2-1:*:*:*:*:*:*:*', 'cpe:2.3:a:readline:readline-common:8.1.2-1:*:*:*:*:*:*:*', 'cpe:2.3:a:readline:readline_common:8.1.2-1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +rpcsvc-proto,1.4.2-0ubuntu6,BSD-3-clause GPL-2 GPL-2+-autoconf-exception GPL-3 GPL-3+-autoconf-exception MIT permissive-autoconf-m4 permissive-autoconf-m4-no-warranty permissive-configure permissive-fsf permissive-makefile-in,dpkg,"['cpe:2.3:a:rpcsvc-proto:rpcsvc-proto:1.4.2-0ubuntu6:*:*:*:*:*:*:*', 'cpe:2.3:a:rpcsvc-proto:rpcsvc_proto:1.4.2-0ubuntu6:*:*:*:*:*:*:*', 'cpe:2.3:a:rpcsvc_proto:rpcsvc-proto:1.4.2-0ubuntu6:*:*:*:*:*:*:*', 'cpe:2.3:a:rpcsvc_proto:rpcsvc_proto:1.4.2-0ubuntu6:*:*:*:*:*:*:*', 'cpe:2.3:a:rpcsvc:rpcsvc-proto:1.4.2-0ubuntu6:*:*:*:*:*:*:*', 'cpe:2.3:a:rpcsvc:rpcsvc_proto:1.4.2-0ubuntu6:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +sed,4.8-1ubuntu2,GPL-3,dpkg,['cpe:2.3:a:sed:sed:4.8-1ubuntu2:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +sensible-utils,0.0.17,All-permissive GPL-2 GPL-2+ configure installsh,dpkg,"['cpe:2.3:a:sensible-utils:sensible-utils:0.0.17:*:*:*:*:*:*:*', 'cpe:2.3:a:sensible-utils:sensible_utils:0.0.17:*:*:*:*:*:*:*', 'cpe:2.3:a:sensible_utils:sensible-utils:0.0.17:*:*:*:*:*:*:*', 'cpe:2.3:a:sensible_utils:sensible_utils:0.0.17:*:*:*:*:*:*:*', 'cpe:2.3:a:sensible:sensible-utils:0.0.17:*:*:*:*:*:*:*', 'cpe:2.3:a:sensible:sensible_utils:0.0.17:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +ubuntu-keyring,2021.03.26,GPL,dpkg,"['cpe:2.3:a:ubuntu-keyring:ubuntu-keyring:2021.03.26:*:*:*:*:*:*:*', 'cpe:2.3:a:ubuntu-keyring:ubuntu_keyring:2021.03.26:*:*:*:*:*:*:*', 'cpe:2.3:a:ubuntu_keyring:ubuntu-keyring:2021.03.26:*:*:*:*:*:*:*', 'cpe:2.3:a:ubuntu_keyring:ubuntu_keyring:2021.03.26:*:*:*:*:*:*:*', 'cpe:2.3:a:ubuntu:ubuntu-keyring:2021.03.26:*:*:*:*:*:*:*', 'cpe:2.3:a:ubuntu:ubuntu_keyring:2021.03.26:*:*:*:*:*:*:*']",Dimitri John Ledkov (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +jupyter_client,8.6.0,"BSD 3-Clause License + + - Copyright (c) 2001-2015, IPython Development Team + - Copyright (c) 2015-, Jupyter Development Team + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ""AS IS"" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.",PYTHON,"['cpe:2.3:a:jupyter_development_team_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libssl3,3.0.2-0ubuntu1.12,Apache-2.0 Artistic GPL-1 GPL-1+,dpkg,['cpe:2.3:a:libssl3:libssl3:3.0.2-0ubuntu1.12:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +attrs,23.1.0,Unknown,PYTHON,"['cpe:2.3:a:hynek_schlawack_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +tabulate,0.9.0,MIT,PYTHON,"['cpe:2.3:a:sergey_astanin_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +tensorflow-metadata,1.13.1,Apache 2.0,PYTHON,"['cpe:2.3:a:tensorflow_extended_dev_project:python-tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tensorflow_extended_dev_project:python_tensorflow_metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tensorflow_extended_devproject:python-tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tensorflow_extended_devproject:python_tensorflow_metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-tensorflow-metadata:python-tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-tensorflow-metadata:python_tensorflow_metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_tensorflow_metadata:python-tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_tensorflow_metadata:python_tensorflow_metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tensorflow_extended_dev_project:tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tensorflow_extended_dev_project:tensorflow_metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tensorflow-extended-dev:python-tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tensorflow-extended-dev:python_tensorflow_metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tensorflow_extended_dev:python-tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tensorflow_extended_dev:python_tensorflow_metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tensorflow_extended_devproject:tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tensorflow_extended_devproject:tensorflow_metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:google_inc__project:python-tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:google_inc__project:python_tensorflow_metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-tensorflow-metadata:tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-tensorflow-metadata:tensorflow_metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_tensorflow_metadata:tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_tensorflow_metadata:tensorflow_metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tensorflow-metadata:python-tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tensorflow-metadata:python_tensorflow_metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tensorflow_metadata:python-tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tensorflow_metadata:python_tensorflow_metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:google_inc_project:python-tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:google_inc_project:python_tensorflow_metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-tensorflow:python-tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-tensorflow:python_tensorflow_metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_tensorflow:python-tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_tensorflow:python_tensorflow_metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tensorflow-extended-dev:tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tensorflow-extended-dev:tensorflow_metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tensorflow_extended_dev:tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tensorflow_extended_dev:tensorflow_metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:google_inc__project:tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:google_inc__project:tensorflow_metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tensorflow-metadata:tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tensorflow-metadata:tensorflow_metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tensorflow_metadata:tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tensorflow_metadata:tensorflow_metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:google_inc_:python-tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:google_inc_:python_tensorflow_metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:google_inc_project:tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:google_inc_project:tensorflow_metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-tensorflow:tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-tensorflow:tensorflow_metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_tensorflow:tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_tensorflow:tensorflow_metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tensorflow:python-tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tensorflow:python_tensorflow_metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_tensorflow_metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:google_inc_:tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:google_inc_:tensorflow_metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tensorflow:tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:tensorflow:tensorflow_metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:tensorflow-metadata:1.13.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:tensorflow_metadata:1.13.1:*:*:*:*:*:*:*']",Google Inc. ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +python,3.10.13,N/A,BINARY,"['cpe:2.3:a:python_software_foundation:python:3.10.13:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python:3.10.13:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python:3.10.13:*:*:*:*:*:*:*']",N/A,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +pkginfo,1.9.6,MIT,PYTHON,"['cpe:2.3:a:tres_seaver\\,_agendaless_consulting_project:python-pkginfo:1.9.6:*:*:*:*:*:*:*', 'cpe:2.3:a:tres_seaver\\,_agendaless_consulting_project:python_pkginfo:1.9.6:*:*:*:*:*:*:*', 'cpe:2.3:a:tres_seaver\\,_agendaless_consultingproject:python-pkginfo:1.9.6:*:*:*:*:*:*:*', 'cpe:2.3:a:tres_seaver\\,_agendaless_consultingproject:python_pkginfo:1.9.6:*:*:*:*:*:*:*', 'cpe:2.3:a:tres_seaver\\,_agendaless_consulting_project:pkginfo:1.9.6:*:*:*:*:*:*:*', 'cpe:2.3:a:tres_seaver\\,_agendaless_consulting:python-pkginfo:1.9.6:*:*:*:*:*:*:*', 'cpe:2.3:a:tres_seaver\\,_agendaless_consulting:python_pkginfo:1.9.6:*:*:*:*:*:*:*', 'cpe:2.3:a:tres_seaver\\,_agendaless_consultingproject:pkginfo:1.9.6:*:*:*:*:*:*:*', 'cpe:2.3:a:tres_seaver\\,_agendaless_consulting:pkginfo:1.9.6:*:*:*:*:*:*:*', 'cpe:2.3:a:tseaver_project:python-pkginfo:1.9.6:*:*:*:*:*:*:*', 'cpe:2.3:a:tseaver_project:python_pkginfo:1.9.6:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pkginfo:python-pkginfo:1.9.6:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pkginfo:python_pkginfo:1.9.6:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pkginfo:python-pkginfo:1.9.6:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pkginfo:python_pkginfo:1.9.6:*:*:*:*:*:*:*', 'cpe:2.3:a:tseaverproject:python-pkginfo:1.9.6:*:*:*:*:*:*:*', 'cpe:2.3:a:tseaverproject:python_pkginfo:1.9.6:*:*:*:*:*:*:*', 'cpe:2.3:a:tseaver_project:pkginfo:1.9.6:*:*:*:*:*:*:*', 'cpe:2.3:a:pkginfo:python-pkginfo:1.9.6:*:*:*:*:*:*:*', 'cpe:2.3:a:pkginfo:python_pkginfo:1.9.6:*:*:*:*:*:*:*', 'cpe:2.3:a:python-pkginfo:pkginfo:1.9.6:*:*:*:*:*:*:*', 'cpe:2.3:a:python_pkginfo:pkginfo:1.9.6:*:*:*:*:*:*:*', 'cpe:2.3:a:tseaver:python-pkginfo:1.9.6:*:*:*:*:*:*:*', 'cpe:2.3:a:tseaver:python_pkginfo:1.9.6:*:*:*:*:*:*:*', 'cpe:2.3:a:tseaverproject:pkginfo:1.9.6:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-pkginfo:1.9.6:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_pkginfo:1.9.6:*:*:*:*:*:*:*', 'cpe:2.3:a:pkginfo:pkginfo:1.9.6:*:*:*:*:*:*:*', 'cpe:2.3:a:tseaver:pkginfo:1.9.6:*:*:*:*:*:*:*', 'cpe:2.3:a:python:pkginfo:1.9.6:*:*:*:*:*:*:*']","Tres Seaver, Agendaless Consulting ",nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +platformdirs,4.1.0,Unknown,PYTHON,"['cpe:2.3:a:python-platformdirs:python-platformdirs:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-platformdirs:python_platformdirs:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_platformdirs:python-platformdirs:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_platformdirs:python_platformdirs:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:platformdirs:python-platformdirs:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:platformdirs:python_platformdirs:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-platformdirs:platformdirs:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_platformdirs:platformdirs:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-platformdirs:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_platformdirs:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:platformdirs:platformdirs:4.1.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:platformdirs:4.1.0:*:*:*:*:*:*:*']",Unknown,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +mamba,1.5.0,Unknown,PYTHON,"['cpe:2.3:a:wolf_vollprecht_project:python-mamba:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:wolf_vollprecht_project:python_mamba:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:wolf_vollprechtproject:python-mamba:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:wolf_vollprechtproject:python_mamba:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:wolf_vollprecht_project:mamba:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:wolf-vollprecht:python-mamba:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:wolf-vollprecht:python_mamba:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:wolf_vollprecht:python-mamba:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:wolf_vollprecht:python_mamba:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:wolf_vollprechtproject:mamba:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-mamba:python-mamba:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-mamba:python_mamba:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_mamba:python-mamba:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_mamba:python_mamba:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:wolf-vollprecht:mamba:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:wolf_vollprecht:mamba:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-mamba:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_mamba:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mamba:python-mamba:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mamba:python_mamba:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-mamba:mamba:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_mamba:mamba:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:mamba:1.5.0:*:*:*:*:*:*:*', 'cpe:2.3:a:mamba:mamba:1.5.0:*:*:*:*:*:*:*']",Wolf Vollprecht ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +mdurl,0.1.0,Unknown,PYTHON,"['cpe:2.3:a:taneli_hukkinen_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +ruamel.yaml,0.17.32,MIT license,PYTHON,"['cpe:2.3:a:anthon_van_der_neut_project:python-ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:anthon_van_der_neut_project:python_ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:anthon_van_der_neutproject:python-ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:anthon_van_der_neutproject:python_ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:a_van_der_neut_project:python-ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:a_van_der_neut_project:python_ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:a_van_der_neutproject:python-ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:a_van_der_neutproject:python_ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:anthon_van_der_neut_project:ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:anthon_van_der_neut:python-ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:anthon_van_der_neut:python_ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:anthon_van_der_neutproject:ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:python-ruamel.yaml:python-ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:python-ruamel.yaml:python_ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:python_ruamel.yaml:python-ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:python_ruamel.yaml:python_ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:a_van_der_neut_project:ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:a-van-der-neut:python-ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:a-van-der-neut:python_ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:a_van_der_neut:python-ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:a_van_der_neut:python_ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:a_van_der_neutproject:ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:anthon_van_der_neut:ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:python-ruamel.yaml:ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:python_ruamel.yaml:ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:ruamel.yaml:python-ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:ruamel.yaml:python_ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:a-van-der-neut:ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:a_van_der_neut:ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:ruamel.yaml:ruamel.yaml:0.17.32:*:*:*:*:*:*:*', 'cpe:2.3:a:python:ruamel.yaml:0.17.32:*:*:*:*:*:*:*']",Anthon van der Neut ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +setuptools,68.1.2,Unknown,PYTHON,"['cpe:2.3:a:python_packaging_authority_project:python-setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_packaging_authority_project:python_setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_packaging_authorityproject:python-setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_packaging_authorityproject:python_setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_packaging_authority_project:setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_packaging_authority:python-setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_packaging_authority:python_setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_packaging_authorityproject:setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils_sig_project:python-setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils_sig_project:python_setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils_sigproject:python-setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils_sigproject:python_setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_packaging_authority:setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-setuptools:python-setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-setuptools:python_setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_setuptools:python-setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_setuptools:python_setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils_sig_project:setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils-sig:python-setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils-sig:python_setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils_sig:python-setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils_sig:python_setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils_sigproject:setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-setuptools:setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_setuptools:setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:setuptools:python-setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:setuptools:python_setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils-sig:setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:distutils_sig:setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:setuptools:setuptools:68.1.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:setuptools:68.1.2:*:*:*:*:*:*:*']",Python Packaging Authority ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +jsonschema,4.20.0,MIT,PYTHON,"['cpe:2.3:a:julian\\+jsonschema_project:python-jsonschema:4.20.0:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+jsonschema_project:python_jsonschema:4.20.0:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+jsonschemaproject:python-jsonschema:4.20.0:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+jsonschemaproject:python_jsonschema:4.20.0:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_berman_project:python-jsonschema:4.20.0:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_berman_project:python_jsonschema:4.20.0:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_bermanproject:python-jsonschema:4.20.0:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_bermanproject:python_jsonschema:4.20.0:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+jsonschema_project:jsonschema:4.20.0:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+jsonschema:python-jsonschema:4.20.0:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+jsonschema:python_jsonschema:4.20.0:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+jsonschemaproject:jsonschema:4.20.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-jsonschema:python-jsonschema:4.20.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-jsonschema:python_jsonschema:4.20.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_jsonschema:python-jsonschema:4.20.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_jsonschema:python_jsonschema:4.20.0:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_berman_project:jsonschema:4.20.0:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_berman:python-jsonschema:4.20.0:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_berman:python_jsonschema:4.20.0:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_bermanproject:jsonschema:4.20.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jsonschema:python-jsonschema:4.20.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jsonschema:python_jsonschema:4.20.0:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+jsonschema:jsonschema:4.20.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-jsonschema:jsonschema:4.20.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_jsonschema:jsonschema:4.20.0:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_berman:jsonschema:4.20.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-jsonschema:4.20.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_jsonschema:4.20.0:*:*:*:*:*:*:*', 'cpe:2.3:a:jsonschema:jsonschema:4.20.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:jsonschema:4.20.0:*:*:*:*:*:*:*']",Julian Berman ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +jsonschema-specifications,2023.11.2,MIT,PYTHON,"['cpe:2.3:a:julian\\+jsonschema_specifications_project:python-jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+jsonschema_specifications_project:python_jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+jsonschema_specificationsproject:python-jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+jsonschema_specificationsproject:python_jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+jsonschema_specifications_project:jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+jsonschema_specifications_project:jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+jsonschema-specifications:python-jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+jsonschema-specifications:python_jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+jsonschema_specifications:python-jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+jsonschema_specifications:python_jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+jsonschema_specificationsproject:jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+jsonschema_specificationsproject:jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-jsonschema-specifications:python-jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-jsonschema-specifications:python_jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_jsonschema_specifications:python-jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_jsonschema_specifications:python_jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:jsonschema-specifications:python-jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:jsonschema-specifications:python_jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:jsonschema_specifications:python-jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:jsonschema_specifications:python_jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+jsonschema-specifications:jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+jsonschema-specifications:jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+jsonschema_specifications:jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian\\+jsonschema_specifications:jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-jsonschema-specifications:jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-jsonschema-specifications:jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_jsonschema_specifications:jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_jsonschema_specifications:jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_berman_project:python-jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_berman_project:python_jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_bermanproject:python-jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_bermanproject:python_jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:jsonschema-specifications:jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:jsonschema-specifications:jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:jsonschema_specifications:jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:jsonschema_specifications:jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-jsonschema:python-jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-jsonschema:python_jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_jsonschema:python-jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_jsonschema:python_jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_berman_project:jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_berman_project:jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_berman:python-jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_berman:python_jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_bermanproject:jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_bermanproject:jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:jsonschema:python-jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:jsonschema:python_jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-jsonschema:jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-jsonschema:jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_jsonschema:jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_jsonschema:jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_berman:jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:julian_berman:jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:jsonschema:jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:jsonschema:jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:jsonschema-specifications:2023.11.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:jsonschema_specifications:2023.11.2:*:*:*:*:*:*:*']",Julian Berman ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +urllib3,2.0.4,Unknown,PYTHON,"['cpe:2.3:a:andrey_petrov_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +urllib3,2.1.0,Unknown,PYTHON,"['cpe:2.3:a:andrey_petrov_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +watchdog,2.1.9,Apache License 2.0,PYTHON,"['cpe:2.3:a:yesudeep_mangalapilly_project:python-watchdog:2.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:yesudeep_mangalapilly_project:python_watchdog:2.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:yesudeep_mangalapillyproject:python-watchdog:2.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:yesudeep_mangalapillyproject:python_watchdog:2.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:yesudeep_mangalapilly_project:watchdog:2.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:yesudeep_mangalapilly:python-watchdog:2.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:yesudeep_mangalapilly:python_watchdog:2.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:yesudeep_mangalapillyproject:watchdog:2.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:yesudeep_project:python-watchdog:2.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:yesudeep_project:python_watchdog:2.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:python-watchdog:python-watchdog:2.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:python-watchdog:python_watchdog:2.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:python_watchdog:python-watchdog:2.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:python_watchdog:python_watchdog:2.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:yesudeepproject:python-watchdog:2.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:yesudeepproject:python_watchdog:2.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:yesudeep_mangalapilly:watchdog:2.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:yesudeep_project:watchdog:2.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:python-watchdog:watchdog:2.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:python_watchdog:watchdog:2.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:watchdog:python-watchdog:2.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:watchdog:python_watchdog:2.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:yesudeep:python-watchdog:2.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:yesudeep:python_watchdog:2.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:yesudeepproject:watchdog:2.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-watchdog:2.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_watchdog:2.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:watchdog:watchdog:2.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:yesudeep:watchdog:2.1.9:*:*:*:*:*:*:*', 'cpe:2.3:a:python:watchdog:2.1.9:*:*:*:*:*:*:*']",Yesudeep Mangalapilly ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +watchgod,0.8.2,MIT,PYTHON,"['cpe:2.3:a:samuel_colvin_project:python-watchgod:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:samuel_colvin_project:python_watchgod:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:samuel_colvinproject:python-watchgod:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:samuel_colvinproject:python_watchgod:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-watchgod:python-watchgod:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-watchgod:python_watchgod:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_watchgod:python-watchgod:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_watchgod:python_watchgod:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:samuel_colvin_project:watchgod:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:samuel_colvin:python-watchgod:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:samuel_colvin:python_watchgod:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:samuel_colvinproject:watchgod:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:s_project:python-watchgod:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:s_project:python_watchgod:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python-watchgod:watchgod:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python_watchgod:watchgod:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:sproject:python-watchgod:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:sproject:python_watchgod:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:watchgod:python-watchgod:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:watchgod:python_watchgod:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-watchgod:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_watchgod:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:samuel_colvin:watchgod:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:s_project:watchgod:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:s:python-watchgod:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:s:python_watchgod:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:sproject:watchgod:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:watchgod:watchgod:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:python:watchgod:0.8.2:*:*:*:*:*:*:*', 'cpe:2.3:a:s:watchgod:0.8.2:*:*:*:*:*:*:*']",Samuel Colvin ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +wcwidth,0.2.12,MIT,PYTHON,"['cpe:2.3:a:jeff_quast_project:python-wcwidth:0.2.12:*:*:*:*:*:*:*', 'cpe:2.3:a:jeff_quast_project:python_wcwidth:0.2.12:*:*:*:*:*:*:*', 'cpe:2.3:a:jeff_quastproject:python-wcwidth:0.2.12:*:*:*:*:*:*:*', 'cpe:2.3:a:jeff_quastproject:python_wcwidth:0.2.12:*:*:*:*:*:*:*', 'cpe:2.3:a:contact_project:python-wcwidth:0.2.12:*:*:*:*:*:*:*', 'cpe:2.3:a:contact_project:python_wcwidth:0.2.12:*:*:*:*:*:*:*', 'cpe:2.3:a:contactproject:python-wcwidth:0.2.12:*:*:*:*:*:*:*', 'cpe:2.3:a:contactproject:python_wcwidth:0.2.12:*:*:*:*:*:*:*', 'cpe:2.3:a:python-wcwidth:python-wcwidth:0.2.12:*:*:*:*:*:*:*', 'cpe:2.3:a:python-wcwidth:python_wcwidth:0.2.12:*:*:*:*:*:*:*', 'cpe:2.3:a:python_wcwidth:python-wcwidth:0.2.12:*:*:*:*:*:*:*', 'cpe:2.3:a:python_wcwidth:python_wcwidth:0.2.12:*:*:*:*:*:*:*', 'cpe:2.3:a:jeff_quast_project:wcwidth:0.2.12:*:*:*:*:*:*:*', 'cpe:2.3:a:jeff_quast:python-wcwidth:0.2.12:*:*:*:*:*:*:*', 'cpe:2.3:a:jeff_quast:python_wcwidth:0.2.12:*:*:*:*:*:*:*', 'cpe:2.3:a:jeff_quastproject:wcwidth:0.2.12:*:*:*:*:*:*:*', 'cpe:2.3:a:contact_project:wcwidth:0.2.12:*:*:*:*:*:*:*', 'cpe:2.3:a:contact:python-wcwidth:0.2.12:*:*:*:*:*:*:*', 'cpe:2.3:a:contact:python_wcwidth:0.2.12:*:*:*:*:*:*:*', 'cpe:2.3:a:contactproject:wcwidth:0.2.12:*:*:*:*:*:*:*', 'cpe:2.3:a:python-wcwidth:wcwidth:0.2.12:*:*:*:*:*:*:*', 'cpe:2.3:a:python_wcwidth:wcwidth:0.2.12:*:*:*:*:*:*:*', 'cpe:2.3:a:wcwidth:python-wcwidth:0.2.12:*:*:*:*:*:*:*', 'cpe:2.3:a:wcwidth:python_wcwidth:0.2.12:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-wcwidth:0.2.12:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_wcwidth:0.2.12:*:*:*:*:*:*:*', 'cpe:2.3:a:jeff_quast:wcwidth:0.2.12:*:*:*:*:*:*:*', 'cpe:2.3:a:contact:wcwidth:0.2.12:*:*:*:*:*:*:*', 'cpe:2.3:a:wcwidth:wcwidth:0.2.12:*:*:*:*:*:*:*', 'cpe:2.3:a:python:wcwidth:0.2.12:*:*:*:*:*:*:*']",Jeff Quast ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +websocket-client,1.7.0,Apache-2.0,PYTHON,"['cpe:2.3:a:python-websocket-client:python-websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-websocket-client:python_websocket_client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_websocket_client:python-websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_websocket_client:python_websocket_client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:liris_pp_project:python-websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:liris_pp_project:python_websocket_client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-websocket-client:websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-websocket-client:websocket_client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-websocket:python-websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-websocket:python_websocket_client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_websocket:python-websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_websocket:python_websocket_client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_websocket_client:websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_websocket_client:websocket_client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:websocket-client:python-websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:websocket-client:python_websocket_client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:websocket_client:python-websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:websocket_client:python_websocket_client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:liris_ppproject:python-websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:liris_ppproject:python_websocket_client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:liris_project:python-websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:liris_project:python_websocket_client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:lirisproject:python-websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:lirisproject:python_websocket_client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:liris_pp_project:websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:liris_pp_project:websocket_client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-websocket:websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-websocket:websocket_client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_websocket:websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_websocket:websocket_client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:websocket-client:websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:websocket-client:websocket_client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:websocket:python-websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:websocket:python_websocket_client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:websocket_client:websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:websocket_client:websocket_client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:liris-pp:python-websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:liris-pp:python_websocket_client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:liris_pp:python-websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:liris_pp:python_websocket_client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:liris_ppproject:websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:liris_ppproject:websocket_client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:liris_project:websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:liris_project:websocket_client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_websocket_client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:liris:python-websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:liris:python_websocket_client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:lirisproject:websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:lirisproject:websocket_client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:websocket:websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:websocket:websocket_client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:liris-pp:websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:liris-pp:websocket_client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:liris_pp:websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:liris_pp:websocket_client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:websocket_client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:liris:websocket-client:1.7.0:*:*:*:*:*:*:*', 'cpe:2.3:a:liris:websocket_client:1.7.0:*:*:*:*:*:*:*']",liris ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +stringcase,1.2.0,MIT,PYTHON,"['cpe:2.3:a:okunishitaka_com_project:python-stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:okunishitaka_com_project:python_stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:okunishitaka_comproject:python-stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:okunishitaka_comproject:python_stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:taka_okunishi_project:python-stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:taka_okunishi_project:python_stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:taka_okunishiproject:python-stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:taka_okunishiproject:python_stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:okunishitaka_com_project:stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-stringcase:python-stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-stringcase:python_stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_stringcase:python-stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_stringcase:python_stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:okunishitaka-com:python-stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:okunishitaka-com:python_stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:okunishitaka_com:python-stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:okunishitaka_com:python_stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:okunishitaka_comproject:stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:taka_okunishi_project:stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:taka_okunishi:python-stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:taka_okunishi:python_stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:taka_okunishiproject:stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-stringcase:stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_stringcase:stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:stringcase:python-stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:stringcase:python_stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:okunishitaka-com:stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:okunishitaka_com:stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:taka_okunishi:stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:stringcase:stringcase:1.2.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:stringcase:1.2.0:*:*:*:*:*:*:*']",Taka Okunishi ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libnss3,2:3.68.2-0ubuntu1.2,BSD-3 MIT MPL-2.0 Zlib public-domain,dpkg,['cpe:2.3:a:libnss3:libnss3:2\\:3.68.2-0ubuntu1.2:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +gpg,2.2.27-3ubuntu2.1,BSD-3-clause CC0-1.0 Expat GPL-3 GPL-3+ LGPL-2.1 LGPL-2.1+ LGPL-3 LGPL-3+ RFC-Reference TinySCHEME permissive,dpkg,['cpe:2.3:a:gpg:gpg:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libc-bin,2.35-0ubuntu3.5,GFDL-1.3 GPL-2 LGPL-2.1,dpkg,"['cpe:2.3:a:libc-bin:libc-bin:2.35-0ubuntu3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:libc-bin:libc_bin:2.35-0ubuntu3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:libc_bin:libc-bin:2.35-0ubuntu3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:libc_bin:libc_bin:2.35-0ubuntu3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:libc:libc-bin:2.35-0ubuntu3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:libc:libc_bin:2.35-0ubuntu3.5:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libc6-dev,2.35-0ubuntu3.5,GFDL-1.3 GPL-2 LGPL-2.1,dpkg,"['cpe:2.3:a:libc6-dev:libc6-dev:2.35-0ubuntu3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:libc6-dev:libc6_dev:2.35-0ubuntu3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:libc6_dev:libc6-dev:2.35-0ubuntu3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:libc6_dev:libc6_dev:2.35-0ubuntu3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:libc6:libc6-dev:2.35-0ubuntu3.5:*:*:*:*:*:*:*', 'cpe:2.3:a:libc6:libc6_dev:2.35-0ubuntu3.5:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +prompt-toolkit,3.0.41,Unknown,PYTHON,"['cpe:2.3:a:jonathan_slenders_project:python-prompt-toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:jonathan_slenders_project:python_prompt_toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:jonathan_slendersproject:python-prompt-toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:jonathan_slendersproject:python_prompt_toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:python-prompt-toolkit:python-prompt-toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:python-prompt-toolkit:python_prompt_toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:python_prompt_toolkit:python-prompt-toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:python_prompt_toolkit:python_prompt_toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:jonathan_slenders_project:prompt-toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:jonathan_slenders_project:prompt_toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:jonathan_slenders:python-prompt-toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:jonathan_slenders:python_prompt_toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:jonathan_slendersproject:prompt-toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:jonathan_slendersproject:prompt_toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:prompt-toolkit:python-prompt-toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:prompt-toolkit:python_prompt_toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:prompt_toolkit:python-prompt-toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:prompt_toolkit:python_prompt_toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:python-prompt-toolkit:prompt-toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:python-prompt-toolkit:prompt_toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:python_prompt_toolkit:prompt-toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:python_prompt_toolkit:prompt_toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:python-prompt:python-prompt-toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:python-prompt:python_prompt_toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:python_prompt:python-prompt-toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:python_prompt:python_prompt_toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:jonathan_slenders:prompt-toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:jonathan_slenders:prompt_toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:prompt-toolkit:prompt-toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:prompt-toolkit:prompt_toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:prompt_toolkit:prompt-toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:prompt_toolkit:prompt_toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:prompt:python-prompt-toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:prompt:python_prompt_toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:python-prompt:prompt-toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:python-prompt:prompt_toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-prompt-toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_prompt_toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:python_prompt:prompt-toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:python_prompt:prompt_toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:prompt:prompt-toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:prompt:prompt_toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:python:prompt-toolkit:3.0.41:*:*:*:*:*:*:*', 'cpe:2.3:a:python:prompt_toolkit:3.0.41:*:*:*:*:*:*:*']",Jonathan Slenders,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libctf-nobfd0,2.38-4ubuntu2.3,GFDL GPL LGPL,dpkg,"['cpe:2.3:a:libctf-nobfd0:libctf-nobfd0:2.38-4ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libctf-nobfd0:libctf_nobfd0:2.38-4ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libctf_nobfd0:libctf-nobfd0:2.38-4ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libctf_nobfd0:libctf_nobfd0:2.38-4ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libctf:libctf-nobfd0:2.38-4ubuntu2.3:*:*:*:*:*:*:*', 'cpe:2.3:a:libctf:libctf_nobfd0:2.38-4ubuntu2.3:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libctf0,2.38-4ubuntu2.3,GFDL GPL LGPL,dpkg,['cpe:2.3:a:libctf0:libctf0:2.38-4ubuntu2.3:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libcap-ng0,0.7.9-2.2build3,GPL-2 GPL-3 LGPL-2.1,dpkg,"['cpe:2.3:a:libcap-ng0:libcap-ng0:0.7.9-2.2build3:*:*:*:*:*:*:*', 'cpe:2.3:a:libcap-ng0:libcap_ng0:0.7.9-2.2build3:*:*:*:*:*:*:*', 'cpe:2.3:a:libcap_ng0:libcap-ng0:0.7.9-2.2build3:*:*:*:*:*:*:*', 'cpe:2.3:a:libcap_ng0:libcap_ng0:0.7.9-2.2build3:*:*:*:*:*:*:*', 'cpe:2.3:a:libcap:libcap-ng0:0.7.9-2.2build3:*:*:*:*:*:*:*', 'cpe:2.3:a:libcap:libcap_ng0:0.7.9-2.2build3:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +libdebconfclient0,0.261ubuntu1,Unknown,dpkg,['cpe:2.3:a:libdebconfclient0:libdebconfclient0:0.261ubuntu1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +colorama,0.4.6,Unknown,PYTHON,"['cpe:2.3:a:jonathan_hartley_\\>,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +boa,0.16.0,BSD 3-clause,PYTHON,"['cpe:2.3:a:wolf_vollprecht_project:python-boa:0.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:wolf_vollprecht_project:python_boa:0.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:wolf_vollprechtproject:python-boa:0.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:wolf_vollprechtproject:python_boa:0.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:wolf_vollprecht_project:boa:0.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:wolf-vollprecht:python-boa:0.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:wolf-vollprecht:python_boa:0.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:wolf_vollprecht:python-boa:0.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:wolf_vollprecht:python_boa:0.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:wolf_vollprechtproject:boa:0.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-boa:python-boa:0.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-boa:python_boa:0.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_boa:python-boa:0.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_boa:python_boa:0.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:wolf-vollprecht:boa:0.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:wolf_vollprecht:boa:0.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-boa:0.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_boa:0.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:boa:python-boa:0.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:boa:python_boa:0.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python-boa:boa:0.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python_boa:boa:0.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:python:boa:0.16.0:*:*:*:*:*:*:*', 'cpe:2.3:a:boa:boa:0.16.0:*:*:*:*:*:*:*']",Wolf Vollprecht ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +PySocks,1.7.1,BSD,PYTHON,"['cpe:2.3:a:anorov_vorona_project:python-PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov_vorona_project:python_PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov_voronaproject:python-PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov_voronaproject:python_PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov_project:python-PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov_project:python_PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov_vorona_project:PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-PySocks:python-PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-PySocks:python_PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_PySocks:python-PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_PySocks:python_PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov-vorona:python-PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov-vorona:python_PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov_vorona:python-PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov_vorona:python_PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov_voronaproject:PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorovproject:python-PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorovproject:python_PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:PySocks:python-PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:PySocks:python_PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov_project:PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-PySocks:PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_PySocks:PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov-vorona:PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov:python-PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov:python_PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov_vorona:PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorovproject:PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:PySocks:PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov:PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:PySocks:1.7.1:*:*:*:*:*:*:*']",Anorov ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +dash,0.5.11+git20210903+057cd650a4ed-3build1,BSD-3-Clause BSD-3-clause Expat FSFUL FSFULLR GPL-2 GPL-2+ public-domain,dpkg,['cpe:2.3:a:dash:dash:0.5.11\\+git20210903\\+057cd650a4ed-3build1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +PySocks,1.7.1,BSD,PYTHON,"['cpe:2.3:a:anorov_vorona_project:python-PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov_vorona_project:python_PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov_voronaproject:python-PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov_voronaproject:python_PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov_project:python-PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov_project:python_PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov_vorona_project:PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-PySocks:python-PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-PySocks:python_PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_PySocks:python-PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_PySocks:python_PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov-vorona:python-PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov-vorona:python_PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov_vorona:python-PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov_vorona:python_PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov_voronaproject:PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorovproject:python-PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorovproject:python_PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:PySocks:python-PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:PySocks:python_PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov_project:PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-PySocks:PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_PySocks:PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov-vorona:PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov:python-PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov:python_PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov_vorona:PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorovproject:PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:PySocks:PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:anorov:PySocks:1.7.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:PySocks:1.7.1:*:*:*:*:*:*:*']",Anorov ,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +dirmngr,2.2.27-3ubuntu2.1,BSD-3-clause CC0-1.0 Expat GPL-3 GPL-3+ LGPL-2.1 LGPL-2.1+ LGPL-3 LGPL-3+ RFC-Reference TinySCHEME permissive,dpkg,['cpe:2.3:a:dirmngr:dirmngr:2.2.27-3ubuntu2.1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +fsspec,2023.12.1,BSD,PYTHON,"['cpe:2.3:a:python-fsspec:python-fsspec:2023.12.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-fsspec:python_fsspec:2023.12.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_fsspec:python-fsspec:2023.12.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_fsspec:python_fsspec:2023.12.1:*:*:*:*:*:*:*', 'cpe:2.3:a:fsspec:python-fsspec:2023.12.1:*:*:*:*:*:*:*', 'cpe:2.3:a:fsspec:python_fsspec:2023.12.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python-fsspec:fsspec:2023.12.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python-fsspec:2023.12.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:python_fsspec:2023.12.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python_fsspec:fsspec:2023.12.1:*:*:*:*:*:*:*', 'cpe:2.3:a:fsspec:fsspec:2023.12.1:*:*:*:*:*:*:*', 'cpe:2.3:a:python:fsspec:2023.12.1:*:*:*:*:*:*:*']",Unknown,nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +e2fsprogs,1.46.5-2ubuntu1.1,GPL-2 LGPL-2,dpkg,['cpe:2.3:a:e2fsprogs:e2fsprogs:1.46.5-2ubuntu1.1:*:*:*:*:*:*:*'],Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 +fonts-dejavu-core,2.37-2build1,GPL-2 GPL-2+ bitstream-vera,dpkg,"['cpe:2.3:a:fonts-dejavu-core:fonts-dejavu-core:2.37-2build1:*:*:*:*:*:*:*', 'cpe:2.3:a:fonts-dejavu-core:fonts_dejavu_core:2.37-2build1:*:*:*:*:*:*:*', 'cpe:2.3:a:fonts_dejavu_core:fonts-dejavu-core:2.37-2build1:*:*:*:*:*:*:*', 'cpe:2.3:a:fonts_dejavu_core:fonts_dejavu_core:2.37-2build1:*:*:*:*:*:*:*', 'cpe:2.3:a:fonts-dejavu:fonts-dejavu-core:2.37-2build1:*:*:*:*:*:*:*', 'cpe:2.3:a:fonts-dejavu:fonts_dejavu_core:2.37-2build1:*:*:*:*:*:*:*', 'cpe:2.3:a:fonts_dejavu:fonts-dejavu-core:2.37-2build1:*:*:*:*:*:*:*', 'cpe:2.3:a:fonts_dejavu:fonts_dejavu_core:2.37-2build1:*:*:*:*:*:*:*', 'cpe:2.3:a:fonts:fonts-dejavu-core:2.37-2build1:*:*:*:*:*:*:*', 'cpe:2.3:a:fonts:fonts_dejavu_core:2.37-2build1:*:*:*:*:*:*:*']",Ubuntu Developers (maintainer),nvcr.io/nvidia/morpheus/morpheus:23.11-runtime,linux/amd64,02/01/2024 diff --git a/experimental/event-driven-rag-cve-analysis/default.env b/experimental/event-driven-rag-cve-analysis/default.env new file mode 100644 index 000000000..5d4b6deba --- /dev/null +++ b/experimental/event-driven-rag-cve-analysis/default.env @@ -0,0 +1,5 @@ +NGC_API_KEY=CYBER_DEV_DAY +NGC_ORG_ID=CYBER_DEV_DAY +NVIDIA_API_KEY=nvapi-CYBER_DEV_DAY +NGC_API_BASE="https://morpheus-sherlock.nvidia.com/nemo/v1" +NVIDIA_API_BASE="https://morpheus-sherlock.nvidia.com/nvcf/v2" diff --git a/experimental/event-driven-rag-cve-analysis/docker-compose.yml b/experimental/event-driven-rag-cve-analysis/docker-compose.yml new file mode 100755 index 000000000..1376d2601 --- /dev/null +++ b/experimental/event-driven-rag-cve-analysis/docker-compose.yml @@ -0,0 +1,89 @@ +# SPDX-FileCopyrightText: Copyright (c) 2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +version: '3.3' + +name: cyber-dev-day + +services: + + cyber-dev-day: + build: + context: . + dockerfile: ./Dockerfile + args: + - MORPHEUS_CONTAINER=${MORPHEUS_CONTAINER:-nvcr.io/nvidia/morpheus/morpheus} + - MORPHEUS_CONTAINER_VERSION=${MORPHEUS_CONTAINER_VERSION:-v24.03.02-runtime} + target: jupyter + image: morpheus-cyber-dev-day-2 + entrypoint: /workspace/entrypoint.sh + ports: + - "26302" + - "${JUPYTER_PORT:-8888}:${JUPYTER_PORT:-8888}" + working_dir: /workspace + command: jupyter-lab --no-browser --allow-root --ip='*' --port=${JUPYTER_PORT:-8888} + deploy: + resources: + reservations: + devices: + - driver: nvidia + capabilities: [ gpu ] + networks: + - proxy + # Uncomment if the .env file issue is resolved: https://github.com/docker/compose/issues/9181#issuecomment-1996016211 + # env_file: + # - path: .env + # required: "false" + environment: + - TERM=${TERM:-} + # Workaround until this is working: https://github.com/docker/compose/issues/9181#issuecomment-1996016211 + - OPENAI_API_KEY= + # Overwrite any environment variables in the .env file with URLs needed in the network + - OPENAI_API_BASE=https://integrate.api.nvidia.com/v1 + - OPENAI_BASE_URL=https://integrate.api.nvidia.com/v1 + volumes: + - .:/workspace + - build-cache:/workspace/.cache + - build-dir:/workspace/build-docker + cap_add: + - sys_nice + restart: always + + proxy-cache: + image: nginx:1.23.4 + ports: + - "81" + volumes: + - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro + - ./nginx/template-variables.conf:/etc/nginx/templates/10-variables.conf.template:ro + - proxy-cache:/server_cache:rw + environment: + # Workaround until this is working: https://github.com/docker/compose/issues/9181#issuecomment-1996016211 + - NGC_API_KEY=${NGC_API_KEY:-CYBER_DEV_DAY} + - NGC_ORG_ID=${NGC_ORG_ID:-CYBER_DEV_DAY} + - NVIDIA_API_KEY=${NVIDIA_API_KEY:-nvapi-CYBER_DEV_DAY} + networks: + - proxy + +networks: + proxy: + driver: bridge + +volumes: + proxy-cache: + driver: local + build-cache: + driver: local + build-dir: + driver: local diff --git a/experimental/event-driven-rag-cve-analysis/entrypoint.sh b/experimental/event-driven-rag-cve-analysis/entrypoint.sh new file mode 100755 index 000000000..5c307ceb3 --- /dev/null +++ b/experimental/event-driven-rag-cve-analysis/entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +# Activate "morpheus" conda environment +. /opt/conda/etc/profile.d/conda.sh +conda activate morpheus + +# Run whatever user wants +exec "$@" diff --git a/experimental/event-driven-rag-cve-analysis/nginx/.gitignore b/experimental/event-driven-rag-cve-analysis/nginx/.gitignore new file mode 100644 index 000000000..2cbdd5c3a --- /dev/null +++ b/experimental/event-driven-rag-cve-analysis/nginx/.gitignore @@ -0,0 +1,3 @@ + +# Ignore any secret certificate files +*.pem diff --git a/experimental/event-driven-rag-cve-analysis/nginx/nginx.conf b/experimental/event-driven-rag-cve-analysis/nginx/nginx.conf new file mode 100644 index 000000000..1f1aeb0af --- /dev/null +++ b/experimental/event-driven-rag-cve-analysis/nginx/nginx.conf @@ -0,0 +1,204 @@ +events { + worker_connections 1024; +} + +http { + proxy_ssl_server_name on; + + proxy_cache_path /server_cache levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=14d use_temp_path=off; + + error_log /dev/stdout info; + + log_format upstream_time '$remote_addr - $remote_user [$time_local] ' + '"$request" $status $body_bytes_sent ' + '"$http_referer" "$http_user_agent"' + 'rt=$request_time uct="$upstream_connect_time" uht="$upstream_header_time" urt="$upstream_response_time"'; + + log_format cache_log '$remote_addr - $remote_user [$time_local] ' + '"$request" $status $body_bytes_sent ' + '"$http_referer" "$http_user_agent" ' + 'Cache: $upstream_cache_status'; + + log_format no_cache_log '[NOCACHE] $remote_addr - $remote_user [$time_local] ' + '"$request" $status $body_bytes_sent ' + '"$http_referer" "$http_user_agent" ' + 'Cache: $upstream_cache_status'; + + include /etc/nginx/conf.d/10-variables.conf; + + # upstream loadbalancer { + + # # enable sticky session based on IP + # ip_hash; + # keepalive 1024; + + # server cve-tool:26302; + # } + + server { + listen 81; + # listen 443 ssl; + # listen [::]:443 ssl; + # server_name localhost; + # ssl_certificate /etc/nginx/ssl/cert.pem; + # ssl_certificate_key /etc/nginx/ssl/key.pem; + + proxy_http_version 1.1; + proxy_set_header Host $host; + + proxy_busy_buffers_size 512k; + proxy_buffers 4 512k; + proxy_buffer_size 256k; + + # rewrite_log on; + + # location / { + # proxy_pass "http://loadbalancer"; + # proxy_http_version 1.1; + # proxy_set_header Upgrade $http_upgrade; + # proxy_set_header Connection "upgrade"; + # proxy_set_header Host $host; + # } + + location /openai { + proxy_set_header Host api.openai.com; + + location ~* ^\/openai\/v1\/((engines\/.+\/)?(?:chat\/completions|completions|edits|moderations|answers|embeddings))$ { + rewrite ^\/openai(\/.*)$ $1 break; + proxy_pass https://api.openai.com; + proxy_set_header Connection ''; + proxy_cache my_cache; + proxy_cache_methods POST; + proxy_cache_key "$request_method|$request_uri|$request_body"; + proxy_cache_valid 200 14d; + proxy_cache_valid 404 1m; + proxy_read_timeout 8m; + proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504; + proxy_cache_background_update on; + proxy_cache_lock on; + access_log /dev/stdout cache_log; + proxy_ignore_headers Cache-Control; + proxy_ignore_headers "Set-Cookie"; + proxy_hide_header "Set-Cookie"; + add_header X-Cache-Status $upstream_cache_status; + client_body_buffer_size 4m; + } + + location /openai/v1 { + rewrite ^\/openai(\/.*)$ $1 break; + proxy_pass https://api.openai.com; + access_log /dev/stdout no_cache_log; + } + } + + location /nemo { + proxy_set_header Host api.llm.ngc.nvidia.com; + + location ~* ^\/nemo\/v1\/models(\/.+\/completions)?$ { + rewrite ^\/nemo(\/.*)$ $1 break; + proxy_pass https://api.llm.ngc.nvidia.com; + proxy_set_header Connection ''; + proxy_set_header Authorization $nemo_http_authorization; + proxy_set_header Organization-ID $nemo_http_organization_id; + proxy_cache my_cache; + proxy_cache_methods GET POST; + proxy_cache_key "$request_method|$request_uri|$request_body"; + proxy_cache_valid 200 14d; + proxy_cache_valid 404 1m; + proxy_read_timeout 8m; + proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504; + proxy_cache_background_update on; + proxy_cache_lock on; + access_log /dev/stdout cache_log; + proxy_ignore_headers Cache-Control; + proxy_ignore_headers "Set-Cookie"; + proxy_hide_header "Set-Cookie"; + add_header X-Cache-Status $upstream_cache_status; + client_body_buffer_size 4m; + } + + location /nemo/v1 { + rewrite ^\/nemo(\/.*)$ $1 break; + proxy_pass https://api.llm.ngc.nvidia.com; + access_log /dev/stdout no_cache_log; + } + } + + location /nvcf { + proxy_set_header Host api.nvcf.nvidia.com; + + location ~* ^\/nvcf\/v2\/nvcf\/(pexec\/functions\/.+)$ { + rewrite ^\/nvcf(\/.*)$ $1 break; + proxy_pass https://api.nvcf.nvidia.com; + proxy_set_header Connection ''; + proxy_set_header Authorization $nvcf_http_authorization; + proxy_cache my_cache; + proxy_cache_methods POST; + proxy_cache_key "$request_method|$request_uri|$request_body"; + proxy_cache_valid 200 14d; + proxy_cache_valid 202 14d; + proxy_cache_valid 404 1m; + proxy_read_timeout 8m; + proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504; + proxy_cache_background_update on; + proxy_cache_lock on; + access_log /dev/stdout cache_log; + proxy_ignore_headers Cache-Control; + proxy_ignore_headers "Set-Cookie"; + proxy_hide_header "Set-Cookie"; + add_header X-Cache-Status $upstream_cache_status always; + client_body_buffer_size 4m; + } + + location ~* ^\/nvcf\/v2\/nvcf\/(pexec\/status\/.+)$ { + rewrite ^\/nvcf(\/.*)$ $1 break; + proxy_pass https://api.nvcf.nvidia.com; + proxy_set_header Connection ''; + proxy_set_header Authorization $nvcf_http_authorization; + proxy_cache my_cache; + proxy_cache_methods GET; + proxy_cache_key "$request_method|$request_uri"; + proxy_cache_valid 200 14d; + proxy_cache_valid 404 1m; + proxy_read_timeout 8m; + proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504; + proxy_cache_background_update on; + proxy_cache_lock on; + access_log /dev/stdout cache_log; + proxy_ignore_headers Cache-Control; + proxy_ignore_headers "Set-Cookie"; + proxy_hide_header "Set-Cookie"; + add_header X-Cache-Status $upstream_cache_status always; + client_body_buffer_size 4m; + } + + location /nvcf/v2 { + rewrite ^\/nvcf(\/.*)$ $1 break; + proxy_pass https://api.nvcf.nvidia.com; + access_log /dev/stdout no_cache_log; + } + } + + location /serpapi/ { + proxy_set_header Host serpapi.com; + + proxy_pass https://serpapi.com/; + proxy_set_header Connection ''; + proxy_cache my_cache; + proxy_cache_methods GET; + proxy_cache_key "$request_method|$request_uri"; + proxy_cache_valid 200 14d; + proxy_cache_valid 404 1m; + proxy_read_timeout 8m; + proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504; + proxy_cache_background_update on; + proxy_cache_lock on; + access_log /dev/stdout cache_log; + proxy_ignore_headers Cache-Control; + proxy_ignore_headers "Set-Cookie"; + proxy_hide_header "Set-Cookie"; + add_header X-Cache-Status $upstream_cache_status; + client_body_buffer_size 4m; + } + } +} diff --git a/experimental/event-driven-rag-cve-analysis/nginx/template-variables.conf b/experimental/event-driven-rag-cve-analysis/nginx/template-variables.conf new file mode 100644 index 000000000..071012c26 --- /dev/null +++ b/experimental/event-driven-rag-cve-analysis/nginx/template-variables.conf @@ -0,0 +1,15 @@ +map $http_authorization $nemo_http_authorization { + default $http_authorization; + "Bearer CYBER_DEV_DAY" "Bearer ${NGC_API_KEY}"; +} + +map $http_organization_id $nemo_http_organization_id { + default $http_organization_id; + "CYBER_DEV_DAY" "${NGC_ORG_ID}"; +} + +map $http_authorization $nvcf_http_authorization { + default $http_authorization; + "Bearer CYBER_DEV_DAY" "Bearer ${NVIDIA_API_KEY}"; + "Bearer nvapi-CYBER_DEV_DAY" "Bearer ${NVIDIA_API_KEY}"; +} diff --git a/experimental/event-driven-rag-cve-analysis/notebooks/cyber-dev-day.ipynb b/experimental/event-driven-rag-cve-analysis/notebooks/cyber-dev-day.ipynb new file mode 100644 index 000000000..123f2d051 --- /dev/null +++ b/experimental/event-driven-rag-cve-analysis/notebooks/cyber-dev-day.ipynb @@ -0,0 +1,2229 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "2941e94f-db20-44a5-ab87-2cab499825f7", + "metadata": { + "tags": [] + }, + "source": [ + "# An Introduction to Developing Agents with NVIDIA Morpheus\n", + "\n", + "## Introduction\n", + "\n", + "**Generative AI (GenAI)** and **Large Language Models (LLMs)** are becoming essential tools in **cybersecurity** in part due to their ability to enhance the efficiency of cyber threat detection and response by **accelerating analyst workflows**. However, prototyping and moving these accelerated workflows into production can be daunting.\n", + "\n", + "Cybersecurity remains among the top three challenges impacting every industry—from the public sector to financial services, telecommunications, retail, automotive, and more. Most CEOs believe organizations with the most **advanced generative AI capabilities** will have a competitive advantage and are looking for ways to incorporate this into their business. While adversaries are already leveraging generative AI in their attacks, there is significant potential to harness this power for **cyber defense**.\n", + "\n", + "This hands-on tutorial will focus on **accelerating an exploitability analysis workflow** to increase analyst productivity and enhance cybersecurity defenses.\n", + "\n", + "### Problem Statement: Common Vulnerabilities and Exposures (CVE) Impact Analysis\n", + "\n", + "Determining the impact of a documented **CVE** on a specific project or container is a labor-intensive and manual task. This intricate process involves the collection, comprehension, and synthesis of various pieces of information to ascertain whether immediate remediation, such as patching, is necessary upon the identification of a new CVE.\n", + "\n", + "#### Challenges\n", + "\n", + "- **Information Collection:** The process involves significant manual labor to collect and synthesize relevant information.\n", + "- **Decision Complexity:** Decisions on whether to update a library impacted by a CVE often hinge on various considerations, including:\n", + " - **Scan False Positives:** Occasionally, vulnerability scans may incorrectly flag a library as vulnerable, leading to a false alarm.\n", + " - **Mitigating Factors:** In some cases, existing safeguards within the environment may reduce or negate the risk posed by a CVE.\n", + " - **Lack of Required Environments or Dependencies:** For an exploit to succeed, specific conditions must be met. The absence of these necessary elements can render a vulnerability irrelevant.\n", + "- **Manual Documentation:** Once an analyst has determined the library is not affected, a **Vulnerability Exploitability eXchange (VEX)** document must be created to standardize and distribute the results.\n", + "\n", + "The efficiency of this process can be significantly enhanced through the deployment of an **event-driven LLM agent pipeline**.\n", + "\n", + "### Tutorial Goals\n", + "\n", + "Our team developed a **cybersecurity vulnerability analysis tool** to aid in assessing the exploitability of CVEs in specific projects and containers. This tutorial will guide you step-by-step through the process of using **LLMs, Retrieval-Augmented Generation (RAG), and agents** to create both a toy version and a microservice running **LLM-powered CVE exploitability analysis**.\n", + "\n", + "You'll have the chance to experiment with various modules, boosting your skills and understanding of these technologies. This experience will prepare you to later expand your use case by exploring new functionalities, enhancing the current setup, or even creating your own tailored solutions to meet specific needs or address new challenges.\n", + "\n", + "## Table of Contents\n", + "\n", + "- [0 - Environment Setup](#0---Environment-Setup)\n", + "- [1 - Intro to Interacting with LLMs](#1---Intro-to-Interacting-with-LLMs)\n", + " - [1.1 - Python Calls to LLM API](#1.1---Python-Calls-to-LLM-API)\n", + " - [1.2 - Prompt Engineering](#1.2---Prompt-Engineering)\n", + " - [1.3 - Prompt Templating](#1.3---Prompt-Templating)\n", + " - [1.4 - One-Shot Learning](#1.4---One-Shot-Learning)\n", + " - [1.5 - Few-Shot Learning](#1.5---Few-Shot-Learning)\n", + " - [1.6 - Evaluation Strategies](#1.6---Evaluation-Strategies)\n", + "- [2 - Prototyping](#2---Prototyping)\n", + " - [2.1 - Overview](#21---overview)\n", + " - [2.2 - Building the Vector Database](#22---building-the-vector-database)\n", + " - [2.3 - Running a RAG pipeline with Morpheus](#23---running-a-rag-pipeline-with-morpheus)\n", + " - [2.4 - Running the CVE Pipeline with Morpheus](#24---running-the-cve-pipeline-with-morpheus)\n", + "- [3 - Beyond Prototyping](#3---Beyond-Prototyping)\n", + " - [3.1 - Improving the Model](#31---improving-the-model)\n", + " - [3.2 - Scaling the Pipeline](#32---scaling-the-pipeline)\n", + " - [3.3 - Event Driven Pipeline: Creating a Microservice](#33---event-driven-pipeline-creating-a-microservice) \n", + "- [4 - Conclusion](#4---conclusion)\n", + "\n", + "

\n", + "Note: Please continue running the notebook up to Part 1 during the introduction presentation to ensure your environment is set up correctly.\n", + "
\n" + ] + }, + { + "cell_type": "markdown", + "id": "1392801d-3325-4297-974a-e430f5248170", + "metadata": {}, + "source": [ + "---\n" + ] + }, + { + "cell_type": "markdown", + "id": "ff405752-d264-49b4-946f-ccb693ccb732", + "metadata": {}, + "source": [ + "## 0 - Environment Setup\n" + ] + }, + { + "cell_type": "markdown", + "id": "4700a3a1", + "metadata": {}, + "source": [ + "The following code blocks are used to setup environment variables and imports for the rest of the notebook.\n" + ] + }, + { + "cell_type": "code", + "id": "a60d2a30", + "metadata": { + "tags": [] + }, + "source": [ + "%load_ext autoreload\n", + "%aimport -logging\n", + "%autoreload 2\n", + "\n", + "# Ensure that the morpheus directory is in the python path. This may not need to be run depending on the environment setup\n", + "import sys\n", + "import os\n", + "import warnings\n", + "\n", + "warnings.simplefilter(action='ignore', category=FutureWarning)\n", + "\n", + "if (\"MORPHEUS_ROOT\" not in os.environ):\n", + " os.environ[\"MORPHEUS_ROOT\"] = os.path.abspath(\"../\")\n", + "\n", + "llm_dir = os.path.abspath(os.path.join(os.getenv(\"MORPHEUS_ROOT\", \"../\")))\n", + "\n", + "if (llm_dir not in sys.path):\n", + " sys.path.append(llm_dir)" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "3523bc32", + "metadata": {}, + "source": [ + "Ensure the necessary environment variables are set. As a last resort, try to load them from a `.env` file.\n" + ] + }, + { + "cell_type": "code", + "id": "ef295094", + "metadata": { + "tags": [] + }, + "source": [ + "# Ensure that the current environment is set up with API keys\n", + "required_env_vars = [\"MORPHEUS_ROOT\", \"OPENAI_API_KEY\", \"OPENAI_BASE_URL\"]\n", + "\n", + "if (not all([var in os.environ for var in required_env_vars])):\n", + "\n", + " # Try loading an .env file if it exists\n", + " from dotenv import load_dotenv\n", + "\n", + " load_dotenv()\n", + "\n", + " # Check again\n", + " if (not all([var in os.environ for var in required_env_vars])):\n", + " raise ValueError(f\"Please set the following environment variables: {required_env_vars}\")" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "86203ec2", + "metadata": {}, + "source": [ + "Import some common libraries to allow them to be used later in the notebook.\n" + ] + }, + { + "cell_type": "code", + "id": "e2aa2691", + "metadata": { + "tags": [] + }, + "source": [ + "import logging\n", + "import os\n", + "import time\n", + "\n", + "import pandas as pd\n", + "from openai import OpenAI\n", + "\n", + "import cudf\n", + "\n", + "# Finally, ensure Morpheus is installed correctly\n", + "import morpheus._lib" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "7932f728", + "metadata": {}, + "source": [ + "Configure logging to allow Morpheus messages to appear in the notebook.\n" + ] + }, + { + "cell_type": "code", + "id": "a9ab76ad", + "metadata": { + "tags": [] + }, + "source": [ + "# Configure logging\n", + "import cyber_dev_day\n", + "\n", + "# Create a logger for this module. Use the cyber_dev_day module name because the notebook will just be __main__\n", + "logger = logging.getLogger(cyber_dev_day.__name__)\n", + "\n", + "# Configure the parent logger log level\n", + "logger.parent.setLevel(logging.INFO)" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "1cfc3ce8", + "metadata": {}, + "source": [ + "Finally, test out the logger to ensure that it is working correctly. You should see a message printed to the console.\n" + ] + }, + { + "cell_type": "code", + "id": "78a1fcfd", + "metadata": { + "tags": [] + }, + "source": [ + "logger.info(\"Successfully configured logging!\")" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "b911e7b9-18bd-4972-a7e1-ff1c976ba66b", + "metadata": {}, + "source": [ + "---\n", + "\n", + "
\n", + "Note: Please wait here until instructed to continue with running Part 1 of the notebook.\n", + "
\n" + ] + }, + { + "cell_type": "markdown", + "id": "5bb62b83", + "metadata": {}, + "source": [ + "## 1 - Intro to Interacting with LLMs\n", + "\n", + "This section will go over how to integrate LLMs into code with Python based examples. We will highlight some of the basic techniques for using and improving calls to LLMs for cybersecurity use cases.\n", + "\n", + "- [1.1 - Python Calls to LLM API](#1.1---Python-Calls-to-LLM-API)\n", + "- [1.2 - Prompt Engineering](#1.2---Prompt-Engineering)\n", + "- [1.3 - Prompt Templating](#1.3---Prompt-Templating)\n", + "- [1.4 - One-Shot Learning](#1.4---One-Shot-Learning)\n", + "- [1.5 - Few-Shot Learning](#1.5---Few-Shot-Learning)\n", + "- [1.6 - Evaluation Strategies](#1.6---Evaluation-Strategies)\n", + "\n", + "In this lab, we will be using [NVIDIA Inference Microservices (NIM)](https://www.nvidia.com/en-us/ai-data-science/generative-ai/nemo-framework/) (previously named NeMo) as our generative AI platform. NIM is a cloud-native framework for building, customizing and deploying generative AI models with a familiar ChatGPT-like interface. Utilizing NIM (or any other generative AI service) in our pipelines allows us to offload the heavy lifting of language model inference to a dedicated service, freeing up our own resources for other tasks. All requests to the NIM service are made via an HTTP API, which allows us to easily integrate it into our existing codebase.\n", + "\n", + "To simplify the process of interacting with the LLM, we will use a Python client library ([`openai`](https://pypi.org/project/openai/0.26.5/)) that wraps the HTTP API. This library provides a simple interface for making requests to the LLM, and handles the details of making HTTP requests and parsing the responses. This allows us to focus on the high-level logic of our application, rather than the low-level details of making HTTP requests.\n", + "\n", + "Before sending requests to the LLM, we need to set up a connection object, `llm_client` which is shown below. We will use the `completions` endpoint of the connection object to send requests to the LLM for the remainder of this section.\n", + "\n", + "It's important to note here that although we store the NGC API Key under the OPENAI_API_KEY variable, we will be interacting with NVIDIA hosted LLMs and not OpenAI LLMs.\n", + "\n", + "NVIDIA NIMs are OpenAI API compliant to maximize usability, so we will be using the openai with package as a wrapped to make API calls.\n" + ] + }, + { + "cell_type": "code", + "id": "67c8c1d6", + "metadata": { + "tags": [] + }, + "source": [ + "# Create the connection object. The API key and organization ID are read from the environment variables NGC_API_KEY and\n", + "# NGC_ORG_ID respectively\n", + "api_key = os.getenv(\"OPENAI_API_KEY\")\n", + "base_url = os.getenv(\"OPENAI_BASE_URL\")\n", + "\n", + "llm_client = OpenAI(\n", + " base_url = base_url,\n", + " api_key = api_key\n", + ")\n", + "\n", + "\n", + "print(f\"Connected to LLM hosted at: {base_url}\")" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "4639ba36-02ac-4a94-9815-182bbda12c38", + "metadata": {}, + "source": [ + "### 1.1 - Python Calls to LLM API\n", + "\n", + "This section demonstrates executing a call to the LLM API for cybersecurity knowledge support. This could stand alone as a potential use case where we have a cyber knowledge assistant to aid junior cyber analysts.\n", + "\n", + "
Query
\n", + "
How can one determine if a CVE is vulnerable in a specific environment?
\n", + "\n", + "\n", + "The code snippet below utilizes the `chat.completions.create()` method of the connection object (`llm_client`) to query the LLM, detailing the potential **model parameters** that can be provided:\n", + "\n", + "- **Temperature**: Controls the creativity of the model. Higher values enable the model to generate more creative outputs.\n", + "- **Top P**: Controls the creativity of the model. Higher values enable the model to generate more creative outputs, suitable for tasks such as creative writing. This determines the minimum number of highest-probability tokens whose probabilities sum to or exceed the Top P value, from which the next token will be selected at random during text generation.\n", + "- **Seed**: Affects the generation of random results by the model. It is possible to reproduce results by fixing the random seed (assuming all other hyperparameters are also fixed).\n", + "- **Presence Penalty**: Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.\n", + "- **Frequency Penalty**: Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.\n", + "- **Stream**:If set, partial message deltas will be sent, like in ChatGPT. Tokens will be sent as data-only server-sent events as they become available, with the stream terminated by a data: [DONE] message.\n" + ] + }, + { + "cell_type": "code", + "id": "739e8a57-d198-4f6b-911b-0500f97a983d", + "metadata": { + "tags": [] + }, + "source": [ + "completion = llm_client.chat.completions.create(\n", + " model=\"mistralai/mixtral-8x22b-instruct-v0.1\",\n", + " messages=[{\"role\":\"user\",\"content\":\"How can one determine if a CVE is vulnerable in a specific environment?\"}], #Prompt goes here\n", + " temperature=0.5,\n", + " top_p=1,\n", + " max_tokens=1024,\n", + " stream=True\n", + " \n", + ")\n", + "\n", + "for chunk in completion:\n", + " if chunk.choices[0].delta.content is not None:\n", + " print(chunk.choices[0].delta.content, end=\"\")" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "a21d4222-9f6d-46cf-b037-b765889825cc", + "metadata": { + "tags": [] + }, + "source": [ + "#### 1.1.1 - Explore On Your Own: Different Models\n", + "\n", + "Try another model such as from https://build.nvidia.com/explore/reasoning below\n" + ] + }, + { + "cell_type": "code", + "id": "70ef49a4-df05-4f68-8cd8-7eb053e31397", + "metadata": { + "tags": [] + }, + "source": [ + "# # UNCOMMENT to try different models\n", + "# completion = llm_client.chat.completions.create(\n", + "# model=\"\",\n", + "# messages=[{\"role\":\"user\",\"content\":\"How can one determine if a CVE is vulnerable in a specific environment?\"}], #Prompt goes here\n", + "# temperature=0.5,\n", + "# top_p=1,\n", + "# max_tokens=1024,\n", + "# stream=True\n", + " \n", + "# )\n", + "\n", + "# for chunk in completion:\n", + "# if chunk.choices[0].delta.content is not None:\n", + "# print(chunk.choices[0].delta.content, end=\"\")" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "6ffff783-1e41-46cb-a819-e9fb96252d31", + "metadata": {}, + "source": [ + "#### 1.1.2 - Explore On Your Own: Model Parameters\n", + "\n", + "- How do the different models compare? Can you change the parameters (like `temperature` or `presence_penalty`) to help the smaller models improve?\n", + "\n", + "- What are some other cybersecurity questions you could ask an LLM to upskill a junior analyst?" + ] + }, + { + "cell_type": "markdown", + "id": "1ec13bd8-e835-4260-8b09-f419513610e3", + "metadata": { + "tags": [] + }, + "source": [ + "Try a few `temperature` values such as `[0.0, 0.5, 0.7, 0.9]`.\n", + "\n", + "What happens to the model's output with higher creativity?" + ] + }, + { + "cell_type": "code", + "id": "fec55c66-1b44-44a2-a69d-c899c08f4ccf", + "metadata": { + "tags": [] + }, + "source": [ + "# # UNCOMMENT to try different parameters\n", + "# # Analyze output of the model for different value of temperature and top_k\n", + "# for temp in [0.0, 0.5, 0.7, 0.9]:\n", + "# completion = llm_client.chat.completions.create(\n", + "# model=\"mistralai/mixtral-8x22b-instruct-v0.1\",\n", + "# messages=[{\"role\":\"user\",\"content\":\"How can one determine if a CVE is vulnerable in a specific environment?\"}], #Prompt goes here\n", + "# temperature=temp,\n", + "# top_p=1,\n", + "# max_tokens=1024,\n", + "# stream=True\n", + "\n", + "# )\n", + "\n", + "# for chunk in completion:\n", + "# if chunk.choices[0].delta.content is not None:\n", + "# print(chunk.choices[0].delta.content, end=\"\")\n", + " \n", + "# print(\"\\n-----\\n\")" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "a03af5d2-0931-4e0c-a27a-d280c9f77fcb", + "metadata": { + "tags": [] + }, + "source": [ + "---\n", + "\n", + "### 1.2 - Prompt Engineering\n", + "\n", + "Sometimes, a simple prompt might not deliver the results we're aiming for. That's where prompt engineering steps in.
\n", + "Prompt engineering is an iterative process that focuses on crafting prompts to clearly communicate our intentions to the model, guiding it to generate the most relevant and accurate responses. This approach helps optimize the model's performance, especially in specialized fields.
(Some tips for improving performance using prompt engineering can be found here https://www.promptingguide.ai/introduction/tips.)\n", + "\n", + "**Implementing Personas in Prompts**\n", + "\n", + "An interesting approach within prompt engineering involves assigning a **persona** to the model. By doing this, we can guide the model to produce responses that align with a specific character, making the interaction more tailored, in-depth, and relevant to our needs. The example below demonstrates a way to achieve persona prompting.\n", + "\n", + "
Persona
\n", + "
You are a highly experienced and knowledgeable cybersecurity expert with a deep understanding of cyber threats, network defense strategies, and the latest in cybersecurity technology. Your communication is clear, concise, and authoritative, aiming to educate and inform on best practices for digital security.
\n", + "
Query
\n", + "
How can one determine if a CVE is vulnerable in a specific environment?
\n", + "\n" + ] + }, + { + "cell_type": "code", + "id": "95010654-9f3e-4cb1-bb31-d4ceb288c9da", + "metadata": { + "tags": [] + }, + "source": [ + "security_expert_persona = (\n", + " \"You are a highly experienced and knowledgeable cybersecurity expert with a deep understanding of cyber threats, \"\n", + " \"network defense strategies, and the latest in cybersecurity technology. Your communication is clear, concise, and authoritative, \"\n", + " \"aiming to educate and inform on best practices for digital security.\")\n", + "formatted_prompt = \"{persona} {query}\".format(\n", + " persona=security_expert_persona, query=\"How can one determine if a CVE is vulnerable in a specific environment?\")\n", + "\n", + "completion = llm_client.chat.completions.create(\n", + " model=\"mistralai/mixtral-8x22b-instruct-v0.1\",\n", + " messages=[{\"role\":\"user\",\"content\":formatted_prompt}], \n", + " temperature=0.5,\n", + " top_p=1,\n", + " max_tokens=1024,\n", + " stream=True\n", + " \n", + ")\n", + "\n", + "for chunk in completion:\n", + " if chunk.choices[0].delta.content is not None:\n", + " print(chunk.choices[0].delta.content, end=\"\")" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "1035ba69-8a51-4d92-950f-d1b4e420cd70", + "metadata": { + "tags": [] + }, + "source": [ + "#### 1.2.1 - Explore on your own: Different Personas\n", + "\n", + "Does the persona improve performance? What happens if you change the persona or attributes such as communication style?\n" + ] + }, + { + "cell_type": "code", + "id": "f4f6ebc5-a1ff-4e27-8083-8f9757fcb6ee", + "metadata": { + "tags": [] + }, + "source": [ + "# # UNCOMMENT to try a different persona\n", + "# # Here is an example:\n", + "# persona = \"You are an elementary school teacher who teaches digital security.\",\n", + "# formatted_prompt = \"{persona} {query}\".format(\n", + "# persona=persona, query=\"How can one determine if a CVE is vulnerable in a specific environment?\")\n", + "\n", + "# completion = llm_client.chat.completions.create(\n", + "# model=\"mistralai/mixtral-8x22b-instruct-v0.1\",\n", + "# messages=[{\"role\":\"user\",\"content\":formatted_prompt}], \n", + "# temperature=0.5,\n", + "# top_p=1,\n", + "# max_tokens=1024,\n", + "# stream=True\n", + " \n", + "# )\n", + "\n", + "# for chunk in completion:\n", + "# if chunk.choices[0].delta.content is not None:\n", + "# print(chunk.choices[0].delta.content, end=\"\")" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "b265febf-5117-4010-a879-dc41ab957c5d", + "metadata": { + "tags": [] + }, + "source": [ + "---\n", + "### 1.3 - Prompt Templating\n", + "\n", + "While cyber knowledge assistants are valuable, there are occasions when we need more **detailed information** or support on particular subjects, such as specific **malware** or a **security vulnerability** we're examining.
\n", + "For instance, if we're assessing whether a known vulnerability can be exploited in our systems, how can we leverage LLM to guide us through the process?\n", + "Can the LLM provide us with clear instructions on what steps to take?\n", + "\n", + "
\n", + "
Use Case
\n", + "
Utilizing LLMs to Evaluate System Vulnerabilities to Specific CVEs
\n", + "
Query
\n", + "
How can I determine if my specific environment is affected by CVE-2023-47248?
\n", + "
\n" + ] + }, + { + "cell_type": "code", + "id": "402c784d-6ae2-4468-b121-b820879aa36f", + "metadata": { + "tags": [] + }, + "source": [ + "formatted_prompt = \"{persona} {query}\".format(\n", + " persona=\"You are helpful cybersecurity expert with an IQ of 140.\",\n", + " query=\"How can I determine if my specific environment is affected by CVE-2023-47248?\")\n", + "\n", + "completion = llm_client.chat.completions.create(\n", + " model=\"mistralai/mixtral-8x22b-instruct-v0.1\",\n", + " messages=[{\"role\":\"user\",\"content\":formatted_prompt}], \n", + " temperature=0.5,\n", + " top_p=1,\n", + " max_tokens=1024,\n", + " stream=True\n", + " \n", + ")\n", + "\n", + "for chunk in completion:\n", + " if chunk.choices[0].delta.content is not None:\n", + " print(chunk.choices[0].delta.content, end=\"\")" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "d3bf4e69-e720-4d49-b203-0f4a38d97f13", + "metadata": { + "tags": [] + }, + "source": [ + "
\n", + "\n", + "**Observation**
\n", + "Although the LLM offered general cybersecurity guidance, it couldn't give specific details about the CVE due to the limited capability caused by its offline nature.\n", + "\n", + "**Potential Solution**
\n", + "To enhance the model's effectiveness, we can directly include specific details about the CVE in our prompts. This approach leverages the model's ability to analyze information and compensates for its inability to access real-time data.
\n", + "By doing so, the model can provide more precise and helpful recommendations concerning particular issues.\n", + "\n", + "**CVE Intel Examples**
\n", + "Here are two example CVEs that we'll be using as recurring examples throughout the notebook (the information is sourced from the internet): " + ] + }, + { + "cell_type": "code", + "id": "70451746", + "metadata": { + "tags": [] + }, + "source": [ + "PYARROW_CVE_INTEL = dict(\n", + " cve=\"CVE-2023-47248\",\n", + " cve_description=\n", + " \"Deserialization of untrusted data in IPC and Parquet readers in PyArrow before version 14.0.0 allows arbitrary code execution. It is recommended \\\n", + "that users of PyArrow upgrade to 14.0.1. Similarly, it is recommended that downstream libraries upgrade their dependency requirements to PyArrow 14.0.1 or later. PyPI \\\n", + "packages are already available, and we hope that conda-forge packages will be available soon. If it is not possible to upgrade, we provide a separate package `pyarrow-hotfix` \\\n", + "for you to import to your codebase. This fix disables the vulnerability on older PyArrow versions. See https://pypi.org/project/pyarrow-hotfix/ for importing instructions.\",\n", + " vuln_package=\"PyArrow\",\n", + " vuln_package_version=\"before 14.0.1\",\n", + " cvss3=\"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H\",\n", + ")\n", + "\n", + "LOG4J_CVE_INTEL = dict(\n", + " cve=\"CVE-2021-44228\",\n", + " cve_description=\n", + " \"Apache Log4j2 2.0-beta9 through 2.15.0 (excluding security releases 2.12.2, 2.12.3, and 2.3.1) JNDI features used in \"\n", + " \"configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints. An attacker \"\n", + " \"who can control log messages or log message parameters can execute arbitrary code loaded from LDAP servers when message lookup substitution \"\n", + " \"is enabled. From log4j 2.15.0, this behavior has been disabled by default. From version 2.16.0 (along with 2.12.2, 2.12.3, and 2.3.1), this \"\n", + " \"functionality has been completely removed. Note that this vulnerability is specific to log4j-core and does not affect log4net, log4cxx, or \"\n", + " \"other Apache Logging Services projects.\",\n", + " vuln_package=\"log4j\",\n", + " vuln_package_version=\n", + " \"from 2.0.1 up to (excluding) 2.3.1, from 2.4.0 up to (excluding) 2.12.2, from 2.13.0 up to (excluding) 2.15.0\",\n", + " cvss3=\"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H\",\n", + ")" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "b3ad0c8e", + "metadata": {}, + "source": [ + "Below is an example illustrating how to create a prompt template that allows us to easily insert information of any given CVE:" + ] + }, + { + "cell_type": "code", + "id": "f799d938-0761-40f1-9007-05d900609bef", + "metadata": { + "tags": [] + }, + "source": [ + "prompt_template = \"\"\"Generate a checklist for a security analyst to use when assessing the exploitability of a specific CVE within a containerized environment. \\\n", + "For each checklist item, start with an action verb, making it clear and actionable. Provide the checklist as a Python list of strings. \\\n", + "Utilize the provided CVE details below to tailor the checklist items specifically for this CVE.\n", + "CVE Details:\n", + "- CVE ID: {cve}\n", + "- Description: {cve_description}\n", + "- Vulnerable Package Name: {vuln_package}\n", + "- Vulnerable Package Version: {vuln_package_version}\n", + "- CVSS3 Vector String: {cvss3}\"\"\"\n", + "\n", + "formatted_prompt = prompt_template.format(**PYARROW_CVE_INTEL)\n", + "\n", + "completion = llm_client.chat.completions.create(\n", + " model=\"mistralai/mixtral-8x22b-instruct-v0.1\",\n", + " messages=[{\"role\":\"user\",\"content\":formatted_prompt}],\n", + " temperature=0.5,\n", + " top_p=1,\n", + " max_tokens=1024,\n", + " stream=False\n", + " \n", + ")\n", + "\n", + "print(completion.choices[0].message.content)" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "f374c4a4-67b1-4dad-92c8-ca74995af35c", + "metadata": {}, + "source": [ + "#### 1.3.1 - Reflective Questions\n", + "\n", + "
\n", + "
1. Assessing the Model's Output
\n", + "
⦁ Review the checklist provided by the model. Do the steps outlined seem practical and relevant to the CVE?
\n", + "
⦁ How does the generated checklist aligns with your expectations?

\n", + "
2. Checking for Format Compliance
\n", + "
⦁ Did the model generate the output in the format we requested, specifically as a Python list of strings?
\n", + "
⦁ Consider the importance of format in data pipelines and how it affects the usability of the model's output.

\n", + "
3. Measuring Accuracy
\n", + "
⦁ How can we determine the accuracy of a language model's output?
\n", + "
⦁ Think about the criteria you would use to evaluate whether the checklist is accurate and relevant to the CVE details provided.
\n", + "
\n" + ] + }, + { + "cell_type": "markdown", + "id": "4a24f441-2997-45b4-a6d7-4de574716623", + "metadata": { + "tags": [] + }, + "source": [ + "#### 1.3.2 - Explore On Your Own: Different Models\n", + "\n", + "How do alternative models perform? Do any adhere more closely to the formatting instructions?" + ] + }, + { + "cell_type": "code", + "id": "bcbbb288-8aa6-41ea-ace5-292c8d288d47", + "metadata": { + "tags": [] + }, + "source": [ + "# # UNCOMMENT to try different models\n", + "# models_to_try = [\"meta/llama3-70b-instruct\", \"meta/llama3-8b-instruct\"] #Other models go here\n", + "\n", + "# for model in models_to_try:\n", + "# print(f\"\\n----\\nModel: {model}\")\n", + "# completion = llm_client.chat.completions.create(\n", + "# model=model,\n", + "# messages=[{\"role\":\"user\",\"content\":formatted_prompt}],\n", + "# temperature=0.5,\n", + "# top_p=1,\n", + "# max_tokens=1024,\n", + "# stream=True\n", + "\n", + "# )\n", + "\n", + "# for chunk in completion:\n", + "# if chunk.choices[0].delta.content is not None:\n", + "# print(chunk.choices[0].delta.content, end=\"\")" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "945a3b2b-d397-4f85-8c79-894565ecad7c", + "metadata": { + "tags": [] + }, + "source": [ + "#### 1.3.3 - Evaluating Model Performance through Formatting Checks\n", + "\n", + "One way to to assess the model's performance is by checking its ability to adhere to our formatting instructions to output a python list.\n" + ] + }, + { + "cell_type": "code", + "id": "857dfe77-bc9c-4ca7-b5d2-ece4cf18bd09", + "metadata": { + "tags": [] + }, + "source": [ + "import ast\n", + "\n", + "\n", + "# we can evaluate if the checklist is properly formatted using this function\n", + "def is_properly_formatted_list(checklist):\n", + " try:\n", + " # Attempt to evaluate checklist as a Python literal\n", + " evaluated_checklist = ast.literal_eval(checklist)\n", + "\n", + " # Check if the evaluated object is a list\n", + " if isinstance(evaluated_checklist, list):\n", + " print(\"Checklist is properly formatted.\")\n", + " return True\n", + " else:\n", + " print(\"Checklist is not a list.\")\n", + " return False\n", + " except ValueError as e:\n", + " # Handle the case where checklist cannot be evaluated as a Python literal\n", + " print(f\"Checklist is not properly formatted: {e}\")\n", + " return False\n", + " except SyntaxError as e:\n", + " # Handle syntax errors in the checklist string\n", + " print(f\"Checklist has a syntax error: {e}\")\n", + " return False" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "code", + "id": "cfb6596f-a607-4aff-a44c-90acb147dabf", + "metadata": { + "tags": [] + }, + "source": [ + "is_properly_formatted_list(\n", + " llm_client.chat.completions.create(\n", + " model=\"meta/llama3-70b-instruct\",\n", + " messages=[{\"role\":\"user\",\"content\":formatted_prompt}], #Prompt goes here\n", + " temperature=0.5,\n", + " top_p=1,\n", + " max_tokens=1024,\n", + " stream=False\n", + ").choices[0].message.content)" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "f0933b63-13bb-4e57-8cf1-cb0aab3f43da", + "metadata": { + "tags": [] + }, + "source": [ + "
\n", + "If the model's output doesn't meet our expectations, what are our next steps?\n" + ] + }, + { + "cell_type": "markdown", + "id": "c3686239-80aa-49a1-91f7-5df78fb72d25", + "metadata": { + "tags": [] + }, + "source": [ + "
\n", + "\n", + "### 1.4 - One-Shot Learning\n", + "\n", + "Our prevoius examples illustrated zero-shot learning or direct prompting, where the LLM was simply given instructions and asked to follow them. The process of adding one example to the prompt or **one-shot learning** can often greatly improve performance as it is more difficult to describe the desired output than it is to show it. It's as straight forward as it sounds, add a single example of the desired output to the prompt. Let's try it.\n" + ] + }, + { + "cell_type": "code", + "id": "b58c9b36-b074-41e9-8177-a243f75a9ec1", + "metadata": { + "tags": [] + }, + "source": [ + "unparsable_list = \"\"\"- Check if the vulnerable package, PyArrow, is installed in the container.\n", + "- If the vulnerable package is installed, check the version of the package. If it is before 14.0.1, the vulnerability is present.\n", + "- Check if the container has any exposed IPC or Parquet readers.\"\"\"" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "60d44721-9d7c-4c5c-9c16-05f11a8cf8ee", + "metadata": {}, + "source": [ + "Zero-Shot Example\n" + ] + }, + { + "cell_type": "code", + "id": "6c1a8f41-5e33-49bc-aeec-7d32471f46b5", + "metadata": { + "tags": [] + }, + "source": [ + "zero_shot_template = \"\"\"Parse the following checklist's contents into a python list.\n", + "Checklist:\n", + "{checklist}\n", + "\n", + "Only provide the list as a resonse.\"\"\"\n", + "\n", + "formatted_prompt = zero_shot_template.format(checklist=unparsable_list)\n", + "\n", + "model_output = llm_client.chat.completions.create(\n", + " model=\"meta/llama3-70b-instruct\",\n", + " messages=[{\"role\":\"user\",\"content\":formatted_prompt}], \n", + " temperature=0.5,\n", + " top_p=1,\n", + " max_tokens=1024,\n", + " stream=False\n", + ").choices[0].message.content\n", + "\n", + "print(model_output)" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "code", + "id": "b3872ee0-cbb1-42b7-8194-c457ee606ff5", + "metadata": { + "tags": [] + }, + "source": [ + "is_properly_formatted_list(model_output)" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "5d2c0ce8-6a2c-4f23-bad4-5d55731da199", + "metadata": {}, + "source": [ + "One-shot Example\n" + ] + }, + { + "cell_type": "code", + "id": "e5eda499-e858-4114-9900-01d086ccef55", + "metadata": { + "tags": [] + }, + "source": [ + "one_shot_template = \"\"\"Using the example as a guide, parse the checklist's contents into a python list.\n", + "Example Checklist:\n", + "- Check for notable vulnerable software vendors\n", + "- Consider the network exposure of your Docker container\n", + "\n", + "Example Output:\n", + "[\"Check for notable vulnerable software vendors\", \"Consider the network exposure of your Docker container\"]\n", + "\n", + "Given Checklist:\n", + "{checklist}\n", + "\n", + "Output Python List. Only provide the list as a response: \"\"\"\n", + "\n", + "formatted_prompt = one_shot_template.format(checklist=unparsable_list)\n", + "\n", + "model_output = llm_client.chat.completions.create(\n", + " model=\"meta/llama3-70b-instruct\",\n", + " messages=[{\"role\":\"user\",\"content\":formatted_prompt}],\n", + " temperature=0.5,\n", + " top_p=1,\n", + " max_tokens=1024,\n", + " stream=False\n", + ").choices[0].message.content\n", + "\n", + "print(model_output)" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "code", + "id": "b6299d06-e278-4372-8100-7d5f111c59cd", + "metadata": { + "tags": [] + }, + "source": [ + "is_properly_formatted_list(model_output)" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "1fa97813-b21c-4445-8f8a-b99a03e03267", + "metadata": {}, + "source": [ + "#### 1.4.1 - Explore on your own: Robustness\n", + "\n", + "- How robust is the one-shot example?\n", + "\n", + "- Is it effective when the unparsable list is enumerated or bulleted instead of using dashes?\n" + ] + }, + { + "cell_type": "code", + "id": "570d2da8-b30b-47e7-895e-0f9fde2acb08", + "metadata": { + "tags": [] + }, + "source": [ + "# # UNCOMMENT to try with an enumerated list\n", + "# enumerated_list = \"\"\"1. Check if the vulnerable package, PyArrow, is installed in the container.\n", + "# 2. If the vulnerable package is installed, check the version of the package. If it is before 14.0.1, the vulnerability is present.\n", + "# 3. Check if the container has any exposed IPC or Parquet readers.\"\"\"\n", + "\n", + "# formatted_prompt = one_shot_template.format(checklist=unparsable_list)\n", + "\n", + "# model_output = llm_client.chat.completions.create(\n", + "# model=\"meta/llama3-70b-instruct\",\n", + "# messages=[{\"role\":\"user\",\"content\":formatted_prompt}], #Prompt goes here\n", + "# temperature=0.5,\n", + "# top_p=1,\n", + "# max_tokens=1024,\n", + "# stream=False\n", + "# ).choices[0].message.content\n", + "# print(model_output)" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "bca366ae-4557-4b9f-be6c-1aacb5e0c52f", + "metadata": {}, + "source": [ + "---\n" + ] + }, + { + "cell_type": "markdown", + "id": "d08bba90-3201-4c95-b8c4-6f4d2eb0f3a9", + "metadata": { + "tags": [] + }, + "source": [ + "### 1.5 - Few-Shot Learning and Detailed Prompts\n", + "\n", + "Prompts can be extended to be quite large, descriptive and include many examples. Below is an example of very detailed prompt that contains all the elements discussed above and more. What extra elements do you notice?\n" + ] + }, + { + "cell_type": "code", + "id": "62834ec0-ef09-4462-88e1-851066dd45cd", + "metadata": { + "tags": [] + }, + "source": [ + "few_shot_prompt_template = \"\"\"You are an expert security analyst. Your objective is to add a \"Checklist\" section containing steps to use when assessing the exploitability of a specific CVE within a containerized environment. \\\n", + "For each checklist item, start with an action verb, making it clear and actionable\n", + "\n", + "**Context**:\n", + "Not all CVEs are exploitable in a given container. By making a checklist specific to the information available for a given CVE analysts can execute the checklist to determine exploitability.\n", + "\n", + "**Example Format**:\n", + "Below is a format for examples that illustrate transforming CVE information into an exploitability assessment checklist.\n", + "\n", + "Example 1 CVE Details:\n", + "- CVE ID: CVE-2022-2309\n", + "- Description: NULL Pointer Dereference allows attackers to cause a denial of service (or application crash). This only applies when lxml up to version 4.9.1 \\\n", + "is used together with libxml2 2.9.10 through 2.9.14. libxml2 2.9.9 and earlier are not affected. It allows triggering crashes through forged input data, given a \\\n", + "vulnerable code sequence in the application. The vulnerability is caused by the iterwalk function (also used by the canonicalize function). Such code shouldn't be \\\n", + "in wide-spread use, given that parsing + iterwalk would usually be replaced with the more efficient iterparse function. However, an XML converter that serialises to \\\n", + "C14N would also be vulnerable, for example, and there are legitimate use cases for this code sequence. If untrusted input is received (also remotely) and processed via \\\n", + "iterwalk function, a crash can be triggered.\n", + "- Vulnerable Package Name: lxml, libxml2\n", + "- Vulnerable Package Version: lxml: up to 4.9.1, libxml2: 2.91.0 through 2.9.14\n", + "- CVSS3 Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H\n", + "\n", + "Example 1 Exploitability Assessment Checklist:\n", + "[\n", + "\"Check for lxml: Verify if your project uses the lxml library, which is the affected package. If lxml is not a dependency in your project, then your code is not vulnerable to this CVE.\",\n", + "\"Review Affected Versions: If lxml is used, checked the version that your project depends on. According to the vulnerability details, versions 4.9.0 and earlier are vulnerable.\",\n", + "\"Review Versions of Connected Dependencies: The package is only vulnerable if libxml 2.9.10 through 2.9.14 is also present. Check the version of libxml in the project.\",\n", + "\"Check for use of vulnerable functions: The library is vulnerable through its `iterwalk` function, which is also utilized by the `canonicalize` function. Check if either of these functions are used in your code base.\"\n", + "]\n", + "\n", + "Example 2 CVE Details:\n", + "- CVE ID: CVE-2024-23334\n", + "- Description: aiohttp is an asynchronous HTTP client/server framework for asyncio and Python. When using aiohttp as a web server and configuring static routes, \\\n", + "it is necessary to specify the root path for static files. Additionally, the option 'follow_symlinks' can be used to determine whether to follow symbolic links \\\n", + "outside the static root directory. When 'follow_symlinks' is set to True, there is no validation to check if reading a file is within the root directory. This can \\\n", + "lead to directory traversal vulnerabilities, resulting in unauthorized access to arbitrary files on the system, even when symlinks are not present. \\\n", + "Disabling `follow_symlinks` by setting `follow_symlinks = False` and using a reverse proxy are encouraged mitigations. Version 3.9.2 fixes this issue.\n", + "- Vulnerable Package Name: aiohttp\n", + "- Vulnerable Package Version: from 1.0.5 up to (excluding) 3.9.2\n", + "- CVSS3 Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N\n", + "\n", + "Example 2 Exploitability Assessment Checklist:\n", + "[\n", + " \"Check for aiohttp: Verify if your project uses the aiohttp library, which is the affected package. If aiohttp is not a dependency in your project, then your code is not vulnerable to this CVE.\",\n", + " \"Review Affected Versions: If aiohttp is used, check the version that your project depends on. According to the vulnerability details, versions from 1.0.5 up to (excluding) 3.9.2 are affected by this vulnerability.\",\n", + " \"Review Code To Check for Vulnerability Mitigation: Check if the 'follow_symlinks' option is set to False to mitigate the risk of directory traversal vulnerabilities.\"\n", + "]\n", + "\n", + "**Criteria**:\n", + "- Exploitability assessment checklists must relate to the information in the specific CVE Details.\n", + "- Exploitability assessment checklists must include checks for mitigating conditions when present in the CVE Details.\n", + "\n", + "**Procedure**:\n", + "[\n", + "\"Understand the CVE Details, description, and CVSS3 attack vector string.\",\n", + "\"Produce a CVE exploitability assessment checklist.\",\n", + "\"Format the checklist as comma separated list surrounded by square braces.\",\n", + "\"Output the checklist.\"\n", + "]\n", + "\n", + "**CVE Details:**\n", + "- CVE ID: {cve}\n", + "- Description: {cve_description}\n", + "- Vulnerable Package Name: {vuln_package}\n", + "- Vulnerable Package Version: {vuln_package_version}\n", + "- CVSS3 Vector String: {cvss3}\n", + "\n", + "**Checklist**: \n", + "\n", + "Please only provide the list as output.\"\"\"\n", + "\n", + "formatted_prompt = few_shot_prompt_template.format(**PYARROW_CVE_INTEL)\n", + "\n", + "model_output = llm_client.chat.completions.create(\n", + " model=\"meta/llama3-70b-instruct\",\n", + " messages=[{\"role\":\"user\",\"content\":formatted_prompt}],\n", + " temperature=0.5,\n", + " top_p=1,\n", + " max_tokens=1024,\n", + " stream=False\n", + ").choices[0].message.content\n", + "\n", + "print(model_output)" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "code", + "id": "b14a3924-eb83-4ce4-91d3-e9fb7f9648b8", + "metadata": { + "tags": [] + }, + "source": [ + "is_properly_formatted_list(model_output)" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "f6d50410-fe09-4569-8aab-e72e4a808bc6", + "metadata": { + "tags": [] + }, + "source": [ + "#### 1.5.1 - Explore on your own\n", + "- What feedback could an expert cyber analyst give you about this output?\n", + "\n", + "\n", + "- What happens when you take a checklist item from what the model generated above and ask the model about it?" + ] + }, + { + "cell_type": "code", + "id": "d8fcbfb2-e3ca-424c-9575-db61be58bb72", + "metadata": { + "tags": [] + }, + "source": [ + "# # UNCOMMENT to try it out\n", + "# example_checklist_item = (\n", + "# \"Check for PyArrow: Verify if your project uses the PyArrow library, which is the affected package. \"\n", + "# \"If PyArrow is not a dependency in your project, then your code is not vulnerable to this CVE.\"\n", + "# )\n", + "# print(llm_client.chat.completions.create(\n", + "# model=\"meta/llama3-70b-instruct\",\n", + "# messages=[{\"role\":\"user\",\"content\":example_checklist_item}], #Prompt goes here\n", + "# temperature=0.5,\n", + "# top_p=1,\n", + "# max_tokens=1024,\n", + "# stream=False\n", + "# ).choices[0].message.content)" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "14d4d912-a7b0-4def-b823-0512beb770c7", + "metadata": {}, + "source": [ + "- How many examples do you think could fit in a prompt before the context is too large for the model?" + ] + }, + { + "cell_type": "code", + "id": "2f0b6274-95da-47d4-b1f9-fa30a87bd339", + "metadata": { + "tags": [] + }, + "source": [ + "# # UNCOMMENT to try it out\n", + "# # Let's try repeating the first example 14 times\n", + "# example_one_start_index = 626\n", + "# example_one_end_index = 2527\n", + "\n", + "# def repeat_substring(main_str, substring_start_index, substring_end_index, n):\n", + "# # Divide the main_str into before and after parts\n", + "# sub_str = main_str[substring_start_index:substring_end_index]\n", + "# before_part = main_str[:substring_start_index]\n", + "# after_part = main_str[substring_end_index:]\n", + "\n", + "# # Repeat sub_str n times\n", + "# repeated_sub_str = sub_str * n\n", + "\n", + "# # Concatenate before part, repeated sub_str, and after part\n", + "# result = before_part + repeated_sub_str + after_part\n", + "# return result\n", + "\n", + "# updated_prompt = repeat_substring(few_shot_prompt_template, example_one_start_index, example_one_end_index, 14)\n", + "\n", + "# model_output = llm_client.chat.completions.create(\n", + "# model=\"meta/llama3-8b-instruct\",\n", + "# messages=[{\"role\":\"user\",\"content\":updated_prompt}], #Prompt goes here\n", + "# temperature=0.5,\n", + "# top_p=1,\n", + "# max_tokens=1024,\n", + "# stream=False\n", + "# ).choices[0].message.content\n", + "# print(model_output)" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "86b93294", + "metadata": {}, + "source": [ + "Do you see an error indicating that the context is too long for the model to handle?
\n", + "Try different values of `n` to see where the boundary of context length lies." + ] + }, + { + "cell_type": "markdown", + "id": "6228cdd9-efd8-4d59-8320-c462a4a6552d", + "metadata": { + "tags": [] + }, + "source": [ + "---\n", + "### 1.6 - Evaluation Strategies\n" + ] + }, + { + "cell_type": "markdown", + "id": "48198ef0-ec03-43af-a050-bfc9fa4f0ff0", + "metadata": {}, + "source": [ + "**A Note On Evaluation Strategies**\n", + "\n", + "Evaluating model performance on desired metrics such as **creates a properly formatted list** is relatively straightforward and traditional accuracy measurements (ie. properly formatted outputs/total outputs) can be used.\n", + "\n", + "For evaluating more subjective outcomes such as **completeness of the checklist** there are other strategies that can be explored for task-specific LLMs.\n", + "\n", + "During this initial experimental stage, it makes sense to have expert humans review outputs to determine the model's performance. A common pattern that emerges when developing and evaluating cybersecurity use cases around LLMs is as follows:\n", + "\n", + "1. Experiment using a few golden examples to determine feasibility, and evaluate candidate models and prompts by hand\n", + "2. Collect feedback on initial model outputs from experts and use this feedback to create a larger dataset\n", + "3. Use the newly created larger dataset from experts to create use-case-specific training and benchmark datasets\n", + "\n", + "Since getting these initial results into the hands of experts for evaluation is oftentimes a crucial component for obtaining a larger benchmark dataset, we will focus on quickly and easily building out the end-to-end pipeline for this use case example.\n", + "\n", + "---\n" + ] + }, + { + "cell_type": "markdown", + "id": "0afdc87a", + "metadata": {}, + "source": [ + "
\n", + "Note: Please wait here until instructed to continue with running the notebook.\n", + "
\n", + "\n", + "## 2 - Prototyping\n", + "\n", + "Now that we have the task generation for this workflow ready, how can we automate getting the answers for our checklist items?\n", + "\n", + "### 2.1 - Overview\n", + "\n", + "It is possible to build a language model-based system that accesses external knowledge sources to complete tasks. In [Section 1.3](#1.3---Prompt-Templating), we added additional CVE details into the prompt by hand. While this strategy can be effective for adding additional context for very specific items like CVE Details, it requires a priori knowledge of what details to include (like those from NVD). When you would like to help your LLM with its query by adding more context in real-time, you're ready for RAG (Retrieval Augmented Generation).\n", + "\n", + "When a query or checklist item is posed to an LLM equipped with RAG, the model first consults the vector database to find relevant information related to the query. This retrieved data is then combined with the original question and fed back into the LLM. With this enriched context, the LLM can generate a more accurate and informed response, potentially including evidence or reasoning based on the newly incorporated data. This approach not only improves the quality of the LLM's outputs but also gives our tool access to project- and container-specific information to determine CVE exploitability.\n", + "\n", + "### 2.2 - Building the Vector Database\n", + "\n", + "In addition to having a query and LLM, RAG requires additional information to be stored in a vector database. One mechanism of finding the proper information from the database is to first embed the query into the same vector space and retrieve the top most similar items via a distance metric. The additional information is then presented in the prompt of the LLM. The neighboring vectors in the database are said to be \"semantically similar\" to the query and likely relevant.\n", + "\n", + "For our demonstration purposes, we would like our LLM to be able to access the code repository of the project we're interested in checking for exploitable CVEs. The first step is transforming the specific repo into a vector database. Before that, lets pull a shallow clone of the `Morpheus 24.03` branch from GitHub and use that as the codebase for this example. We'll also set up a logging directory for the Morpheus LLM Client logs.\n" + ] + }, + { + "cell_type": "code", + "id": "45ec2c86-8de5-497e-9fb9-7ddfd27f0d13", + "metadata": { + "tags": [] + }, + "source": [ + "%%capture\n", + "\n", + "! git clone --depth 1 -b branch-24.03 https://github.com/nv-morpheus/Morpheus.git\n", + "! mkdir /root/.cache/morpheus \n", + "! mkdir /root/.cache/morpheus/log" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "code", + "id": "a0c5175d", + "metadata": { + "tags": [] + }, + "source": [ + "from cyber_dev_day.embeddings import create_code_embedding\n", + "from langchain.embeddings.huggingface import HuggingFaceEmbeddings\n", + "\n", + "# Create the embedding object that will be used to generate the embeddings\n", + "embeddings = HuggingFaceEmbeddings(model_name=\"sentence-transformers/all-mpnet-base-v2\",\n", + " model_kwargs={\"device\": \"cuda\"},\n", + " show_progress=True)\n", + "\n", + "# Create a vector database of the code using the supplied embedding function. The returned value will be a\n", + "# FaissVectorDatabase object.\n", + "# NOTE: This may take a few minutes to run.\n", + "faiss_vdb = create_code_embedding(code_dir=os.path.join(os.getenv(\"MORPHEUS_ROOT\"), \"notebooks\", \"Morpheus\"),\n", + " embedding=embeddings,\n", + " include_notebooks=False,\n", + " exclude=[\".cache/**/*.py\", \"build*/**/*.py\"])\n", + "\n", + "# Save the vector database to disk\n", + "code_faiss_dir = os.path.join(os.getenv(\"MORPHEUS_ROOT\"), \".tmp\", \"morpheus_code_faiss\")\n", + "\n", + "faiss_vdb.save_local(code_faiss_dir)" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "eb0cd628", + "metadata": {}, + "source": [ + "
\n", + "Note: Please wait here until instructed to continue with running the notebook.\n", + "
\n", + "\n", + "### 2.3 - Running a RAG Pipeline with Morpheus\n", + "\n", + "Now that we have built a vector database to provide external knowledge for the LLM, we need to make a tool that can query the vector database, add the information to the prompt, and execute the LLM query. There are many tools out there that can perform this task, but in this lab, we will be using NVIDIA Morpheus.\n", + "\n", + "#### 2.3.1 - Morpheus Overview\n", + "\n", + "NVIDIA Morpheus is an open AI application framework that aids cybersecurity experts in building high-performance pipelines for cybersecurity workflows. Morpheus is well suited for building a RAG pipeline due to its LLM Engine, which is specifically designed to aid in integrating LLMs into high throughput and low latency pipelines. A complete guide covering Morpheus is beyond the scope of this notebook but more information on Morpheus can be found at the following locations:\n", + "\n", + "- Documentation: https://docs.nvidia.com/morpheus/index.html\n", + "- Github Repo: https://github.com/nv-morpheus/Morpheus\n", + "- Morpheus Examples: https://github.com/nv-morpheus/Morpheus/tree/branch-24.03/examples\n", + "\n", + "To start building a Morpheus pipeline, the first step is always to create a configuration object. The configuration object controls global options for the pipeline such as batch size, number of threads, logging, and more. For our needs, we can use the default values and only need to create the object which we will be passing to each pipeline.\n" + ] + }, + { + "cell_type": "code", + "id": "ec9cbc52", + "metadata": { + "tags": [] + }, + "source": [ + "from morpheus.config import Config\n", + "from morpheus.config import PipelineModes\n", + "\n", + "# Create the pipeline config\n", + "pipeline_config = Config()\n", + "pipeline_config.mode = PipelineModes.OTHER" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "a7829100", + "metadata": {}, + "source": [ + "#### 2.3.2 - Building a Morpheus RAG Pipeline\n", + "\n", + "Below, we will build a pipeline that uses Morpheus to answer questions about the code in the repository that we created a vector database for. This works by using the `LLMEngine` in Morpheus with a `RAGNode`.\n" + ] + }, + { + "cell_type": "code", + "id": "3833deda", + "metadata": { + "tags": [] + }, + "source": [ + "from textwrap import dedent\n", + "\n", + "from cyber_dev_day.config import EngineConfig\n", + "from cyber_dev_day.config import LLMModelConfig\n", + "from cyber_dev_day.config import NVFoundationLLMModelConfig\n", + "from cyber_dev_day.nim_llm_service import NIMLLMService\n", + "from cyber_dev_day import config\n", + "from cyber_dev_day.llm_service import LLMService \n", + "from cyber_dev_day.faiss_vdb_service import FaissVectorDBService\n", + "\n", + "from morpheus._lib.llm import LLMEngine\n", + "from morpheus.llm.nodes.extracter_node import ExtracterNode\n", + "from morpheus.llm.nodes.rag_node import RAGNode\n", + "from morpheus.llm.task_handlers.simple_task_handler import SimpleTaskHandler\n", + "from morpheus.messages import ControlMessage\n", + "from morpheus.pipeline.linear_pipeline import LinearPipeline\n", + "from morpheus.stages.input.in_memory_source_stage import InMemorySourceStage\n", + "from morpheus.stages.llm.llm_engine_stage import LLMEngineStage\n", + "from morpheus.stages.output.in_memory_sink_stage import InMemorySinkStage\n", + "from morpheus.stages.preprocess.deserialize_stage import DeserializeStage\n", + "from morpheus.utils.concat_df import concat_dataframes\n", + "\n", + "\n", + "def _build_rag_llm_engine(model_config: LLMModelConfig):\n", + "\n", + " engine = LLMEngine()\n", + "\n", + " # Create an extracter node to pull the specified input from the DataFrame\n", + " engine.add_node(\"extracter\", node=ExtracterNode())\n", + "\n", + " prompt = dedent(\"\"\"\n", + " You are a helpful assistant. Given the following background information:\n", + " {% for c in contexts -%}\n", + " Source File: {{ c.metadata.source }}\n", + " Source File Language: {{ c.metadata.language }}\n", + " Source Content:\n", + " ```\n", + " {{ c.page_content }}\n", + " ```\n", + " {% endfor %}\n", + "\n", + " Please answer the following question:\n", + " {{ query }}\n", + " \"\"\").strip(\"\\n\")\n", + "\n", + " # Create a service to query the vector database we created from the python source code\n", + " vector_service = FaissVectorDBService(code_faiss_dir, embeddings=embeddings)\n", + " vdb_resource = vector_service.load_resource()\n", + "\n", + " # Create an LLM service using the model configuration options in the LLM Model Config\n", + " llm_service = LLMService.create(model_config.service.type, **model_config.service.model_dump(exclude={\"type\"}))\n", + " llm_client = llm_service.get_client(**model_config.model_dump(exclude={\"service\"}))\n", + "\n", + " # Async wrapper around embeddings\n", + " async def calc_embeddings(texts: list[str]) -> list[list[float]]:\n", + " return embeddings.embed_documents(texts)\n", + "\n", + " # Add a RAG Node to the engine which will use the prompt, vector database, emebddings and LLM\n", + " engine.add_node(\"rag\",\n", + " inputs=[\"/extracter\"],\n", + " node=RAGNode(prompt=prompt,\n", + " vdb_service=vdb_resource,\n", + " embedding=calc_embeddings,\n", + " llm_client=llm_client))\n", + "\n", + " # Final step of every LLM Engine is to turn the output data back into a Control Message for the rest of the pipeline\n", + " engine.add_task_handler(inputs=[\"/rag\"], handler=SimpleTaskHandler())\n", + "\n", + " return engine\n", + "\n", + "\n", + "# Define a function that will build and run the pipeline given a configuration and question input\n", + "async def run_rag_pipeline(p_config: Config, model_config: LLMModelConfig, question: str):\n", + " source_dfs = [\n", + " cudf.DataFrame({\"questions\": [question]}),\n", + " ]\n", + "\n", + " # Create a completion task to be used by the DeserializeStage. This indicates which columns to use from the\n", + " # dataframe\n", + " completion_task = {\"task_type\": \"completion\", \"task_dict\": {\"input_keys\": [\"questions\"], }}\n", + "\n", + " pipe = LinearPipeline(p_config)\n", + "\n", + " # Create a source object which will emit our dataframe into the pipeline\n", + " pipe.set_source(InMemorySourceStage(p_config, dataframes=source_dfs))\n", + "\n", + " # The deserialize stage will take the dataframe and convert it into a ControlMessage object\n", + " pipe.add_stage(\n", + " DeserializeStage(p_config, message_type=ControlMessage, task_type=\"llm_engine\", task_payload=completion_task))\n", + "\n", + " # Add the LLM Engine stage to the pipeline. This executes our RAG query and runs the LLM model\n", + " pipe.add_stage(LLMEngineStage(p_config, engine=_build_rag_llm_engine(model_config)))\n", + "\n", + " # Add a sink to the pipeline to capture the output of the pipeline\n", + " sink = pipe.add_stage(InMemorySinkStage(p_config))\n", + "\n", + " # Run the pipeline. This will complete once all messages have been processed\n", + " await pipe.run_async()\n", + "\n", + " messages = sink.get_messages()\n", + " responses = concat_dataframes(messages)\n", + "\n", + " # The responses are quite long, when debug is enabled disable the truncation that pandas and cudf normally\n", + " # perform on the output\n", + " pd.set_option(\"display.max_colwidth\", None)\n", + " logger.info(\"Response:\\n%s\" % (responses[\"response\"].iloc[0], ))" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "code", + "id": "dd9f1092", + "metadata": { + "tags": [] + }, + "source": [ + "model_config = config.NIMModelConfig.model_validate({\n", + " \"service\": {\n", + " \"type\": \"NIM\", \"api_key\": None\n", + " },\n", + " \"base_url\": \"https://integrate.api.nvidia.com/v1\",\n", + " \"model_name\": \"meta/llama3-70b-instruct\",\n", + " \"temperature\": 0.0\n", + "}) #API key here is an environment variable, so we don't need to specify it explicitly\n", + "\n", + "# Run the Pipeline\n", + "await run_rag_pipeline(pipeline_config, model_config, \"Does the code repo import the `pyarrow_hotfix` package from the `morpheus` root package?\")" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "0380153a", + "metadata": {}, + "source": [ + "#### 2.3.3 - RAG Limitations\n", + "\n", + "Using the pipeline we built, we can now ask questions about the code in the repository and the LLM will be able to use the vector database to answer them. However, what happens if we need to ask questions about code that is not in the vector database? For example, what if we needed to ask questions about the dependencies that the code uses? Would the LLM be able to answer these questions? Let's try it out by re-running our RAG pipeline with a more complex question:\n" + ] + }, + { + "cell_type": "code", + "id": "506b5fb3", + "metadata": { + "tags": [] + }, + "source": [ + "# Run the Pipeline\n", + "await run_rag_pipeline(pipeline_config, model_config, \"Does the code repo use `langchain` functions which are deprecated?\")" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "4abd8482", + "metadata": {}, + "source": [ + "It's likely that the model was not able to determine the answer to this question because it would need additional information. Depending on the model used, you might see output similar to:\n", + "\n", + "```\n", + "Without further information about the `langchain` package or its documentation, it's difficult to determine if any specific functions or methods used in the code are deprecated.\n", + "```\n", + "\n", + "How would we go about solving this problem?\n" + ] + }, + { + "cell_type": "markdown", + "id": "c5fb24c7", + "metadata": {}, + "source": [ + "### 2.4 - Running the CVE Pipeline with Morpheus\n", + "\n", + "#### 2.4.1 - Answering Complex Questions with RAG + LLM Agents\n", + "\n", + "To answer a question about the existence of deprecated `langchain` functions, the model needs to look up versions of the packages in our container or project. We can add an additional knowledge source such as a Software Bill of Materials (SBOM). With multiple tools/knowledge sources- `SBOM Package Checker` and `Docker Container Code QA System` we need a new framework to allow our LLM to choose what tools it needs to use and synthesize the responses. One method we can use is [LangChain agents](https://python.langchain.com/docs/modules/agents/). \n", + "\n", + "An agent in this sense is an LLM that has \"agency\" to determine what sources of information it needs to retrieve to answer questions. This can be achieved through prompting. The most simplistic prompt to use to turn an LLM into an agent with tool usage might look like this:\n", + "\n", + "```\n", + "You are a helpful assistant. Help the user answer any questions.\n", + "\n", + "You have access to the following tools:\n", + "\n", + "{tools}\n", + "\n", + "In order to use a tool, you can use and tags.\n", + "You will then get back a response in the form \n", + "When you are done, respond with a final answer between . \n", + "\n", + "Question: {input}\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "1896fa18", + "metadata": {}, + "source": [ + "Ideally, with just one round of query-> tool-> observation-> final answer, the LLM will get the information it needs to answer simple queries such as `What version of PyArrow is in the repo?`\n", + "\n", + "But what about more complex queries such as `Does the code repo use langchain functions which are deprecated?` \n", + "This query would require the LLM to first find what functions are deprecated before searching the code base for them. We would prompt the LLM to use a series of steps (repeated N times): Thought, Action, and Observation. This process loop of reasoning and acting is called a [ReAct Agent](https://react-lm.github.io/). In practice, it could be like this:\n", + "\n", + "```\n", + "query: Does the morpheus code repo use langchain functions which are deprecated?\n", + "> Entering new AgentExecutor chain...\n", + "I need to check the langchain version in the container's SBOM and the deprecated source code functions.\n", + "Action: SBOM Package Checker\n", + "Action Input: langchain\n", + "Observation: 0.1.12\n", + "Thought: The langchain version in the container is 0.1.12.\n", + "Thought: I need to check the langchain source code for deprecated functions.\n", + "Action: Docker Container Code QA System\n", + "Action Input: Does the repo use the format_tool_to_openai_function or __call__ from langchain?\n", + "Observation: No, the repo does not use format_tool_to_openai_function or __call__ from langchain.\n", + "Thought: I now know the final answer.\n", + "Final Answer: The morpheus code repo does not use langchain functions which are deprecated.\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "396f48d3", + "metadata": {}, + "source": [ + "How can we incorporate these powerful ReAct agents and their tools into an end-to-end pipeline?" + ] + }, + { + "cell_type": "markdown", + "id": "ffcdcfb0", + "metadata": {}, + "source": [ + "#### 2.4.2 - The Morpheus CVE Pipeline\n", + "\n", + "To convert our RAG pipeline into a CVE pipeline, all we need to do is update the LLM engine to run the CVE steps instead of a single RAG node as before." + ] + }, + { + "cell_type": "code", + "id": "a16bf979", + "metadata": { + "tags": [] + }, + "source": [ + "from cyber_dev_day.pipeline_utils import build_cve_llm_engine\n", + "\n", + "from morpheus.messages import ControlMessage\n", + "from morpheus.pipeline.linear_pipeline import LinearPipeline\n", + "from morpheus.stages.input.in_memory_source_stage import InMemorySourceStage\n", + "from morpheus.stages.llm.llm_engine_stage import LLMEngineStage\n", + "from morpheus.stages.output.in_memory_sink_stage import InMemorySinkStage\n", + "from morpheus.stages.preprocess.deserialize_stage import DeserializeStage\n", + "from morpheus.utils.concat_df import concat_dataframes\n", + "\n", + "\n", + "async def run_cve_pipeline(p_config: Config, e_config: EngineConfig, input_cves: list[str], retry_bad_input = True):\n", + " source_dfs = [cudf.DataFrame({\"cve_info\": input_cves})]\n", + "\n", + " # Create a completion task to be used by the DeserializeStage. This indicates which columns to use from the\n", + " # dataframe\n", + " completion_task = {\"task_type\": \"completion\", \"task_dict\": {\"input_keys\": [\"cve_info\"], }}\n", + "\n", + " pipe = LinearPipeline(p_config)\n", + "\n", + " # Create a source object which will emit our dataframe into the pipeline\n", + " pipe.set_source(InMemorySourceStage(p_config, dataframes=source_dfs))\n", + "\n", + " # The deserialize stage will take the dataframe and convert it into a ControlMessage object\n", + " pipe.add_stage(\n", + " DeserializeStage(p_config, message_type=ControlMessage, task_type=\"llm_engine\", task_payload=completion_task))\n", + "\n", + " # Add the LLM Engine stage to the pipeline. This executes our CVE workflow and runs the LLM model\n", + " pipe.add_stage(LLMEngineStage(p_config, engine=build_cve_llm_engine(e_config, retry_bad_input)))\n", + "\n", + " # Add a sink to the pipeline to capture the output of the pipeline\n", + " sink = pipe.add_stage(InMemorySinkStage(p_config))\n", + "\n", + " # Run the pipeline. This will complete once all messages have been processed\n", + " await pipe.run_async()\n", + "\n", + " messages = sink.get_messages()\n", + " responses = concat_dataframes(messages)\n", + "\n", + " logger.info(\"Received %s responses:\\n%s\", len(messages), responses[[\"checklist\", \"response\"]].to_json(indent=2))" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "bf81f7ed", + "metadata": {}, + "source": [ + "#### 2.4.3 - The Engine Config\n", + "\n", + "The `EngineConfig` object controls options about the CVE pipeline we are building. It allows us to contain all of the settings in a single object which can be easily used from many different classes which will be used to construct the pipeline. Below we will create the default configuration we will be using for the rest of the notebook.\n" + ] + }, + { + "cell_type": "code", + "id": "b628e418", + "metadata": { + "tags": [] + }, + "source": [ + "from cyber_dev_day.config import EngineConfig\n", + "\n", + "# Create the engine configuration\n", + "engine_config = EngineConfig.model_validate({\n", + " \"checklist\": {\n", + " \"model\": {\n", + " \"service\": {\n", + " \"type\": \"NIM\", \"api_key\": None\n", + " },\n", + " \"base_url\": \"https://integrate.api.nvidia.com/v1\",\n", + " \"model_name\": \"meta/llama3-70b-instruct\",\n", + " \"temperature\": 0\n", + " }\n", + " },\n", + " \"agent\": {\n", + " \"model\": {\n", + " \"service\": {\n", + " \"type\": \"NIM\", \"api_key\": None\n", + " },\n", + " \"base_url\": \"https://integrate.api.nvidia.com/v1\",\n", + " \"model_name\": \"meta/llama3-70b-instruct\",\n", + " \"temperature\": 0.02\n", + " },\n", + " \"sbom\": {\n", + " \"data_file\":\n", + " os.path.join(os.getenv(\"MORPHEUS_ROOT\", \"../\"),\n", + " \"data\",\n", + " \"morpheus_24.03-runtime_sbom.csv\")\n", + " },\n", + " \"code_repo\": {\n", + " \"faiss_dir\": code_faiss_dir, \"embedding_model_name\": \"sentence-transformers/all-mpnet-base-v2\"\n", + " }\n", + " }\n", + "})" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "code", + "id": "09f759e4-fc8c-4c84-ba15-3f3408a2bff3", + "metadata": { + "tags": [] + }, + "source": [ + "# Print the current configuration object\n", + "print(engine_config.model_dump_json(indent=2))" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "806649e4", + "metadata": {}, + "source": [ + "#### 2.4.4 - Running the Pipeline\n", + "\n", + "Now that the pipeline has been defined and the configuration variables have been created, it's time to run the pipeline. The final step is to convert the PyArrow intel dictionary into a single string that our `run_cve_pipeline` function accepts using a template `cve_details_template`. To simplify converting intel dictionaries into strings in the rest of the notebook, we will reuse this template." + ] + }, + { + "cell_type": "code", + "id": "001ee70c", + "metadata": { + "scrolled": true, + "tags": [] + }, + "source": [ + "# Create a template to generate the cve_details from an intel dictionary\n", + "cve_details_template = \"\"\"- CVE ID: {cve}\n", + "- Description: {cve_description}\n", + "- Vulnerable Package Name: {vuln_package}\n", + "- Vulnerable Package Version: {vuln_package_version}\n", + "- CVSS3 Vector String: {cvss3}\"\"\"\n", + "\n", + "# Generate the CVE details from the pyarrow intel\n", + "cve_details = cve_details_template.format(**PYARROW_CVE_INTEL)\n", + "\n", + "# Now run the pipeline with a specified CVE description\n", + "await run_cve_pipeline(pipeline_config, engine_config, [cve_details], retry_bad_input=False)" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "8c4b8a57", + "metadata": {}, + "source": [ + "The output of the pipeline should be similar in theme to the following: \n", + "```\n", + "Received 1 responses:\n", + "{\n", + " \"checklist\":{\n", + " \"0\":[\n", + " \"Check for PyArrow: Verify if your project uses the PyArrow library, which is the affected package. If PyArrow is not a dependency in your project, then your code is not vulnerable to this CVE.\",\n", + " \"Review Affected Versions: If PyArrow is used, check the version that your project depends on. According to the vulnerability details, versions before 14.0.1 are vulnerable.\",\n", + " \"Review Code To Check for Deserialization of Untrusted Data: Check if the IPC and Parquet readers are used to deserialize untrusted data, which can lead to arbitrary code execution.\",\n", + " \"Check for Mitigation: If upgrading to PyArrow 14.0.1 or later is not possible, check if the `pyarrow-hotfix` package is imported to disable the vulnerability on older PyArrow versions.\"\n", + " ]\n", + " },\n", + " \"response\":{\n", + " \"0\":[\n", + " \"Yes, the project uses the PyArrow library, which is the affected package.\",\n", + " \"Yes, the Docker container is using a vulnerable version of PyArrow (11.0.0).\",\n", + " \"No, the IPC and Parquet readers are not used to deserialize untrusted data.\",\n", + " \"Yes, the `pyarrow-hotfix` package is imported to disable the vulnerability on older PyArrow versions.\"\n", + " ]\n", + " }\n", + "}\n", + "```\n", + "In the output, we can see the output from the first model, which will be the generated checklist items, and the output of each agent, which will be the response to each checklist item. Looking at the checklist items and answers, we can see that the model has successfully determined that the project is vulnerable to the CVE.\n", + "\n", + "**NOTE**: Depending on your choice for the Agent or Checklist model, you will see different outputs that can vary in quality quite drastically. Try and explore a few different model choices and temperatures to explore what that looks like. You may also find some inconsistency in results when keeping your parameters constant. This stochasticity is a natural occurence with LLMs, and can be mitigated with prompt engineering or fine tuning.\n", + "\n", + "#### 2.4.5 - Hitting the Limits of the LLMs\n", + "\n", + "While LLMs can work well for many tasks, they are not perfect. They can fail on seemingly simple tasks, get into a loop, or not follow the output formatting correctly. These edge cases can be hard to catch and can be difficult to debug. For example, if we use the below prompt about Log4j and change the model we use for the Agent, what happens when we run the pipeline?\n" + ] + }, + { + "cell_type": "code", + "id": "1a7e791c", + "metadata": { + "scrolled": true, + "tags": [] + }, + "source": [ + "# Generate the CVE details for the log4j intel\n", + "cve_details=cve_details_template.format(**LOG4J_CVE_INTEL)\n", + "\n", + "# Create the engine configuration\n", + "suboptimal_engine_config = EngineConfig.model_validate({\n", + " \"checklist\": {\n", + " \"model\": {\n", + " \"service\": {\n", + " \"type\": \"NIM\", \"api_key\": None\n", + " },\n", + " \"base_url\": \"https://integrate.api.nvidia.com/v1\",\n", + " \"model_name\": \"meta/llama3-70b-instruct\",\n", + " \"temperature\": 0\n", + " }\n", + " },\n", + " \"agent\": {\n", + " \"model\": {\n", + " \"service\": {\n", + " \"type\": \"NIM\", \"api_key\": None\n", + " },\n", + " \"base_url\": \"https://integrate.api.nvidia.com/v1\",\n", + " \"model_name\": \"mistralai/mixtral-8x7b-instruct-v0.1\",\n", + " \"temperature\": 0.02\n", + " },\n", + " \"sbom\": {\n", + " \"data_file\":\n", + " os.path.join(os.getenv(\"MORPHEUS_ROOT\", \"../\"),\n", + " \"data\",\n", + " \"morpheus_24.03-runtime_sbom.csv\")\n", + " },\n", + " \"code_repo\": {\n", + " \"faiss_dir\": code_faiss_dir, \"embedding_model_name\": \"sentence-transformers/all-mpnet-base-v2\"\n", + " }\n", + " }\n", + "})\n", + "\n", + "# Now run the pipeline with a specified CVE description\n", + "await run_cve_pipeline(pipeline_config, suboptimal_engine_config, [cve_details], retry_bad_input=False)" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "9e8c30da", + "metadata": {}, + "source": [ + "When we run the pipeline with the Log4j example, it hits an exception instead of running the pipeline to completion. The error message is `Error running agent: An output parsing error occurred` because the agent was not able to reason through the checklist while following LangChain's formatting guidelines. If we look closer, we can see that the model generated the following output for each checklist item:\n", + "```\n", + "[\n", + " \"Error running agent: An output parsing error occurred. In order to pass this error back to the agent and have it try again, pass `handle_parsing_errors=True` to the AgentExecutor. This is the error: Could not parse LLM output: ` I need to check if the log4j library is present in the Docker`\",\n", + " \"Error running agent: An output parsing error occurred. In order to pass this error back to the agent and have it try again, pass `handle_parsing_errors=True` to the AgentExecutor. This is the error: Could not parse LLM output: ` To answer this question, I need to find out which version of log4j`\",\n", + " \"Error running agent: An output parsing error occurred. In order to pass this error back to the agent and have it try again, pass `handle_parsing_errors=True` to the AgentExecutor. This is the error: Could not parse LLM output: ` To answer this question, I need to inspect the log4j configuration within the`\",\n", + " \"Error running agent: An output parsing error occurred. In order to pass this error back to the agent and have it try again, pass `handle_parsing_errors=True` to the AgentExecutor. This is the error: Could not parse LLM output: ` To answer this question, I need to check if the Docker container uses log`\"\n", + " ]\n", + "```\n", + "\n", + "Such errors can be hard to debug as it is explicit why a seemingly innocuous sentence about a thought leads to a parsing error. The reason this occurs is because the LangChain Zero Shot Agent requires every response from the Agent to always end with either a request for an `Action` or a `Final Answer`. We see above that the response contains neither. This occurs despite us explicitly asking the agent to follow those guidelines, as is evident in the `cyber_dev_day.pipeline_utils.build_agent_executor` method as follows:\n", + "\n", + "```\n", + " Action input must only contain the exact input, do not provide any text following that in your response. Always end your response with either an action, or a final answer.\n", + "```\n", + "\n", + "Careful debugging of such output is critical, and some strategies for preventing such errors could include few-shot prompting techniques, model fine-tuninging, or changing the choice of our model.\n", + "\n", + "
\n", + "Note: Please wait here until instructed to continue with running the notebook.\n", + "
\n", + "\n", + "## 3 - Beyond Prototyping\n", + "\n", + "Up until now, we have been using the pipeline we built to answer questions about the code in the repository. While this works for a few hand picked use cases, it is not suitable to deploy into a production environment for several reasons:\n", + "\n", + "1. The LLM models fail to work on some questions which can generate errors in the pipeline\n", + " - Since the pipeline chains many LLM calls together, a single error can cause the entire pipeline to fail. For a production environment, we would need to handle these errors more gracefully or improve the model to reduce the number of errors.\n", + "2. The pipeline is not optimized for performance\n", + " - The pipeline is slow to run, because each model needs to be executed sequentially. For a production environment, we would need to optimize the pipeline to handle multiple requests at once.\n", + "3. The pipeline cannot be easily integrated into other systems\n", + " - The pipeline is a standalone script which reads from a single file and needs to be run manually. For a production environment, the pipeline would need to be integrated with other systems, such as a web server or a chatbot.\n", + "\n", + "In this section, we will address some of the limitations we encountered in the previous section and discuss how we can overcome them utilizing NIM and Morpheus.\n" + ] + }, + { + "cell_type": "markdown", + "id": "78a826b5", + "metadata": {}, + "source": [ + "### 3.1 - Scaling the Pipeline\n", + "\n", + "When running pipelines which utilize LLMs, it's important to understand how the LLMs are executed to parallelize their execution as much as possible. This is because LLMs can take a long time to run, as low as a few hundred milliseconds and upwards of a few seconds. Running LLMs serially can compound those runtimes, leading to execution times that grow linearly with the number of LLM requests. A simple diagram of the execution of LLMs for our CVE pipeline is shown below:\n", + "\n", + "![Single CVE - Serial](./images/single_cve_serial.jpg)\n", + "\n", + "In the diagram above, we can see that the LLMs are executed serially, one after the other. This is not ideal as the execution time of the pipeline is directly proportional to the number of LLMs that are executed. However, there is no dependency between the LLM calls in each of the checklist items. This means that we can parallelize the execution of the LLMs to reduce the overall execution time of the pipeline. A simple diagram of the parallel execution of LLMs for our CVE pipeline is shown below:\n", + "\n", + "![Single CVE - Parallel](./images/single_cve_parallel.jpg)\n", + "\n", + "In the diagram above, we can see that the total execution time has been reduced as the checklist agent LLMs are executed in parallel. The total execution time is now the maximum time taken to execute any of the LLM agent chains. This is a significant improvement over the serial execution of the LLMs. But what happens if we need to run the entire pipeline for multiple CVEs? A naive approach would be to run the pipeline for each CVE serially, which is shown below:\n", + "\n", + "![Multiple CVE - Serial](./images/multiple_cve_serial.jpg)\n", + "\n", + "With most LLM libraries, this is the default behavior and improving on this requires more complex solutions such as multiprocessing or distributed workers. However, with Morpheus, this is trivial since Morpheus benefits from pipeline parallelism where each message is processed in an assembly line fashion. This means that we can start processing the next message before the previous one is even completed. A simple diagram of the parallel execution of the pipeline for multiple CVEs is shown below:\n", + "\n", + "![Multiple CVE - Parallel](./images/multiple_cve_parallel.jpg)\n" + ] + }, + { + "cell_type": "code", + "id": "895f9bcf", + "metadata": { + "scrolled": true, + "tags": [] + }, + "source": [ + "# Create multiple CVE requests\n", + "cves = [\n", + " cve_details_template.format(**PYARROW_CVE_INTEL),\n", + " cve_details_template.format(**LOG4J_CVE_INTEL),\n", + "] * 2\n", + "\n", + "await run_cve_pipeline(pipeline_config, engine_config, cves)" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "c266d439", + "metadata": { + "tags": [] + }, + "source": [ + "If you look at the above output, you should see a section that looks like the following:\n", + "\n", + "```\n", + "> Entering new AgentExecutor chain...\n", + "\n", + "> Entering new AgentExecutor chain...\n", + "\n", + "> Entering new AgentExecutor chain...\n", + "\n", + "> Entering new AgentExecutor chain...\n", + "\n", + "> Entering new AgentExecutor chain...\n", + "```\n", + "\n", + "Because each executor chain is being started before the previous one completes, they are all running in parallel. But can we verify that this is actually leading to a performance improvement? Let's run the pipeline for a single CVE and multiple CVEs and compare their execution time.\n" + ] + }, + { + "cell_type": "code", + "id": "b1f51590", + "metadata": { + "tags": [] + }, + "source": [ + "from morpheus.utils.logging_timer import log_time\n", + "\n", + "# Update the agent config to disable verbose logging\n", + "non_verbose_config = engine_config.model_copy(deep=True)\n", + "non_verbose_config.agent.verbose = False\n", + "\n", + "# Disable the logger to make it easer to see the timings\n", + "parent_logger: logging.Logger = logger.parent\n", + "saved_level = parent_logger.level\n", + "parent_logger.setLevel(logging.ERROR)\n", + "\n", + "execution_times: dict[int, float] = {}\n", + "\n", + "for count in [1, 5, 10]:\n", + "\n", + " start_time = time.time()\n", + "\n", + " with log_time(print, count=count, msg=\"Executing {count} CVE(s). Total: {duration} ms, Average: {ms_per_count} ms\"):\n", + " await run_cve_pipeline(pipeline_config, non_verbose_config, [cves[0]] * count, retry_bad_input=True)\n", + "\n", + " execution_times[count] = time.time() - start_time\n", + "\n", + "parent_logger.setLevel(saved_level)" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "138ebec5", + "metadata": {}, + "source": [ + "Your actual execution time may differ, but it should look something like the following:\n", + "\n", + "```\n", + "Executing 1 CVE(s). Total: 44263.65375518799 ms, Average: 44263.65375518799 ms\n", + "Executing 5 CVE(s). Total: 66988.19637298584 ms, Average: 13397.639274597168 ms\n", + "Executing 10 CVE(s). Total: 62277.28486061096 ms, Average: 6227.728486061096 ms\n", + "```\n", + "\n", + "As you can see, the average execution time per CVE actually goes down as we increase the number of pipeline runs due to the fact that they are being run in parallel. To get an idea of how well the pipeline scales, we can make a plot of the CVE count vs runtimes for the pipeline." + ] + }, + { + "cell_type": "code", + "id": "e84b6723", + "metadata": { + "tags": [] + }, + "source": [ + "# importing matplotlib module\n", + "from matplotlib import pyplot as plt\n", + "\n", + "# Function to plot\n", + "plt.plot(execution_times.keys(),\n", + " list(\n", + " zip(execution_times.values(), [execution_times[1] * x for x in execution_times.keys()],\n", + " [execution_times[1] for _ in execution_times.keys()])),\n", + " label=[\"actual\", \"serial\", \"parallel\"])\n", + "plt.legend()\n", + "\n", + "# function to show the plot\n", + "plt.show()" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "d66334a9", + "metadata": {}, + "source": [ + "We can see the `actual` line is much closer to the `parallel` line than the `serial` line, indicating we are running most of the LLMs in parallel.\n", + "\n", + "### 3.2 - Event Driven Pipeline: Creating a Microservice\n", + "\n", + "In a true production environment, the CVE scans would be triggered by some other event, such as a new container being uploaded into a registry or a new project being created. In this section, we will show how to create a microservice that can be triggered by an event and run the pipeline we built in the previous sections.\n", + "\n", + "Previously, when our pipeline was started, it would read all inputs from a DataFrame and run the pipeline for each input. Once the pipeline was done processing the DataFrame, it would shut down. To run the pipeline as a microservice, we need to modify the pipeline to run continuously and listen for new inputs on an HTTP endpoint.\n", + "\n", + "Fortunately, in Morpheus this is as easy as changing out the type of source that is used in the pipeline. The code below is identical to the previous pipeline except we have changed the source from `InMemorySourceStage` to `HttpServerSourceStage`. The `HttpServerSourceStage` class listens for new inputs on an HTTP endpoint and passes them to the next stage in the pipeline. It pulls the inputs from the request body and passes them to the pipeline to be processed.\n", + "\n", + "Additionally, right after the `HttpServerSourceStage` we have added a simple custom stage to the pipeline `print_payload`. This custom stage simply prints the payload that was passed to the pipeline. This is useful for debugging and logging exactly when the pipeline was triggered since the results may take time to process and be shown to the console.\n" + ] + }, + { + "cell_type": "code", + "id": "ca8d4182", + "metadata": { + "tags": [] + }, + "source": [ + "# Code for creating a microservice\n", + "from cyber_dev_day.pipeline_utils import build_cve_llm_engine\n", + "\n", + "from morpheus.messages import ControlMessage\n", + "from morpheus.messages import MessageMeta\n", + "from morpheus.pipeline.linear_pipeline import LinearPipeline\n", + "from morpheus.pipeline.stage_decorator import stage\n", + "from morpheus.stages.input.http_server_source_stage import HttpServerSourceStage\n", + "from morpheus.stages.llm.llm_engine_stage import LLMEngineStage\n", + "from morpheus.stages.output.in_memory_sink_stage import InMemorySinkStage\n", + "from morpheus.stages.preprocess.deserialize_stage import DeserializeStage\n", + "from morpheus.utils.concat_df import concat_dataframes\n", + "from morpheus.utils.http_utils import HTTPMethod\n", + "\n", + "\n", + "async def run_cve_pipeline_microservice(p_config: Config, e_config: EngineConfig):\n", + "\n", + " completion_task = {\"task_type\": \"completion\", \"task_dict\": {\"input_keys\": [\"cve_info\"], }}\n", + "\n", + " pipe = LinearPipeline(p_config)\n", + "\n", + " # Use an HTTP source to listen for requests. The expected payload is:\n", + " # [{\"cve_info\": },\n", + " # {\"cve_info\": },]\n", + " pipe.set_source(\n", + " HttpServerSourceStage(p_config, bind_address=\"0.0.0.0\", port=26302, endpoint=\"/scan\", method=HTTPMethod.POST))\n", + "\n", + " # To see when our pipeline has been triggered, add a simple logging stage to print the payload\n", + " @stage\n", + " def print_payload(payload: MessageMeta) -> MessageMeta:\n", + " serialized_str = payload.df.to_json(orient=\"records\", lines=True)\n", + "\n", + " logger.info(\"======= Got Request =======\\n%s\\n===========================\", serialized_str)\n", + "\n", + " return payload\n", + "\n", + " pipe.add_stage(print_payload(config=p_config))\n", + "\n", + " # The remainder of the pipeline is identical to the previous example\n", + " pipe.add_stage(\n", + " DeserializeStage(p_config, message_type=ControlMessage, task_type=\"llm_engine\", task_payload=completion_task))\n", + "\n", + " pipe.add_stage(LLMEngineStage(p_config, engine=build_cve_llm_engine(e_config)))\n", + "\n", + " sink = pipe.add_stage(InMemorySinkStage(p_config))\n", + "\n", + " await pipe.run_async()\n", + "\n", + " messages = sink.get_messages()\n", + " responses = concat_dataframes(messages)\n", + "\n", + " logger.info(\"Received %s responses:\\n%s\", len(messages), responses[\"response\"])" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "ababebfe", + "metadata": {}, + "source": [ + "Finally, we can start our microservice by running the pipeline as we have in the past. While the pipeline is running, move on to the next section to see how to trigger the pipeline with an HTTP request.\n", + "\n", + "
\n", + "Note: When executed, the following cell will run indefinitely. You will need to interrupt the kernel to stop it. \n", + "
\n" + ] + }, + { + "cell_type": "code", + "id": "f4f87ac9", + "metadata": { + "collapsed": true, + "jupyter": { + "outputs_hidden": true + }, + "tags": [] + }, + "source": [ + "await run_cve_pipeline_microservice(pipeline_config, engine_config)" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "ccb51d69", + "metadata": {}, + "source": [ + "#### 3.2.1 - Triggering the Microservice\n", + "\n", + "To trigger the microservice, we will use a CURL request to send a request to the microservice. Since the notebook cannot run commands while the microservice is running, we need to open up a new terminal to send the request. To do that, follow the steps below:\n", + "\n", + "1. In Jupyter Lab, press Ctrl + Shift + L (Shift + ⌘ + L on Mac) to open a new Launcher tab\n", + "2. In the Launcher tab, click on the Terminal icon to open a new terminal\n", + "3. In the terminal, run the following command to send a request to the microservice:\n", + "\n", + "```bash\n", + "curl --request POST \\\n", + " --url http://localhost:26302/scan \\\n", + " --header 'Content-Type: application/json' \\\n", + " --data '[{\n", + " \"cve_info\" : \"An issue was discovered in the Linux kernel through 6.0.9. drivers/media/dvb-core/dvbdev.c has a use-after-free, related to dvb_register_device dynamically allocating fops.\"\n", + " }]'\n", + "```\n", + "\n", + "4. Once the request is sent, the microservice will process the request and return the results in the terminal\n", + " 1. To see the results, switch back to the Notebook tab. You should see that the microservice received your request and started processing it.\n", + " ```\n", + " I20240308 16:00:56.422039 3010283 http_server.cpp:129] Received request: POST : /scan\n", + " ```\n", + " 2. It helps to have the terminal and the notebook side by side so you can see the results in the terminal as they come in. To do this, click on the terminal tab and drag it to the right side of the screen. You should then be able to see the terminal and the notebook side by side similar to the image below:\n", + " ![Terminal and Notebook Side by Side](./images/side_by_side.png)\n", + "5. To stop the microservice, interrupt the kernel by pressing the stop button in the toolbar\n" + ] + }, + { + "cell_type": "markdown", + "id": "65113327", + "metadata": {}, + "source": [ + "## 4 - Conclusion\n", + "\n", + "Throughout this notebook, we explored how GenAI and LLMs can take the transformative role in cybersecurity through automating the CVE analysis workflow. Here are the key learnings and takeaways:\n", + "\n", + "### Generative AI and Cybersecurity\n", + "- **The Role of GenAI and LLMs in Cybersecurity**: Learned about the transformative impact of GenAI and LLMs in cybersecurity, particularly in automating and improving threat detection, analysis, and response. These technologies are crucial for mitigating the manual and time-consuming aspects of cybersecurity tasks.\n", + "\n", + "### CVE Impact Analysis\n", + "- **Challenges in CVE impact analysis**: Challenges include the intensive effort required for gathering information, the complexity of making informed decisions, and the fact that the risk posed by vulnerabilities can vary greatly depending on the specific environment in which they are found.\n", + "- **Event-Driven LLM Agent Pipeline**: Learned about the concept and implementation of an event-driven LLM agent pipeline as a solution to streamline the CVE analysis process. \n", + "\n", + "### Hands-On with LLMs \n", + "- **LLM Inferencing Through NVIDIA Inference Microservices (NIM)**: Interacted with LLMs through NIM and the `nemollm` Python client library, leveraging the cloud-native framework to simplify the process of making LLM inference requests.\n", + "- **Refining Model Outputs with Prompt Engineering**: Gained insights into various prompting techniques, including persona-based prompting, prompt templating, and both one-shot and few-shot learning methods.\n", + "- **Evaluating Model Performance**: Explored strategies for assessing model performance, such as conducting format checks, undergoing manual expert reviews, and creating benchmark datasets.\n", + " \n", + "### Utilization of Retrieval-Augmented Generation (RAG)\n", + "- **RAG Functionality**: Understood how RAG can augment LLM responses by incorporating external knowledge, thus enhancing the accuracy and context-relevance of the outputs for cybersecurity applications.\n", + "- **Building RAG Pipelines with Morpheus**: Learned to build RAG pipelines using NVIDIA Morpheus, focusing on its application in constructing high-performance AI-driven cybersecurity workflows.\n", + "\n", + "### Prototyping to Production\n", + "- **Fine-Tuning for Task-Specific Improvements**: Understood the importance of fine-tuning LLMs on specific tasks to overcome limitations and improve output quality.\n", + "- **Scaling and Parallelization**: Learned about Morpheus’ ability to execute multiple LLM inquiries in parallel, significantly reducing the overall runtime of LLM pipelines.\n", + "- **Event-Driven Microservice Creation**: Explored the creation of a microservice that responds to real-world events, enabling the automated execution of the CVE analysis pipeline in response to triggers such as container updates.\n", + "\n", + "The tutorial demonstrates how to utilize **NIM** and **NVIDIA Morpheus** to develop an LLM-powered agent that assists security analysts with CVE impact analysis. It provides practical insights into refining model outputs, integrating diverse technologies into workflows, and deploying scalable, event-driven solutions for real-world applications. This tutorial serves as a solid starting point for anyone interested in leveraging LLMs to address real-world challenges in cybersecurity and beyond.\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/experimental/event-driven-rag-cve-analysis/notebooks/images/multiple_cve_parallel.jpg b/experimental/event-driven-rag-cve-analysis/notebooks/images/multiple_cve_parallel.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ff8a2326680daf20bb33f5970c466acd678b4860 GIT binary patch literal 531181 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

{DL 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 z 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

Sc3oU%eqKjMsF8g&eD|ew3f*4+yk*a^)~Y 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%0A5>qP`jlTQ-7O^yn@z?D4eUmi^6DNF$7Rl74Bg|R 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�?bSdc zu9XQnXckPU+_YfJWGytI7=cQz87U-hRw>ttu~@wjJ@Db+ykwQiW+FPHbY^R-;thbr z_QY@NqtMS~?9?1|n`CU$RyMBOlIYM0(}UpBm4Z`!SE*x_sq9>r^)p}QOQqkoSZ%?n zyxxnKb|2mQ2;z7g94k3B%n?Mwh$uThS7I!M@ zBf!-jXy&I))mZq!u$P|GWW|F{7VMbP7P59DNJhgf1xYDAGdVOHg_~$kM&DEK7S!%N zv6545)HdoPQt!{=xWKsROX>L$AeXUWsbmoVb14Jbizq1QT!>Fp8#`6qVW1rQz(sXz zJ=YqUpAj!5YmIPtyEacfC&-?CcT_>b#=Eq~4rvHwQQ*dhRIcMQWVXWAPkjWOJco`> zv5&h55dVefvoI{UQ&X^6BuMjY>ehqadIQLeqASQ3HtB*tE0T91D~MO}gx7Yj7PfRk zV!5e74_MvfyMo#(4+s2!Siko7IQQEqhk+>m0|L>;_w>5AyU*4 zdJj^*pw6iT))@alotR8|Ej>^XfjpSZn6K5cu^qr_8^IpTOiZU>Y-eW;om4LCa4kte z_9UqkWqEpHC|3>N<)o!dD*0nbb+*S8Hfpwt+^!ulME$nhZ#(`W&)NT9lUJHYhuVkK zM5?81oh_LtZP11^i8=(HER-6yFp7yi$myON#kb66Q>tveb|WQ&&N8`<4JKSY!tQbY z+j#V~Ui6!?Q)gLfOKS3r&eD3W%`i5p-YazTtA_#Y-V_f>2BxoJBoH;PtD~d8#}B9B!v`)uw=-LCaz5v*{eF_?W}>SnaqqZlp=dZocYSg< zz3G-A6~97$wGegwDLsPOBUHOMI-s>c*WdmsYtv>?fmEuPy`z(K&yKrY@Y^A0sv))6(G!Ovd{yl>m z<(+zChlnzhZIk$niJY^oD!ih_DAsV;ROqh1CJ+`D)FYz33_7_@(cDm`J*kjK#bl># zTov!m)D0Lcrukds{ys<}?k&AiiuwKV`gy~L=2=FxNORNV2(UrnT_I`n?e)3~CyGmB zGG<_=Q15q-vN|s}C_FH$5x#{pqNrx&D)v%55)}p)EG=Q&ze6pyg$Jf^d z3OALkMa#j_0}$&JSLBE|+kRyKS+`)?7Vot&u7!f#vpAZWzQ(RL;OvfQUV>e)*dP>- z>BO6DAWjA1723t4M@NLx`YZa;`0h5e@twf;0O#D_SN%wehVj2 zd3;=+hTQDw9u=@MdA=@1nk_*K-T(rbBCLD-*TH=FDO&BcvD2z_Q|EalR9dCZ*X$fS z`C|`{NwHNct?BXJ6g9mns%M5QJHY`1x0;Z4{PYAZ2Z(f0ZrUTy53Zk%aR7sCUYw|U zU^ScxeSxEcD$Ga?6#yu*-u_Af#ZxS0r)G6)bSR9wxOLS0InaFjP2+UvZsN^I1hGlH z!C9j{8=QxuN?eG)m#tX5%&;DNd9Tlk>DDy>hv8S*@C_$UK(nVFX7{74so-^{941DF zG6E}N4l8n>aE_Vx5)#<`j_{Jx$xS)l?iC!$y`^!}9s{RY0V8PTJ(BdSX1EcJ^VS4) zAB~uh6-r%XIX}M^C;apxKlf0eMRSCi00dd|9<(Ev7f>Iwl2IZQDs2ZtH7TYmTOm*C z&7F`a?<_HVj_FZ1D^cM?M;INDGa!f%iZXagQDtS7)c5*V_o`fLPTPRdwa6=#YY~a- z(B=6!xF;i`ZS&d*I^b{gO}WWv8)h4@>SLcBPmRfttYri=CBKTs-r-UyH{?v3dl ziR|!T8<8egH|#tKTO2dq>fTW|0Mto;Cg}HrO0QYJQoV zIqukn1l4;YDlR3?*7~$?dF1h`If{I>sw^g72!=`dV1=QZ?a7a#dQR0}bS==h} z22u_P*+yot2^(rkd=zgY}XVw=Da$RWP9;D$vIB>5zwZ2fb*I?K1)H^+Hl8u zXX7IvmHKn z^;vgv*`0{TOP|O7RV&RCdO?SQWyMqy%S&`8y*_cS;#nydTW89pJ51%C36V}cUISEO zWg>tR^6q~%&%Zv$Xl|snS2DjA-Qipsd^t52YI?`@wJeYY%n|9AU~l(QXU2aBEXsgn zISx{xY!|?ntJ(;=ITu6KaCGeu)2n5TB0gyaMenRDw{6Er9I|H=>(O#i2#i6%3>xS) zh`3Ue5ErcBj&Qr{Q8ySJEIc^=GDmw7rUqo0PEK>(y30`%4P3Ey`3Q(FZ#Xr{)YzRF z%1w$e6ymecR&(8|p)<~qlpyZ~5OZDog_JLiDV-T<^`^OZfu(%?2iQwF4U!v*zN>CK zyZfz65ufa;gnv!_U-v+0A;j)_G!N+4D%jXUu>BLT2R#$hNc1PIT_@#s5yq_rFGc!1 zB$thDBLujB1_}~!%JIi!qympY@X;d|7i{C!SW)YeQONuZY`x`?JE0-L=*Ao=cS%x z=p*f}iHbiawPz_tTO(Mp$vesRw&f#$UOvK0UCEt4yQMGfK-6P7`PvaSkF$SG-oHM( zUm?)ZE~~7>F&e?fJQf_NS{O)>ew4xq2^$exS={Yp#)CR6i9h1m1|sMJe$r}P1kctM zF=NcUwsiK|Qaj$cOXM9uaBhM6C6+@efK1FvJUwskY`PZ}p0AHqQF(inXocL^6 zE>DqO&tjVI7BYYNe}Bvi9da>n?^S6fr`tipM}R=`QKmoS_y?|q_;-a;@2TsiU(@&| zh4mP?*-L%iVa04}L!G3y-7dbox=HV^}jFa|uJv4f8*xl48dyZNo ztCT!LLmnHKj1_2`L0hxQYsEk7V!~)4Owb4;Nv2BO#L)Kl?Z$-?B~zybfxqd%ES?vq zM2;bx?Ic%w2ZA_x4D4P<)o;ya+0(o;-2IN?M%&e9GtUFnE6@`W4wKhw>!BeBH@ z>C2%Itbik%&QAj3p4)khfHd^A+g6L%Gon*cJ6W8IC8s|)w#4pHH*Etc&UbZ(5wpv-Aur6|F$ zTZg>_FX86;J9r81FevPWJhW*J%zdlR=2eL%%Br)d0G&Gbz)(hfMa(6nax;;jL1_Si zK(}!(>K8GTizDI;Vy3pD*%qo{veUCe3cF*a61{xaP5^~}A(4`!UUohAAgv{y05xTH2@E$85`lZGsG^ z5JZ4c0>q|wb4yJxQM;{Oj2ph_7RZGsAI;W)5cl4#HAY-Mo|3dHM`II`w_f!A~lz&~nuHG-Q_WLPoXu z`T4)UdxzgeLNH#TxN@N`%~YrJL5YlVdUk@TfaP(w0%nlTX$DLJkIOD*TTw+fu);2E zEo|i(vxV)2_?{07J_H@M>|oZDcX6O2_eX*f`{S>d{5b6b`TXO?p+KR`jC#BF*Op&= zYg4vfl(m~~q@M32q``7~bVT#==Nskkv{;SVQrhbx)ewBvbTDj`H5tU*G8GP{zpk@* zY5?{`7C7xc=s9~p9_DSlL8*~CiB2G3Vz>sd;8|9`D3J(VbAbxzb6mMcXe%#aWAOD? zetjnw#QUe;&OEm9sLHH%);p0cEA=#k;!dKvRKUV;*Y=k7wie4B`a&xVVRM5ptJEs&kOXh*?wXHd38ChY*ju?*W+=sOh|6e_!;sH2yKMB(*)XWQnl+Xq$(b9!02T zxNO&p)9xBd=?XVOWS;HIa4!++XcTcedD;@9N88`RxxeUhWYFuMCllr6vggY1{3dKE<8nbD7(@B9F_$2N_OY7_Kgnr;l4XMm_H9b-bBN%NafE6IJanYh7>nU4U^ z=ZnWw>Khv>L~xI}L>@mwhnNwkUDP0H zGA#Q8ScMcEAN`WQ^~je7k6SXCu~6m-(d`Dioeu97&Rx7HTiw#!(w1zg#zR2A=zsSm z46rH`iJ^&M;XjLya#oerz_`P~id#TgnBwBOYx`2i>(;paVwFj*oL7)hPD(8{BeT3XVLHoOaA-j5<%`j_on4_4+$>{t!&Avq($+bkx=16PbwhB@;^)`FZBtwQLne zkIK=$CppJQUEp=G2VAexwCNddI7OAveFRX=m7NU8!8W-m&l7xJU}a?onHyrhS%Mtx ziLcA^p0Z}LR5fJ?DDD_%h!&3_+uIHvopJn`Y~jgn&ua0?ZQ753G1KnmF9S$9JN0fO zhzQRCE~sUMKtH%+GuGDLQLs=6qR&Qz{}LJIdZud5XaiauN7 zbp{=9b$OD~8=1o=6X67)H5zCSyf9UpdsayT*>&|zgRL>07Q>$G3)EJ6IQbn6W}5yT zEqX@Dm ztmcj^Dd8oHW3=fSI=?va6hI;t{>w5ib$uDrsY+V?gH>Z~ODJ>oVIW>l%D!eal@Q?h zZ{Oi+7ue3XH_(sutkHL6%;8r*Dbd6D(WzE+rk8)>%92oeDr{uybw*kqOr<{^&!+;t zCs#KN7qTi9p-Y`CL?ej&d{Rr9n&x;3TS7D%hd8h?BW4xaGb5iI)CS%H2}N*C+-}VTMgc2<0w7x>LcK21R)g0ej(eoc-V||nLR$zv$!#Oo^9#Q z9{JKUO#pq3-d8UBH~)MFquo4WPXFd0;=KF}I=epGp}MP$s!_88y7 z_GIIXQKF2TTlz8GM01mVR2kh|g^PeJ$ThZO7Ed+%(2D1c{ydj?wX+6}fRwJ{2cnFu zM|cP1esNKUQ;G(h;3sW_rHivv31XOH6Um!3f?8n}*{-JBj!yDD02-6;ah?9B7tK5J zg%J~RSG5dSmT~s@HXU+f(&*U6%9LCl&sJ6G?5_c!v~RvWzS2=D6^)k#K?y1YQh5)c z$^C9uDPQ!e=zT3+8}pSon#XCuEyHuq&zW>8jkyut9ui%i)Ti&=ZC0NYWUF_#F|Fyo zQP|PN0h!@&-s0zfy&@sny*Z0lT-{o~H@9jm_@>!$VgPe>IoB_2V`Z^Laf_+$&fURt zH}<7YW4b#1{9-9dsDwzGpbf}p1(RLlQn!Xa;C=Qf?PgnG_A5c+LJyBT@qYC4%CEG1 z8Q%G`V9%}lWk&hi`uzZ+o{L{0_FI1@N#tCkC!Y`$&K;Y-q%mtAfVK}Waq~@_c2`o& zlPJQfl;HM>-_)h`RH*kvMx<4gw*ghOnA=>PM5yHCyq80$XSTsQrMVD-?XN7toX6Iy zXYr&_8aqma^MT=Sk4^osjK9eU7HEv1)d&i_ML;NGRS00h;Z#(o2MPJhUkDR1>KLqH zsN2SB?;t6BvuH@@0^kzSBhb+R=GSYGp7B7 zo~b%XgGWQLjF7a0r4lvD%fmlY{%*jdgoz@nb^&O)T0uW!S_P>p-5vq0vftuv^J0hC z+r;b=!4Z@e!LAXc-#t!vLlJZE_1%kIY^og>9H<-(B!vsDwHNMU-t4WeceH^( z4x+{BD@dwOD65mS^|Cw~=q5WEMPj&NzHJ&*&Aea#*+z}@M}UXeqa&snUt9d2{jRLL z&r&wmb?{2(wT#z##797;?#^S^M}OA!>%X0mk6(fAjq^4Bay<6;cdHz~{O1+X+oCsH zH}4toln-qyaO(p;0xmtAdMDt8GC9Be^<{l=hNxyjd1Itpmnw8l<;Ns={};AT2q)Vt zyOT%ceye`*+D`z3{I|c2J1N^U#KF>RFHA|wyiKw&A#ty1kD07Z8G-K5@T&;T& z>qXn7m<>n!>6yhn$84om^rAQF+TeOdZi#NOM|=4%gpL`w>nr)w}RhRA(nl^m4X>`q50xDaN-=hu3Y+UMLxnU#K`U z%HbYHK(tARg@?77;s}v%Y?C&nvOPrS`TMmOln^|nG*n^k9Dr2k(K&KMk02YzHp(0w z)(p+FKjt?EL;DAaO7D!%sG0T_F~_IGG(!iBR=ERpCQLGlEZghRPP|!B4K&33USu%V zsF{Q9#BOf3;}+yOR3s_SL+(?S;VYYJI(0BCsqUph(th2_UV;LG<|(x?{DT+g%}OFG zlyktK2xK-cM%z5l)cr?N%dvU-wp_1&uPE~?Kxv1v@mhf~% zo07q`d}z?1Udrle3?8-y_WOEU_rsq+*Uz+MJg+WpTSxB3tQ&cMI zGdv&sAI;4>?##5oPtP*aB~GYfTH&Dj)Z%p8=~M*qAP)gckknwKJ*PUG;y3F9FOY8j zusCNoeB|EnZ`bgP<56V`j@-HIn~eK4qec6T)V`CS{3=|pFa%po&I$g>R-2w)ddr0h zGI(hbT*%PH#G&Pn20Fd}2#_>HtU5197HpjrV&TPBt?JQ}NN%L07|+i3o@9PK9#Gs3KB>mfbQ~L5FYDH|q)g4S5wc^Wz za#h~LHdz)~J0Ts33DIPiqE%fk6a)kpBbwo93tg|OW1$7bP4>B<1y-U#eOiOLhUj+f zeuNRor%T&mdZg;u+dmD}9(&cpcT70zJOI@s#(FFhU7q_B1kz+@o_M>Dg1&#Pm9lo? z)}k0xTK67qES{oDS)9dcU=C)aH=xX~Fe9p1qy*Wx4FGBp(oTyw8jX*q)=&W%ToC!9 zyAq|Pf*s1;)472exA6|#J7}sx_~Uq>A{RiOYtt7T3?c z5Yw8_^>o5{N)JEKuIbGej~euuq&JPcZv{p>WatO6fhG7Q7a+OBuS+dp*^?Kw%~u^; z&&_4-d8<#CDKnov8Rs5L%WGb~)$j0h1u=B0!Z;yrLY(r>^mFD*-XJ%42h^et4RTHk z(plxX4yJvMp1RXXwH#v;F>3DbPz7n+sLq;?j@Qe3Br#9=nAg!@RLfb=aa%n#|7e78B;C&2LPr-vETB`R$bJ?(t4du363Oe?dJr#xzx zv_m~3tFmqYEQ-}`!hy^Q3A6nC6V`d|!H0c)1MVjf-j9^6qLs^0!vIp~=R4)M*70~- zmj%hf$KEj^+nvK7c+X!z4q`i+STizSS)a9rj%G{4*#h7^!-aD1B;1+(mb&T5HF>>h zGCe3eTkqAQ)w@eHHZyfSsQn1GJ}_ZDf|rVEpCNkeefw0j%rBuW7@aZNle`?Zc=ka~ zimRI7;|9?))@GCUGo|IsvBxfy92Q-WJ@DizG(|IDaE3?d zhcm;z6)=fr9TI(I%1;T`WT2e>S6uk{5=r_VV48Y&O0=Cqq{`Y=I_mCNKW|8wZno6q z$5TTF?Rx#mt9bc>}2l1<5Ermx1Vn)|?EbTZ{}>0oyl$Ze?-2 zBLsZX=&u2}Xw;C5o!6;CO=#PId)_@AOUhvA`>q@Ha5Eo7Nu8dX za+4h_osyCwXmok6%B?`@Bx$cjU|J02CiA+3b&AKz2P^{ZCxn1vGrC-FEEdm7F~3!egUSfS%7L&$GOH(tfI~N zEqbfLFFsT=s|V-_1c0LBK0J3hdT(JRCy=K0rJY{E#6ooEJeNI+B$m8(=LhQA+@eq54n*Wi1`YNPnYBlJ$+FiCPf1!uu^Jh7w&FW6bG7n zfC$gbw8x6b%PKJ?B#8QzW`xscY6!Ax3?a_kZcN{h<5wISW=#j?>%>|6!LJJm7Ie#V zXUlSDh$KE;*>9sUWqWdJeoJ@^f#+-D*DR!H>Q`ON(%EOIK_^lNsh?_WfSKZyfX{Nc z8kav{ru^O-*Nv{pbg@!G)yV8!iX3c90n+2L7Yhm@i2+&|d$_6?E zj5hN{3s)D9mC{^0n*8>^K6Ue``;u;RKCV;?m) z%KqdMZdKz*U3dA66R%x@tVwUL5YR4|N412kNe2l+Ypb5Bc6Q^v8jhhKksHV44w}Y5 z<+D%Ar1d-m~H( zfWcHUSp%A7Dvr{rnU`9r4xNQ2Ytr|ZZAdy9cLxpdZleJwYzb=KuO9==X$~vwdS|gE zXE?|qlrJuhrmy6Kfm?98xk@?|N=9CNI?AV0Z8%@yQr$`pG@nR)VLOK>#u3;4{vBg| zA@{}#3-})IId!s^2)Yi~5|D|>1Wx%Bp>C}nCW7%@9nFt*dKG!HLg_NxT3%t{!VmsP z5?%5!M}%fIC>BaR3pbrMu|*`ln-Vh5dC|#=*c}zBE;6T6*tH)cx%{R1`rCR>VxBLT zUaT&7@|0*q6Vkf8_j zu%ULOHJgozxB9(Wr#R!2nX!PZocPQF2y;lBH)%~UVMiv^8HB287?ie620ZG zrM?Qyn0#Y7efP$~TCRAm4u2tf3n%sIocGSYQU>RvgeNnPu#)5J)|C+j3k}vuGjZ(+_p3a&aE7ANBF-f6_ zy+~2Yf;E-aB!1=cY?0u^{w@v!7{`SwvQlJ63Mze0xWQ>EREeq!*!%LVwNq41z28oX zXtBQ9dZVz~$?M2khEYrd(g-hkv_R^#;K`2k7FPjdff@|M{=mY1hb<4|;Ipno-(Zl8 zxM5kbD;^sE3$BkH zS6o?^G20L!Y%QN%W)-T44t~a^Hg+1uqMfp$*b6rmXzk@8puV0=qB*n>a(>TGhI|Bs zZkcY>_v`eds-d&}9KL8WcGd_mtyQL@PvF?Qth#p@v$9sjD*>NS#qABqmzOjj{Iq{b ze=36c|FHMoaZP3Y{x36jQD>0ebOZ$HQW7A5&PWp>AdnDRP(WG&K|*gjb_fDP2|_52 z0YcazK}rG%1RK3d384j)-Vtd6!raVrp7WgNocnv-`+MC#@4fr4#qy39WyE|11w#RzG_eOb94h4yYQJ@|Wt$*>1jnVib7$LmGeX{+}*hMc>5`EB#w{eOzuY zv@Z;&U8K&Om$p9_5|hJmpD7Nj+1LFJ2U*d9Nl(^*v&Kf6J=b+Xp$K?r+S3D-#+P}1 z>uDj^uUW%|A*QRY{B?CP2gVVG1t&!`v4cN0{KrO?9-|UqhTD4dpr-xj(Tg8yl+#KB zDc83Fj0UiFs#TOdgqnBGCQmOIk9GM@R#JK6CYDAE^X;JDX*cF-T|qD-x4 zUKj$}La;>kU_%4-mq1jz*0y4DcMTyA`RG>6J5FGdt5om6m5MxM|GYdIVLTj>BQF>_ z11^4U4cY>)YcRE-ZK&ev>sebi^^NwAJUgt_Eg!7STzHqE$8i6p+zn9gEW2aWhlO-QvnNNZV!o)kG@e}0H4cA4krXv7u%$p3Blk}4JGtw z-mcseAN=_SZ1&se|?f%#MJ%MjsuG;l(x`eTrys_aU)c`-vSV$=BVeD?-HD9PZ zYk)9yFTA&~$-IubZwKe+;moe_Mqpz^zmiAU-diEoASc&RKA}cfwtGYBc*$!_-*Q*L z&sl=vqb^I{Pj91TX1|2JPtZjx9i)%ED_dKs{qn-n(R{@f;5eAsoJe^))*dYCQPw0>s^Y&xFt4<@~@u~(#A~}>;LOU|Me?S zG9puA8yuAOxwQ5JT(34mx2rTQ|Ckog;xa?;hDQ_S4|?SDks zXXY!#TC*not*E9OqNgi9#{?vZzTY&uu~kTrTmQKdHtXGE*G3?M0Nk`$h~0qn1LoB& z?{}dei`-AWJUh^k$aapVror#Azh#v^GhNsls|U?%1$n6t7a!TJEZ zCF8}h9Ss(5%5C4)sy=O%)*YR%6)V2@`h!FQscIvaf7%*Pa#>w9VCYPZ4^htc6goxs zM7_tW!?Cs)X1lgQ=%*BK`!?LTa0H^sxmcTScF$!srm;#w;UST>? z(y@QF8Yw&OS$2b77;;4X5@}io>UJ?P>D_SiAm#Ku5Q%&+Td)6N|HyAfqBkwzR=Oc3 zI%ls>CAG}30YX9Q-vuIB+gFE~5b&Q?n-yvgo5jU;JL=c zcRG9#b{_t(647)uHkV%_V#_GeAWD1lqXL4^zdI6se7=>i_3KPfvox3MZ7~0l@$dgG zRd35PH+%%Q(D$DjzZIaS{cF`=(5G+gz6 zBTSe!FHZxA2KuGZU+j79sioLPn`3=XmIkrt+dp?C0k6=P``p1j$H@X}MgI$;Z643v! zC{)^%PAb>pX$uH;{_(FH{O6A!KHlx(C*!r>iAJS7y(|0v&FPO7M9Y;^p@Ckmha!q# z76yE9wcH|6Qv_zC{0a&;Gn{c;8KZj|AW%53r#pT39k>5^_!9Q=KCoHnXnoz|b0!#x zUdlv24$ObpXCB`+ob@8n8^4Mww8jRT7r?vFbWSda9=?;G1FUE81Q18!BUTsXLzp6N%QR9CLZm_ZL^V>-L}2nhgxV*c*njBVwOryu;sJ9`X04<Y7LDu zRLQY5Bus~DAmrU~92g9aPA@JJsr|q}KPd~HJ!T#(`#=zz-F+|MpzYd{MwpQwJ(7iyFFJr+(g}uL?n|GEVM2LF#Fl?w>s> ze;c2KHAtF`z=QTy@~%Jj9m(&NO?VdD^gNN{f$cj#mCuZJ%FFSeK;J_c|7 z>MMruSTKTTNt~%~MU~}c^lyruNwH|#f|!@v(GVbbY4jX9zsM$*FK~sSt*OIow2-X^ z#|{?Ouz2pR0IWtJI@0&_t#bUqBSDWC*tROQH@wf@{w?p8TJoIfg6Sfh58M-l+X?;m z0P?n4_r)D;?X70a!`Zxu8@X2DsjT+ESL8U*VF)q8aEV7i$Sv~ZvvNaue6r_X0zpGc zJ~@H%ekEUB1?$1p!D7TDrF2{ADTD!{nMOJtl?3=+AGq1!&hs8nC8(Rh=lg_&&IS73 z@=X5?i(o%yIM%DBLGd^3Z)^by83-v>T%&uH*F|&mD*fiu9FHZ--?!r4sdX5sX6acf zFQ|U5{>_isSK;iFX&QrfHHwLkAJAGXC|KBZ0nqT$FbdsFtJF$WW8~BuEw;_MEPw#; zq?#qy`7yT1@2B_FE2Q-*qj8MM%x_Yx9jhSx>;6u`NiVO|RzMHIWYKa%p`jemyom-t z%o-@Mq>WWSE6A;dImm`UEJ!ZLuVNb&&eosEDoxW@#4(r|D5{i(>BRZ=IrOd9^HH3k2~I$xOx75(|K-LcHxN(u4?mou3N$~fBI9# z;C!ZvWwYDRv#Vu>Ml)fGYDJbRYMVJ#5r7Dm2(t&)uu2yC-7wB7vDhS|q4D$1u3qqC zUzGNxuFG|l;9VEJz7ekN%Yy2z+FzmuBYqwV_QpLD_855%+G@`;xiNK|ZW z9#Z*ZG120ieiE!xN0-C8EpY62{#W(Ccm4mZ*Z)_o*J`$DT;SnZ!B0sXOE?kzrSslw&d2!~f?zHvXrc;y~2T^Y>qOAQ?L zWVH@z$t$LuY9<&4Z}0k*YAZ4?ErjSVU%B{98SJn>dM88w>$r7=+ZSVmw}A^MB+mrG zFc^-{n^n+ODKqi9AKP4Q+o>gF{Uz&QpQ`v{!%}?&h7S+Y=(CQRjaY9cT!af8!pwi3 zcYZx4*MNn{7<<(46nt_z3X0OgFl?y;p-`pd4~D`X0Tz5nc!56kG|K|(9^QPX#B=NF zWgHm~ItAOC*(H^FZc7skBDQ-Z<#lca$mWMf0zSv7lr+-k-=v)uHDn8t%?dDi?Xo=W zOI+KxV-|9LEIAeQqY%lWSRN2%|7M%D!O> zUay@_{*2CxT!&Y6Kln>Pr$=PH{aITe3mn&F#k(T%C(BJO!ew6i^hMd->_5U`I2P!6 zYDz3>6DdSR$mas_@szjA`t^HHUxUS2UNUAsfzXwGS1Ky5`^)MSJV~I8*ECV^LLhjL zzMRU&1ypHVsI4L;W{uBH-A7|7soa68&wA(cF%QHeuX0BjTS%15; z*E?=|5=8N9yJZl;$A5eb4d=VowR_4?TLoo7+ma)JH8~Psjp&MLS1C&?)0H!heHL<< za>?Q^H0b68t6V(TxXz>+)2{C`uTCh?c|{>)kEF!09+H5=x8~Yq(9(TP%_HZ z(z^e-`-sXa5*ToP1}s@fCdKs#Ln7u!i&4W;BY{?PE4m@Q{TA=mpi$wwX$iln8vw)-(_${( z!E{JytA*rj>fd|w^ZTY&WK>Dpz2i=Ku$stiE_pcx!6V0f?+V&Km1?_ancPMgVE-=j%Rga!rGbLCVdrsuAGe=%%$2wal-`Fqe)3J9e-8L*tRSLa}% z_+6VWyDwf1o3p2Z`-aj^=V@)qf9bF6d|WQCK&G#Eji+Urt40m`8Wy$iwp88f;51Vt zoQCB-YcgA4ikhdjw}t}){`c;_pmx@>9o``In~!JZw>}P6mrfT~C%xY>j%?mOsq_Jn zxN`jugW>(JPqTrR(Rj90+ipsn5MTz44^Hl=k=jYn9J$sQ6y|1WS`)Q7z`}i-#HzI$ zrs+?{2(^^_Sdh*+*VR1oHP8= zH+HC{t?v8_C-w`g(P|aTi6`o!p$pHw@b1ey9$pU5&g3ENr*omLQ+?oBn>Q=cr;7cw zsts~MPAU`GQ_ZUP2$-aMD}>OsbxOZLfbdQBcjh~W+sn4SbEgVpgFkxY!0xt#C$tot zhD!VRykOPw`t8WkqMyaPpR8sYaoS@75AdVQ6jA5Nm!|GU{c90W_x1EBmy&)m8MUq+ zT3pg~aMPzg=%@3a2BlI9XlYGgpW$n@P>{w`36D9{jnW>U zdkFw@cP*saj@nbwLX~*IZ`gWL`uf(2iS6A7;*ZM>Uqz~hVOVs8S&vO@fO?;)gG};?`lDTEb3s~<<7Z~{{NH=6 zudgmfj50@Z{H<%Q&wpyJ@RX9^GcVFSkM9|X@(~z>Y0DnrlC!3^LLW3HZAsfM~ z=Nd)qbada>IvIh*0NPNsNXJ^QoMLF`ewy}}ThFlY(a&6a7D@{JNaMwk8T?uiNN+rM z2$EXn2sTF0Ol>NHz7|Kfd`?NSi?c6Wh`Bm@uk}UrH*EDU8e$94&#vue{7Ee5*cDQf zO4#yKX<`LD62E~1q4|7{S(&rrn+}$8Gb11dhN*PCzu94mnX%2rLNi;sR`A@^iqj^? z!A8~yYBp*Xc8f%_UYVQ6F0~sqdg|op&He;~o)1qLP{|7$|4__|y!5B|k@>HKd+)99 z@2|Suk5DPo*JK3PSdWL)0K_<(?0 zw51NXY2W^~67xzBu7d*PnoCjagqo-kTR|kL1U!a5O50R6^RI>t^c#S#mwXOQfqfq! zmZ&i<4Kid_gLZFpkYFYcONv8vtAd$5mf`rsf{kcD>JthD-id^_%n*rmxKh)l4r(sL zxx(IQW!vcLBmX-n2w~_q%hIpaxRBh2)1k>`j({4!^)iezoVn^H$8+NewPhalr-y%u zOv(PN-Z@gT61TZb^$ZdAtg);X=>5{-$;s8LiJIM>ckS%By7f zcI0&EJGN)_m)vqI5z*aNF_@P$%zG!n?PzME!C|JDEgHN>$i{=7{O+5MRsiT5_fjd0 zA>)0$xu1ngN)T1&L&9QNBKJt)~9-eO{eVULnyHE*bCCVM;Z!A7*cvekgy^x^3TUR!I)m~=gP-luREo}`0 z3r{9e9j?v0zgeJ*TE%r6r@YRL^BEIqs;LM~ZoI?jvl zmpo@aPg@TOGBjPnSC;)H5HB?G{HjOXS;~2I`Nu2wyq7;s;gt)p+R$jbg=F{yNxXZ< zP6p@WTOyo9Pu!Y&e(oIQg(8UHrG?xS$&Ovm?Rbl4WVQdH)h`xY`m@ zGzGOl*zSoIg@}sUMJi7{YE6o;YAeA__yeE>XBORGabUy4irVWR)Sc|;p$sSdD^lTYyVE|TL zvX}$LZGGLM*d1?wz$N`IaOB@qj!#xHEOHO(^cN@9yBF=HjVf1Rb1#+Nl)d4d+wuSN z(A|Y!{`u@b?3==oKOe}>dRmkD7&*ghpBJRs?uB!njaKiaY2Xq?4GHDtb`BQuq)>I( zcZ6Y`9Woe`4Ma

wrqA8Am4ODkr?W*3O7|o7tHQ#?W2YPJ)xI%mCMwU+^vQrFk9B z3wn5cP4LSYv+quX=m5<5;dEcIizXLviRV5KP*Q=kB2lYJ?z6a$HZNDrLp1D8aje-x z2W6*wVCxaqfe@DqXt(%{BAb<>T}`V9AvyQ$D^C+zV+i@l)4XkEnka*NcZ|3J( z-iI?|B}nL9I>*WkaR?8>`Q?|!h}%?!z^|Ab&U7nuw#gDUa!y*_80A&U^lk+mHbtXf z@seMW6UNP+@)H}OG&%oTI##1cwAt#lcg=8!%*8tR)rq9oeXW_i+ef|gd$0}S(bA_g zlW){MX(OrJxDnZh=+sR%FHc(IpX!ajj)q4JPO5W#Ky*$y|JfW2dfJ^`})+BIu*WSdoA2aNJy>qc9Clv%oob)RGe0~h~lK#mk zIJR(UPw`a!s4`x3bW@$>@6`iAL{VWM*B1N%zu7o-q|qNxsg-&I32F$Uj$C(>A>+|z zQTbG)uHEO=J%xtA2aCcBOB+Iv9N4E?8o`M(UuHtUar$6x2*8Ji3MzNwxy4h;4oQ`I56k1>?D28Ws}X1&8TI;m2S+`V z**?0fdsp^Fo(eW}1uV6VKB>AnRw=nDQdO<|($;zbeFuMh$AvfT$xL!AZzBNmcn~j~ zutLL!G4i86xgB(>V$|Dr1@WNzaW5QK$=AU`a0-tXZlR%_wj&HH=pdvx%w6_m_1$kk zS@&o!WJE39FIcj(D zY;Z_J%yq9-CM96y&&rXk;hfG+FT_P%m1U`cO|`O~mZq`^X0%ih*<P`Bt?v0jH$vF27K;KLMa^@`Nj(9R+M*MaO+|anjEl~H|+E@ zy1#i1m9CB(3kj(Nztq&)2c30WxC{OTm*fB=$5n(k7tgAOf+jxCG4_XUFxVNVI;tDH zj3tIhl>^OU085UNsWEMY=@Bk78R!bk##;I3s?V`{UA>rGhme6fxSu)1Yz*qO86zG} zy7(QTLc-Mo9OP7`!~*$cZ;#e#sG)bvX)GZ`P2F)mKkr~Zo?C6nEw}!4c-=}}%lxKS zJHvfq7lxbk&&fel!jmI8pkzNzw9^(~01;2-%M;1@nZGu*hKy^-;ge#{Ck8BsxDklN z0W&~Favg?^x=Db?7i8s{2~#0x*>V!~_`X&OemNOzuo_+9GC%?V_Vp*+K+qoERIZR48ArwegiY2^1*S3bUS>Xx(fCYd z>X}(7CFstW>d41g+9XnE1PC?<$)m~+2mSUy@-f_IA&gQYNUsK$4JFV$QMEc+BBqNU zpu6*ZL&ERutzJkz9oDU>{b53(5XMn*b^AVCd_N|_#2p4hiqtHE#|%}*RxXeH(y3ok zly8dD8yHbl{>+KysZN+{vA2yoO&7t>r-rzfz)wDuVHC@IEL|ObggpBBW_g11Nfnjy zj_fz@by(cswo+tRA5zq4XCG$s!Y|8C+CN4RtK4yy?n;V|*dxi`(k=OA*P*Z95oTs- zc{sgWr&pht1kAD*Sn@6jjc~+6IcW{Qzt_0RqkAu$@YIcK&5jEZ?0lk+ihKc{wZ@CZ zc=fqM3_ue$r;~O1ykcLqOAD@@ZW>2*D32Iw(38stVDKPFM1fQ~L%hJLyb#$gle9`= zWk&=-MX+bDomIIxvZ zJ0%z7HeM3uK=zI^>02)fP2RZ?pt*i_eCZqF3{T5kuH*(9o{x*(ozK*>?Cfi3j7{dD zRPzd4C`376Q!ZD$Z@PT@aTdS(WUS_31@)ySF~iJ31nSbg{c+Y%FW>8O#uzXlMd?Gj zbo9~Y*Bw;i4rh;y=xa9{tV2G;YcsY+it2Ii+aL+OI8>nGjf9uAwK@{hJ!PncgyM7g zX*$x0VbIV<2PsJAF(G%&pUn6zbfVTlq{!w9<9EYbx^HzQQ>rorU-Kqr{gi?6&=ODn zo?4`a$u7le9zho-C1Jw~GA5pd55|b!{KO+)hQ@W3{8C6G=MQXaUaKdakW0AYd`tXn z&hUB|HgaCoplbB_ksbOrQ`CRFu=Fnhl+i-^FJDn>DP;fK0875$75#%@RT9UZmK4Ib zcarFj#r5|^Nt6I+z@f{ybE&&i@HwA6pByA!;v4?8f>>mKG%{N-G#UJtfEm?vO>CAS zX2qY<^0XR@pR^4$s~j4`=oSj`P3?AKU)5sT--)i(JA&YLdbvEfFkBhf^se)0r@|9| zc3GfSOG%1J5pIz4L|(HYE;CFaySVjZ8aM;ts}m-SlLKc;L17K1yo7PCP%YF@f9HF* z>lq(&k58MPpN%5o1L}qs`m0B0icNPUrXb0RBeqx9XwJxrGVzIMG@Y?BNF>l)z!oko zSzB*%0#Y$@1^D=61ig(65Z3gaz@o0ik^v9B+TY)g(=?FP)*Rtd>jt#2>?>mf)vsfy z=N5_U?hJmt#LPlA?IA*E6>F*5YssN}>j=16e5M4J?5c?Ts?wNqnzekw)(R|LTy4D@ z&avx8{N%IR+`0Ne*sTmY7V?Ndo#Q|RQLP<=ZMj1qv`4icE}ss}?18xAUysZbBp;(E zVa*4plL&I4&Q0ZF*;6uc3nfH9oUi5loGG{)^v3J7`xzd<1ev1UU;5~M;nE^QgB`n- zZ&kS5`rYsT+Ho@Ssb8Q)<%+%MllKPc&$9#T!1)mTgFsN&`RIGKls6(8L9*gcS-H22 z8J$CX@k$f;eO8dHg=={2Am!4W|Nf8El-#^EgL2aPC-Z6+Yyu#N3^t77lu7DcdG|-P zzVhYj(&*D(r)^F$NpkY|H&DpIKcaPD^!xz58w;Ysv9$R3T)36Nkj`yu`NyTY66=Nm zuYZ}U5Zz(TuzK7;*|sSvsD2eQ#$Ll3@{Cr!^76~PPFP=V2;SlUS}}Rkq53fGvQrN zR$!gnq z-crSPIm!XMk0-y%N$N{`e*d$5$v;V_0G!qt8t46WGMtz^QR+?WF;VD_MQybf$jX6+ zDKAH>nLJbes9tnh@B{cJi0Aq-2SXnGWos~IVAe(HdT$t^7^&|s73~claFb44lNWO{ ze4;6Cu7^aLnW)Y2(=T4IcQwN+;nDblT33J!2!Wgck5F6F?_4?MyP|vvN1hiD_KKM! z+?yRm^;;HAd(YGN<5q~G)0;T3RoNfAmrAqASk173u=KbX&#U!KqMa2@9#zbQcW@|kKF@31+H_9@bppv4YfinR9xAae z0FHWXHc(JLaN^v&0v)EJ!cZ~}3z@*mSD$0?-=`Z;3(OIHU766~sL(IgUnKSP0)`CzDEVDG*+*vlFTOa%!)Lr$Ft3h69<5XKjN!`&rdCPo zd>H}SY;5R0-ELfs-s5-^@%C>S0g^8xi2fT#%ZI5cAKbUxY;CXF{RroOZTdCF{tNlD zp9$G7-z$s5(=*HH}E9`Zppqr$&#(@7zx)ZC{A$e zm+H?1u#S0!lFhU!b`$j6ONP=#>PSY=OK{T5rXF)Hl=3fHFO~CiqMPV`4 zh0b-Hkz6;qop|2@qvXC1dKsi>*ejlKU-`wkDNiq}FinHdw;bbq+<1S~Skp2Zj2agAZI?aRI|VOo07s0J-8Eo=EqiDWOK@W(W@j|46uMm4=c&;f1BVLWvb3Y(kQdKD5`3l7H)-Q!q33qm9w z{rSm~MW0JxKdRDz0x0CA*fd6i;6UyqpV}dwT%7YDykV#eq$%`S`lv_mmCt+|P~8X> zgOamFT`3!)lM1+W*QfG__ZGV@4*g2Bo#5Pw_J1+JgWX-0A3J6*z{e9hi4=Fi|d68j@t-Z#;jU%rD3(6gjH%2NhXAj+a z<{ywnYCVkKgk}89_c3*n!0p(1ditdkgZQ9z)F$7w1Oe)x#){Mg*0jA}y2A;3pb<(5 zGacvn?F_89jz-*nw;G+l$Zlw_j3@2O0QLdJhUK{)#X>$xPLsCQwzFj>lqJ{9bszVh z!D|mT(%OS62QIF#mwc$nkf8eV^BmTWtH}Muv~4_Mp#4a!u_k9UocD6Q+WWaB;^2A3 zkDoD5Z$$fY)$5-&JD4^m;hI<$kn2v|T7(W9j?iGOO$13+=kBZfW z&*aa4BEEGKFK+i*J)!lNz&1O0e-tq4u5$@K<2^C5|732@yKC>3v*}cl*Vw}w&+0)u z826Ega8k>eL4DW=sEAc=^51xc(*;(CUJZsz*UHxyq$nK|EU{LbX)7 zZe4k7NA8Z6ft{nCO4GK%d_j5*55}?8Nh_AR34IdGK-N2IGtxevUQkr+i*_nXx)9Cp zBhd0lf&V2iqgNmGy=dg>#P{Dq8MDcvjBf0!>fzpz=!f~B*o@Rhg*5FVmt03<1+4M? zL%~3uC>$g#(xvS=yImXdf(zy63*h?uidR3BosQCKUE;Ic`VaA?mnN}g8;;xeYDQHf zs%sU2lCSM-8f%pa592mrvUL1PH`*6!7QW=8CT`gH>js?VLWtRM-xSCA{SmO)Uxz#S zmb}&wcn2t_DkS1kLNZ^*vH^J-87Q3{bIr;lM+-&1c<&r3EkEb=JToJvFvQW)od?(B z)ifac(V?Dx{gY*yhX)2jz~CEgvF9CPIun-rBbPOLS(z2YPPnVCZh}bcaKpEW7&+uL zUeuK}z4-YRhBnrvDGFU1!Zq$R9Tv zVq{rU7J7V>B{NeP7kA+;`-IbS@l0qKN5r~gPoG(D!jF%?Idhx+P#@b;!Y45pO4M4!Qz|o0Di*xn=6; zwCgli3gReu88|qp6$vPECA0XEyl-;3tWeoeLV)g2RLbI|%xTL9<%c)o2~^YYR^GXn zxk(?ZOACg|ys_5P)obV&$?!+utNgzGWjLTv5B?Na}**7m#Y_nZ|7;^;nfFi zFnSj;+`CnAa$8o{5jERb=0Yqq?v3mb6{k3y3Fg4B5{W)SC`Q|sBCA0CJqMdLKfV&5 zX9&uR5!q3*f2aCi01g?BO$MKKarMa1L~h;CHtPG&?RezH9N`gQ($U_Xx{89^zp;Ir z%^nRx%~7OlQ1L0K4N;4#%-j7)r^Srbe-iJexha}kTBV|W= z;;aain4c0!-@p3k=95MghS8GjkY}{)>hP-{uJDv1&Sdo}4NnV*Kg%)*7W2AuaZ2@5?LQQAsN{ufDVL(ifVR3 zUT7aw?@M0f)}=3la_t@WjZcn#dOP^=hVBIY6vL+ceqB=EUc39-D3eNXV-_TB2e%UL zf@YPUjWvrvBV7^Nie-UnaeaehMsiO?Bkc6>3pwpMCe>YS@Xel&76h5TqG-H{#XCH}{E3<1-Fb&tq*v?aMo2 zMEMB?UA{e_naNk=nD^9E%fJgy3djwPG2UZR3!!P__ZjTGbZNJ|jz9YO;QBRg7`y{1 z>{wz~`|DKr#i4C&)w@S8WYdG`NkFxmM5C8#319Gtmtw8Zs3C4VgaxPtH`UYrAEO-F z>*|)`|9Xex;G3@Nmhz>0+OQ^cB_ZVY51IdJZa(~%z|`b$oIl?iq$B7qwoxZfQ4%1S z_UiqES6njc)_rb0dib%xm3}xre4#}{L{!^>W8XIPilC=@OD2hbU;}db{*t01mC+ry zh<=&X;C6MNZ!WL7(UG>W4cl!#kmEOjPp-0o7cHt3U7Ifs5Rb2gJt-|>JAgu+_5IpN z)oXW5k)d-~1BfoSK6Ut?<{(F!JTyK9ah|>T4|5RMhQN@CtT3iavnrPw0l%)HR44ae5(Wdu>iuXM^8dS3|t)W(<@=;F>Te^J;rg7i0lIX(a_^fb1uzb_I05dt&c zWIB&s%N5KROxJbJk%o8-1FdOj{6o-(ZG~_eJS~rUeRTR3jP~Fo6G82Yh@^CqDvE}* z^1c=P_`zn5`jJCLmOZL+k*wc2DOU!JqM7ttO-YSTCrJrFBT{fg@?PD=ksY&DwrNK* z>%MaGwuS%?8>A9^CTzwyN8@rY141bU(qP8G-281%)uQa(Fc6tSDgoyDC&&S)ED|VV zWqDZ54nC4zq$Sm{X{uY`VO`g8> zg*kk4Uvc&Eah(NAr$~73f5mP7x*cL~P}=LHV9N2z)RViSC#Ry3Y|0T81(}&4#UYI1 zR+-0jjnA~!7l%U0g@FOO{h7sW71w4B$TMs^dH4Bbs2&}vpV4%M1xz)v_xY6Na&%y@ zUYX6g=duoNq1ftOgOhH@%!kike!YeEy>h8TM%e^mfnvj&LAsz|Z39Arpv3Y_c^68B zNpnBrp1;El*BJbY{1fBgWrSAPh?MHF>u5i ziJ{oV(H9dss!nR>yS46n>Lz4OYUv!D8{%TM?QSC67F;a?iTSjM-K;;8?!>UCOgXkT zs}I(w53^M@2d``g7W3-`sO9x*o#L+|a{I5%1nErWFO^hWNGgVx z0K6XH00Ud5Uf=8Rb@?(`3)NdBJGaK+}c%cbR@=b5~K!Z@fqxt|wy?bqhkI%-eE3=&Zc@9%n>b7yHJYr8E#=V_&O zdJo^A=@$~MkX$h9P9bWQ5y0i${9Y530ly-NbIuLxWEJxBQ^p>D*-CyagE3z*K^le*dO{Pm3jg}R}aQx%w`T(T6F3Wcl6 zA!_rS@!W0O=ncQbj}bEM9l3&d3Ht!Atm-?Aq1&1Ick=wb$vvy#&!H`ZSq;hr zsOGs@*cd5Fr}lB!pORw{2@Nwf(X&6njYb!tI>MsxHx!#ZJ|*MkpoZXoD?mAtI1(er zXTbL+mi!;6+S3|C$PYHsiwr+m3RU%JE!J$&J6DERGR)lbD?L2-BT&77;??@8*-Kr) zQAzXk`+{(CJlBQZ8_~49(d=H&Pd`dpp7j5Uye%F0mjEbO(Wu5mrq{#uPOu$)iAx|; zLUOw3(Rg{BV@$8|#qh0Rgz%JxV8zg7nFOo&@;m8;h$CJKODd5D^wdtTR6F-+d=d&! zkqaujaY2TuR$g?ZKquJe7zLl&8Be{*v8UuGbXi)-)00XDrthrYKSLfZ4w;r{kwNC@ zt28EER%fB}+K)quR08{#5S@0G5OZ2=pp9mTtS};2A28Rumep!9jKm9<+K`!1U^J%SBoZv))KTLTxN-w@_Op<;s={6 zC#+tt=np;9TwD|VOW3xOyboD$L(A zfuOu@a`O8~>lZxyNu`d^dxCsyN4Kd3Df*RKly1ea^@Y?h{jT~H0<|eZiKDgRNnbSk zG2|w3k@KdTE&j^h)V+emc*gG_?CAc7Q2`S3V{@c~&Sm@?ncIoQM6gwX`@)TU&+AbQ zcaoEM4N2%e3$4~h;etA>wIzepHs~sZyxer5!|9(b1h|TH+hS`UIXDMUhWO*g z-}CN9%kZ8zIjc%IfAntLT6Y+Y;Yh3(FBZ4&DESb_U;dVb&hcxij?A;m&yjkl zDYz7D@Xm-GT8FJ~#V59xA4tw`nJx}pPWe+DnI37+#f8J(Wua)vXMEOwCto5B=uV{H z)S|(+w=>Fw<9F&zJJ1x(E8YGrbJbYDzz#Ow3^k0j0ql$yP8~{K$*{sQ_&W(wPVsC1 zZ-IpC8>_1zfFPEWJ_4FL*YZv7rIb%x+(S3hrgBcr!$=cX!#rKA9NmCB z2h{1J$^-Kmpe4gR z)!`lap2$*=5bZn0LJ=1~HNkJbxglyoH}Ble%c(qa`8(cz^zuF@1*mXy@8nvYG_){N zOsMT@0{X*Ok6368>&1j=c&vqv=UX?W4c^JI^U`DLN6+U(co8EOi)EFkmVhz)R zO{4AoYj1Qq6j9Dq6vw;_PDrZlbjj22nnI&>&KG=b+tJyg>}kzTE^)gHD#k-RKX`P0 zSI>ZB8(y5UL)VP{va-iuWqUg6MAU7mThaNUvS#e#?|K8VsD6n8HZ7!N68+c(G~qzPQtyYaER@@^kcUG-UNT9u^Cb$fyqs2ADSoA7 z@>|*~uc(m+RB6)yzHRo00q4(@6ro|syA?3`Dz9R5Mzlo%i!duMgjjQ%S_EzM=-*f# z%@=MwR{6BdN6Sgg+qH!DvU+xME+NH8S>!y^GxNl)!)q)9d2IPowBHOrE5<($I()(K zLbU_87M~24WPn*Gac$Y4(Wm)J*SBLjQ7R>h;c`P7Ieu2l7}chBBPZ3LI$C^_#Y=;j za25Gl*)kh7FBdAmLD<4?OFk441b!DhfDTx!0815BakV*5C$eid!d*eaF^aGBiLISl z!Vf73X9buU3^sHdNG}MGuvgHGjW8+c|#InOIIj@9GWSJufRy+S@xbXQGLeo?H8(p2=miD}+Ntv+l(W@}djPeDn zJYkp2{bngc(9~U-CbJAg+Y1!TA;ZN!b!jw=;2W>Rz8QY9pNzXecv? zzbe$0SZtRPBD=*DE19-3OB()GETr$o>KFs`JMOOg3+s%tL^zQjwwH_{4!4%@TmJ`X zZywEd{{DY=mUgE5C`wUntrc4>v1?~as3kPyEw(TyO6-x?+nIK3A&i|^It@Y+qLv_u zrLC>@2C>A}+IO`V)wwgD@8@%$@Ar4^bAG@3zW*TJ=fpeY@Or(j>v}#P&(3^W%CPla zA*Fmh@wk!#WahX1lll9JG1PM|4N%Wki&XGh0=Ns$?o|-Y@_)k0XL{g)jB!U-&$_O2LL!qWB0-8A;XyhC_uC(9R&6RShxbh4g&+-DZ)v1Uc`uzt3#S$JrLxTq%^~k zdFQ<5xW*n>_n^(HZts(rw-)j#T?4M_BNqBh(~5qp?&vKIsT9|idhB9w1OnnKD3wN0 zZfLdQiOFttW$(NYS#)x@euykZZJZCR<*o#qig+lPNA3*K-{Dibm32x-P$HVRO?g&w z&}{8grEoEgnVYXBd{gfshi$Bygmf+P`IZO;fuWzj)7mz8 zYzB$CbiQ>s(fYx#0%rIK7Xtpm{p1uxz=BsrR!Q4+m{1bsmy;$9y%ueZ=ijHG*8r3+ zlRc*J?9e;*^En`6ymILN^lR5fSdyz!T!qJqgm?UUo)5xVGbmp=M4r16Xj}TmO%X~> zV}e&#@?B-XOTRpG*>-oY8O_pJtv*MK-}vk8)iIlE^@Ucs*(yVDVBGsxoHFBRcTxOv z-f$hlnkYjl%>($G>{@30V19B5XqAzZ7VA{sGnyBl(PQhL(U`94^F~aIulKM~E9s|1 z5f9D>&aJ;z7dG%12aaynRJ74Cnx=IOa%176U=VwBtH+(238jH| zyFX)}oh!<$xD2dv1|;WtFR^F{6b1Z>Q^y)q zk`Hm8qSL#WRU@55U}je9e?UQrs#C#f zmp$@VLcxA}(gS||zuPCQz|uDTP{U=D&etdl8$PZ*YaJPf@%S6irHqJMc=kYL&odcg zQQP765$&!aHk0Db`nVBU&CbFvW-7uZMiBjsQ6!Gz#Li1=d|F0-?#_sS1@yw;E(zq%q7&v#e z#32LhEJE(6HR?OTtNwlJ%!f5KPg>o0;NDDT(z8Vg+f^w_X}uY9#AqcWy0gBj;(OyA zuZoL5WoNetew?@*y%EZ~I?Njsb1YT}W5Yt-y{-B3^{wdqO$iVo4|zmkmgF@P03zjLP<$#X;2!gU$uSl*wDk7>bo<aFLxRa(P3 zAEpNlqI9Km`k-UB9ZL8JEnXPYcRGC%tc)OUqTBI?c~IHTwQN`I+|Q=vMrnHF5er@c z+$er|;!ZD2{$@%1cBe$4Z9CX;Q8|oH$D+Tgy;pOxXlrooJ?HLtY`LO4WMyvHU+4A& z1&>p-hGasovnswfVsz6sR?EfN(Hg;HvZuo(uY(hQba1uscF3?Qq{`nQvM}yQ_x#nu z4B^ROL*y_~CayVw)Uz!CE-1~BwKvlt}}2}k{PcX?#j|l#E$N${2JW^lo5I`Pey|LX%riTa;~{*ud;3o4#d3tr>SYt9oJ7NOzZk%paG)d8Ytk82PcgV zI-~MmJh)jv@vt7ef9ReP@}KuziyRzbxwdImWAsDKucV1vH5y4LWU(pT!tc$Rn1h8e^l#^{I--`TognuA>!s2#r zDM99Y4?f_YN51!pf#P}_Yu{_Z2LQ%$j`?&pcs<+Yl{mP&AFn^gm0~ysK#ww092zqC z$2}hL`ePZ)$DyZtU7&Tf&h46^J~j;lMJ3cygQ8GLu(4IHXHwjqY5TPg143mECfx$#Q@gc>aE(7-F5h`$a~Z*T=>X z$(XTgd7&u%s+qBDVc+9;t10hV-VBt@q4VcOPi@mm8+~mm>XTD~47X>HbP5ndR zdD?e!18=erWfKf*F9gmz;>^^d1gKb0H$!}(!qmUFiDUWI0G@sgovU%-U90fQ8_!Hx zvuFO@kMc!jXyHYCjDGkRfyGRs@{`kd{4k-;9(m6*iC5{qT9+>u-a>JNSF+kfz<6M3 zQ92C+UJWi#ZPdQ2M*HZ_)oB`ur&(m`b@{M4-4gWD<5cazHu(lWfS_);9K7^+A-)Zr z#jJlC)u)X3d#mdQrB|zW$8!0NHU}dKE(FjT5 z`1hl8CK8q_NlJEga$l`UH@hR0d>zPi>RUQ8+G&9(Qv+5qqW3vvOyo-%T7HcfDogW< zX7zD#OymuZof}2l<00NJ=r=qfW@kk#^G;Qs#Mj<@Gab0!Fx4k7AViH`xjJlLwwGuk zCr5T7bSP9-pcRt6Hzko&`w>m})E;=c8Hx)7RMC;sm(yGhk56=ol8OBX?ZB%0+xo&Q z)ZExRlLISd$PsBlv9yhfun@jrm5pIDP7L|6e=TktV;bCou=wosVuitH7S@Zbs||g3 zT$Zg$Y^vG}tOLD)`M1=h^l&x7AvT(f{zp(ATU9V_{-4i$q1PC?wFUP*Gp6*EAF(*x z3h<4#^|~&PH`4dND)^yZh)$k-|AZ>4K6JZg1o@`G*{gCiZa_R8Wg*zf*H(Y1J(i z8=rQ(xTM$4cki{0-c$G#-61x!pl~(8+&7bAd;7)1eXtWAGJ&VeLmde;0`CuqC_zR> z1o(QU<*fduXe+Dqn6_D7H#N&Jv9td9-OXUdXQ7;O;Hh>4EhB+g$#3YSL%anfx+7Kw zZcmO>9IFQ5$*mp-UZkn3uJ~XA!@l+Dg^2gBL}iffUuAmrd>_9SzKaL>)e-)9c9j7L zx3Yn4eV8CD(ObI@DP%+sRsO}-?naf9sn2Z8coYLR?uY0CJ$Y9@gKDvj|F)7+5$QNX zl`FJZ#XVl1hA%#LYIXH$*_zge7KGGj`J_q^X1r-MfsUr|!eh3Tz_q8zO6jP;+Fx@| z{%O|qpRV7OPF;lDLeh*=lW|>g2DT;xt02<@b&ppe_Ua2C?EM42NUUZz!XefNZgs6*=g36Sn@Yz#1lSn}@ zR0z_3xEJitFl<%lueB{xZwsBc4(F|Qf1lEEl^s0y;0F}9!h_n^o4uC_PzbZJO6yV3 z)LBVBTBZg?@?)BX*qZl3Va^ko{CgMe+nlfgEiE_Ije`}K@5rtF!A%MH+sl6Z6 zGyQWZNVcpcB+iD}4XB1hPVKLLNa0E-q|gYIU^<)ijAgjQy5w=D>kxf~OwpXV~5wbyx~xQVSo6C9#7$xFt=r+=C} znveBoM2iW@BOQl;6h&O)mx(QXJIRpTZ|PiZ3V}#bwjxt1|I>%w*RF*XxG8#QB|^2l zX@Ikc8`5j~?USBQAKz-p)$=#|>lasvYFB0U##FHct5z{ZtpNzAh&_dzk-knMyZzIM zhHMn!)gdEE%z&G}*H#Bn)3+%l#^zmHb%CEl8^edVRJ&s}TI2DI{+p$bW zAI$k2n7(^V1fao@$wm^(oAo=%W*4VOEulD09J$cA+q?W(tp;VeVX4TNh~l&rcaA`N zjt(7j<^q?T@?HcTYG+#C%}lGj^Yud2T{upCrpw+I=!&044l9e(<)(Esiu=UYnt_q& zO5gSvwp4|^nY5r8v4|88gxHpQteDP0*pI^Hvy$%zn8h_alxedvHASI{-Fek+x&k#@ zHop)zt${(RgFN`-ij=YJJ1ZxYyM}gWq6^|#;5xw`#PtNVD6NzU{<%^*_92`oIg8B` zDi(qVNv6QS+QBd|&~@DB`KtEQh|(10i{aEHsUdi}ti4fZE7Zmuz}@Mg-W6@lGJ{i? z)FqVE?_G^2wx!s$vvp4fg|Ea954*KBTkR<0G@O4mWk{ma{)ksyR%Pg<^xGV;9~@mQ z#x7NC8qwn8U%LdRkR&F-A+2V+2TjII6EPY(1Ly-dK*UPONpuj`r=4qXfoU(>>)T>g zenelUNTI&<|An#}_#y|YGZ@hjxYmdj@VMJz*@2&GQEY&f&#R|kUM}X0-FS1rQ*It5 ztu}Vt{}A+p?!HUgo^rS2@Acz_nA4IQ%5@J%R~}3HC`Je$3ObqhDGYcY-O!Jug;E>gyty8RXg)aO_|%8-_o-)jv}ZeN zA$nC=Qp@ET+U0TMUbwYGHzM#?DP{4x2-x|p@HC64->8GC_>OQCS$p?W+Ks@nAnnP&w;H5S||j{k7G*N)|7BH05d@XAH!&AWj(vrdRl?jOZs_U0e`XFMArv~ zN^5{D9SY9f$S-Pno6)loUJnXbk=|%!T^`@D8o%o6v98x0BNdVBRij~SxSC224jy1I zwOXn%;O_=z6Nh-;cqWf@o#G}D!MfXa#cUisV zV6WBdW#=8RpgC*mr?zY_k^1EGljRTQ*;EIJf=ES}CO5j*O>b$e!^2y|Q6;izG@wv0 z?kGaPDjq2T#;{M4&D(6i!AS8rLjW>Mj{dEdIaa6X*Zbyk$PKn-K>6`duqMca93ck; z8>zi;vy;p~Jm&+tr|vXG1-WHhU9{Y+rsUVC13{JUQ# ziHs0ougH;}UQUJ)= zSmwFxP{sC=RG6-zt$&}2l=^;Zj#g5Vs~SipJ<}Gf)q+tLh|A>$m_g^TyRNVWT6?{& z_RjWmwXNLsUtc=t>o8?UY*fSY8`Z{%MJ8g2P?6F_kgR~w(yFFPI+vjih>7Gq z;f!_%?tR!2@DgZmD9y*@O9aR9)YC{xXL!>PRyv985cq;imYY`l>Omx@gul%$xd_ta z`$#P(J2E9~*qvvnQyc8_Pa1qJt1KS8%f52K%Y`m|t_`u% z90wkxY$|Hx=*$0S&c;f@nRD&K-5i6$ASjCZ`zI)`t!V#?u1FP_zt}#>a8=PlXD*8N zkDp1TJJ$_QEO-(CKxmASSf_^kdrct2(@E%=(#>^y22x7{`K#3 z{CA$+j;*bSF#Njh@s9|d%z3YTX^(`7uD;mT-BmX(g%@m?<(zt07gOD=RBjg=Jw-l^ z)&$8-lvY{6>nwtVmWMg3s}S#9kbu>La@>CAi<@eKxBWTF*h{VcNd>DSj1VtpS_+4* zyFOwZGD;mN_lm~1pog}}vp;4IKe}i7@$gvX$X*NEVg4j=oK+m~+aa%Qjrbk|ukKJ+ zQ;|w~Fp-4fk}2APS|Cs$#9-;MNm|_|1Y=s|8x0m4&xX7tn7nn z-ozx+DofQ`^R{f&j`;C@^LE!mMNiKPTZNj>FFcOYjepku+VAwr&TH##@80dC-~NwY zwEPM1)KTpGC$Qye_icIS4Cj#_zWs91`e;Y(o1@P=#STKpGt(I7?%S%TG&hF-?>k1x zkty;ZiK3!sCMEgnNw;Uc8T}DihTal^01xK)&6|6N3fqNGd|>&SpeKApmt%*ltt_m4 z))ILruLagQopQD$2JQL=r)GT3-Te|d@J)b2F%_YF_9{iQvoK<5xG22Bs`00-?SwO9 z8t8YTkY}4PL9miQwFxqe44LxR!w2sLN$gTXh9QF-ky>@I4^ z*A1ZSd@kQ3rcmvu!+5SLIj#|Ev|-wG`&_n$ux`V8=}4lVMXj~Uk%0n{SEw0}z0kbu zQ4sa>+2vQHwosJF#}%KY-c@I!x?qsD57sNi>RNV(ybbYXqp~-HlIVH>!XvcBk_?rd z8vm)&G{Q(;Zns8mf4UMlAl>WlHE8aYFE#LCj$_b^QN@Cw<>-snCF*ePZU%ixHnjSHc19@{)cU3>@HxX8ogw^u3R+m4W>c#EkPWyO z@(30J!X+XkmP(nAOH1-IBEo$3ai9&!X5rX8yrzEGU2k||D|SDOYfrflJW>YGGPCwmO4Ek z@^{HPdpYTHY9yR0pL4+%q5rO3g24p~1{(q&e!l*yw)b7xc$X;2;RDE_&AqFNl=&ES z!`DY(?EwijNiCR55wyp}7wUXoitrQ#R%&pXnANY{44YwBHPjFrbyknpx-X^LmN?}c zt8D)Ko5z^Xh$AHQ(bksQ5M=_J3?OxP8y9%%b z+`xG0QZf}UUHCHO^h61MnKiNWA}YwA2Zi^O*vJvu5^$NdudfRmj)>`0Y(vy>^yHG% zK1CzAckZgU{-g-R{^+#vkO(SE#~ylkOYqE>z-85@X=fA}BiI*1Onq5Ek^2v{Oh_;u zyEx{57AaK;c=+nWcf0HNYTpk5uP1d z*JOPV3vR3sBU1 z1=l9M+xFRdLTVi~HN`dXMdh=tn7&A9W(g$3jn_?T@umy18KD&LyLEuomq?0YrBCv5 zzMgsh-agjjV;%ob-qba&XG1a1$@VwJLZ#Gd7Nii~FK z^7Yc9^;&UW*q0++j{=$-;>E%3{m^mjOiFUL`9`NlRi_m;ICQz(^>aNSNzyb@IK z)=Ysq=TeFhyNW$U2pmcoy`Avzc?$0sOcEa^lbe)>?Xmc%eR zTJPZ{&$csaZF>~jLdyhsMXy>}#ByB0dYAI|8RKYorhb7+{>70W6*k|DX60kfOQVaT zzF%WMBB4h(n#PjZi%Q#dVM2f_V^mal2ALO7puw7|jVpPXnJJ=m^5fd7&))lDULppT zdch|G2nl98aSR7za2{wj&=eHMkxv|+T>GK_(@^ib>|qJXb&C`AL7FVia@%gcp|(df zLCvTsqbF*kN*?&GDBhm>{l)2&wV)%C{x+Rja&bve=OHc^8zEnLu(#_BD^V;|Kr4Ua z(as-xb)G(1Co0i(WJ~f@s98!%=4lyID|uY7>-Hh|?{2JPs+}BWR%6a}*v_X5b-NY% zB6Y^7o;LEcsPV~;^Ms9$>rUqybwsG4xS11R+ryJe?tOJ_K{apTtLhyN0tqW(i>#U( z4tA{dYz$iPHNor8-{9_`pt;reJR4xo?py`Cx1R)J&J9=>6RJ*!XgYkKj68HfITQ-- z&5$dM?Htbxw{_75%i&AQ+D3Q3y1DvIS8I@Dp`a0@di+SFu~VMTsc*t+oGki<&rN2A zNk0#WKCO1k-T|V=@g5q?qh`cQZ7VlR7Boq*d8tZVgpXripPox_(W@C&M%I~MtUmkJ za?i#7oOYkXmd@{C4`?4r9yn5lSBbJ0Z3a|@uE9LSO+PdsjrGtPvyX}w53V;PmOkXn$PDu>fe6Sa^ zOrjJg0^BlovB2t~I?Eu(sq0l<9+*HG&Y9+8#>LI*7_Dn{1aHRPn>XG2tz}xw>j^Jj zi4mb)nH%PtW{b_`U%+qGQUL&U`&Q251@csBuz!TZzi@MIDH!-*tfjz6dieh+#Ke>& z=2?-1$2nh*|6I@OSINF`!LIT-WnHJAix1wIG(R3Xy11yfB^@j5sie_n>+}+&C={{h z>n_mAPh7l}>Zwhe2$IaDC^112TQhOk@`PHwtjD71qx~YC`r>D5;AmAT3ma%~sUgHx zGUS8NkPUTuuuWtNMDysQ){GZsIW0n37c^ekS{ArA^?32C@Vu=dyOPp^r!jrSHCV3P z%HmTp?#E$c)|4R>zPs`HhRCQ~YSqc}O)M8<2+yQVt1Ga>g~ECbl{|KEwSi;0=Lg;+ zhCZ(G`K6R{!%e+0_Js0Dk&1;`6e-_2W*3))L@-16U%zDqtTiTXY`Gj==qcf8?2+$M z=OHlT^Bn7!?iqM|E7iRUz9iPpHd=m}nyMZ{nA?Rod4~=fN#-?wfg1*aNc-C|@o-If->8CF z;4zckYvN#_woLI_aIJda?v_#EMreS&<9S}4cv#SOi9AD;r9hf=f56xznbx;bh*xXB ztHN#nzH+XQN102?myJ%9yfcr=Z5l!f<^2wZhVKHF>A4X<`=rI}|K5|x7Z)gP;8i9Z zPM~Mmd%N4N$aDImhdvdub>sF-GBzMngNA;%^?e6cBB{3z0%Mgw&+&yOR@~Up-Hj@+ zXef{1&CYph+}VMW@u;f#5VEN}w24&vvXcU_U`xK87p|+`|ChYQVz{en3`9Fld zADO#>5fAISYa@9qIs?(Htr>IuSZ9+76IAuXCgOvFA$Hhqi5sU1L+L7=9|1;?mS`m` zd2CaQmJoBt!{xorga-t5TV8IyD7Em}%ILW6wLV%LrQBnCDS>j;^E%oB?!YV8+DVPC z+S~L_gn5$w|0>}m$ES)u*xL-Ve*AUfb<4m&%jFQQ+i;N_InFNPBV zD{bot!=-6Yife_v*L#Yq>!&X#qV;dVHHTuJT1elH<;T;O{*GZsx{<4OKjg#&N~a0C z96yn33Hgy)9%7FLtl)<04pRP5Sftqyd4Pu|Y`bip{3-C) ziA5NsIq2B_#cWTn6Ya5RMR=M}Z8ZCa(Drj7WSgHyvw0zLj*afFYnAD%d54QJcibVW zy(rW43YIs=W?$g?1Rk6J5+*R#Ncd<;@u_k7y;JJjKrtkJP2|{uU)+fCS zm_qRSP*-|rZB`{JZfK*|l`}`I?bmBkIl!>_JGl?>xW#Tsj>s@i>cc|kNRv(w=2&DP1Jz4$#1)7vkg zlmO(IOs0BxNM5gf<84YFG;-F1Ny=4U`D27WqM}Ku&iJ^nX5Ee%&>v(`?ULp#04w1A z(A`vKrhV8f@`gZ}jXre>?sPlStgaJZw2gYKMN0nG*#X?1bT^#HalWi(cOjhUzk{Oa z6Bwm5SKfy=h)B7$>?t1Po@8k2r6TTj*V|NNC8@O}wO~@(=*u{6*Oe+#%CVt$<#zFK za{1?AJ4Z7#!}00quRV6-j!@07D4R=R{X!W!JoAsn_sQe_k1sTEe-O3xw+r)Q3=VJ= z`-ugnE4Cl(@~Wt8+r)?r`?%(4;tKUO8yhfoAmA&M&G+%VSYxz*u`7V2`Qwq-uWM|} zl)i|T%zA!}CoicuL+{FAqjw{jvxaYn@0km@sif~X(6jT8BJRm5xZRK(7xO_+?HSR_ zp#Tuh_tU|2mfiE~R~(C8*GJdj2*n2FX+=*r{gxa(u5@3_-?w;^#2Os13z(Od=gUBh z7mm_1l;KOk8_-2Mht9A=1+|o5g9em9)@u8lUa|{UdK`T3IN3N=5KsF zc-;9#&d3oDdcpsxgFilp`pq9ad=+ma;x8e=x6c!M8}qBwyuL_fg?ag+fsw(T%pPk` z+euaB>mxg5NZDj0#*Jf*TV}3{W!%a=w8jM??)Wjn637QA#et|5ti%owpqq$pZ}dTj z9M9=-|Ed-TjStuiwVEv0C%JJ$wRXsL?OR zJ}AN*M=SvlFC`C0x2(&jD)u`TS9G%?hiq25y1K5tEGH<=k$f;JOi!Y$kZ#T*tegV| z3;}NtMR|tU#-n93oji37{AF6lsv8~x^NMQ;V}hpa{SZ%jJ7MJE$8>iL4IHl zG{%rq2^PjR6@%~9mN#OpS%@~j1a${XsR51K(|~t*j5L4*2Peggv~E&4d^$swS}QBl ze(~8}tK2WZ3F`HSRoXQEADit|2^iu{b>uCsMB?6!x0`6UTdL^Ckzf|iCs?qrjAZ=K zxm3G`8cl=RNr5l&+A`PYyf;-Qz!14XE!DS&X?7`5-984A?$l~H+BY9R>29dxeOJz& zK#SYgrVRpv0Awcm%Uw{O(Yku(^ewL0wMEc`wYpsB zj6%3g@sM$K%Ti&jZG7bDe(w0;kk>DK^FPj@?=0&UFz$DQXV&Dn*DK~Pd29M z`~w?2Dhy###!YYn?DQkKwTB+Z2x@}D&9Q%<3dnTN+1I=tpCI%KGfu)BThmgCu!CX| zZ1^b;sg1fS?6%?MT#NF9DI6Fo8v>;Oh@a$1n6ae)Mm_ktN*BwFwPpe!KB`ByR9$16(8hn87OMoPZ z4Z$EP@0Q}?20v^Z;A^qbtvSA7-4`qqeq}jSz}Jg1X~YzKIZgl#^!QY6Y)Y~PX?A=o z<>)l{2>j!z)m+7iZJXZQ8cn?~&k7vnEup#`xYAD;2D>;z3@9a!G^&__oQhK-RO?d7wRZ4je^v)I5L4OpbSU}S_fW~%>xcx#vFOE=KAzc;^kTAW)e;3J;Yi<%&5E*DGb)hQ**Qauxi^k7!^G~x~6^&Utl9l z8|hja19-)wYdN?{Q>J_^F6)nKkn&Z1!LlVdLWVrK)i<20KDXYzp?a9?yGu{M7Z%kt zVytLt(oC^E{A z2a=O`*UI7J<>$cwK1BT4+7F|tBbisn&=I#w=Myez7-?*JP6Zdl%4ZoC$Z7-K=NK?C z4q&7Gjy$21a*Prc9O<1%GN;Yw+8N363oH1NtAj#OZ#}7zhV6~lqaHu_=CN4jZcWvk zkz}U*aUvkMUAHf7Wy(Okb37r^P4X;NCxa+gDRGLCPf;Gm=uVdbtgmbizD zWYn(PM3n-ykd7~BcT=Vk%OY8JZ?NS}8~41*>iS6y9QfsUUKB}+ zz*}X>b8c&RF0T&d)fbr;ydHnZNC&GgOSI8g4eNTn#??q62-+GcWby2jZ(C&)OJ;eT zkmK-u?_0H=cS;(I+S}zc1T8VbX&rEhsPPYG(pQE!uq8aDPeTdOJ0fBx3F3~2PFVJA zVHY@^lYIJWoF)m^aC)+i=&1{H4gVQq=uGv59fyrAs+DeGBuuOyQwCD^?kB-baexyj zp53PsK~j!VUkb|mQ-EWRFdsymwQK#jKC=$E?xLWuqPM)oc|oFTX8htA*_JF})Owcb zKZQx_x}5^AFtJ`+hI}X?+LXxJ4E}v8C@b@kkrqSJ=O8R&`0V^raas7v3MRx_%1Lqa zUhKzDRaM$?)f)11-Om^8pgp-lHsXz2?K!K-$%gyCecS!;)T#Mg>j*Kl>b#Dj7CDer_$|Aqw6U$F=A~;1Nw@nFGVYcYdD|-bAqBNZB;CnRa0FsuSPZcQo_foZ zFC?c9Ot)Kbx#schf-Fh$!Dc>teR_g$?M053<*iRqI0{q8TR!+8!A7hw-Z7=^0@`$R zf;{E(P{U4r6Y}yMZ^Ot@6TOL2xqez%8~cVoT;)7r2vM$-OE>3)i=-@r4h~~dRx>2Q zR?7*mrYy%PA%9iAu8T5151>$^<3oBirV7O8{Bd?u)Mlb2@yJWq$LWj<(`l3^O^;l_lFqs#5Ew;nf3fI zUtV5zIWI4}^3lKZvT?ZsgSy6VB$itchMyR8 zVL36f!Uv|(AHl0<=wJX?GBhYzn@&OGzeL}U{l>xjY7)MZS-a{OmoQr6V^hcr0Z~F| zmw7)?V0D*)KTq zw0}HFp@Wks-$OQ-++Db_$}+{fLqc1JeO}Pb&jF9BD>;}Lbj3E`_>BZ=|CN+oz~41+ zFEgYRE+m-tFP!Hj)_XyTQ1>5U|<`P9^;zD4<5NxpR(6PY=G2xQq9#EZ4xf*6wZ zdRws*ZaKmgLUvxHlDcW-j04aE4>vohfL`4>H^*TLUF=^7Iim7?a$0ONu)bsQ=k%kT zc1ewR+J?CAV3E0bU!~5TUrdd=LwSgNqbbbZmjk9>f?9z>k&>Ky;8Kd2B2GgwR(Jes zYPDR(Pah~=lNS}m{DQ5J#jZ;y;skjY?-dRj0R(B6mX-r1TR1g&PsL21^i18x{>vY@ zb|Oin+J{ysz4Dp7MV0T6k|_WsK{5@3#9)hAqwnevn!Mog=LBD5gSg~Es2Li&78tiw zP|j9U8)5a4%=*r^YXwQY_?Hz6JZL=p-t0SsQ;CD_MXnr36f*gk@^!hn*nWJf z#$*2p0o&wDE}e3SAO~b-^iHQJTiq#2E_>c5e=h^pJ-}RXiTnzRo3mEae~{-}uDQ+@ zHrGce^`O+-t2?Jlgz=sgvH1^25-;Lk?cMWm{)E{c`_}7#+a3A7I@wr=&L96V%OT6b z(PxuzQ2(mwQV&jhgD!VK0d?6eO{;#DLg@;RT|eQarx0j)m%QjrZCW?fKjjY!yDx|q zRl5;{A5jxtN%*KtW-uA=yG3ClRn19jdDk1tjX`xUjqaH;G`;4seX9v70v~te`Mo_! znElpPi+mPGC-@|X=j|TtH^1@xy78F0wPPWrp56m^y8PU*wzRIp*W+3#80x)WV%O^x z_6H@lD#b=1rC~;fxxw>Iw>padyjajNIC(qh#mxBcvN=Imt1^dukw7o*McJ8$Px69o3u!2_k8M9IjPH&D`dzI ze|I@Du=ps$%VvIUq1|`B7V5(Fu_S1=bISps?5`O2LPAOSOLpVB-18Y2nvuMih& zC)j_FXSowlpOCq}?M3uF-Z0QW>$U%SN5!N4618Uao;P@qg;CqIUee6lY0VUK$*Uh1 zbP4~Xvc@^E(o|)v zCLB*Cbm$;Yz;I(a*RL=`-n{S|0W?f~YuRPZy-du#X2ex8t2skoXH~bPx23ZA*Doi1 z4c{RyI$h~iF#GwHQh6-9-D(})&f5=zA0>^-SN#_TSMsIR_ zH5}HafAx*xU#8h6*;Q~7pDV@VjcsAYYhBCkA;xT2y<*^9>m9%3 z{AV_jvrkspVv{_B39syQx*bz-hexx~ENaEx z;PY4I74j--N}Sr&JdWV)%r1hTpDcu#Kg6y^A}r2U81sXMW#%yuH9uFKzfaXasG9t% z!*!GGx^a#v_hQR}X|&lQzAJsEGt2I2e6^*h{hc$H3r%@hHZN~R(*PqCbs#dCXVG;N zNkV5q*yT>=-#geCuVtm?YJIGo_Jd=`Gq!Ors+6<{pN1uVF7u{N3u#fh9uG2S2)ZF0 zZLW}tFd^VeNWZnNE>}#$gbx}BM(}p_X?@tq68YSP=8h~=aQ*ll=vP__f0*a9arKnt ze`4&^^-OW$IFo58@co~?{{&}<{8w-W%q)hnzE@RDo0qON@3D`)zlYzkwx`O(!jVG8 zwbI5VcqVZVlXb??@5Yt`PQ*Jp`LtffrV*=J}a zeZt$vQ}`$}cS#|HiWbYr5Vz+ov(2!!{#NarhwR$sioxyi1TY(pR?`Fz5L_`Mbx6%{ z831aTRewZ__6yFw@e|Z2o-$ZwcGaF7n)Kga2|1RgeUJyHs4` z_sfia{*FlD_fw=bu3UBomYQJ4IVG{rGRb?2axZ*uxXZYHQT+SVA8!}#T;3MC6v=OV zl==JS|JlvUo&YzT#H6>p?$TAxnUr@GuD1Nqq$oQ~x@98q_6ad7WbEnWRo!OoQ)kQ~ z|8vLm$b5#`*A%sl7XprQ+T#{KJZF0WJyWj3pbe|)*10FUrOjWS!Gm%HGio{m!1#I_F{fpr+1TcJ^_rkbNlS@fId!H_O|DSg1Xs@*Zf-50{FUhedGZ zI*%R3Ri3I%f2oii#g-LxHe5@ow=x&{T{OU*X4)xlrPEahmzRpLACUy6iW}c5t?&>w zjovDuxgpC*7R)zv(O-V+^BK>(2U3FRwDuVK73k{+UMUvqeH~(6(IfUt)=2(5<<*2t zp`9SEFAN_N2$I+ZuT6%B=Ec0SaDtnYc11--)o^1bENI-XyP$=AHAB;PqGgsrdyG#9 zaxl8l}rYQpHG!OfV_U zz39mEowQP^E*WXslsza=x*%Vd!lZx^2FPc$TrdaHIq(pg+BVu%8Jee|Q%aoc@uy;$ zDB9uXunt?~T5(B6hQM}{oLi87vReiXm4bmlETSQ+%GPolbm6~GN#BXuNGUeLG-!kEU zxikVoZ7)GB%o1yeO&(`tdX5uCSEH9^Ue;}PP_2m6r%#MnmnA9W$Sov) zW;@R_YVg9xZVfY+m9~;6((xnbyJw%ID)Qf83Eaz-!iTd8KVP4^y?D!hesaOL&O<&^ zBFTIvR?(vgV)}0On25RTuJIzQtJNYZBqg^myu^mGd9C!MZ|&OQ8J=LQ(fiok{4OY0 zV#JAH6rM5W6Cu1AD;9VKvSNsq{GWPvm>z zq3)v=NkkCS-sjJl$Kqp>DamxnY~F_Pj`;}=9~!IvK_|$Hb!x_5W?}eTzPG|&iWIbY zK--BHz08bD^`g^xv;ktCbm+;gId$kEJWx4oz$K5Bn0@Jr>Jn&$R`n1ZqY-mimqkhY!MMF2f6( zO_aIB$qg)msBBE%4V%iy%guQn^7hzZ;6qn^P zROylYo7u)3bp=dTEQK_-^~sjfBX{_O7fqZx&2%4OWVO!z2#uk#pH5Aoqi7;UGo z5(IEfwkec-5O~viHz7=({IF{NRvkJOHmBP!W?o8ixPqe8h4)5%EM1mTyGI;e#Nd48 zNU9>SUZKBG>P}u&sttE|+PX||oR)kzaHnjMP4P{%k!U2`x<+VAe>ZbUm^+8b#CziJ z4!;3dMFUl<*WwM79-UG?e7DBnw`l>yDiTl15;{}=4t8I=IQm!0#+XN<{!}l(Jl}D` zoQiA=g|4n?yRJ;M$?tM}O`iBGBA53@#nLKi6kGiaUct*!l`p)W2C?cYc%F}LEMZMg zt95E}Nd2sYVw|%7-F~dcGD41zbFQ_Ig;4v0cp{h7NCx550Uww#MAPVR`Jx_hx9Vc! zS93F=)ZxRbS?5%M4YyK6_vL9ub%A#X-)MFSD)@8vr@7+&0rt+6C;ru$Iwoi%khhQ#T;$4@p@MChehQqXeq@0;c3WLoSzFf zx9^GN+f?83B)4xep zf7i>pS{l+~K#$<$N2Cmd=(|D?CY7<&a`z^#QG@(_ulgyYS@dgJ_Cv?no;%~~=XWsB z0u!Z`u{uOr1J$xz6S9iXTven`ZGFsrXYcWStfFSvMyewlg>!VYOmg%g$h3GL_@T&F zK1T(_xSW75>JCbr?C*@)EIFRtM&Bl9EGXwzdn$2S@TE!WHIzhc!f5A& z5uqG`U7^8vVtqIbvU#%iXba@SM>7`>5a-@8eFR6(%+o|yh`*$3)4-SJflkVyyM8Ri z=hb!+`HE*nn{N_qrjpsx55!e!MLBgysR*vBg~7}hu%av^1Bsw?{Ac4T0uX3~0Cpe5 zF*6a+0OX0M5d$rU0-ZG{y1y;bLQG|Hs5qAQyx(QX zMiYTf8DR?Y4X^i?SYA@6v2q#OZ>1jv-r9EKX)f*yDXfgmnbu!%JG!1~Ey@C8Q9z|9 zHgiRN9_w8-jT()463O~&%58aBXFajZ;wl?1ZIv$@6u>U_>i*4`7&T)A!7(uN40~=G zQ`gaZJRrR>b%|;7e|H{+Bm-#4*ejA+Ze>Tux*_~X{ zPM%?u=B(Oa=fT=`PwG85nI6ft$zeaDg#c@CKsl`x1*kpL;;PGWNX$HN3Cor}|wzb~;#zlz+;rN8A3b|9al9v@v77!0%K@!d&XKEN~Qm>m%?hDl%O zU$)|dYd-(f;QPO+3^j53{Q%*hmpj5?O7uuB0H#eG&ZOM z^;MkPuU{2y_n}UH9YABhdc|%+sErn&5{_KDd;w#mlo3BZ$kgx#!_%6x#)gSajG5B& zhl9thipfu_s@mOZQ5BM!alz!4>^&l5ft+@nB9k(mQ&o_4JP+ z^84~D&s9(#*;di9T>Cy8l??Tw)fsOUZxNBuUm)Xjum<(s=XA#-gmFJ(t2*$S55gPV z9B))Q3gq>0^%#kAcHFg52sMOeZPQVcn{&}D2;>w>kVwcrdb_PB7l%|^Z!5ASw2DSC zW+tLfa(-M|3{d}s_44DVgIl3;wq^`h+>F&-OowHTp>SwFrt@T;-n_QClft*E;*{Cp z#;&Zs{)Q**6ar;2QN-b&4PfX74#O${7{XN)fT8{I{__*wIu*;U5KHJ^qBFJE<1yu0 zTcjVC=0PQfVTcFcomEMh!qrJ^i*uE$dTu12Ql3Sm*h-ORVm6|0xM^}c?jli1Io^Ac z(mt7UFz{EulF8N!P;TR40ma|2UT3e~D%>p@=|=QqmI%Iqd$1-3!qJOM6Q4W*cC<&- z4OB_&t(>U>Map)#ABt2|qX)Y^$5bSdU;GpSvoKglL>8ndb1j75Y2FWw{s=Fdis&!u zy)pYKBW}gSRGfab1t059@|9&&8pJ}4DN8x$GvydbR)wndYn#%EwGHMuN35IU5s9El z#8`%rmJEFOsfb~xBL#&kE=L0P8$v+Lcg__OiEpa}we&D!jPq`&281in7N2pbZ|IIy zSCQ{Bt=fJgpYj3Wmmy-P>He94vWr6MxU3;@fojT(%#{nZ>+ROb5VZ~1dxKF$)TRXG zM$@7A_Swj#; zaSpMTot5Q2DdpN?DGbn70mjd214455Z{K>l=ejL%s=lySL+dTJkbk-P(Sb5Ie)jUe303Vo7djLKaf5|g?H1_VNuMV|>}>}D)m<@BWioFLb7Y|z;K z(pOcBObDKu(TB}~jz2E(nlJZ`)0#L zkw@($))!@!MSa;>W$eVCFU%!kp1!0E^Y_%*@4l)* z&D>?hcE*MYzgrkPj2l(un^P#R3AlinRiT9KTJlgJ3Ft4aK?KU$3$s=>Yr-O|ERSsB zrNu4R8sCf}rsxmiFlY^C>Ui<+#}f%z+jV1g;U0^a?Hp`s=GLo;rbX*61Fr>E6Y$}vtl&Mej|rb^>{ecHthD#U%JK*+!@^RKQmdKwt_^_9 zohMYX)gmZX$Uv>tA>-m~-oX^ru);U;6G!xQi57*4mPQsOC0$uQNv{YUQ;7z>d$WDh z7*j%y|Hvfi9lW6GQkTS-ah*mw-Nylxgc0`6 zi}LmAE>lwUPhW`_3S_MlQCE&$VivWUruMFVmA#x^4x@;~>PmDqY_l#|OHu4%Y`haG zn|`I3y>1|X-Pd|ao}aK)i7zl8{W_MVdP$; z9w&)>C18{`7Mwd<8qMjY9D>g=Xing|2>np=yWZKShB?*3)~|Xgs8QkDWa&{ie|@=H zs1G$qZrLuor(zz2;pa!3yf{mGzK6eP`*CUL?w#YPN?A271q&xsW`7rb&CW&KnHOeGGoJPvtHM@x>qW)Pi$0}^ znz-1tX3$yy3so%55Ybo>@QiNtA%tX=G5pN3%Z}f}KunB0fb4>vq9>$V)LQH*12cL- zMcl%ag&cX^LooY5&2vng1C<@)pzj>xO<0MHw_{PBd908AOFGWd_S&~P0jy>boC z5kz|#!krL#DD`BV5M2N`qyg%(4Y&Gk>ckGDGyd9gN>1WOgwcM4*ui!31H>9dAvd;{ z6t2u-udPHO5depFVIo7y=}e$T{W-#hI3S_w@64ZQ!Atj5VsNEE%}W>NDwSZRhZv=% zmr7hqlO^myH{q~Q1>g6c-ys#{nq3c<*gH?M42ZMAS-BaM~e09 z5qOvILd|=Mf^tAc3GV_L771+d&48f;AY7PA#yso6R{uV?;GuG*&4S~g)TJt~-)zKCnqs%N(hUQ&XUX=~U1#L#z8 zzeOFQf~oET8(jul$QJ*@$1%`oDQN&;BJS0k#%F^~iCDBJI>6P23+y$m*A!Mt30<|8 zT|jg*e$3+eKYEFfe~xIPx->hJH0x6~QyP;8*k{q{*&}4y7Jx0yJaJH~Yq{q)5F_3Q zhzKjBjejpKZPtz4hXY>($m1yYR7N9skVN&2&m`pK=(B23iqAydYX1i6u zlvJwAfc`JqPoDfDipT%mLakD?wS$$}am7>1wetD-JvASvRr?WM)yqqlyAg`7V?i+x z?^K-gz4*AN*~a{p{obDcMl%5}c~K9^G2znmsZZnTezblF0iRxsNgo5?K9XvEN(=Nu z*^x7)=K#r!<;SJuBgJj@;~83FUE}MyYDVcid1@|pEjz&sMChDgEf6B z1n=;Y8~Rnd)pkahX5!unY(w;=kc!`g>J??)vc3pV!q2rb3f%;;nFFrh8~1lh!u(7+ z_s@p0(bVqi6x>;4A9k(BN&=#FyGBnu&dTzL5+{U|ibeQ}it!pf@#s8`c$ERODW=fc zxJn+^Rx7a@CNR5O$+BAUKE3*pjv(wP>SWty!~@Z_2JgOoxJsq|XJ-G)x(*WY2*K>j zu9138i3t)DhxPFv?^e} z6G8EwV@_WuO;kRy_aIS?0KC05uiyHu*8Ul1Z8rdc1BvE!+MM7{;NQ|X8U1g8(Y>0Z z2ITqgJ*)A9Dk_<`E`8E`{g2?%?3npXo9}n_Sib^f)!3pwjk1!KyAw{EV`04N$3}l& zN@{ugpO1U9nVH#Pur6oPqc}02Kr(rBS-RHpM9@1QT&}r_Kxk_2CieZ8t-SP?;-QN3MVu~a|1rI%8<%=o!DV!Wt5iTwJEnaoY zOv`ju?CK!-CaUd-EB)`kKOSn+tWXw&T6;7v*s_P7-|XNm5&*ky)gSDI=`RZk>!PQ? ziLI8xq#*XS{iu73CY`kBAMN~2bA=Wcp23^~$=&c4!2#62x)Mic5`T zQZRz$-&(KQ5tz9Ho|m01d^$cV;bCR`*dFVo+u=2%P)1s(0JgD+^Ede%Y?M zHLoV!=```XSdSepc-la$hj6m*+6|a)P$jd%8(;}~IYNaO#=2u&lF}QWyo&Bn^igt4 zZhUW@zt6RDSj(aU5=8!SB&AE<@u+W4UeOJ%9?ukzN#eGs{^bhQ8ozZ|o0cA2uh2ap z7)x#Dp+R}D^u`O}p_&W0u+M_ugO9h23+qLO%iV~tJcL~Nf}=`_YyPw*M#WtB>>gHt zmD71v)v&~~#%X`)j+HHTA6px%xRsMJ{fTtIpZcT+>QM0Z>imZ0G>t$c55qL#+2S7L z9DZA)Ir_JjM3x^wAXH<>W9MD_W#-(gOYD2%Ud*oWO1nGwg}Oeu%yRP;_LX-cCi`V6 z3>2Q2k2Xel->>W(0pf=5t1>1Pq!u{=d5xXUo@V<{L43yE;?wrD!2Z>?26GfSgsIME zd~J1=4sFi~j7l_P?Of_$4Lc21K8O&iaQj$wWzzXhdBgH0L%n+vRl}61eVVbj*OVyB zU_wG|AJI&}`e=)=LR;nx=#Ip`vz3UbBjCtxtI3G+1UcGvMS<({r`7IK-9=48-(e^L z)7U!}vRMxMi>aFkKOCr7E82&6}|`}#HMW{&4$xz6$4r`M>2u_>Vp z@R{@KVo+FfspVC*w?Dycbk~9h^tj(oWlf?jf=m;mz67H>6MdSyzC{jz&m`pL^OkIo ztD?m(CENxDQexX?*Q0Pi@;1vz+3M=Bf`4fRmmSZObVbr?td~`%?t1N9(E-9(4H=yU z3~3|vz7A1#IYvfquf*8*WPwIN00UF}*4nsperY>Ft> z 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

)C zrgaBNGscn^u@E{L(%tEBTU=!6hkrTX69{=GMdo_H;>t6Dwfvx0_Y{(~M9xhrZ>6ug__Ck(sCO!t#t8w7*mS+c?X4%JehM_P?&Cp&y?dLi`Q zk|V%uTzpo?-ovM-m@wc+_PJV;L?MCp+P{I3+EeS`nY^~Q`4`a>t5DS&;b$EGpsUzb z^1*^OGYHGsLA)KKA4ZN+A6-=fLY`vtQ9B|22RGew|1k-ky|H_XX%(Tk^XFIP+?JbM z7}tYi-%*)8#(lnJcmV49LEvS1s&^HpI3HC&*hr6EXp}_)CPh6app|*}fGMwOXH&F0 zNS!5nU9NcGMUu-kF@Z;F_pyKTjQzX-I)ORgsu_$fZ+qp=iD87U!!7qR`6`bv57Yn; zMLEix{;X${X+q?(d8QL7d_6<(OT6H<;4{3{gP|(HMN!^PJvs~^(WNF)!qo?}G7Jrl zM+0DtMlCbTed|<%iMRd-D*V~C#f$=S$70F)dbq_GM{mCiNc~rp^3SV;iKo&*lh4SY zC4&yi029sl{5pF7`h{0N$TPF9zn z9^?&!5anMl9|shCN%696DcC8*T?34p+eED>wkbZoKvg|>GEntc|7haq8h4IkESg#Kx`*j9?)LhdB3s8LV1@9XWxI(zwqC%v@CY0YcOgc^->S z=n~FS&T^+zM(4maT4gy}e~jI_p_SM;uA08W3zyHkN+>8SV6-R&txZKRcQ73?gy~R! zJZsELOvfMYY|BGVC+TW#;hujOdp{npF+*PM>MB)|B{o=du6I1MnCGz&!l9keG1=S%@qs@ z5OohDMPr=Ad2s7I_lSNmWfFgU7}j`^2}FEJJ9rk^4Y`gnO4J_jJVHe#*P(uVX#MIS zLe46bS#WoytI+C<+CP+VZlFUe`USd)Ru^!3yH5f0F$~`rI&)_9M)s-PQiI>ED=I=X zDA#0`78-CXNeqL#c9MfkM_g}YY>Nmk#^Z^8>HF()`KGxn@#Ndq;vJ%8wqJ}(A6u3hyL@1_~>GZ>02#YR`8gT93HmJ?4b_ zBR68u?9q+t_?{rGBX7zwPL!Ix(;(b|OOrvjGTZ6UW+a#$_V5ihIhhU+hV(@3sc1Q@ zx(*4|u!-H10_#wdSKW|t8u|irt8zEHBefl4{2K_>iqF9TarddUru>Ja{J&uR82E*n z@C{=U0}%j6z&e|}FGKjjM!%V4xsS>T@gnWwVKzX;E+y}rpxN(XqmSu6=i4TxiDH75 z=YpND#idb2vL80qs;d zvktUmF^xWJJlO&pu1m?@DKHNYvI6VvzX`dNS;b{QABCW^4f)D4T`;9Dc@}Q!b*|l( zyxz5DjdW$UX4da35oKO*gs{dcrAb5*sC=mu$^ZO&hx;e6ZVqEW_NL}r;fUh}X@}8e z_tYmQUj1b!e0bV7L56{m{264I;KsMl9GNz^&*ELtph37{r2K%WSrmNdjk61H=AC5C z-@7RjjgDXE(W(iQQ}E~@oz{mtk9~PFQpadlL(QE<7();lfuHOt0*OR(*ipK5QT~L~aWP=O7aA`Tvfj<1r?3#Y18iwpUv9rZr;8pdzYcZ{Wg- zT%W-s`}C1I{J1HWju&gJwfvDc0Lars%GKEn_6m(n$#+7 zebwy6$NA|>jR^LyMS{+|!)}3)_qC!R@!P%>#$bol9lKHctJ`|oO#Dir5f_Zb|HZqMT1UcH<2_(Duz~jS zt_vlwK<74Xh-NC8D)*1qF;NVt=p>hFD_=Kwz2R9M4t#IbM1RZ^T zy&Z@1)h^emi~3s9&PPC_eR+-Nj5#p$1XUl6oduP^>>QG3Jeus+Uu|1|?4Mi;Wr_Yc zmf+))EM&Y7WVy(F%_d1bH2KLIS%)!BX)SSb=DkSB&jdD))rA}Sj}IL|0v&8 zlvHgf+A^0LPU*&>KeIxxzDc zkl;J9z#tWv7AYi%)oWd8y)+GePEshMO8>f{d$wBAZ|%rpRZgs=fc0Rpy+S!>sm=6) zC3a=;w*_Wd93t@tBnN17Qnz*d1=!H`d5-9ZZs4CsYhtw7M!?4KO0IY3yU?|$q4_9L zt0J1yuUwC&%#km^V_hosBlBzA!Hc%v=dx_PsvSKFYAQydR=;O-8Hc$5R zEuVskZ(e3GBiU#1qyd>sr`Dj3#^kaHfyhFhOK?j%?Tk~Gzj1?*Ad*@vCmr4^O{ROy z^{BC!RUlGDVORl&_@VsZ-7@xeJy;= zt`#ta%FOi6X@k#0wzN{BcVD}SmO*63Bqg?bReoLo`WB=W)5YSih79}@B%I;xdsV5a zuYzWY5fL7%u1obj1jS)x6CpIthATI=2E05SC<1_Q)Fp$Lmg07B{+*OgnZ4ZCNT7<#|BJqBnn&!k)<(>}h*OyY>*lgU$ z(~MYMFhJ@o&dM>WV$Lc;$>>?o+{=JQ1?Fy&U&A)moj*HvHaI7toa7nko*Togh|&O2 zrOD)8K=H3fZ9(NHGa}HmV(GXgaPvugw3cKA)Rz*er5!q3`#`{o7pQSu&h^xGJfk}J zA%vVQeQLg|5sgn!9 zQ7F4^$(bGG-fOwk*`Yp56|8caX04Z4f~W(CuOe_)%glU_=&AF+&R|GqC$nn`;g(}z zS75qUuJ2IqsK!}d$Yz@e4ij0!GJXteq#MBwcmvZaINJqN5GzFfF&Rb}O|>v#;%Pf? z5=OM|(HO_w!ID6Bk4>g11KdSH-f|D7cV4?z2{my_?MU}|w7Rb@A$3cS)w3z5S$IAn zi(H=V(LV>JO;|MHYeqE!n4lJK^B$hlniQlHpmuP!lLq);mW!FQCIDX&Qf6pgsCa|- z;j8hp(mvIOPPw*2l^H_EZoeoz zjmE_EnU7}|8!<=Eh*{5!ouKrRV|DOb^W|wj;=S5J8o$$(|Y6lg`4M_P~AP|?Sk-StoHNOm9E=(oeIMGWLrOQ&mVOn+8*%Qlc zw5@u0hgt(=(sA0n{)vHl>-{(%{NOv}jacZ&R2HUv5pFw)Gfltgu|N9}*r*DzASYas zm8iJS*H?3~)stXbjsrtEE&z{w{}__o1)t1=JZ= z31gxtQAtqtCH=#!Lr4JKks~FM%Gg!>k@tR5UmLP z`}}^UjYP6j5&H?+IHavs&s+(IlY7N)*0% zQ!aKW?D8_#E5Y|HW62JiLJbpvfK8Yt)L`BgHP|!zy@qnNoH$cXa9=R)Jz`PeHHg(^ ze|KlikN>U}D!CTcOrilcs9Sk6f>q;u+b2Y7eXl&0OehaU7{Kd^TLuhoRGbCWZyWTu z$`OCMv;av2MG(ooH>L8PiS`B?zYUG!7|3h5Y3I_V6+yAmhJkijpQ?oPV`bhxWY)T) z*g<#hB(HR%3)vMZxs^r0Me))fsERS!B6%M(kt!8xwg%oowfoeEh&}iwsF*YQNBac+ zqAG63yuCKnb!goUs*o)onbrmKO@%zJJ; z>cnlv&^m+bh7&)6tDySyL64exCdqX}lORG3!3$-ZO2WdW&+Q78hM{ zEFNVXoPqH6s1Asj1_}^O+ko%5$2uVXgFr08KK~8c;?16E|65C5aek zyMqybk$gXbSjldI1r;13H%);5G{`YTD_@o~%-5aM7e^_mSY13H0<++1iT*N`3cOMzDaS zg}CaK(3-ENQsWs=;t1|aT7*a7HB--%r{Ut>#bq%o5$0rOlF`f8HF^oE<%Hc*kh_|6 zzMS9zuh*8W*~8e*G;86p)AM6GJKMhc`lO5?w!XC!a``jrrwb-4(O^YRWR8?A9N&96V#Bc#Gh7p#3#HM2Km$&fWJ@o$)cG2WX7P^MRMl4E} zyTU>R=Z%9&MuiH4&1a>oe$ab4QT4OYGcm*K?*MiC#LEVXG04Z{75P({i;rf5*c)i8 zIVv@G(qOTq{_XImimU_mm(Th19G&-ncI2A8-4)Xlf5{bUCOTSPuB53=t7;rY{;XT-Z|muHI}Pu^f0ce5Q;>RpiNl27Ef;tSzJu z?v)j8#qao`crIDXDYEY#2`IR4^{~Vq@LCr=?n4Wm(q8lIhUu`aqLo}x~ z7s<#sFq!F?4$pU9-oQ2`A49I73^OQ=x_b9g6f+|VQ?8A8UgOCUb4_$qFKB$!c<09y zeiuv>hVF^u#Q^RKMnEMV0cQK2TCl)%ZV6neC8xq_424;x=!HI$`7}q9o##g^>#XInGiwj^YB;UhGC zroY!$1tQ}j_Wo<5?%`cIhu&OuHWc;TDX5V$psL5D7+bWGAL(TsarDnIhrB zV}2YW!CZW~FhlV!5Rp5>_?T|4< zP<1ax|Bm3g?UL7zk%vpSYDS-&slu;@t-uCWd#Noh!D1yMS=lduYidQiZ6`l#9du3m z>eZTwz~3Ykkd03&jI0 zJh{(O+Ro_apd`IEs{7na9?T)SYWcE)Jf+QZENpFA{39b=c#z~y&YlPPbBgR<@Jmm= z{QedO*X$=f?;JI+_|5yWLv%}=digoiH1o;*1^jDlwLg{6B4k z-7B;bl5{P#Zx<)O4Ry?1Am8XhD$%3Iulst?2u{^_RgR1%&-X4=A_xP*w5J5LRYEvi zw*icPgE08zeC;sp@XiHY*Cdc9AB~kyly6w7W9nw)O3Zx$ zmyL0#2LlHpVu$u#|u%HQh*xa_+YuRfYnx6y)l>ZEjc7oVQd z%*|EN{N)tsC(~dq2($T4hdvkT>KFcL+a&T%ewzmoYZ-Q(cC;)!smnxOqT45;#2m%J ztK*}kK6`g0xh&o9M4_a+gTO~lpTT)+yrxT!w{&|XXZQ|5Nh_>G*A&02DlnnQ27{El zG{mb%Ue@8hcEk-|3+3#lmur~)`aWs@vVDR`W`i;J0qk+brwU{0b+`pIz<7o#W?4T6 zh>X*EUp9RlruMIdjy6eS;R9}5E}t2kJg07%POZ}Tn@e}M0N45J$3H+?xL1R}u%e@z z*A!FhCYI}A0?OZo0`%CcI9!05gJOg@77m4aN5=M%C_9V)`)SQz7} zjA8KHyrA)M!(}K^QC2;&pTFWCW%}LVhx7U>J%x?HjzGZkyo;%#0WKE+ zJSYIixfe1iEw-j1s@Hkh5)b10YW)qtiOM9Fc8ViFqwh4{&j1Y|{;Gojy<}~m`f2B) zH5{Fppr$w9X>(E?U46sU*J<jmp=uiVD`P6FIz7|d*N$9$*FmUa zq4#4weBCYR-H(6EE;>L?kJtIY@e=@aGr<<83X@)n2zTB~NiwSJZA?t9t$PBk^{9sX zK-9dPJ+IrWWI``vJyQXX^LdZlsJ=NA%>|cdp2LXiLUb_)-lm`8Ruqh((JcFf0ly{! z2;>fV`1vg0KGVgAm*{j2FVS(*QI8Rbut-RKXR;e|i;|;&SJu0eNm6rD_Q0(7(%5Cy zH`l2`iPf|DE0#)>9zJHR$IOg&f`x1e%w?OAx zj1uO3%CtKWh#qAl<^iB5DER&ML`_Yt^Ww$}kC7Cg>Z!*aAME{9%0*_1C(;6Jqe*Df z4ZD3I>Qf2B!{Vb4Jko~gNxmoS4@GNtwJPifhn}V6i-`(*!5+{_2n1@7oMSnz#2Fow ze79-gO(dcw=lN=^cT zTQs*Ew~zs?JcAmrJ38a0Ua8z!GA)N%1@%f(GGbL^;<*EZZAk85054EFSiYSf6=4*% z^*ZFImcNm-M8Sbl@#eXyDeSp+tr`RoecNYk-*#HRZB@(dCiN#ESFA1i( zJE(}q=t~ID9uO4XOjMI)JG0fz*$}_xx-?J{MvyQCswhBa@th6*FL+jN`{p6WvHUDd zG9P9|Dt6!gg@qkC+1s?7TjVk#VC<5Y@4z0~&}n`=RWtBIf9ME0Z{(vXUluh3NbcB` zH8g~H;8wieATJPzux8L8*lLv-C!y{eKh*vNXT3OL#Op|XD!|cSljn&^-wYW_Pu90> zRl0#y!k3msVwAbOh&jnRIU!`ERo60A z3Bj)wQ`Q@{w+HkByd?fQ(p)}hS_!@oa)2KjkAA`?X7~JW;qbjDRry-Y0vtEh75THD zR?yWfUv)ygtS)6pEbi&~JkKub8FYHm`$Nf%tyK~>Ks(sXp2VW|1O>7rk&5LDcm@ov z3x&O4zwcTBH}6j5o%`5eU#b(-t&rkwBobQ1`#akf+nK0OY(K;^C8`Ta!g!1&d~;T!G?ngxqDEQy=kclY5j9vzbsgwLdAdb~35t~M&qEjgUV>N1M}+^G^mI+qw=+1qdC zqFJ~+m?B;EbhF=CsV{d$Nb^&Y&?HRvH7fdzM9>(^g7abZ?eiG^P$|yQ47{ zt&gHzw+tHk#8T_v8uH!=_ znZklNR6T~B%Li;``;vLPR8N;GO5DkR2YaXQnlHfXy*2kjC8P8_>%~rdS&zxM-Ngyy z>AqhOoWo&QAg_u8wmapz$G(iDvzXwAK1K3wGhPS3F&xt)?k!abCAWfwQTCwY51*&H2t)4AJ7 zwNlBfJRi(62GM8d^3+g}xu&?|p<2GW%&Yh8iL{@21w-=n= zQb!_vN;=O*aqB*BA>l$9oE=tIw%QA}^4h)@o}N%Pyj21ae0&1t#6CN>AuwG)q)wiK z05yc3J_w{c=hV%lAc9F>vftJ1=WeC8KXebR_P7x!39;y$!aMRrbhc4X8M%7jXjHHt zL}zie>OwyRawJ;2CyG`)4F{?-I$HpN3EVFiF!R<_Z$;!$sz_wuw2*7p5YXo*y7r=5HGXB7ii%5+?ay+WPriBA!dvy78NRqn zoX<3k7*!~hFsn6X7=e;Tdw<<|CegAA`345;en=+is+&KtRSy?e7PYAa#(lv_KQ*7Y z;=Bug)zh9FqXD|hBZg@8yn({cP#H7=VI3)@bt&_#N7n4|s!J+HFK#oY0W-Q_`Fk2- zi8rgDS&*8 zY_qVKyq8 z@O@#2tB3N9NiBDzfA~TZn9y1r>COCY0Xa1accqd6vj|%NU5QacqCQ+)W4mJmz!lxd z0CA|E6Np$YcH~>-8e48^gg;sCB93^LFbC$5ly}C{p=xuU=Bd9VEAZgNWW^Ka=GU5AL z$Ob-Vt|eP=s9(bB=wFptO?J8BpZw)_Hqq6kx&dD_E!+15adAvuRiBg_i-q6T0RS+l&FOyvV6e{1i$y1#O~szDbi4Y( zvP&-C$f6MnyIg&Aq;&ZkTg2W71JzKAK0u_!TUUYo6KChELbXNC{JbG~oV6Hw*#u*o zYqHz=im+iC@NwcEX8WE&CTOn6Qd{5HTw}eOv;enHt=+!sQwZ2`d9l7wc1ut6U122o z^A%f))SEa(P+bs+qT({K>$=zU4KbOR@MeNfPQc?-u&x=EhTw_FA8$uQd1^lB&v$^C zNa8f9O2{)Wi*$SgO9LGy$5yIs6Fty@q5uiKUt-MA`U*3rzr=?nV~#54d7>zJOr|9d zu(XE2nn+K-q_YE9pvRMRxcN{uR1@+d&pz@@xuGHrAvR_O<;{JVIjXLXe$$1Ss{+iC z%=N?baT~cDHWe)U!9~kM4`Kn`KGuXsO^wyk14PJaKZb|n1qH7fOAQse_6=kBQqLno zT5N33xQh0XNZrcsk9g<(wODt->XZ#_x5`OjP##IRcGpPJPBX(iU6A@ra z=|y`VO)6F!yfj|8gETN-K)%_P_7A+3+w;{;P0^=2< zM@|k|FC^DA#h+~Ah2Gg{+;G)c$xNZ|q~v-y)qOgm3$KU1TQjS2h=Py0K_j2v|x#k128W88%x_zUA~y50Kd+r$c;;x z7dH|deMIxj^V$}Fu%Fu5uj20kyGvA;RD>FeT^*YYcJau#^x}Jvn1s)?xNKZmatceu zuX9gONH04c4EP8PME+=RX*%F}=Kx8hHW-J#N)+jBADJ%c)~O46Qis*A%9YD8D&z1s zr@K;n9^9QZ5+&ZH)vB)gFh?XdLT#)s+dw_6k^s_8D zZR}|5w37dE_ZLGEZ41sp*9yb+5expb^8kSYob;G*Fi70lTS!zLSoCwAm98^ylci4S z4-n~leUIk5y_`PHrG4k4i`0MTqss+d1NuQ0q2*WHZxr+Es>gyIL#d;KP6Ah}x}?`! zh0G}cC$)^-ZzcCWCzQ)bP1#UuDJ;#O<@YXhFH z-2-UZR3U8u1_shL1e^y4kirwlOiMT8sm0lyd1AGLE^*a6Zy2yLQBJccAJ-7n)<Cicy#Xj=G0g&5_3w2sW)geO7c(#-iaUJ08}CA2*hsN?sd=E%g(D&$o%TlB_@j~ z>T;LaHG!@xcCQ43Vw$KC{4o`Q#wmnFBDzv}xSwZ%2*T>Dxw=^|TQTG$VL39qPMw(y zmy-;vt;@}a_9c@ka{L+Sdhu@9R}Nhjtz9jQhTCSLCRI>cwp$N3uRuPE7A@h&+dlFS z{W$PpFj7u*s$1aVCD<*w-FALlONE}vxU>9k)EpnzXG!>RK)Nf;v%6WQB$XKo_VS{u zby7ZXWcg*IPU41$Q%>f{%quTyC+8xK@q)mLbOrp*Ru-tx&1LT1D_uQ_s+3*pvpIv) z?IJ2Ul;z(snf8iCu`>aY)G{bL!blg4m{a$geLKG#Fn6g`iM!c$!TO?&I*B) z(4e4J4PREyD>P+dbnnr{vjKStsC0N&myH}sv~D=1M7$9cKm;s5E)HzU-_G^ViI!3f z3;&!MIvqq_LWj@w&pfCfQ71_A&nmLBQ@W>si~>I9x*G?r3#L)zf*G(_$1(Y z!-v?e@;n6P%2o}#Ng!siaNOk!>HztU*^qBZ`>0M|yqs1$L|;Hrnm$Yek*E_Kb;d6W zoN7_Vc$!2_o=ajWiL1~qZ{X8%>h^T4OLfvITU?t^#xquc7G*R2yL_X(MwXmqY&xUeZS4kjM=8y zkvx%Ud~v$m{^q-2*g9dR&p;Xu*Ea$r5n#=--Kuu6fEuFbFbxm|^aBKW5wMvvJ!XVq zC$+~zpEtfq9!*#09fk?SG*)Dy2SQwyHHWXK!2l?^34-mW#eKHY=c5D5k()1;LyV>Ncvd5P&Jk;oHUcXDEdiE)}Ef!5a1kgY%*T$HgzX z(x6Sf#7!J~yPD_lciavSMA7&JM7CSaNyq8jNR(=}L@C22iI_AO-o;ZD@)k?FiXv8KizezY}ot!8)CARWgB0mWA7y{J9f(cFVf?5yzEz+#FVGgTP^gS>QRm=+j|H|_N3UOM~%ciy8yFW#cg zMv)7kp1$BclBRd5jU(G2$$AF``Zyd}oZXP$m%TspE8CTGpZ^-Ru^lUN&MH#vb_{AG z)hKT0hPkH1`wprTcNO(>PZ_5V@KVdFwnp8?MLp%r+Gy;iw^nWKwlrJ}g%aFqL( zrwEm06&H$|Ep>J zIoq?^Z`KjtrtY-Qxqa#B$uORXbj#H(T zYs(qV1AFIXHq0&kW`ij@s^jI8Q*!>}gYmVaeDu2y9n+5yd_EOBe+#>^Cn=?({MbzH z>BFdRi9G3wV@TKqKiAT|bLoCQS+{pX7o%Sf%s!t>E0RdLcfH}Mc4Wu-LGHFUuP5)_ zte?gD{&_@!f4DN*+DxV?9ftKo^~Fq(#slP*=~*Ix+T?r zo^X>P%T5K790RuJ2V7;#GE9Q1tQPD^q_@G0___Gj=+!P-tcKL_AQ!c6>|y!ZQD7Ho zE3lF>MlS0H*Onk#?3rk_1Ux;~@u94g{zst0L#|%`HBizc&YVW~sjTW?I_NDlXJ%&A z6}3KM<$7eA4Y&(qIuTHAbtlp}(@JyP=iagvb!qCXBH)M2LTKU&8buncCx>!KS7)+h zlg!S-dLYJ3-XxaTia07}D0OfyuVGo%=$^*osulzn|BICk^4GO-sYuOjO1OcpE8?0Z z|IKx$yA0{mn%o@QoE6nAhjaNOdrfS2%s&5h+iNWx1q#N?8o>od9S@(B=nEhubS@Y+ zpUwWR$4z=bAb>9ay7pbg(bz}NgJ3p*A{9A?vgdevNjSS!np|#_%LtI4CIzOHmb)Wt zae%&&Elf>0QtsOT@8mHHizK&bILn5dXH;ccH9hj8Ikz(F=VPZUtJ`4ND1j!dh>b@j z#M43=ArRlb>a3S;Uq0ghuozy@sif^7QEI`JYLFh%Y|vOSI-AV*)cfHJhglGWISElE z-F%{!Kw^&cj;vzs;?&V-bT-kZT-HMpjrANI-RFG%c_->PUc_W4yEGOO`j$EbgGDpQ>v61IH&Lv7q+vVlT z7$MwB?u%>@?7AL};U6c?++H8_NY_0-o|FU>Ts;8=bCWk{Cq$gF5Tk(6JZnvQ(WB}qLO$aDZ(?p{wR6znE zGbVuR%+Zz=IRD$K&h8IMewO>8bV-(QEMBe;Dx7vY8d+?qs^qCnQm1tpvPrL6=ZuZP z-JE1})89L6w$#CP$|tr#l{~I%|Et$PqZO+JgF{JFSW#jK`m22+zMAh4T zE;9;PHsb0B$_bxLdxZ(xNQPvj+HOqn1nG#)okeK31eot+0!)d8@Enl2hP#b3d${pp zM%~k7Va&5bBq+JEi#XNV-qy};t;J5w!O$Rqzc`y0|_zBf>o zY2Ey(P^I(gX9I3;4VB5;MiuqzL|zDKG;ft)!TT)B>sp>*yQn?H z(X_X$vrN`-M<z1I*@wMFAMlq>y2%77Bcg5w5h%_47gK3LJ0f6sP4z zIFFGCRq z4g3<|HqV@MDh!G|m*)9Qfl8i25#t1u+P9c*89w`b_Mx_ve4Ew0 z=#15&+QtnTkrw{w2W!mR1HZGK@3CoJe{cLW{di)*I@d{so`qM1jE#y>b#TiDPrB2l zs-oAfq80NjbTdWfT40>gE~;YFUFYlIkeH8W<=~S43+<<|fmLGE`4P8wSO-_|J{4>9 zhz04Z@AWwRGit=pkSj8YX?>~N*Y4^)e3bfs=CfJ;A!bdW2A~D^s z_7JbGjks^{sjO#v&Z_+-sQpXu>RJ8I-&$MNvR*ycckOy%$C1vz1hoQx2Cw|94AHPk zdGnyq4i#mCq`+G5#wO>@_g;E`PA}}w;I&ct&m*4y^JN4${tRlz{|sK&+xP!@#M(b! z=H!1S{+|{9p8x!ReyUWME5ddHi4ZMuDJ)H(C+BUJ?NeVk>Y(vVTRS}aeO)}uCy4lw zGszV1P%b=7vs)^kLK1eJk%AD8s;xL(rN9wTSghkQb;?}A6Dvo(YMY_6R_mVaanJYU zd>4qO8C$K+YxK#9vj+hU~ye_L^oKQ3zB$TomjSw~dbtP9l zjGcB%t2OOC7H^>Ob8UblU)m{J+;$;E=$0I*6n;iZMAI|Br_MQ-wQPcKpCD zw_|-F&q1x2W94|jWmjplzK}lkT*GQPDR|oH9?LTXl2*nx(|oHvC(+&8+z(JN>65uR zT;A{c`da&dB$!k5ABI(UOa6NQAO!CeR#*P++E2dgaP0vS^ zoy#WCo1MDMj}A|1^I1exs&V!~C5KMBOo%Fx~cAKL3(pa-Y z91pI2?w z?-d_pITFvOCY8Yh39WxMk(i2Z`FU6D2He7QA%X{z++3@74ha&>g!-lO^SD?`n55ar z7bm;6+Lzh8`>=TX_=PFGwiN{BEw&Q|KmTJ*{_A^gT5O=}QvJ&U&tul+50g+7207eN(F?p2gw zUyX1aqmJiRo1-YH^iTrb$rho@WjaeGUGUdoJ2TAZht+ZVFKQacSRa!T=6{n`CGnUD z&(OJ%{iyjj)U{ZV%prQ3Dd`&fQ@OAGu5iviUhiHI*+iM=t0WTi%p?Ak6Qj>cvdG8G zLYb6P3fIuq=LoP%&=4~2*=0e`>=v4377pHWxj5hUsT-oxrre4I-}{X8RK43_xhuQ( z5Dl*F_)^`M30UktjaQ%6+PP=_I~!K^jX@5mzbGA^YrAvp%cSNus4FKbss=#y?EbsJ z)!$e1sQuDBQwHtP-gZAkMyp=#R{k&2MO&<`E+I+TPYhWU*VT%+KTwNPdWp&*mx#?w zp#sLnE8+49T3T|4-U5Eoo*XkjVcF=M4baWu#}{L=t8!bHmb%)UJyT1o zNqi2+7qnkBWL%OHPRZ+jfUd~nD#*lfnZXn5f*C4!BFLN?D|nu+1GDB;Orxzaf}uHxdBgBd&RdzppR;_s7qZX3=9mF=9g>H5lHaY3=I z@4nc6nKg<-U443jLdS~;T+DfX#!wt)lddb_3XL~zcGkOgK}K4JegN)!gbl~O1+2$@ z{oX~Bd!AA2gUSvv=WwqdrYxZ<1}}zCN1s>Z_dfZ7R}C*Q0T{3?a48 zeZ;4ALG0g__Q4gEgfKlFFZgQ~+v|R3GtQ6bPNrE>ke*)%9+etWVS>4ODOKeXJrqlW zdv?>l?|ZI&HW)Od0H#4#SJ@_c3H4Iy;>Hf z%AUt4sJ*jT-w|TO=zNS1NW2GlQ@Gu?U@Hu~;QB4N6j`W}cs!+>9i3@{<=`W#0M1S; zX8Uqq2e>Eon#Bswb(X;_k%SMHyV8Lz6~|I?D~VjQ@i6;H0p1o=U7uNP3O#;jUwpkP zcqKSr{;(7Jw*IS9pE>ZMvU@6bK|G=tMYp9HAI8tOyTZO{K6^{aw`;iMa~135^)$-j z>Hv+GrI$4BnqRl|%~45hU2y%UWp8hn_F}@c2Q8gWryA+2Y&I2WienK*sw)MwA^s7 zzE$Dy^oAK&fXNb2m92UOh1Cc-Xoz{eiiVFjBGmK*L~@uMZ<6)X5lP%S^m?%Xd%PIh zup$rXRF;Kv+T~bX&$q~xJH&W(M{8a@61^GVKN^@tOpUyt81GO?Eo&Mf<~NTwj}t4E ze?Ibh`1!w10~ks0#O`129W5~2eYtp3qww5lYCNU433NHu^*~UoW>Hj1%GWgT9KL$b zxcS=g@&wZ|GhV?e6F$HM0|M9ef^;Ju@NSrl<7qyyiEJ2DZ*H=3bm)f*@I&_aH6q~0 zIB%Z*Ra81(Aamun3l`$4G5v=TP<@T|6}QcxNv@Qka$-4(jwe=aC`NX_p=ta$=tqzV z{5EzjxLmz@1ZwoZQXjA_lKf8x>_0un{~t9=*Z1OZ91gwG=0mRF0MbJ2PLhs3-$>Hn^A+OxmK+u-WVN=}w{$)EH!TUgAiUm1aTXH<2muehdl zs|{Sbg1Z-jLzfHE!?Wvm)WtTQ!L zp^QA;9f>nCX!Hn;jjg$n2jTJ-N62oDqwG9tW!RTuXqvo$P}65})wIH)wTGW`8+Iyz z9(~qu+_c%-qs@k9Y*JbI>_yDAOCk|Dk9jRBaN3Sv)A+1j=Ck+`vjR_lM@irSvX%SX z&Y$oFC&afnzoWXrXWClt>yIv>e-!?m?R4JzKTEg&DF*+uF8-e?_CG)`|M&L|B!@hm zqJA4R`*FY`YApR8&)AJGp6P#rrjB90X5<4hL4v|eG}w~?Lf9+);`wrRDnCbkV1c=~#h7wMcCcX;0>0-#qe}kzD*`e;2i92pG&>}-5#(^!x#t&~)<#mwsqy21!iMmM zoZQlSI<=qhIiJy7oBA}Biz_EU;1~{(<8beNlr1#JB_V^IT~UHH!_;*|7HL%2Nzk< z@yK|njUpAyrgLOdXfH4rH$!!G+C9T>Ju9BzP( zA^sE8z)T1iz`u9H3yTbF1{BH_m8YZFzxkwoo10L!=2Un0jrpC;wdz|EG`;g~6Mx&6 z$$+m*BvmEuzmDXK52t*UCC}`jo`tHuXUmEG>)P;D>(6p4HVr%JW1pO>kKfJ*Tc=;a z=aOhI5L`fS7Uqx6fqW(dikg789=z+wR2_m>E3%keqc&8*+pSC#$$G5l%X}8kGx+HL zVedV|+B){VQQ}^}4#t3KE?|QZ#ioc}64Q$y7zu%Brh`N=Ai#*0I04fM*rJGL1PCO7 zFhvy6OvhAHB+)UwgXzuStL$^n+1Y#NWaqrkdG3e%y!x`%%$ikZX=bfi|M``>T^6zd zO`PXFCUf&*MDlkxvQu;LMFwdjOMQf$qVIwy0`3d~Kq~eUTSA(rw<|?n&;1qw``N_O z(aDs?dbRp0daMYoPB*mIcUg7 zgORguv?Qf$snB1Zi{UFJn@p*ZIBkLnA{2}w6`I9!$4h*`720|raYtkb$AdF-HSDS0 zB+P#4V?_bN%4f%1^(w(C72mVdgDUpu0elDc- zgCx&UMag$oZcb}6+@G#Cj*F6|-x#TZ%eETo7C#}Z$8>46(q0T*s>P|Mh^8L_*l=tz zPJv5KAIRVY+N^!X@e5cfR(LR-cm467uaaUJU2JJ3H5|t@Au_)JzgM9$whve)yeZW& z824Ejk05TnDYIy8O7;x|mh_yX}Nng4iM_hq_{ zo#(Ih{Hl6Q<|VJrFY_r*J_MXY#Lk8v!AGe*c78ue!-Qx-1w$C12(RuhA|0SogS%0T zCT%j!4CLqckeNXsyCDOy%LAg6yt;@Dc4=nwN=0ZMS|VpppenIrt}6XQtyc=e&QQ7s zv%eXq67}QGk!y(l9EQ2oww+;}*+f6*Ra95D=xjQPzWQMGT{p+&#>%)GG}!|o-PRxa z>nGzome>{}YtH9)7Bp|rV8`ZH(W6AP1s!VN6>P+|=Ck(J_ifiWcKz4xXuwo<*$=hW zYK~bGZlc#LjnljUgb#wtOLcQo1ctZ-fd8++40j61}Zke8IxQ_9EvxnJN9A3AQs8qtW7W9i2v=?YLc$hq1WOkgnl zbXf1(9;CH+Lz@{w>J3RljzwHEHHyFFyQC}ar{;=X6;P)Kq@fEB%Pb+N*H1BJvpqE& z#jF}8gs4nE9fq9y%DUV{u$x(;qMXTazV`*p;r*m`Tq4?SFgis#0v0t(1NHqHnX+X)|95`w|IW`b z@Y(+t%JLt8pwGX@;LKdBM=Lr-I(}vP@R+7h;Ab*dhmJXfP%qVwIiLI;B@Bp4a5~qz zagv)R`(dE=e95h({ehJ-+zE$%A+$ zb(fCStR7H-lpwUPuyG0ENmzI!7g-;yEo`h#-Rh_TYGMWKG^h;tuli!KKFf#fQs0|s zG;|rUCz?X6t@bXOpP~~rjmv@HP5B=B#3!8^snB;5%q0UhT@P%t%3zBl(P6(~A9&b6 z3f$>Ra)eE*cf!{%O)Wl;9Z0kg0{w6lUQoG(8Rsoh*U}zxXNlp>Ph*Af;873wzcLL7 zFy=lcPr%i0|MA)R?@|{Y^d1mSy|^6zWBJWLc&z-po&RC`8FcyL9(0~_Z^VP}#G;k= z)DZTSsrdWTbHbVKaSp*YA#S*%oCjSty|cST$2aeM`cC=Vf7t(D6K4|3$9h6``Z6o3 zW9o`Bil=sWZVXV?Oc%4fwiEK6ZYLDPYJ7p%`fy~E#YLNw?>MFTM?Q|0tXtD^j=vkI zUHw^rDiFAo_oTUv0zy>)tbwe+EWs9&TTq?_i7=^87d*hPmLOfvLb5di}S;O z)H+Ek=jsRy)kU1Rvb31iNo%1VSzmECR%JLWW=+QjqllRU41>8R+Dzx|{ttoS|9U_F za?XXIuqOW&P71I5tHJ^3*gAwcHzzl=x;GI@ih(nXS1D_$lCZdYlCgb1+N21P;9?H_ z$i>8Rb&YuQlbd}79y_K{{h9^_G0AM#M`n7vJl#F8P&ss^*JWc!Uapt(a;`z1HYPiu ziyFcrogS8SCwu`gzch7w|G}vKo_P=e-Baq%eDR2f(q-MDeRuTUxv%4?!UAzd0Hjnffm(J4~vN! zm-Sb;!@te)fUf#wN*94O$!v9m+#c7W(s80w zU@@*KMth;&q5|;<9W&E2xYQ_9L~e~N^a!E&>Ah)gnU;@~^?ZYH*>3;v`8CJF4tYJV zlvE_E<&jQb!oSVNMaCuywwz;j^=uvNyG6r=M@*}${kryd=l1BCRGZ^l+iahlzB0w& zV(BZw8?X2}WoQ1tu>D^v`#;R_8Bg{)vsotN^wdVzAt9q%tJ(}j(j?^E%&&n(t;Jc* z;U^(hVR(>_#?5ZX^UyQ{{)rn@=!U_Y0q(AxUcro>U5Ht;{p%7gKnQKj`I z1Lp$0^N!j%k$+|Pzgk8s_y=oS4&|>*41ZwE(}cURU*6U=iw6AW_aL2n2CxM>nwshT z$)(;ZH-$a*gY3$yIF<9b6I7!8zdOM>-_d$`x=_iP^~8}n$HPc+vALgR_HYl`|IoNl z)>dnAb}=AjQuu8OZ+<25#<AgE`~?Lx8i(mB9+hi=O3C zb$y+hsz#H{W`+e_Ybt#0g*$nUNYU=*q__roE32|&u;Qs5<349&`uiF7KrI?-ATbT~ z4OdS!HujD9Wr_f7aGF4DV7<(6&=AZJZRLxKlA^(*fsVcjZT6u?3?=I&bu<*52megv zG*d7#io(8@aw?4TigUu4uDJS6YI;hR`Uadd%22W)Al_dq2H&?(U&vCxmb?qjes_Um z7n3T5M4zvzu)UXqhkbzKcBOZU*EbYF>>FPDPnD4%t2yW+7=B?vwO~)-fb4x#5H{;l z)w`k`TPJ35O1uZTgW~*LUzA;^yezt*C|F3rA3bm&HO{{)CrXz z3aHoN1;{sRGxvK3KEpB<79(1I*m4w(anKkoGsU`Fqzi}BoQnD76-q7?J@y8s6rytC zD+4a*5925B*>HClf{m>%ex*k|{YreE8Cqdw zV3Act?MM~0u6B(jCwAJS`#6mh`|48fHmWquesW6R9jB-w)i(6X0&mr}s=C?wdKr>y z&hfefy&Bx~m5J9yB^L%MCNmnM@dC0t{AA!xLm^n!@shGfWV%j5%c~B7*q% zB>hIxc)v0&E>1Ry6-L{;x_XkiX;=YR1eRauDR)5=Yc(dXXa3kDL*01CA!3q(*l$ry zJFK?G=K5=&yhcx+{UPKhJvadRCT>{X@-y(_!Oh~N;OegaRiO=?FKipXm^1OT+5Xi( z`rnnij=1pb_*AvUq=qvz-_p#d23(SucylFyLPcR1j_edpcr>E!Rkt_bNAqi7l#DrbPF$j=HtLZRc%e`W!dFP@H$Rm zVT#w`K?y?COk9pu{f(u*O4|z?|C$EbQcmfnbLcjB(*p9y&GY{^@Tj2UDmj7L12N` zo<5#Bu17R7epxOf%)`6_!tO?pcJ>1J%1f5Ki;_}bVlYA=rL9NCutBIiwAs)y^-vNa z62Qr^cKzwHwwxXZH#T*n$Y2+|W;Lan#Z9cl6~VD(mtG}|D$nDBt(7l!*2q85mr&+` zdS#mC=l7xJ(8eI-Oy#&0{v%a%+ll36Ns&M`C+qaBnU;e(vHQA5?Z(CVvkb2L>+cwk zOis{!-y$jy)Q!Avz|}b9eST=^IqgPqA509aKbDu19a^lx?XyVRWe6rLF<>B6!ymqZ zeIcAy%5i>zXVMdY_?-s!yyMy3%>~`^NBb>x%k_yr*fV*I7yO&M`_`KX6qWUJ~p~~#sx2;s~+4zna1T3PTKnRbRQ91w9mgj0?iO%hhFD8C6iiWm@;T_|CPKvTN z&97Y-i)*V{$Kf4!7mL;DVvZgdSjS_st^3aN*s8_2jVyqSLHnM)APDw3#++x73NP&0 zVTi17lxUK9o2|<1V68$SKG1^IXRIB|m}Q0tulVJN=CPIu!pSg=kY~1?-|L)df6eiW zXKj$LaYp*p-=`7~Azq4^Pd?Qp_tV%ILh1&@il?)o z(4azIfh^w9>0B{&tjrQNaOQh8H^$%*bKlY^UbESbXA8)BO}0d($K)h^tDncg{_%%M zk4qiIHFM5@4T|4mi3vJ40P9D!STC)_Fgprl7HLmi6C#@}^dFEw_!B;!>W0|m)OX+}2V&Z*E2zNSQZpDj0M5Cw> zRCll{Yxh9+Kx85C>JRsd0v>5EHi+|6i-Z(?=(gs>h(OOjJFJ zFz0E?ofF(wrsdrKDXBq1JfsD>{cGp{yJUX%*UtV2rEV5hXqD7It}h=5dU|92@xm60 zeiC{8^F94zWPr%_)nhkV>OFD0Yav2~Aw$2JZGE%&;~yO5_gP;)@Oo<=IK~vkteI4i zKt}Dg5An1x;?G-2B3nmwB}+e*>|Yxa5!uyES)(oDXXAl%AB$G(`bwK$cC*{x4t}L= z&S-b4(VFA+it)EOm@$G%jhx&Ekgv}S7w@T=jmw89RYjP z7D^T!b(oX~P8U@NF1N|y(Uz}STE8+`K9I(&6e{S?H%3fr_l0L{M!-*?;#4hl0e?sD zkjGt{w?G1^K6;kT{QlIkmSd-aSM<)oaq%+afN{{MLmkuD9jwCJ|}b__Okl)0B}tL<98XRSWF9uQcLBMKeIyPOZ@8hRW9Bd!DOV$!8 z1GhiQZ4GsN$o%2p9rb~_8`9{$`*;u>yFxr{t%_fcsIFY_gxHqPtqcxjCmGwN&L?^W zicWiYEQYUS6m4YjN^aYX=WO2&6CqzX6NH^q^uyw74MvoAmcbE|L4C%NiryLqp)#Wj zf;|Hqky_x7eKysdBjf9~VaqY`fjYhAGAmoJtz9fDwzi#!nPbs1Rhyb3+M}Yh5tq?( zU^g%RiV{Jv?@SuQ8l0OhjsdJ^V~DNqtO12D>-JeVlshn~8YNEdb(Bf()rtlJmY>3@ z-aVhEOHj1pjo8Q-ep6bA&N~?OY;ZKK5ZHKDchQ-znp26yK~E7 zZOcM7_A#}!%{x>!9b|bHizUCSZ}!<~$e($Jaz)*Q;2~^@pmjOuSPOu70+vrCUbV6SFS^dhTF# zc+f=bE*VK>7-AS1=X5mL+J4d3cX|Bl>S>6kj|P}-D7bb9mD!^zx9HDwR`}mMqb_q5 z8+5Zd?b+rs+O7Uh!;stNpylm((wYTkg--xlw+8g{53jv4pN0_g+F+ZnlO;dnz4v4} z6+MECzzBJ>DOiip@zHP*bU?dhu)c#J_Xpl;vco*5ZK3j6SptA}PzSJViTxn8v*NYu z!w+P8c`r1kd0TqRW#(ZlZDCTw<}ga?2zKDBrGIL)wCMip_vb}f`}>=CA2&9~%FV!m z1#rReLG@4J5lw1~-(-3Ih*etHooch@au0$1THE-$2$7moV$gCr+g}a}DT-y=jb|4P z$)w&HDWRDa0FjrGVTJBs{mEPtkDRnooYrFDbVM~_KUR@ha!|kHg#a?4W7h80Ak|{d zl9g3~{&Zey56+7jI%b36trkC(+Hly6K!H$y;(dK=gb~U|OPe~_+&oF>8UQId8r8n- z@t8|`y!U*tnd)08yP|B=Cqcuh6*^3GD1PTy$N7ru6LW3ik|RDr8%x-El5j2{d5yj} z?0`VCwli?q@TduSVK4b}9Ttg0_17on5s8W_-)7$Eq8hB2*(H#>2kHwVF)zxLTdWB! z64IL~kg}APRcs68-C#4_5~glId7gofO~1Kftp;%=<(Jc+6odP94+LW%oSthCEkS$( z5^VMJr{IkJ_I(|JvHe;|&u^krR%nQ-;8P9mr5c&&>Q3H(R0a>lSo~d!<@)^MIH2Xi ziaD=K|KWX9wtzcDa62u6fJGAcch)eznq6Yp^$0T^o`OnU3}|F@PF=SEqA|m+_`}@1;a@D=XWzR`IPoT%aOd50%VNU z@eXx-o`099D-H!w90`?bJUr3lAB#-{zbt_yijMtypXhFRuhxwM%NZ{2Z5;DrK8+9D zd0v94&+`5wRH_U_DE=)}nsKowBO@ar0{}A>2)krDG!rY6ZQ9E3%!tXJQ#ZI29&~AL zg=|Ga;2WeYde+?{iEMs(zxZgWhXg4$#r~bxpZ*Ww!o0)~GsD1#ovQAo2TS{nXr^=N zJ97VA!{4RP@{fBIR$BT?0mVvIg|d_T~+zHwlnNgyL*OZ$LxUP645!KE3=%jM}RO+9d> zUr!ne&#*co(@kSg(#eYvGlU|8ChuW3XQIl*B#Cu@51`8Jmt#q0fN{@k>Kj6H@KJNZ zcElK|y1M$q#NhnFBNniolAUeCPTW|=v3G8H^BQnGu)kc|I=!Wsp++0w^4Ygz|JY4> zJnF$boCnA+fuwRcw(ki=*o1-i$;$P?M4vtlLDRE2Kr5fGNWo zFzCuJ%A&HbJmjjsHGfXx!@@dqCrAKp05ZU|q*ow5+I<_%jj1vMG63^rwQdEI?%VBw zWe0S`QJ15J_XnIqEkpWG22o{rDnC z*e@@TA{q)cAXb+m^Dd}<^n|2kDaw3h!j8R2$qjvYL+Me}GVjt%jAA5D0+yobGWfxW zPr%sfN`hc`3|#yICyy*~7FvzJGTconl5Xzd&H{_`8gO*Df%~m2GqwvSw`U&04uSsvq=Y2VX60i$b z^Kxye-z(_0R{L}oJVFUZ;u{!}y?`n}kY{n*`(J}=nd>0+bBWepxXh1+x>VC3+Zj&T zC-E-55_b%PI6uT{Vpi&{tBb5Mnpv5+BD8 zMdp11OKOn_<2kF0U&LQI^8Q%5x|t}Q{4~WbzlP>cvs#JA7wqazh-vJVqZ0G{*-;ib zKC?^1Kd-|-b{(~GjEh&8qAO9CQ7(91j6$yY;33=3zfECW|7AhC@{6H3$vxxS*=ncE zz^#q0$J=`kGs((6fdZ3^0Y3fikNb_}k)*<40fm-&`X8KKyLr@psO$*{}cZblj~n9bYQD z5}&pu-{NiyPkk~MB#Q-042lA36$v{Kbt`V{b4xa>pPyyD%_8?TxR)C>=;(lWY+qgy z(4L71#|Xe^i!pzDjJ;=KIt%IvF|51}5qI`-hP)lo}@qCsGhgxGzGs*~t{O$%zjSC)i5U!{QZp8Slqb zra7ESw@AOuYHgz*&suQ!LYvN&s$w7%bal~eQvOsW5xrAxp=yI$P0j7e!uL?M!^4;6 zy^T>iw<-KUR%n!Ib07CWmw`}nKR+s?<06TEEa~UCQ#I^TWB2G;~}(xR%iM2V$#P$Ll4Y;_&Z)|ImS`+HFU(m&E7~N zpRk}@VC5x)6(lSGxzo3dr|Tf8AhCH^Am< z<8y%)w(eb4c}2x1vS~o(2sN!l)o;rXGC(VydA{{(wb=Q+aZ`GgKO#1=*BkF9wmb>C zwhBgzYmDXF0;TQlgH5XB_?69ZHS-Y{qmN}>YSp2-PUv|PZ&#okQAsEpCxpAt#A*H~ zJ%F+4;`${)JVpWTY%N++#l`Ciuj=(8F=Vt_Akh4Z+6Z5#sC$x|;s;@9mDOTV*Npih zxQ9{80AtvHr2J^3HlX{7^cHfpeqYZwPNleoY(hn#&0jrB!r}^v*#tG!12D4l<#j84pbWx{V) zt275M#kKsvB$e>#PpWlcG|}HUZaa!q_3~WZ?V$M;KB<*E2E)^@d^tp53&dP+Sa{@K zo*|6OAD`f#nSkDrsp)B4FBu%mLhcm6DuosV5ET%g&<*uI6xv9~`vWM{7T@yXnCAmq zf?iNvEcGf?5v?0>=YDvG^r~|mawBc~O)0xp$cP5b)ZPonUEF6r>rTY#o*bbW1ZKE^ zVZ37NeQSaz8(dCZ0O=&VzJPXkW6aCYsdfsk5vVXoUev7N`dLE8#x^RLxq+59RwS## z0njy3jyB_sfj&a+GLR!M0weMn9yW?eRdf>6`S{VIRPlmBC&(N9`Dr_OkjgtVf~k@Y z(;_^#s=e0qp)`~$+&2+dqa8cIVn!snS>*=wl`*8r!BxSAtRD|eB+LPub>|zHp&qa` z2vkRvoq@YQfl}2<_1NGL;N(VMAHKZVQBy22>|R;19&?&s?4M0x>T_2gi4igPfUzd2kwDF z(^x9axeCe^o~h4tCilg6tW*Qg4$0U%<-`kb&CgDdS!EtFq^cj_r7WM zjbJ>>dD2bCBQooDM~!{Ta{8kHGQ|3JM8mhEOacQ^;1zLBuQ@+rYLbvy`nGb`)0&*% z4;>pn<*UBWC9{ikXsxD^4!D2*a>dDElC&+zbNRSG!Mfef0l1{64y*MDN5>`Z|0$_T|L_)<=EKO*g1VBr8H}xaQXC{HY?a z`Poja`=r5%4~-EAR5-fL0iENpT~I#CW}d_G1TD|$X)iBjx#>T4|BhZ9Ifv}E3j#-j zfb=-6^Q!WhZ>mCHo4#b2UYh#T5V;xxBG{kcHkqi4%BzU|tbo*(zFKLz6(8TZiP@aS zI0wOJGZ9OpRibZXFlMM-xQ=M|SEdSsoInPKp1uC2n?~e4-LOuOU1Y+5Vcw_gyNFqj zy4O0wYqHBkR+;Qy)JC~lzG(V+i{k`RvFVO}E2Q;t1r&vKaOu#pRMXE%BQo#C9PVP! z{HTt}GFP7Nktu5_IT}@}lWR+giH{-(rlAa;!DJug72M`Om^9u6NESdw3e4yF>&wj2 z$Fk4LrLwY_6!Yv3gdiJhOQHPUcK2}=YM5Ip2>x+%f&8)MWFh;p5v(%n=h`(5(EKvP zP`Y0{4Roo71-td6GxN~g`#lsGdxdJySw^c;jf6^YriMJ(7aYlI`;nq~qhp zknKBELKGJJh);TO`oXMyX7T7ZfqLW0TYIWT&ynEgDVZFYVtOP5r zmSLgPwaau?;^Ch(X(lGwKum|LUV2poyt7M;`+-IyXla?3(XWL^TXiz?K9LnDR3o;? ztl2JO?vAJm=VJBoDg|TKf?m6-Rld?I3o3H@eo<>Z!7NQ|?&yD}ToZmfrFi&nT^y0_j zBBN-pcD}*eSY&sMvG@_2Z%K)NUQ3v>BrqC*x$R3cRwzWn8y1BvVpsn}aC^(RD1AUs#NfwmPoR=b*a{@9WQkPiwl~2iGYrnY5f9RE$HnI+%ZCIVS)3pSST3mKW7J z(lbj#6tk+p4#C$FcGR!b_jHU-5n{U}?AdCXXY&TM?B%c?QD`yaj zc3H`M;Tu%Q54CKO4Qv8Gu?8*ir!GhoLvby2U{B}rC}5G``yRnTb%y&SqA3K~rf#TP zA~AoqCB-31WOScNqA?R7=?Ka zu+;5(<>vSxKbGTe$=*c_wRlmSit7lPf|!-I?3Wqq11|^`E@ii$O<#WCT9ELS2?{zp zLdkyn)5$#`dMYdWJxB-}(0gQ6sPiDDes5{evKB&An%x}RmhAR$ zI5g}fgfGZTuTSOykn}uD+1;#bPIKZm_O!dNt~#3B_Q5O}X?HBXg(W*p{L~x3eX?jZ zzlro0r#N&&}7b7yq!%zT^7%&!~2U5v=8U0gHeBBY~evXg$2myfw5TncG z-Hs~@_=x*hegZxsUCtv0rB*SQ(aNLYm|J(1`iiMr4UV_fVeuJp>}wNYXNAoJS9+8Q zQ3Uw{6M|3r%4?#-sESlz)j~2y{)!uIIq&I^Gu(C}5*5bpjW$5M)*?q%7c7BxP@hfi z374ZsMa1_!15E%FK(tyU+(tLN@Mc1e&P@bqWg*4rskCntR={FzX}r%!UvG$lT>v@) z-`L5FxPs(*vrCA9)$y%PzxaB_@<~bMJpaDBUJ%z$8vzose`dC{*CbZoPFShtFPdJF z5^$_vahVZlRqBlPOXRGu>3ZLo#KYdeYBfZ>XL7%QY8)(!O5q{^JR~3#?52?WtvT~@ zuoeH$w`SKgSc=#CbyI!D0ge&1y74Lx`@S-5RGdzO?OfU4q{1A|dDfxyT4MM0$sAEN ztSdm?8Y967i}1x+L_BO>JgT7!h0O9;fUfF$@2n?s{^DO}84|Nkl}9jcSEgYMDld zkZCeasN}nEmf!wChxxCpvm*`3s^2bm^5xop1;)c#|Mal?2cBk4uB{J6#k zbGI^%03R_dU58za{ibMM-b=ytl84EI2-x53W!O%kQpN|Kv}u(UCA57Hlbk z>E<&xodq3oS}6#I)AEdA5d--C@Y6@Ez4Yo|otSvAW+Cs%?^8M0$+6glzT`*4g{Qanna-5|SqSTF$y89BZ*1!egDBpq z8Zw6T;W-XQfupO8noHE$D4HtvD53KMCY#GkYB8MOC!_3R+mg%!5b_b9doJkdvwhZB z&B@Vyk-kwtf*&tGJ&Xvghn#|YFQvCn^f<|GC)aw-svCh|#<=R^-IT?FuvlVZwb(+B z$5cIKwfg;y@j|{|kHGlVBVDAKX*fyUwZFI{q9)BqnhvIejZ>|}IC;)bP@4R3Fx0V| zei`})VtglWUlnX`nc@D$%aBtcJQu&{zzwj-9ooJ+zP^EYmh*0K8irR;*_HfY5?Qz7 z0Y{wN$UqPY>poOYz~ML$WKopi!qaLXyV=}cwX^JSv<|p$cPO* z;q3$R5+S8}b`X$Z+w760FBxD3b`9w^{i-^q&NNTViv->WNki_WeV=q9|Mv#r;jMz0 z+6}L40b2mpL*57o2Kj(xx;_pkDS0_ITzJ@3zTTABok80E7|ua)d3g>_8;8fodU@2pY+s|b&)OMr4{8x% z5%`8Gqm#Hq)tH@3;{xEI9d2$2n>_wdg~ydNQ>ysFRk<<>Vu0zX!LQBa1VEgbWLysZ ztH1m=E2d6Dx4VRIdahlJSz9cMzr(?mi%}6X5DT)!?jMw^a%@vZa@>ZF9hcX#yafRP zXr;|55uOxC0Kw^8fDiRex8F>AKA!QVF}I{nn{jq_UV8)H8}*S!4wl7BUb+{NPt)Qt z;--<=7!+Mrwq}IHL599Jcr!yhq`Ydsd+mhpRVEoak&(Z=k&)4}KgQ%ThVS&n?a9p> zwh%U`aygP4GQUenc_*H9RF9kgfhE`(O=~bcB4h`FZfTmIW905UIC!-4c7Lnu_L6C*TOQ2&3gfA z+(QpnZw|o|m66AToqU238=Cu%j&kLq#g2*?(MecLYR{tu6L;%seGLhdH%mnTZl9wPMKkWs66fX1aNF(Mlz`jGC z8ZXi7rRDoJz9Sq%ig8_Dc;wH@4$c2q9=Q9Z(>i9)gVb#0kKl?dx(?Qm;2Al|A5k*V zL5)}69FPF(_Y^A!y}rIZJ6{!RqD-IzkzjD2k>Qk-yoRrvMSZJI+K}!~=C6t&PjY+Y z2CA~Fs-f~DK9crYszq8kX~zEHYEt6V_TM5~dWrKKrTSvGh)RIP<&5NvPh(#754}0% zH>kIq#2(KS$pUn>prAA0rVFzy0k?`KQdZ&nPbH)^e)}|&o_6puJ35{=j0E1X$Wf~I zax=%wWNCUt7d?7E);t=H!N=HH-ARylBxyL7Yj?Zlbu$Yd3#_l9ceKgK-OB*YLaj|k zIA|cKRso4&Rjo1&*-tbJG4f-4s0lOaKHnEyt0a*m$?ywc|ICvVqaCf(He#r*xe2(Ea!2EV1~$J;(Ks()A>4<+fEv8$@@n*#+p`(h z-utC>hZhQrT`Xhg-VEvPyk)W!BAA9hP7B zp1&QQ5yNJYUS5{4T;hTR5^Oh|PZT44t2YHSz*GHm-jo4@L6<}TF z#58K45Moezvg^ZiCh^Z^`~I^MOiX9uLzWn9>Jg7qf@Pm}{Z9K=rZw5GOc3$KznA$d zYu`k8p91RB!p#0-`J=;+e`T*fER*X-QAQtzo|LC9|C%K6O7%6ZewBgtz2Y>QJ#3w9 zJ?c`2zwCX>`%oEi+H&#W+w1=*VgHARWMuyD5NKYA`Yc>HK z7mB$h1Uyw!pO?|B-EQDltp;lt))0`pSu)Q(gx$?&EUfJs%Ezi&SgDgFFs=Re{=j;< z&YY_or0;~gidm2DVFVq@Gu8BV?FBYWBsWe?S9@}Ak#}}>6a`^skIZyRaxtUsP2>b? z*ITkBL04aLs$livYzulr3)HFh$aQZd!_7iBai?|Nb%GFN_f zr+U@sd#L5v6`QwViSechouc6j&Z!*{4Fv&7%~Sz|KiI2yT~kVQ(=KhUkM)i|fp~iO zQz&Uy0)jLqm4vyjO94wkV+L&3do()8DRj^#X;Jmr&+W6(!Z6ewGj4h=_)VSwp8x{~zIU`ef|O1kEb77)Tq1sP`<={4uRY>OY3Y4`D7lVfAq*E=u_i%o?pZl}c) zj+Y_Qhp$|EmCGORDQA@p8kuk2mMRu-0a(zrhepMu0kI~ZXDW$Jb!LLY`xR3sNu^in zR8rjBvJL@)vFA^hz|}D+RS*hb$yKJjx^i@gS8Qmu8wE0A0DvX(Qc-CVCW19~N_xna z%9nV!I~4N)L71~{Ow=`Bl+W@=Wy3+`b!F1i1nLttXnYfIGo4bE8Pr3BsP?I9W{pkN=nONitm`Z&L8Fg}pV;3d&nJ zk1ox_{HW$)?CeG|V0DOXoeV%Ao|j?#z_97uHWn0YuXg)Xm|oIYdd60XFMt9bv~sGF zL2))lYpOgnjR6P5`)EW2TKqsp5f<~zJqyUgI04SErtM_Kz&TXwI!_uy`A^2V2a~q` zeiE6Y6;Y8?mo|ZFZ&lz8;QSrOflFn$_ZTr2Bf z$jf`8d50MLup%v@ZeJ7y#FKvGDcvkvBZ(y^COI-2hDuIe8zUug69DEK4_L}$byG~z z2ef$eqhr{S+VVXL&SAOn$Nrzv_PPRm&8ND~hA%D?XEK~1V9NQh3mR-0q~H}a5&{QG z8zkMUToWc+eLI}G?q8XD-O|0^R=mTM>$~DS=^^>Tx!~j1c^U2)zc*G@sI?InLi%RC z;YQUuBCcDCx$U~+-W|O+h5%vu26AKaD-%3#xg6C?0k|MUB#rqR&M_lPItBTNj7bxf^_sbTW17^I9Eb@0P zfmRCq==ZLxP_J754kVH{lQXVmz+z@~+nd{^-V#NNe^vE;i5`pViA(bv8UbdZ0lJvg z_o>tF#z>-^>;=ebaxTJ8{@QV%wYt_KxG*EFVbEnt}#5zn_Fu?p7@-xfNU0IiVq5|G+Db z#Xi^)wzbVHVaak;b{TGgQ6c4yc)wO{oin&R7(TeD7V64bde+P19PXLjRd1eXPidCm zl>zAJVtRJU^&PAAYavI4U)X6-ZY5u#bYi^WCC~Aq-nxYPZF9CGfDnyXM3K|V`0kq@ z!!GiUULR^p&OEF7#Z8f`O{Qs2VqWNd?^h-sy}u!{q)K{6{}O+bXRh>~RL8D+ZjITN z2M_%R=#!2}7$M+1INp$LB-UhU$nNF%x;SM zpa#b{-~Tx^{_}V3)HP~5MSQ)+xS%+=`i;6ba(U44pvLz`B>esGf}m3%0{1IjUU5r6 z@^Py_&35d4XP|~n4ta#EZ0;PSjxluY*g@a zr;<@f`LG*=-LRk>=0pe;!l!UAqBqG#yfL_#j&ucO#aZI;fV1MYzJn)I(eLJOSB3y-?5@uu5_@))#F_#bYur;}r(KYpxxIOP~R8aOi z%K=^o6_GNtLLaX&r-CXog7BwEZJPvbpTKC%m0p?q>U2vTi4L<@r6N32qU=AvyLP7e zR&4q{H!N0el$)tWT4}uicb1gO|A)iNSkb+rFa}vh)DP( z4xhygBg8pim=^+205E@{Hhho@VFg+N@?RB~YL(m(Qvr^gmU7+SOCOy)ZNVTP(*NbCXHQ5ni<)!y%jVlEnL;V&e!On?AhEsekZx$v9+kIJIXnIkN`;uFxJ*QHF37unvKFE^Xk&urUI zt8RHNAhO1O^^V-&I)L9wqN{gNIg%~}Ltq#4^D*&=z_$T1;%?8*bwvw%n0Y#Wn-?(7 ztFMtzH-@2T2doFeN%0YFUzx%OHJ~`Ow%cd=^a(F1Bgt_1%XHepMb7#*9zyKoFPm{% zPdvB4M>BSDKixe+aRm}XIz{UbBrA4{lhe>Dl|wV1v{kLbtO1i-osUkL3r}1f8K@n4 zNRT!|Bbml}5OQ!goN1Wy?Vk;abXXYhjwDqn7V)7lbnwjc!RX)M9qTl`zrj0T@Y8Kp z)Yw3@L!yOk;BcEv+Bd&AryF@vdg95*^?NaLb)HMD=p#Hb1}6Ikk&C5%Vsy1Fc4Ug}rr=P1_t!JLJ!+u_<4& z2R@E{ddcl7cFYKYyH8_|CJ?6G*DXzIvUnPmDukAE6rDIU3aM9a&Ej0Mpm#e;5H2)Pe?N|LOwP0 z3ZCV#H5H2J$osyF6Auc>Ov@ zvz&9k`QFc>uGt6pB6tAgj)D8%HJwH3YkJ7~Gu{!HMLbP+EzLK&cVqE=0D0O|#Po&3Ru7M>sPR=LV|SlCbdmb{ z%93X6)75(^!x6#nY0Q_CUJ$-A>A2(+7T`1JF8PF??x$}S7kFpGD}ruZ6iQ3a#q>47K8T}PU(u1P>ca80)iw&Ct~ zV$*kT&=npa5*^}i(bnam*0u64_M?#FweU8f*VP8fYd&dhGM$p{i1`uNZ0{(&ZE1#X zoZ|I*$onj}!vtHyi|c0?0&Pnhk`~M9F6G@Ozsg+V<9TY}My#$O0~i8uGi8e+Nv!rH zPa7WfgP+;wOdgfOmi*+8MvfnVlvq9FxyP4oHzRz!F@w|>1guYDRAzvW!}|A*=TiLr z8!M`7kvD&(g2b*)X{wjN3uFAoqG~BIel@cKR{hl>&qUWg1b&|=Bgzu;wxEW>p!1Wo z{qy^|^Kq6&B#7nH2kQHs$+|^GAn6t!%J8v7c=z+l06Em-kr9FqhP+7d>%r`3Rc*}{ zHQd~{XluQ7lF*u)3sbi8<}EGxiY_^b)s=cF{+wGo zHjO~@?rGMHODbwiw|MoeaemH*@01N4iWI)tbhsv7Q!cHuTr6Z;d$OmYcNLS#-?fnz zr-Xw7i$*jRG`=!@ap%M48Yb%Ger0O8dHR}1VTS`NF=`H`*NL@m03~i8QrTjDezaM* zATCiGciZL=l5~|F33-QAh9$Vmv)g&)@wHW$$SaJ@8I)RI=&==)PEsdDx*JPFxtrI~ zi;nIbWT#-A$>-w&pE8m-Of!}*XQX!N+>c7br5e=Iw>=EIpG0-m4tvck;(E;7j1Q6> zUuG_5xrUs613Ii_$hsUB$GA!x-AC??X?W#?MjVL7;xx%B>gvFhz%4jw(m2x<=xw_v za$bs(5~DOAp|S}7?yU3Tv;XS6|GM%Gz1({EbhAvwvEK&flaSG=QEe7bsBU>TSIZLt z9lc%K8Hg%U1J9fKUAHQBJNlV!RUH4YvxC0KR_ZSSAZVaLtaG_UIL@%ZZ zBbw&#pkg+OMYvZ0Sae*X*@X#8`u?i2iP z00t<~_Lzmh+ClO<=_KRigq*IUrJ+Srkm7G%2L{lf0KncrQBezGFnKO4`}l|gxX+$% zko+s!dxC7$Qqyz8L??n-s|*13x0*-BH3;?Y13uG3FscD;phU2|{Q6*M7u|vpI8k>S z6D=LDSL~G3E}?RZ?b}Y}E4*Zz6%n(C$7Y9Y{>(@+7mw#uY%y+wVA5|J88$_gv44O_{6mt1zs_*m2J#; zb3-<`4inoB5f_R0O>|&9(743Ib09O4&(>chJxRJIrP{dx3e5V^yaKuEm(UKLnwjZm15%E-x0>ib8yf*?)(sCQ?c~vNfoq+0h8t0gT z_ltvRnN*W6C)u#3&&xmdYH&H_GB>F-X>I5-0`ki6>|i^8iJV@jFOp3J&$aEDKb2*hA714@i5XH1 z%=hJ;lk|DkGRVJL-s>5F+AoFET?dfVI`*x*p{F$WRhGs-gZf~ato9j#BatuG&I%|; z8_<+Vc0(qu`h{aL4hV-t!{gjdu6IWD%BMf=NzMh&ttDhFFaK?cY<3zyo;%%a50sk& zg#>?Rlm3?w;@z0Gdt(nk^XSenDM??u?%TQNjxL?jaJ$d>W zBo>px?#kL)ZO(07GZQWC`sNj2Cu}doEv|(x>uAGM%TFd-@&_n-QUhR~p46-T6;A2> z!o^B~d10bN4)*j7(B+ihzb0{1e+}u-JgeWIv>UKi2+*0%4dNUDP0D_IaC>Rw!-y>X zTvP`6r6ohX6^1f`P$E0{h6elLbUHiED@007j<=R0e623UTvc;du zhAkX2tlUg2YMsZ6- z0UCW#hWf3)X4Vap^ozMns_iqTx3r`*9~vnt*R2(X>O8HOr)MqgVM}@6Uga!#OR9{(P}=YDt>RI)MXE&L9f3dMm2&G(E?Q-4rbeYOJM!6K|d9fcioR z#J`E(Tt2`-f}_j4zPQg^?J2}eOXDGJUqOLkeubIK>b!rVt97l(@ue*^Pu zb3Wp{;?hlzPabG^ws(?3VmzvkzWUt1 z1PjKr0)vDK?PF?%*Q+X=^m}Rkaj;&^%6cf2Gq1>nEoX{M&AdzQEY zyojpr#`Jqiuhf>V@HIPIZ(3%oVwHe<4p*O;dYM#o2*a&@EzjnV<&{CngU)wmBd@7! zD0qE~T8|K&Rt|M~u6v&#p9TtZgckEM8(HwI6Q+w;u=c&8M*ECi(}0#)k(hl2y}X}z z2APn~{e8=A{@KtfqFK?FcEKVNWll_vpc8zC*{yj?7h&`^C^sl2=e=LlT(HhiQD1{| z-^@Nbc0Sb!jrHV=+|utx`O}CJ9F2ECfAq_+c=HGhnx&TWF0Al}1#WVg>%rp2<<}dlt7AdVh_>H8w2@$5_%g`$ESlqr zoZlf!R0|h`YjVU7^BI(S>M|Q`8|HcoUT?DI;+<4cv2B?|+Y2w80sG};G_Xb%)xnYW zSiX!AjThs2@b*uYNrMCn$El}&)f)LFg+&t+IT?yp1`}*3SVTi-m6z5Ag$y!F93K)( zLtT0}8a>rIL0)~2?WdP-_agMfk`dsz^V&{><0Ky{ausI4yZ+%~0VFbmFZT^*j7YkX z3diirlzLyvYJ8xGim{YI39#0=!C5uOb7hF(Iolc_dSyJN@LOPu_x{4!9m6}iD4JQoEkDIeyqp=uFPQqnh4F+h2jgNZCtA?PDk=idl(I}eeI z$UUsj=+gLxmGaEedgoLQ78v{-9D*(xFa6U%?d!OE?M_ekTHwzYOvv*mEF9cAWotj4 zd7@8Zu46pP116^x-oQeiz3J@MUk_+gU|qe)d-6ly*FXQCe&)+eVj%m+g_1)Tk_!5g zzVdi@CX~tD=y0E-J=2P4D=DVg?Pk(I&8_F194}`!e4^xl@U%V)>#gf+Z%YD0Du*gsGu)~qrk#P@LcKQ1u-+kyGFug2VWs$b0Y3ghc_&xb#b@)xd>>6wUY(WN?_QE+tyNyx@V+p@02+ zV~-HtG2Dbga9L>%AfR&JS(_&xr$fZtL!J#2(KElqPi>U(ql#Z(RAF8hv6w;w#Wf=l z6U+R9`SFIj;mQfRn*qWHuoK=uoUOxWQ1mtX*_8z{l4mqXPAUtrFUHE1%yF{iMFpX_ ze7S=C`B_InoVOckWur=!^df6RV02Ngm$dXC&o|CMZSp7li-*X{XKL{y(Ai}?^fg`U zB{ot_Fqpj6hSDK4r1pB8J|p>6z0mTh5-u{Q>G#`{N(N&G&eJxoW_` zPx%NU_L^yon3hRR;51uVj8hp~W`o0bX35;sXj1fqcFi580}Aplj=7tj*{@&r zZ3I-UK_l}m7If^ zQy+jp{{-gerU$_M^3g3JIJfQ2S`c0Nqi^m%izRJO5WX|z*mZ+q6A;6W zIVc|W7^mdOqtT*RWh@#|w>)oIkw1UXmyUPGMYE_xlshr$lBa^-eNu*3x9d|-59Y6% zWC3Z;A+0uF^=w|-jmm9kzqGqoi&Ww@OH9SEYl)~%uoMI3^ZJcyM9P>@zuFqxjgI(o)j5MrRy3;4aG#N3Ybr0fK(_82 zZ!1p(fCGGcy52%@?;O&9tKlk}v*3y^Ds3gY!1ys)5L-M=N5f6!QCa8c>lHp+Rn|dD zZ!yCGYX!H5H$TeUU9?%Ei!pM;%IT+_i=RQj#i?Vb-#NJ2o9yQ@SfthKv=U0W5Te_sYjH<+ImeT!>d;wkllK$^w%M0q_@5Tr}sl zznEk7A2gvRAR1RpXLCGWSg}Yh6e@2CKxiN;n26nbAB+Mb!SEQH0LyiffaC{jXt6L$ z7NQQ}uP@`{{Yg{3O5@2NvLW-a^kfn_D21rz+9pw}H!{uvi@7t2wDps@OHf5-V=hkC z>d~1KjpE*xuk8cc8D=>#zkUWubiX9y#C0Qv)g3Gdg+c!3a)8^r!cvp9%k}EXOKoYJ zOO3R*$MvRMUK@&K;=9dhXS(nT76#Mz@-**E>#G(EDu?h+a5oW+tmaoFxIosQTIyd-9e7E73d^0> zY9z{%8(AVng&qjeimBvn3{l~A#Vv&rw5fbeCB2)Y-^g>G8RsPvJ`x5lfSmJSluF2JrDl4tYJhwgJ)7@5vFS4%zS1>M6AV za=qT^psP{Z|G*N<%&OUhOs-A=d5>>6D13buB%_3t9SrYQ>08}D(6yD#t}Dx0kh5Tm zM7@AQ>)b>)Y^u6j{NM>X&nI%llyQ|7g><&jSYR@I>iO>_#r8^rcsaobeMc!*I%4C) zBe$B-@zma%bOA|Y9%4yGA`fc#?l)OZ-lyV37r*~laJPb>b`{K-msPa5CC%_ozu>xU zg)2dVt-xitx0>~XZ=jq|!VA6$?m)OfjvDilfJyDb{yh?E?Py~sqfhH}M@d(Fg%#{M zekz6Aur3|LzKwM0uiUL#&c;6sFu#=4d>y!RXZapw zTQU+TuK3%oH-~0L*T*WfJ#=!7Z=35U8`t3+;f(}y{xxBGnKV8!n=E$UY4U(eKQMD# z%P0~{Q=nFsmGwK;JJBT3zgGiuvw3`VJvJ=SU{L;th|L6gjXdA1sMf3r3;hDxF^QL> zTNEw=feohjJ181Q$#w;?2si?}BLEIOG;ULtHiF>Sw!j(&7LCx3te8>vEvNg~SeNAa zvvF&t$(#RHxMPZx_J zqi$wI9jthVt}L`$aQ;I|Wc1_62f2)PJ-?C-Gg%jd1_R<)1;)51ek> z7bJc^%gj7B?zPjd3%ScW6qroigW4G8|D;@$!K?nx@-})%pSGQ)upqPiD0=w%+bWw$ z7BfI5Y1l|3yA-F$nKO{nobI&Kgxep9@)%7OD>V^I7U?^^YkpcR=@e9DfZ8At^}1!P zGq^1a3{~rdqw40JDlKlrkoSi7ghC|AP4(0-#(&pTan6ik*s-e?`3zd;BV6nj+bJ1s z07<>TVIRx{Lq#+lI=%#~sn}^pq!!LJ(?|_enLkC2A6UFch*fi?9jr9O_|jv+!yd+y z;SKtRs{MQ@+RiMjZo~r}(NZSwh&f16b?;$h5_C;~FS~<}+#Z-J2^d{YSS*&(Bl(V{ zsuNFtYeUByH%*sR*f5baXv@3D2glh6-#dLI*Ckrb0Jm)uIyJVM99-^7p>W9h%c|z= z4k>ls0nL#-lKP1PL`afK*uy=@v9nGEOtTePP!G|*@o5abIdJ$HG)5!XXxY73Wq%ZL zPT5bhncGvUbIsu01FYbA@D6V~a~wwR$Dwrdl#r&Q#Mu~?VLpm=t5uk0b><;J#%n!p z^;!VNAd@Ec=Sov&2KnFd9tzyL0P>%!!kUfV>*T!}+i=$nB{+B>mNkF1m?C-zBtDX_egeuDj0NlOnr#BKnS;@$Ml$9v%FjGC6 zN3eEjR@Xe2y~%VJUz3Y9%=7YgF^iY(HY(M=_NA<3NJf;SeU|4uuvXBK!$SWzgF+zyz*yZ1IGvQBs@oHQ%yNey95Ux|4pxaSD)G(&GP2IOt&_bl&t&nzop zAjKwk8J$4WFS3aC-rn}3cEeGI*T}R%vc2TnpFwp`HZoskrA;Z^r($uY%#evXze}X9 ze>b$ihNkI(r#r{~61>&4N?w`U#(HDsK^Y`MJU4wxNLd}#;yF>X_)s38E*NGSEE zJ-2rW=}Akxy_YVhk_wSra~44^Is2R#4iVa#13mFOWvoM%p5A^tD*WClLN-ubtfIc$ zhJ;xq-9owwF7KArjizDcDyRJInI_iMq%nFmTk>Y=E&ZOM5Uysu!Jc+YfgdyzybTWX zV>z-=@GVbI7UvnKTKvrTX5DlwE|wjapWi0>SRkEdym*O`Y+A>aBFTd!U}vR#yyht1 z!aPD*2-eab*~8s0H#%f(o{cRJ7M7E;S8jsrKtPoIXy z9g}=>ITL+a7cI!(Q|7)l#Wjm%f)0}>%YmC2`gFE$l)UKaOm|YN*jZkbeu%sVa-N_R zmKHT$+F$~Bl2@!Fhea9(2!-d%s#Fjr#&m^W-$6FBBXqlR?iOTP9lh&17I-&JS9XLFIB? z0CSD>CzJPwK1Cl&xn(gYT-(+EU zvt=Yy(oM!E z8}%TB4-y>52~|@O%>0E^sRG%g3}5}n(QTglD}a(t3pL;%*|z6X_{reqMovZ(TlOx9 zLfilZx)&#X?&m(-VU|nE7kT-$`j)(q8&IftEO#D!v3%I81!8%t`|XqP-2vR#%;XYE zd@;cgy|1P3YcPBo<)`V^eOh?E+@X7j-MOQ#7ooE9x@1qu$fSB#-Xp`sNhx4^QU z?4^A!uZ63K3>pQ5djbLi+(G+vbhKW28sdMNe0u`9gD)=MM2MD4gW}%4#e5(3;;KA) zC5oIX3Nh{ERh`qhHdTKy6~Mo1WUXSf_~w2`EZ(-lgsUbGB6Am&%{t6`Qdz3AA9pKh zk3K*wSE5hsvgMgnK+C1OQKPHS1U0MOVyCNpVbS&m(z5!tsXxxQ*WXlu)pp~0A#U4#RWoo zO2(CUEUyh|ztiS)pqBI(8#f(5VY7$RaFM9NY|gYf7P#c*)+b~>O`My#QU%?V@cnZM zHHGi$cE?8L3tsNCJ@n+36y+B_g~Nn5PdZzSB3CAVnyISr%q~nu#HOa$7K*mEpOoO3 z*XsN>uhVp&u9vrj5`hd|@9MR6)f}BE`;?m(n57G=Xa3>m5R1V)*>iIE8Qo`);6I5_ z@o}jah5duhDw`Rhbe7xy2XOv(52WP|fYFVb6jCgdY3y*jp9QH{(;^;FK4UpS$DlO5 zJUfjZ!c1rv-uc5PsGCA5mz?bON42sBoj_{2a54^B0?&gX&Z3B=v`+dZ{V?BNREwYN zt%VEPKkH>jWwmnBztqdJF=zj)mqDA^A{JK`SLW_1k1S2yuhYrJ+C}-$g2p| z9|icucR(O2>1vL$I8pg4p+}=WVqc*GQw1-|bB-MBb8Ae_yiRA-fBs(kg!S7U=&A)- zqF$t={;{>pIKfQD+Hb;yJQ=On%_oKLkN1oT5HQ+8vu6}uebJ~CFUjl-I^<#!){^eG zpuRov2!;Lx6*|)-qZ7N+RVso`8Ze(s5bZ|b81KTjOfgbE^7Yqdir&lj)Y_Cc(GRKt z4-T6py(BVEs3Z`dKQY}tZCA6UP=Q3dyKFHSfm!r}YKO)VFyX(-K$bjGOTt}^X+++e z6Qxp|l%j5oInL!L^E%yuzq%@5V`o<93Xa4$QP(-P(>x6i9@`BK4ADH6e|B?=f4Xcl)g7>FGnjLNlYhjic*)r;MmnVZ&a3^rtf>&K^aF>xy!Cx&yw^IEk6bT zxm)z}`#VsJ`k))qvo+Cj7?N#xpL8TTIB%(kOGt<+_!$dU8Nw^DMMH$qLKM|Y2X5GCRy zHg8~}Ege`3cln2>Nb`fP`lq@Z zl*wMhkz}|lZ-wi#DP%@b)WFL45EzMwPNp``5?A3G&DexJvS^fW{tS9TjykjtD>)-k zwO7c)eA?OLKN_AO9cy1Y8AZ)$v-Mz$GL%uCE@_^NYZa5QXSR%nj>SY7U8{R}_(0B> zeys(V2$g$e_<_5&&;*gXpEO<}0GbZYdk~4HAVHp**taE#62~z2c>ueXLokO9J%j1d}h$V}v;)s}&@p4(5PonTa_zT>{&uomkw&3xRI^wU}7> zA71Y-+wYbDQ3ZG+o$i?;bp)_xkI4SG;EI<{PVuWwEyEntKY0MA5-&#j8Yf61_RY7uC&!SIN1kaU zs)3rO_<}|(kpQLb)6`Dyj=9HtCixa7UQNI;qn*~q+Sxi^b>3b^Plc?8-2AP^XG7ve z#_ID$ld$4aN<;p`YX<|0Dgj!~92Gb0s;``4+ewQROtXH>$IKVPHF)7zJ9ggs*ST{O zZqqx-AnN*5{(6I9{a3a-!xe%`#+iEur~_|BpGTm3)<1uHSO2!=GUxi%dSwd->&itr zPpF;0BTE5A<@23?!OU+iAZi?+}QYTYb#10&c)7W3EUX1b8&~wb?*r%A)xl{zp-}S-;lG6#p^8UWb57xG&=?NPsF=P4XCz>v4fy?p=#FY%lCzNkD`-Ufn~U@|N>L zCRO8^OUDh}R|vjsQ0pDm5}{qF_^)Wr{?#_EhFiEbIA5U_R5CbiQ-exFrOJbax+4c! zTldar(v)AJOtqp%nr3eF)%p_ebs?Wa$;m}P?HtKBh2?YS9I}4+#|J9ch{x`5tY|1p zIcI`o&_wjqVJxI4>Uq)c1G1E#L1oF6HRh5OE~&`9r@9a1zS;8eTHQF-F$ed->$Kd zs(m<2C$Pd^*odX+V0?V@heFBoiT{XvKjF_0N(q4`UG4hoxgMKel(;3fUh8lu0hBJH~Bt zRr@{B*!6a9J`{jL0|7-q^^Q-N+4EPH8K#nmSU}e#uQ)xqCw0Mby(8q#8-Bm^AE+Nl z<-tS&p&{Tg1c=kKuZ4$n{U=mevuD!@fGP(@Z^srbhhH3Rfi5E&K;Kbe^%~AG zIiutH3k0l~;K;%f+SsLjp|iF*Kp&v_a(pl3rgM3>tC`ybo%n6cDz}O(PO!v6syJ{o zRK*hRGJW$+r&KAe-ZT3uDkGz*mEj6UGpB0&fu?qZ?)VyA^dziGmyR_{*Xw?%%_31> zhsW0oZcmnZs)k7cZfE@H>&dqca^d0c16gBp;RqhuwqCy z^zB>WF)Ew-1$OoipG;KT>qyfu+Mf!$` z{0)@DEsKCYB3Olrn$>F=pB|G;W-6=t5C$8}DW#Y;9OKNU(K&Xrxl7^OR3VMtLTcJ? zE~fDIWJ$ikHUL$+t4@?XKKg=2Z81Z{+l5oi?RMcM9)*$(8HJZ!8&!Tft(m_#I7{CR zzPe5!%;};p)}2l=SfBK_w16#mzQxQB8&-&SZ24NEe!0?}?m4pR$w6l@^D9C_yrynx zEFn3(E0D<{pdD95OVg!xvL_?9el}hF}ldVz|iwR#1;=_~U_Z&3fq1aPV?n1^(NgJ+ixEXfxG6&)seGcV|6 zqKG~l_M27I;2fmcs%aCcZPRSGR3j<2AzN1Dyx-JzpxE6-vCe|iaAt&i1@XnfFn{h#TfeUSi9hzQ^Lv`;k`uhw+kC%uU<45|v`-{XuwN{Lu3#^LKsS;XxDK?9f+!zf zTox)qTIwm-E%^R1#4)X}AbjqdE;gbwnRvuIb*&mC8Qb>lV8GUD6U5E_U^MjmXF8YW zU%kQ}I?^FqqBLlhVtQwnxMJk?pXjc8NBTUevExpN0$Ziv+VDf91BW~>@lv#b>D%JK z{`klRZ5NY5IxTT+xWNLOHqP(WoP~Eczu;xCcb$ZiiT>MV$GjAJjmElRc^)`iHq)2V z%VK~U(`K`nhKkkPhrMzL)b(huKYGzR%n^_SD2sG%Jpu2cZL0AL2iIDzMKuGqUlw%w z$jbM70U}LRp$DpL35;5`Yf{_VKc*zZ_%>@+nFG@BU{W^J?I9ZQ23c*oE3^j|o$Rd~ zUNja<+4-5fek@PrLB=_qI6=Q$QRStYDXPtb%jiwUw&hM-3Ik=LyTm=G2a$yy-xf!Kbn;M= zaoBI_MMNX9Y+G(6LZozkSGM|FYFxDK`*vl+ImY|rSoIozL53@4gR!q7_~{EAC*wWU zNp4(+hrST0HN@LmjXhX+UZPkrX1&SV&@8Nwk`cDL04e3?@;T>1!|y=s^F00~<>Q~P zbk)!?eyFt5RJdvYwX{A-S3Q_I)Ut|9k{O#KJH{!wh-YlxUexIvQ|?CTi!Cg z0c8@(0xy#?O7I-5ET?nP!p$(&uqqeoWN@vnfB2R`Q5A`Kcv}@VO2nf8V9iWdM%lze z)>u5GgwJ)$5j!GWRV_=T81lX8t(a70K#=s_#<3)q+9o1(yNa5293Ex|s)go1q{m7| z3DlI)(;}3ryEzXbDIF*3_=DCpF#yXtwN7o6$KI`Qs(*e#Du*F>79%w8f_ zo|+WKVS&hd&P|9K`tV^`DlpMzDf4tgvD%Hvm$P#?VUE{pfSeQK@FqJs@X$S7Q!`0P zD|?$+q_*B_$oAfNgL!m3l-w$^;IUfTB2i!!`kw3FGFs%6cz9+aOMP)gHmA&0WW8GnhdjZq2r&tKufoV}#nZkfINz1r+A?^Q2=?=0@5 zD>p9(y7n2wK#fA8ymNj6J^Y7b`rE3uxp8xIl|FebfG{=8$>h1f}7*w!8*bd?P%*uZ8FW=A^BA4G*xvHKjQaWasy&?ccn$XWU8pDu-L{6mYEBmOS} zEN-m<_pm6&v~NrlEl|dQtdW#lDR>y*drIy3e+=a29{&(i)%cRUWx=yIW4wp&7QLq> zl9tJI_Szip5V6K4!Ut>SM;Vdfn=a#EyzfJ037BnTs$*&2dk3L8kcMxKa;!c0gx?WS zXcrzkolpe{pH~LpNz;vUMwUFTR*}bI_3v;yCi{MUt0ZA($cfZxww&ydPv^U5{&#*I zi>-+JVdlD{Av|X-I0Bc|u%ZH{U zX`=d8peYnEmi2OeU+bJ1QTEg%$spYY5-zkYUxq3Fs3(EC7Oy9%8XFV7h$si6ikjaR znyf7@N{|=vx+-tQ>b71D8i`dP@0H#BDOneVaggayk1C|~^o^HEzC5lt(WqsfKJgK1 zvf=;6@ol37f2>m|FT%mXdxm^NPEs%}LndhEkBXk~;<(#m>>GjI5N4#ENm;ZHV^Pnz z?G=_(KEo~USJS-#x*v79pA41A4hlP(;^spxHdhPTygs4>8dqYo~#cEUyVylW!EL;zJBcqiicBe!Oa(}|JNihNv zI<3bSa9rk)$T43nQbzWLrv5mSaRLLcsK~>N@}2gu1+E}D0!EF*ff+} z*+mPNzxP18;Lj_G{VD*?F#b5&!$^x6KcJsh!N$UU~{`O@6Rf_tLIh zgTh5CaCKO%Faia&anJz!a?3vU5VH4+ENnx`i54y*HIE_c&?DCiVyPfmeuv2N(4GkaGl?TkvPa;z}0aI8UAuIiYr_jh0tzYnL5V^91 z&XF-SzMJ8g6W__|VkEr@!83 z`LM%G3}&m*sDK(FAwW%kZy4bx&Z3e{NSNWN{ZAH6NY;+4uHec96R)ACxPzRHjy}(S3`LOw#Sd&8~i2dIGGjZPcfZ^u-Nc7$% zb{+K$PF+(zUZDPGRzp^yE<41w{%Opyf*~W3r#oK>_R`Gd2LH<~!5}Jpio1Q(cCn;+ z{=3#~>$R-7qDT!k@n-}BRpR30Ij5pis_`KtATV1dMwypEQV7SI9%J76LL#RD`hA1= z%vw#)AQ=5-Wmua{hQBxIDZN^R&+kpow!j}}MwwYOg<)$bPc_*Kg9NzZG38jo()Dhy z{;bDQcE6M&%8WT~S~dz66{Uyc0+W}GRFA*dAHjPG0JU$Wps@}Odkla0$72f-F-2x@}P z&+#2?^-f!$@WgITuSP=LA5={>)K9rp#?QIMy|1e#5wD#uDGpiS_M={5GByvRj?5L? z^qmsrHb}T7h-sCr@NtzptF)=>RFlJ7%4eD&=ft+3N4UriKYs?v&s|vPX*L;z+AhS+ z1@jKAU2}Y|Qa z^6@u&&6gFD4GBFI8aXC0PQBv~+MKK6miSTT+3nl{5NUGuEKKBwHIFKp0e%!;jKiym zwMyd}z}>b$l)3Lfw&Rb}`?8WdaHxc6jogR=#Spm9E@o30jKkyJ#%VCM3~a5EE^ejHCmI2IOm-JZDp-$@q^m(ifhV z-cgx^y6_22ZAj2l0JE~RW}t-JT-MnR@f?yB~aE?+G{mxNA}ed}tv0hLc` zD8m8>MCP6Ta&-UQ>#7QQu=L6^hc}eyK82?tOPts;SM~@+GM}Ct!;vAD4h87RwQj(2 zG&M`CuzjPbdF49A{`d~BSgMz13OtiEnsOCN+(6dvC}YRM(?UPWw3C~kxA8NG2N0*4 z=vZw|C7zD$I&^>Hc<(D|@Vw!>U#*O%o;WkY2%0O&wzhmLe82Cj&nv^hC9?n+3a2bW zCs{P_0cEXl^od+_2rIna2T{c7%AR;F$4q$Mc+_uh+~=F=*UQ-QY-PH^$_ceHxiGwS zE4}x2U>9yk=k^`>WB%=YFB7*I(ek_mv&K~xH`?jqf?wDpbA`+j&#kD3LN<;S8k>27 zavz^wb@@Qidn$jc5Ib$^#8ywCqqCfJ+w4x{4ap}5TYFvca7iUMw$1G}8$`YNxc+^# z+$eLIiPv+-R-!AfDhWuW0Qb0G#&qaaqJ45YYZ$o$XW+HfLv0?I7*o}B?N8dfp7C-a z5X*`PhMQ(-nU~GcFkwlS6dfXjsD8YZ6Tr{gE%;~J)DQ+-WhlTJSMNucJ^!xWjt3tG zx|XaZb=#ej1%_|wKczLF?Hza9(^52YEY+da3F>XN;rTMBCwcdn$``Uy_49F~my-BO zamQ8#+k}i%$5&!8)dkQ2_grXyb!Zxa&aGmpbkX$8ts>Zmb5Qz`T!i1$UPn`dK!xqRbVzToj5^E@t>m5mu_6^_*FSaeB%{Sc9pb$`P)hrhO7BwRif- z$MTt0raoWU2~?Zzchzl#NKxPvtBZj>WxKA$U5iEFIaRf7M|DV1nWw3lJ458er!DF; zXge9uc-_3xVQluD3sVx9UM3^O{Qja)&4U2-u3&xYuDCaFxd8S~S1h%Dfw+ew>c_z6 z<_&FFr7Dt4Z?wtxN-ryCB5QLN*RZm(4QmN)N3p%}fUmR=HdjTnE` zr_9#2{%!Vt>e8p`6+$RejBRMp%Unq_+2psttfzhIK11k^-futTju$JO0+5ZOdSKEe z>1Q73UurTw?XHW(3V_VNX8@we|Lwo)pMQNPB$BuW<@jX#Yi6c#&tyzHV@f)GBvT&# zVD;*Yq6`uGZr-c1B`kGQ9Z$s8Z&h5X2xR85on!Hwc)i`X;pH6P*xrGylYYOmVk;$m zer`HhHAuo4D$oGl=0F`%^_atG=rNQ%l=T#OwuC2vC^gc5{`Ri?Z)?6bl%)kuyJp-4 zA#`7F^WSgb&juM&6=u=LUG`~zySHs-)h@X;cKNA z>1(stcxwe+jr#TG%_z31EWos{>Dvw7)SCbBVbElkekFXB51(K|@%Z6y-NW1uMOA1* z9B+FRN7;}&rFIqWNf@@$k7kiufZNRocb$%l*@lSyfo8*k{>pLo`Gq?NXN9NMhQ1c~ zzWWKT2$42-FJw$>boa#B1OatINh#OonH(--&Wm=;(}rI}w={PhG-8?!@E;a|pyfC* zvLn*dm66{vU+}?0$)WRT^+iS*(ExAim|I9|oN)}*@%LYrw`t(bfg$ISMahG`0>oXp zUUb%%x=`TmRI%~P-mSa4Qx3BB?00a^Y|sV^40xFTL?G-SB?rzYO$^J#H!d%((NatQ zSs-c4M5D|RuVcpoQ8IQ;xL1|0K7{rUKhpr8Iz_A+9awe-R_Ild zej-4ly$gR~s~?Ao^am3jBHr|mPPCdvF*eAVe{x+V1uPkpWPLTBjOg4EHsMGd-@Nxu z-CQfO(4~LoW_rDlxayEI?ZDck6J)@^N^iw-vPAVx&4HsH6pCk157g3;bNS%4{{G1U zYO~2W>ri`M`$UV2jPlBNvGDqsIA-7xX3awPruovm))YST+)n$I*}gnd%~grW`W~yl zHMp{BJ~>n0wXwu6piT&!;+nV{XC&PNFy&TJXi|Zn283unh3znr6-}|(ve|TCJn;t` z9ohs203!fNq)GK zRRo88Bq!3b1<`c=x{k4j>>{)Ki-&6qotoK|l(g9>RYdfhJm^nu2tY1_F=HBRU~X0b z-2Pt_w&NkZiLAtj4pF%qh~T}zP!;Q?4ai|3N~V5kVzLXw?7;tJFK=-5hg!0F@1!j4 zBX5p>EfLhIyq36HMK3_bexaZzRp-V^jS@A=@d_21PeLYjH0^ zC6~2Q3KZI?AG0qgR~5B;pis-SS~ zJ1vC;r1EcNqrM~uaPU6guN523o`-@WX0k@s52@4Atf-BwHj@kz2&1L6`yTBSUrK=b zVpfYLmKi6!2u4*hJspT&U@%UEnr)1Iph+`Vjq!w$mO1)k1PMX)eR?Dhs+0C7~^qHjkgTwY8djtqSh#pk2&Ayp&4C~3&g$5{=+xjiU-+|xchX&0Wer|wy6 zM4WJ1bxplK0fyKO6yot)t5f;!8s(MmMf&e9D-9%79 zQTj*qFU3AmlNbYM;lNbI=@`AjTldBLb~iQMbGIf7ZJoz4?owlwKn2K&tu`Pto(ECB za=y)*cu2N?^%;Z)zDXUT9@#vln$?v3wL0sAvuQs1pa|5B@LcdS3;rc1g z0082|BZ0x1;))*bh(t8?)-cN=fbB;j9b=#`(8u;-SbaI`_e&kCp-4!wm+=xGJ!~OF zy4&e8`iDh%hBol~*>L{5h$>6I)df2>H3MQGAVDn}^32FUIillbdgcV5bK3ML5S;Dn zHtY=u=9)VE7}>f<-(@8K{LPEwidOZ6m0#`PsEbzu(a^B3C%})>b#EbgQ@N@{y9&UT z9QN6Kzyh4-MKb$GzsbqW0hP`-NN8LnFMU&)Zs3_2$4UPhEX8dyidM^m1U)V&&bw~N zv*e{>{z;{??5>0o`NLF2hiSW8$rse~0uv+{ZL<};r@fdRyJq(S6;Y^>+`pzJ`}+?b zb&Cu75Oez$cRzIP*uISjuyvV%!%fg-!IvP=T&DFY;~vd4AfJyZw3S*M3F&y)cEt1< zH0S6su*SFb#>eE;JGWD(iM9xIckA6B-#p$+dCqfT`5o!|Kfj!F9Q0dtzf7A9)Ey#c zleq!eIks#``mXCARcZXam5^pS+hQ|^)*(X{dlz#$2K8m+odn-9zCrPzSY>pLLm=P; zUkh0kvP3!77W3>h=I zpP&K<-rPM_$F|bn7&nS=kun`Cw4W6Cy@s%c@7Lfmp4#%DVM%J0d~f-D@})5QAGIBX z(EKVr5{akU~-*`l_6C34!aDEJ7KZ%E?9s{TFgp zzj>8p$o+QgxPuwqPwR(yvE>SinI3Pr-|cRt(j=l-BMXEj3(4wc#Lvlz+MW)Fq`ysVBfz}Zl&YDDKINlGtY+KpQnVvp z)mVh5X;2p9Ga%Je|7x$w&&HAAonI47E_5mf`4aFREb4XcC8 z)TyUg)Ez-%x)$ZoLq+pSI)2^FP!YViMrf9O%3ct+u~W9}Y(ODAL@uKgLUw#h1HOY> z=Jb;67%6Psr*c3d3xl@%+Cx9(d1)(`1{iU!<$3**^)JR=LLjG4SI@)lUIA^cj`X)- z_dD(=`+!Lk9`%ov7l+EIS&zs9cthURI2fWRe1iz_G*=YXI}80qbWx~Srp2(_$|*_h43u$ zgfGV|YrDY~#a_Hj!HRXmrA@a6d4qswhF^cG8gp`!l+lo@qsze5`K|mOBV)xi9^(`O zF?cfTQ&u}@Z`kEmKH(Tq{3@sY3Tr`xlq2ohe|lJ0tOMVrzF@s7FVsA?UY&8XPm(`l z^dv=}(2+FSPij&@0mM>8lDj4Uymq<0N8D1Z#cTt-?D_hoG@qO2O5Xd)koZyI-yoa% ztrS^z7qd2oOzy_$TYwFPvu}v%N{X1}6!V`5xmK=h1#N>IL#ACA4uYQ zxyEkrVik|c#^tB3^+Z95K5OkY+E^puIezwoy6n|#Sh*;d(yAIH0L)W(kLr=7ST6sH z$cX$Hx6j=cLbs8Q1`TA8sHZxl9-apSY#FKLXd+7`O8ysn?;Y1vwzUDr?kE;S1ZgTD zNS6|NaYm31LI^z|AP5P)H^GW@1f+$gp(cSKB|w0HO7BAny(mcUz2kRqnse_s*SYWf zzVH3sA^)7Vv$NMa=dA3#*0Y`kXD6IRn@KE4%Cw)K4_^y zO)G($Fe_`R=yA;=oxm#ENxvt>)Fiq^DGSBTe(2#SKw^TxUB%Egd!F7PGvSxTijhO} z>-BC;2NR$GFJv%|C=9?g!_#Erb!|+N?6YSy30Tx#t+N3!&DvNggWNfAX5K95mKl1cKTS~E*Uu?VM?^RMk>>{DaweEZ$? z<1|ni_n~dI1xkz2(Ls5|0lC7S7Z`BPnf>lA7Bmejw%gHL2BQ%SYSVzr#U?;AZ|!6R z({%m|lY+atMLr@ynyy{_8~4Xwq&z0f=;0YI_duv+G+wmnzQ!lHMF!|41luDf(_$cx z>UJm|*#f967Yp`SLkg@6{8#{OzU^)1z89LKOy}{50 ztoE9KqAe6q=-g#m70r=Umd0rpi~8-W3b|VSX18o+F*(P>1H&aCuL7-c&;^UubePX= zQ-h1Oo~3ysqm%)=@>T)ztPW~GqJ(R$IMRzEzPbX*Xe%x3^RAdzi1|8ezYoXDzN+Yi z3#BPpLz5?DT3Xsz-Rj>q??wh~A5^2^wEmeFnuu#I4X^O*so3@RTS?pFg-%NbQC|b5 zXrP1i_9-5hUVj2r)2N~~BP?}Q*|oB_&TQKyZ$?;XR;}^usK$4%GOa0ju|GHv7xi!U z_16=Jdp>5p%gSn0f(6E-%FVL*9?Pisv8N%B0DM6cDGe|eJW27fM-1zu>KpKtF5>s1 zyC7!_tkvJrJR@It=)5-P*`%S>BEOL^+3khoOT3x(_C~5j5@}pfLSlvG znnhDsB>HVn)r;CC(G;p3NSu{kusJ`id7MiC7t|JdyV+4!LD!erGF0^xKdnlw_9`X` zIr=VGMy5qgP5xAEyx(H;!9KfDmg=r4vJaE!m#<#FT-KdB!ZZ>D;~4Fe*C*M-yTBTq ze%9%+uF6co39AtH@E2Xq71 zY5O*@2oLKk^0#W^7ccxk^9kgW;$lTR{kUN;Xe|V%;E?3mTpv-il%Vs>B~PoZ^LEEj zY^DqtDv%k;HgsQqj}aVD3ZvouZ7mE&?&jvS@#Z7J}JYw(=P!>iJ{w4KXbA1_XRB4rBEqV95wRc<(P7P=O`qup0&XM>< zT_a7soW~SH6Ks(HTn@O6>N2VyE~h?>^-o~-Tw*Qt*Svx#W*TjhH#KOW)@=4{Y@kwg zNPUGa>`;^3P^e3-Hxdxx^nAWncr8}006}yN664!X zGaGbo@azLUL*wKsJ;hP_51AU4TF-j*h7|MTzT=vB^MdzmHRu{Cm4JLh0Zj!)Tads=)uBNOno*QeRsHs3uzaF zqvwKo$ATkJA2L{F9xTrGKe7sM1XDh0q0dLkM_iD-NhVii!)~i(jR$K;liZ)bGG5>o zyZP}@=8CeJo9R~EYa%(VUwQ=8Me7l(uo^%l@1GO_cJ{I|c-u=<8iEs*DjM3V1Ul#7 zpi{B0{_TDF<-|EfV~LoQ=8SU1CdTB>qed}063zFq#dLQXEs$mnz_N5p-40Ea-o<^LUcJ7g}+ z6~qO8|I0xC<946t?JmfsKjTmIbl{$6WHdB#`ens>k%DP3YQ=k6BNVbO$M(`}D9!JZ zcx->S#r!`MCvose4U_#EM*v@VIWIC$S`S9VXF) z^hq7ok=`2NV2@?aRTL5!kJ#EC0?(MuA}5jNP^+FXJ&z(y18WE;$!X;rR6~x)6FRFU z;su3**UgbxeFTZY!B^kaaOs!D4ckSu@zN}sz+9?`3~(a}0^4<@Xx4S!_T|L4)iM?- zi7N3UVLDxjvu#;*&uB)dDy=JGRbewVevKcBtxly1F;0~PT)HbZdS5a8BXjd#vY~Z5 zO@X=%Zn1^U)Nj@C=hr-Dte^t^MN=vh@r{hGVG=;R{3I`U2n%?LFT$|V@ky1&Q>ktO z)huAY>7W6><-9isUMojkd|ic58}(_XcE6gAz(s3b_^|cF@CoT*`t#xtO4*x@+-tX1 zH@!|owB#RcE(r8%3`oA+lgMzsRHGhdj0wIfcaD{ypVza@Gz9JI?*z)!^e~E?VKTd) z#4FiEJvSTHMlm(Lb~Ha>39jREQRf`{EP+bqR!t>Tvsi_OAWApXdfnRFvOCZ0qN0i2 zX?jAX9xV*=Y;O8##3_4oOlMo;+bv9bY{P&x@iYXgq4l^J+(y&JZRItiDa3V zr^Xa^RF1TA#=cY*>#jxzK%kN7@n+pGV!@{IdUj4nkH2yCLd9sh&hn(CKE3myavG>l z_jbNB04fZ(%}jOs!S?j=><%N($P&nqJ_JJh%Bn6_{u)@K}#^!K{3_^h}%0rg8X-PJJ~clGbtUiXp2z(bDznfLB*X1!<07r&#O;T*_o`l`IptN+xI z{9cthT?KQ!q8ejkMsRxkM``|=k*zi_0!E)!q|thex+t4UNcK384-*n%4&ub$0ET|z zZ>oZ;zmo#zyJ=$1IvS&F`)>VM4qYXTA~#mH6usDlU3#(d$V#(#mjAU5PZTxR>eSQL z$jBU=oBFkh_hFj&MTuEpk(UXD+5@cUXfr*>v0aV6RqN6Zp5!rw#%m6xK#fX1WQ$uG zCMGoBxnYe1C|<_zObN%N#`m!5(rjDt+ZSC6&SOPz=~oTex{6xFq{2Hgdr@HDH8_@U zIG-!~W|RlZ2X<`!$M3j~C~sm^o{XkO%14i^z0%$_j#D&k>YJ(Mq{#8P@>cs2`1;dP zT*wLjQ@!I>1wFd{F*NHja{e{L?gSUzos|}0CaAlQBuimxpJVgdoJW4-?9j}IdFP>f zQ3g9qKCuOxb=V4*x@lEk>*&bQj{qA;j{D?Om8X$f*uFBc7fTQL*I8b)ov(nG}_xU8`$#H5buVZCx@8v^Cm@IdFd_3jW5Fp%UH>_^9!xN{Ei(hA+dMH@_6XVaA+37I4bliHPpNnAlpMou3Z0QM zlU!bD){0FlC~U+F8&W%Ab3@xNLA1=< zfEa)LIgn$TN@XqFV9E8ES&NCM6T^WZ5wCTp-G!GiifG`u)ySZysk`0RtmR>3T|PxV zZAXVDFiU8$-Z@UkMaK0PSwR8t>zTzC;#WMX3btgB&G7qBOOlI1&BQB2w=%0h>>|66 zN4)m3vb!HeonbsR2dz=xnJ3pz3zx44N9Dq2p;H!wo0`w%=`4fKyH|`cxrA9PcP=P< zF~$)5Pzk<+JDX?YCP@uu_aEn;Z)OR>XUWpLegaJ$rzGRoXrz}AR|(V64>X}c5}E++ zI*LrF;)|Z6aL(wiv2(g?`pb`+pPu*sHtX= zOV)T@i@A0uC%nsd-KWH^_(<=SkyFc*Wuh#?EEB$Ksk@rc?dH2E7;=1M)#L+qN4aN9 zwfje1+-oQ?FI$!wNnmuxLgFpOHH?R>VFj|^=j8)#J@E?{kY*PC1PCcLdqa8?ngMwA za=pLc*|MN}$xu;Zv(eGKL}QFy6dbn6yJuzy!;#vTH3YO%+teTsH4YR1<1tzk32VeU z-wu2_27^U0vZGD5Z0`xG4mCz+KYe^+H2-u-KYP6O=(WtX9$mkY{;V{I0+XQ0G4l>W zJ<3)ZIteZ;GPCK84o+-5)T1cG(exT1r)`kYm=d+!vc)_`u&VMK^4M>Il%r8Vr${ez$mU??1& zUTrjrB-Dwz5`4PuMp+te-aJN;;(_s0bn1`F&=;iQ?&1A9!zm}8p}1I zf^Z|29lgo;_GZ-qW47qmDPd&#mNmM3_(Qq?{! zLHw$T1ACT}()(cRA|TYT?M6u{>6q;T5`GMf#_#M-lpaFpni)5I$yAnD`D-ju$v zE3+Ty=)^1>igM!&@^*26!b?5I`d@;0)qdO)>u*Ce{DF@C@YKO_5dg*^mlR?yZet_k z>AU`##M!cdaK*3q2Mi8%ZR-Izj?e;=nOJQ8(}w7YS&gOYCmGhJ&{?z}N}_18&a8L= zaKC=|vE6$aisg`cw7km?U9-B@;P7slS? z4Q8n~_&0uxT`8|lJlN(%R0L?Dzu{v+Xr7V?F6GkS#a~OEhq=$z9y0|kNnL^J56^gI+*&-^cx$C3b{b7>l-*s?O z_+%E!lJyRw@I4kWii(FVP`p9P6oUYz&ji3OF_ii%b(3WGy+PjGB|7olu)@J^)vEgg z_cA~N!O}lT^|zH?`ZgsU*g@!zG3k<^dlN!`^frq(YeK_!(b_SD<{+yXFS>FPZGMqO z5(&RDGZfO|%4x?PFzn^G&iw>?D?KHYvgd-|HqvTySrnNU|Yvv}>@2dXnF!Nm7d|ZjA{9eezXPPOO z!X9#Pr`NdGogd)U(cM7qa=%Q1(bJ2%B$Uv70x?W^9}7$s(C$+e(_&0GI~;46c%RjG zBhzn(l445L(9t$TeEGqlBd5Mml+Vrf6JP&x;_El+^NcFl2kZcEh2S)Y&&*;cj2q9H zl9J|ER3y((#ONBHsr8DSQtJ_wVy@;7-GUzVG@P_QWNW}!TX72p9p-qbwe&!Xy9@24 zc0fCF8524dUSPU*rdEN^i6@GRnNsaM2{-yR#Q}~cvhd0N{A4@-k%v z`sSqThPis%yZ}_t^7%K4`_*RC#T=GvPCZQg=-0#Qa+VkR>*{ArTpcue`FHBDKn|;4pkC2V~S3a8@^W6KK40dJZ%|2o0f~q z5|XuXERqSXwJ6twb4nQ%l;5-}xKXF8`-@{MQ)Q9y;v1UN+*kR*D!CP)V-EnaPXBGx zP9vD#u_L!u}|3Bg8RTc3Lf=hQNDD446+>gxGmGn%xBBIY)h^i3jF%4h$Fjo3Uy zkNSE>K0=c|Pp!++@obA;<~$!V5_tjOEsh3e9OwaQX@0qXaqtNV+xkuh`>wA(I9Lym zZGQXbOAcano*h1^Er8^ir1)278OHhmb|h=;O61QwmoMJ=_A&fROEx|05K}KBZ>!YJ zY3 zD-N~ZhZ~;{*8{Sio_*)3tD33wLzv8y9U1O9U=mcs>EdM%B8y!A<37Im?0~)AwFPdM zQLZeW>*eIRol;(@DK(fn1+$4JrB5IV$SYBjZan+52C{`6lwX8AveG_z z{C0k1x5Y!opxQ2zVKZtZdyp_Y|$0 zHtrokp{}J=tlc$*ZDs}!$SS8foTQ(zLt!DMm@zN%-k{U`!!%`5CaE3Q-2Ru`v4Wh;7){E5-tkz zcs}CUK_d^d)9;qaPozAxeBXU;;jxF9eR8jk2em1k0$ zqO2dTRPrTq@(S9SOsN=r5Oun5)p{3^qKTiBIepi+1tK^g0Qf8eo#M$F<u3FNFlSl%7UM|_7*UNm z)Vu@WLq>U>JFibr#(YLJ(Fc8jXbSF@Pf+QPrhhc8)XZsR?da0mexjFN9F1zd4IsPG z?HiD!lICW0>r2sq)ZPCkHF6*m^^>tEevaDVFK(E$9z5~q5+YEjh^+++q zgU*3PF>4mi^$^*o}7WibJU&*XE zu+r5H__2Ks6FL`OZg%XBzIfkERmWJhFVAZZ%jG40S+(0lsi$ozm)Py*k_5I*e?ZVE zIkU!LW7D39FaWkglDI@m0X&wTE2Q}l?`ROsGWFMQ;2&K12ghDMf!I?HFN}JfBoHK* z)QrN8@+>E%d&KXw<~=zaa11D-(rY@(dM!ImYwR+p*5=J0DDT@(T~cs&n;Z*{jJ(K# zyq9cOO$%-Eh;Y1xVxqEEd)iG?p|r`UTnPVLH>llGM zA;DZ+%1%lG8jg#qYHCcz{?~eN015Fp5FGHwU{C->p|7FPyV+yZVAUN<5dQGpf+kw;OS(393O5^H%`4uye&K+6}(jQzDQ)1EFa?Qru~t zZH+BpRWJs}OuGa<&JJfCY$@)p-8AwyQw9A6nLr?Q z?j``OOuo>RICZuEd_ZnlPTOHm2Y^0~%JDDt^B)@jJ|Yu#Ie7bJX$9wJ`ayw|gY1jS zn;(XoA6k?dq{L9h)(TBM3z0mMy5k;s_doRe)8#gY#10R7PhG-}=1qIBW&6v7sYvQ~ z-Ac$t9izhUX}sl^=iuJ%5o&9%JWlaarN>N#xcfW+;x(?{)caQ(9mpOTJy6m8DsV=d z;`r@MSnHhV_b1(HDkdC54BwjQ`j7FbGbSii+{#HUn!qb{>Q9iDnsy2DcVn>ToYi*= zqFKz&md}|g4>(%;iB4hJbjt#Fs614zRoE|Ms7@&=D&JH-MM)`c3uLNwq5K7tbZBXi z;7sZFzIz|@Zu;;-1mogRcT|@}Y(t8Tn2yHB*(vrozov${`w(fB)FepypzkUNxzJRH zus(&Q&eEcW|0fzQljVfWe|1E{LiBO+o~ywZRhYxtXR(^qq5#j|MAJI3t$UO z(kIaQAoje0kxwA>Qn6rpg9_x5|4X10$@{Nr=vyuvFcy!Cy?*toxX1S<0UnxgpCWO7 zWdTnU|zD4w}wmA@i!1wXEh$@0n!Ma70 z6EUjFpKBx$YksbgWE@FfTb+9XQofhp{}9VrGd>RlhH)7-za;nvxb<79H*U2U`{8s; zh6V61jMyvshTk#a+?j^E!f2VN$E>@DIp5=6Wgz3FKTQtWS^-P zEld9qImW@7IeTc`EN$hurDud>b;iwwrmRVU%SvzlpqKyl)WI0S_xFJuik+xk9R>Z` z-;tjl?9S2aa5%87gWu8QcMxcZT#0+*eZk5b8rb(uL!iv6%bI%p(Ca9A$IbMJt$il& zc=FUw#fHy;FZ7I4m$e3K_sz{lq?#RCSr}7r<}>CGxKHxteE9%0SbXQd73in$c_jtQ zCtIrVHhb*(VZd7K%Z#kLiD6cYE|zcl5ckbohdmsaUw5-=cC(FIqqX!ahxyX<7!85} z>MveJEnJ(KA1?Liz3860*LdSB+hFoe33B>RpxJQRQaZ=u21pAjjP*h&y z;njW=KX<|_0fz-x>nkZi-Kd(uEuNdma{=D=Vu>>E%~(%bn^cB4f)3{2{-u}yW_w`M zWpsD4ux=AL~2!tggV!)B8(mOE2Qzb3jrDlO#y8rPKOX1Yhd}C)lwbquNYuN@6HvxYTga@TQ|3(L)A4X#%(;dsBhpnjgJy>408c%ifU5?hRdhj z)a}=*Dq^(L;4WuhY$h8ydMIyX_gsoxI+tw{?FTX(5V+ zwwkoSSG};r`xl>W;Qe;E>?W%XJ?BGIZ^BJ3($dmdBDCB0ZXP+gDEZmF#kl2Pd=maq zYc9IQm=Wo&GB&Q55Gx;fj_XiJ@s$iXE)Oae6k4A)M0}nldsr*$U}p338JLW$11deg zkIfjJg7uqMCCilMlk4*jMufVuv$Lbp0@0Zn`PZs0UUexnA)~TNn0s(FqD@vntW_Cq z67>Xnyr|f&XuR7Mg<@GuijwIyUHA1J#VmJE0&O{d_FMY6@OGT?BW{k-%KBl(CLjtfm22*t-%t(7_s@%<4l zh4~UBEJkBE&0rWpFb3G5S}{gL3%tfbOmhl6_=_tdlC-gSsTAz9yRL($3A0hMue&nV zjq7hdv)w78Icb`I^mECBj++z|K(=><@4W}+!i8}SB+=%xAckKAIig_iJ0iV)NOE!k zDxmI88Dy-OtZKkzrC?s?yD~S&C^Zmz5+O3+c{licb6*MWP4ugvr;Ch@)`f!1p81=3 zGJP?A7`PuU*cx3za&Q6`YH?h<#$)WRLR&(yRm#Buq@CJ+Eyv}JH20wIe{@J<%%!@L ztrTs-(A|HI9n;cxSynPEUox$d5rr6rkB_dP=+>V@G@vwXZ~HO^3VaKwte_N1^UBffqCG2o?~%JDlX+;^!0dNeH9Z_!m9}Wa-G!(CADNUv6-^WX zStCa!c_#3(W-w{;F?PeSFEu4S0B5m}Jq%7OSLyFY3 zJd!{IRF(R6g3nG#<%L^wp4dPfhhLXckLrIIt&?8`ZC#BSJs)shVT)edBkv zF>G*@_Q#;w_VluaaRZc$PX)v)$lV<_c%_+hOxPU5su;SKl**b_`rVvl0|NjaO%f%_Ln)mM zCg|d2#ku(rI}tO*az@8Z@rueeRf5tEnb4fc(1yyPNs9<_ExY=9_fjPy*m#UyQOyb2;*lNit%497x+QRpl0h8TC~vn%`Z9VGB^Mrgmp z*0xJO!qj*Qgz7N~+eT(Rg#B@hQOKVu zKng6ptx|?cYMuuM+&q+N-zTsu5;C&B7b?d%-1&77$Jl!UIGCHn11g0XgTeQ!bPXB` z7!erK8#J@khxNMt=9N16NVYo>^QyE-VL}`X)v3V0preL{!BeRpbwI1bT|QI3+$2I{ zxS(@8Ndwh*KfA3!-YhDGq%kw@5SM@xXn{i9gd*yE>JRt^I5d*pLHhlht?t0Fhy3E% zFiw66hHE1j`3AZlT<;~{2_A4S%7heW>>;iBi7U$F zqR1eXq?Zq5;TU-Qy@00%L8)Tjucd^r4;DV z*Q;EsNf?tqv@I8+ql+C3Og82Uvp;{ zxGgtAXN|DZ(tV*6KASFQ-lI{N?Cj~#7MKv*2t+J?>{wuSNG{dagA=Ekpg?iAn!Zh;#zR0=CWxw}Y;Qf}zreEXL6t8u|no zB+E!`E0br#vZ!;lhhWFd$r#>BM*tkpWDJ1gp&_)QKmQA*FgMQmo6jatNfQ3>V2*E{^}3Zp8UAXLL7EM^)ZZ-N!NgA zOJh-Or|LM?*gXrPJ*0O@)Zg8`$jt)>5BOBq>aU24G7;qwqB)Kw<+sn?0!(udhW< z)>lkx01GJaPYUAC@^q|D5Rz(6zuMGQOgNKuQDiKo-QLi$kNznSYImi=0A}BafgfXHWgcI< zpzCp06l%cH)2JR9iiz#vxdous$=y2*o~Tb;ucFDh(L{4bERP7$pthPFee@sipdMAS#)R+41S6LhOu$ z+tWuMQ~8cfwF=+#o4Ms7QpFm+2Z!jNnZh==bdQ0KGG6~pdW?ZOXBzsg&fuDdq6$#) zH9J!b?$$`D3s5L`jhYc@uA)A7?3=l}ZcWlj$9FfGUr%vG??wzQVwH zgv9UD>0&Fv(hkr@gA*yDW5LZELC=Nb*S+a<<6g8%^gncbNZB6Ip!zOo(-tPGT_hsf zrcCJ)%_*&qx|VQ#TJK6iPqmT7+rD^iH5!)++vwS#wh4zj2NM2AFTvr?k8|A*3&+k1 ziDlynVMbf$CwnEt8%g+x2Ez}I~YG3y?+ZEz;*ow0z zyv{Yk`>|OGJx2>A&EWm|x917^96p?`9H;ec6KD#mWe|CLlz+$Dr0-gNnOji&OIc{{ zu9?GkrkjqP(VAc%PFpt_mYms9)c{%OKmS$v2cEg%)dn*uJH!Ggm!oJbELh>({^K9v z_}Z)zjG79-8G>S5kAP{8(4hLGC(=+>LWVk zC+ETf=yj4b+iKaZ`9@TbStfG8iqW2ZindcjhJ-~)xe*FErFF6t3Kd{E7yC=nCb zBB$DPCZj({^ixcXYiLU-sXooVaIzHoAw$a)i-%pit3CO7qHYpiLA*v(h@%unVHk9X zex06Tz?|BS5+Yjh;85qwU*-9$I|sJ>+3rO=|DNJwm@E@@6&TtCB$fO6wPL)!>#kkM zu~J^0kWCcvgKO%VCpH=Ni1b$B91SSp07=k?Y^T0Xl88_dO>9RNEVYpWrtEAH(_Lpv zGPY4Yz317xGzh^S%&2}7qPWzyU z{fHJEIXTRID!8h@ftS+QrU?&~>XW@|3pzq}<1Y$z1Sp!_#`Fo4H@Krwj0*Lh0H_ms zY<4lQU;pjDt;0j-#Zm{@2))` z|M}(u*_^WLW%+IQ)z6JyA6sTENp`8 z$h@TN=3vy@rDdYO@S9c5c)!4=C0-NhBNPCoWWh^96`J7V(JYQ z9zMm}9!uB(0o=L_@)IZ;+v*3)2#WLOu9AcVGz53tYLbdFxx`jEDi1%_l;zs$y5DMF z6Z_A^{@d|8I}xKftE`MPPm{;osaQJ-Pzatt%@mO~1$hSt6kba@c~nJ(=ZR!gB?@C( z+w418?dw@*5a#uP^fo!~mZc-*kXZ@VAs<-WGeX9oHiK|E~(}E-eF9u#Nyt*@!S6!*#AS^pBntVlcd0Cm+&+*T1sgrN>}?i zcSluOd;x8Sf29UYjWXN8{Nn;UJC8xK|7)Y()93Trx@;Sf{v@kpINu2cVOlaZyl7~q zw6w%oHCWH={SDG%{{}nP8A%6wOx{#X;vEpz>o;H6%|l8Jfylb){(?=~=q{FCk05k0 zUGA;SbU$Grb%>vm`JTdN)D^~7ufpUC|^|_@Nk=wGC z)}^S(=`o-%PZ54q$>E5OK?2s2jOU(Eqb8!O;DfpmQjTS*nVL7 z6Govjt$AUhkrPyxc846r30=AOICBV;5Y6j!{UJ&>`cS)QXPs#UyzYJ=N|vY z9=@sB@6fEw-_vh=f8SSo4{T4MHxp!8}HDuW$OQPyGn>dJwSL)Ii3W%U9F z$%fgsTHKDVOa0j4v#sUyU;$2lYGh!rAeg2DOaTygz4!HNzYh?-UjCh(JZ%!wD{$A@ zwy`^UjmL_FAB?(@m4Y#Biljs&B(So-s^K6A6G%KmN=Y$!?`R%Cj|*|}Y5@O8iIo?|3@ zztO%5_Md`(;)}3TUK^9^sGcv|9FU68f(EV0wcr-Gr{&7{!fHORj>mqQIB`QF^te76 zC~0!F9lRr|>w!#7@P*cFVj|Pd+}?op4a(9t_N!zZfCF5_P8cTy&k&C>c8sSJ4DIC4 z*t&5*;mi5rp)v8Z(C@E;HFz7zGBxGtf@Hxn1}`)WP9!irHL-doXj%5jS?KayOQtS;P-(oj+=Q1}l%VYquC%IDO*q$I8krkeWsH}V$txCsZ~q4W^`w4?`scl392#BVw{dov=u zW9`5;KV5f!@U>T;$+AJn)AUFEVP-E6) zcI-Ef;ZmhEP<4xRe)!_k?4~B27=x`+#(Ldr+~?S_lbK<)KdfclpE!x^%nE9RirrvO zElQ8Kh^Lxg$F3_7T-`@wru?GU7%lr^VuchrlJBk;T_8Bgbvp*>4xY1-#x9}Pf9FOh z-h&Z3+Em{ajDi=whMFembh_1B z5*lgAy_0DBMui4$p6BTa?0Bx>5~aJ^ z*8mJRHb`?cs{4)hRj~gQ`~zQv@UHUhxZdmCtfn$%mr4dAg_v3jPG-bnQB$a7@g8>9 z7vV2eSe5}!3Jp@;#T2#VA@=3^hVp2W)9<$=BrmAUt;A?ObQoQ9-2q$GH# zMEB!_u*_h%gPB$1k$gFaOn~mp|3o zfiHn3a*xCoA8nn@-b-n0eQ_N7C5f7*4f7z5L45r}?8>ChZ`oFV+WG#)f7QVMX@}vz z3cG)NKHw8bDP*_Jdqo{6UG)i+D*Fj!QMQS8x$)O@L#CLx0Nwt`*YMN!5a(a}`WLN_ za9FiWXEpH56@UPzeKmE|*J30MB zb=h>;lEQ7qtS?Mc3LR|M4$>E6q}dZyHacEdHv5@vi~C1`13EG&-}yu;wws9f1HneVEn;f9P57bpEU3V zlX0z!%oo=D$X~ttf2vXP!536rPxpehqc4(ue_w|3hX0pFTgL25j^jV=bpPU4HSm9z zHRh`#|8p<=lejzoxp(=il7Hbg`Ts97{a2;?=UzB`_AB_R&aW_n9W?tpm36)mSY?&$ zt+E#D)JGM}fEAd*=M|XgwF`}30IgzDzoY^CJ4f(O>gylm1wU-qqi97dsHsW16Ihy- zN;GzN(#DKML6Zy0RBsotJLIJ4sX4;u?I-=)dMuD>a(B#h5~$d+g#%&w$oshxYV>?B zKxxw!32p_^l#5zJp7&ki4ROzJ-X3S`@+Y41m!S4rL<|bJF^6dt$s3Fj>oJ6S3}(HZ zc!4!le{-$Q6bWx_VlWef`>sku=U_E#XBn30v4%Qj6W$@aCyS3T9%yh*+&}vNUK0%X zs0%|GBH~bO?{ocJ;Ws`y+9YR$Q5vV|azF*>s^J((h(*knD~xGj>JzAnO5wz2%?>f! zj1J>p8^?Baw|%BVaD>dt%2eo*#;33o6}GDN>ueeZj*T@s3m~+$NSPRa$5UIzjvLH)C{&X3V~zJCmg4fxj#8 zLgRKRDiw7v$;6)ptUpH3dc?@cj#+F7R$M-cyNf)XF+COZD(VR^bxuke_KR`OsElV;jMc)l^HKkv&WG7=sHXA>I6t}(SVO?xzPn+cJAO0`b z#x8!=By`#yUt38@CG-7n7N_Wl=$-BN4cmwG>wV5uYx#dio0_2zB}s*HWE%3yuy>6( zAJ@x2^UAVevq$_$^y_j&#ZsD(ybeQ9a-jsdfLY=;8?5@)W)!=*f3RjYPz|(=SXP@q zb_m%YDA8lq?@+GO!QzhZFDt#mcH>BL*KZFs2y`?aNyvU|?{Gpfz%Jeam4+Z-Tp6vG zS0L={$!Y}}qR9adYs&-M2_T&_)#Bav*vv1Er zuh*AU!!K#oSt5#0{`w%}$2x2_4TnF09?ia$d*DEywtx7)S{w2j_y|XJhju6gQj_?U zf)udyinLe_4;-tTjMlTRjL_0Eq4VFeYL(S^H#&vEV@3u-3?yGc{HIU}%6{XKDpVsJ zXY32pD2y$F3$YQ?tr1y=B0jSGSSTf#!PlXKoVq{olqTw=#+_isT{|Dyn<*W^uO|(lP#pN}xkkH@Cz~2ilcmrpLt%K>TdYU_^i8E(j7~UL2%X0kQ&}UX?tnspzPxW1Zh$z56FSlf zgJTler*?DDV^nUz?c7-}dW^lAs9b>eHxM^{-uD=9&(f684$lI>FY0n9`G!bv+y3GI zZf*Fov!;f!q$1^#Ri5$IkyIm2`$hFik1^ob?+C&l%3?>X9TMCp_CphY-^bfbh7tg=<5ld>ZR?QHs5E<(6L=rE|Mp2 zh#{V2K0V<8@kvh)wkBHi^H_5>DDx*5F`T4-)?j&y>68|G%*5`x>K%}{>4V>1V!9A> zuB3UNAO0Wq-aD?TY+n=)j*MLg5s>N(C`cC}bi|RSR09d21*A(thtP|oBhnG+fxsAA z3IypSG^I+H5<>4aG?6OJUz~RQoqNxDGjrePzIV?%`;V-(_g;Ii_5H53SHAsgY*f0C zB%)%$nc-a0aLBc(){9OU@vVsUfmfMfv3)SE{B2%4&k$*Gc54Q^Jat}dPPk9|CqPi> zBJwqO)yC-_+Bj98NS@{(I9*gQS`ZaSUOl%sQ5jKnlu_>yZE9=*b4!7XvBdSYR*R$5 z{F7$QuPqcR-JDO(h|g1EX}4U~0a1Z!w>pGiKmE*27Zj z|88uY#dDVS^dGqoyW_LGbvK#i>CRV0Sh;9w;fGX?wYpD$D+g>=r<+^3OFa-`1i^)M z(N0HWD|n`DPQ|_I`%T`{Xk-u;eR9?#;9ifBIdm@MV#o3|ok-U}>+Gx)LpiHhreXul zbi5o#I9X0s+!q8g0P9n{=As1?HA;55_V`mJrKnsE=}PO}5{K<7PJl~SZ~twT0|310 zJ)ADx58!)w7vk4@M+)MLM1WMe!CI}m+xX1PDDvU9D!3ckCzDBrfnJrf&WpjVQG>#T z>bI&5Yrx&s%jFuU1$+x7KvB9%CqrR5?Ub7Pk>k$q*=+|4?f6$f&G&lviedZv7=P-; z(`p`RJHlhL9%*DeJ(qg!`-0?^he5@`JwM~X>$K`u$t$=1efmEM8y1Du0k$DRFZ1gw zh-;4NCtTF`Oa^%k3-$(1Y=DN`;L1&fClO)*(yRjT+)B6{x6$Do(?`=P|xs#fg&%>NX{Pxr>d+rtvsTF z2wE;LGrBbe&!4yKCl_CwUMe2KSC;hk<^vU&{9edzy6C%s zA!|6V2m`}S8TnzyuR-pvn++pG*#_6>mh_s1bV~KH*jbcG7`N1intMEC(waM67)H^1 zV<9mV9ccFnkbR`QEA|U*_V3gGQP{{wG*m=4^YIs1ok^&JgI5c?hpon`x#=nIL|5pnW{$AjN#ZxqZ5PB+!Tu|wx$Y6WbDU;7a zGMQA*ylxq5yho8l%xqoiPHnX%;dxg%tQ3U$1DUn`sXQm6iW5h`$wM{I zj?GnlW4Z=$nR9S{htbf|-`YAGi?8+bD>x2bg?Q?4)*HJU<5O}x<39m}J6@$UMhBlV zEbQf$P%^kO{s188_{B0mXCNu5e8QH8CF8O+BFU;-btar&qH+V=j>QjH*-t8YL+Oe3 z@c1Y-uqwRVZ>vg)ROy8cw+?83AL{fVFLH3$TBi7P4)NJ}GxSpteNsnw`dDSDSd0#H z8g|R1fZJQfAm+{@u8x?rzp`>LOWU$AKSYkS>J|%k$kOq_@KGSBoq>D{cFW3JD_4G$ z{Lmqp-%TD2E-xfjnB@4$b*OdA4WK^(8Y28d$h??^XjKY+2|0|C$(Casc;G?)nA{(c zF0#3!r&r|9?Ful}`rC&6M{ED@7<|jFQjFh#;*51n{ffJ|yxY>E%1tOEkQdb~Fd+f+ zX{J`R=`eXS0RjSnpdeA0*#{lPF3%Tjd*e zdJt}d>`OU#D{PM`7eTT*-fE$70KMKMKb<2`dr0*>IbT@wF25s>d*@mhA$GUmf@;6! z{ClL6(8GRR^p3#Swau6#Ccd*m7zgyVO=noLamS55t5+NOK#feIKpB8xTI#o9e%p2Z zycdk!lW<=N;A#=6}bQWKmqpZI-s>E`Mlz zh6S1(+qy9L31Ay)UaVURe;n|W9or3GN8?g?ot7Sd3@~|PHEh}AJwyED#BY85g_2<} z-1tF4oC+U3*&$!@HZd9z7cL~^Dfp3r)+wz##3UK>wb+#gWcY#cvnhly*CznP_=JiO zb4~R*dO~Z9x;x*;QxgZDhTbgaFqNp`KpPu7CvX)K64({B-mEL@CX&dQgTw1j%WTsv zClC7G7`D5G%#CGLs8uZ_ye-I0ki8|a_->Afo1UmX9dd0*PBKp+y>W%DXTSwDC9qjG z-Jgr`pZ@Vn?fT5 zJ9Dh3;oIG`rh>Qg-z}>bV>)>^Etjc&J_gLULMf*H+VhYuc@LqonNt6LVeO*sK}(mf zrO{Uo#83s^{Gqev+cZz$c})g1QGE%b`3ogO zv2Bf|l}LV*;WFYW4b5VEJd|knAyXhM&`eKt5fS$|x2pR3)6&@xYs&-b8&*2bX8RK- zc?zC(ss$>xe8%fDppQ?ln(pbRGTi$%qCZ*08I6jR?^TZogkH6Qv~IzMgT90A z?IRueb$yVb$tqF(J9fP}ujNm`Q8UQkx-hw7fz9eO5RkF;3| z1ey)eYst`dx4s+DoIFjOGs3S!bLn|5{mGeRK2N|`{onjaY=7DOtG>Dc)Xo!$bG4Ty zTj#q+^5e=d>2~6*B>AM8a1=w+VjT`^CcAi_OxXlloF zGcwQsnvX~OC7efAqda;hV@W@p>o>j{cVQ%&F<7I<#!saf!JE|>x&oRSm*X`@=+rI1F5n&}yV+;jnW3!gij%Da=m zayIka*pwBvUlst^{1pO*N$WhA(`zI7jmXti)$HQ#Hp5LSg9(0_wByF6;)uEJ+z^rj*Xzj zUc6Ug@$zV@R6F(3Dy8`rsQ65hgx7lsWvk>_ZDjk>YBcu;z?oI&FERON>)Z&tksb1k zonpw$Vs_F6GqVA4DW}!gbwr(EZkZ$u=LV1Yx67%6E zl2}JUmRmT*m!~S(KsjnmsnjoFFZa@&I|*&A?7o3P$l;Z{ zTXXq|m)R=|j=#8POVO$|ab7qj2%Sb{T$W}!66_|p{#EdJ_a3`)J@ zY+)s`yP7~S3rC+055;EZI+kX5rc6Fcxz_a1x?$VXNofd8z*Kv7C!Eu342tM}H{mqr%APiU$A91qwEz2dRJFJefZ*Mposna=2&s7VvDM-io znh^tvlpvk{2|jrGQ4qNcu&eP%NkQ8HPCWXP^YUf$Q)-2`-mSJ(>9&_PB0IHZg3z2= zB1I2dPdB@&O?PvpF^%3`p$17r2- zK65^E90Fd+uMt6HrZ+3B-51&ddV7zc{fY@-BU#VU9G43<_S*`1{*)2QoSziL{Kp@B z9dN0r>O8M^6#*}93Sr9|Z5ND^(OU3lTbXh)@atRB0p;o0JOYq^ z1B?Y)s_O-ld?qQ3Y8^dLu*9OmyS|c@bmPvPGgpN1mav_Npbu3wI@Al!Sa{s$rN!~_9+qNTp$uo&7L$AB#)l4W*=QO@bn0@VSfQ{U@zjgIj zO2^A*xUEFW8WWf8pCZsYuH~99fFS=A_FYi5{J;!_MWGcj;Rbb{^+H4>&TC?jVbNh` zy83p3Ph@XgtK_nr7q%ie&#EaTRpwxw(`IznF$IiEYHCX|y!l@DyB0s_ahIj9DMr^( zsYPef{M)k5Q`Nzx3M*9dS}8RDo05kDkMSpIIJ@YFc2@VeVo6-oQo8h0$Q2Bp#yxe9 zR;_t57_dhdEV5AcTD>9M)q%Zh{a0=?+|m5Apk`U@*#vK=egfd>kqpESZz}KWd;(Ck zexId3_&zH$dQ_r<`R@{ct$fS=;153eADao9I>*=sSq3}h>}6eRx9pnPD%ihtW#UfC z_QE!Fj%|C$1%Jn^iR(zuvHD$`h_zEwg%!?{Sk@k+N+l&k zyjfS0ADW|ur{DVMlwz798!Y`wshn%F8E*j9*csrOf%a;rU18ol;4kPz(WhGQ^_nT4 z(^vf3)<2e7z#%tszKwl8!qf>Hx+l-BA2zk%9Y`35vl6>oqpZW73jNhK)dl9L^P4gP z!H31&Kc~1gIjPK~b!q*k&sCe)w|)LRjcN!K4o_zXF&V{7qql#B@mQ*dDOKb0fwJpf zecKDca$vQmTTK1Vg*?St>qt^ktHtsz-9wVh@e0u5{$C+$>D@i&{MPCCa%xk}4^|u{ zcFYYI%j7A3#1*c?vpC%kbS`{PF_`h>(FLJUyi}sIMND;~)x$>1c}-l#(UiZykHk4S zzC`IZ=AmsRrVbA%*j@Y%X6xl1FMmC!3Q@2`Qot?HKf}B94zak4cO91ncY6xWU(eMD z%s^#T-oWR4X6@}jDC5o>@m9;O=@Jwr38k@>2|#wyFNipATq;nw!F6!y6JTA6W-l@n zH}Ek!=ydQd3Zgd_QY(Ep9{e71P=s@3Nc;HwSKR&8f=;}&hHl*oca zImp8uIMOU3O92ku)CfFNCt~K$V?61JeKQe5awLBF&tqGCJ)j!?Q>AXdPO}Q63;N+Q(#uk z!rW@#?K`j@9TiIih>-sz=ld^VXh!ic?XSFiz~H)9*@6Ayq{}+u3fsO?SN*M78Nk_{ zwnu+;et&)LRPL+jcWoLVo_kh%^CB$gJ>DOx7EE$dBXCIbTrr}3jIVt6sdxHnKpi!1 zZAg4v%h~rzMQT@_4M{O@TC|$(bu2bK+{Cbzw6B96I2T3MVU|#f&C4aqSujJZCT47^V)(AWxbG@6Q#~-vx-h{Px#J{#tP%TS;}ZxEZ1)^}ORu z&)u1*R;t8Xx-`NdoUVb>@7@M=(E?UpM}@2?IySOO)BgiaN9>(ZH?whLL23S-YBaFW zyOE*@De;d=(JKSf7pl3h36sbuZ*ez>?uy)7^cu$1JX_Tq6A|w|d2KM@C@+GY{#QsY zhj60<*H`=5E?)TRn6;yF@__De>1s=7}WvGzx`9K7r-J zL!wgHc8FO;4l_w^aA1<}N=#V%Jjm_>dr611AWxU+Nt3n+{G4IIHW z#Y2CO6Vs64C3n>KmGc<|&JPaYm4VI%cO|Ev%pL@FF5hwo8R{Lb{MH zkO@cAcUE%z3tgulr9(8a>@Q?%N^v6Re%_v^`D6+7?YV5-L(#N@24@uq6%0Mo`n}CclmNpOjzn9RJcmJPM*gT`(@m_s0UQ^sl|> zjrX8xoILv%CprgM!xQ9(sSj+Xo=mR$*pHe%Wg?GKWZIjT-e3$ zs2Bp+#qRtO@cvnwu2&Ys0rMS|&^%yI_lQ$(Q4Y$7s&P}Dh^>VqbFikYT_3w0y3ST- zHA;nXv0azSA$MoS8m4D6M~C%Rtbr+OV(9DH8r)j;W-Fu_=Lfx0CwJzG`&WBL7ny>e z=0did^qQ@R8$sX&_rz6DTXbK!jaP`fq6Po*QFt}Q3kjK9TwZ-z^5k@fZ>g2A4)=C5 zjK!&@hV?UMSByoRbxdX~e6@SejXU7!JWfjgRltd#=-@E4NoQ@}vd(y%am0_-o=w&F zzar7~M(-1VSrfPajygA9xps8AHW4BQkj%LG&%pm9_fCKYsS3`%oXJwVAxa$xT*{-Sn)8-)k2@l}4TqN| zZPkFPx|A19GZdoQPJG9==5?tmqKVTyT2^~IUW|2W$PfqFESB>ym@c7@O2m(CZ0XhA z@w*J^eT%-LW@Fruw{b$3e{7My^XSoco&msV(?7*k{m)PS$$+0L&-aqpJvO=JoeKKm zB)ysSmiV@RMo3_*Gk|?9>5ok7KWp=qXUjov?aZ8F`849I9klMMGcg5PK_@eF<(R8C zbwGY;QRbOipXtm>I-Lm|axwXt&ZH%qZJ%sPJX=>+Hewqhd@*O#<0+jOIS=2Ii`LBr zBH_9EnDj-{N>-<{B-`*_fE9i|=W+uxuuy4r^|~;ds$-hp<)d@n{v>bxB^z}XPj>;0 zcl&bbrd_U}AQ>npJ{q^HM;9joj)ffjJbDIJU$ttRybKOp4bBh>vZ}(26&dP9fycoF zVQgFRj+rn$nM?p>*WtfvUO?}S;hLBD5ceP~g8A4KYDeab)hSdzi9T!un|hfAGxwW< zHE%JReoMHj2-HgSWpK~e9NLAA$jX6`H^;oVdRhoe*x@(wK7{Fsh;e7ymTYsi#_mgs z^qGg7$*qNwy8`2S^E^H@%?Aw8w25C}`|sl^0D!{7@Ujr?*1DFY3OtDr_Uho|^Lu>z z!i&Qi)42;YZu=4R6-Y9toCBb4eJLP=(DFrNny;3j(7*i-1jV{o&ax z-EC2vhv+Ub8>4|*&IL3@!z{o$(oY_G`<#G)hvA#Fir8M4##MjbfcpiCZUbOHW8@G1{3}OwJ9(~E<)G}%IHTU) zRKRo2_-7xTp46Pq*lHYB4!kg2JCdZZc=S-^9Yf;8qd$nPf7FaYZkuU{U1)K-h0DUM z4}~TMUBMzE$wVpVn~GE0_abvy5CN`ux_QklZbH!szQJ6j>ymBalVqK%Zc}Hhq){8%eWRnP zx))28nHEsFzTT;Q$okV(R-Q@SMvAaBWVoBOfC)UxdVgtY1#lwrmyMrM=}Ue=CSYT0 zrTt12)Fr>w;p+g`fZCWt{Mr;@{9C|Q=s$wN+zw9 z$j-09z1rh-)^P<@xOccdEY@-)GghHOVeGBbS$iK{=glKj6veAq%{(Z5Y}fD6u_5zc zAe&cE_p6^Ce&(V@uI0^(4tky##HJ?7)_hT6xMNEPvH)HaN^E{6aV~?^=%Iw@<1+b5 zWb0?R8Yw)@{J1qCPr9HPgW0^4r==4@-;cNhoIz8x?Pi-QZDMJcaEYd7v-o?zt($5e zGjgYe5}mtSqrvj$>z%H2?;OQ6bS*5Qd#5PxGlGsvpFBDXh5y5W{--zo%~$;I=PLk< z!;14TDqr!}sTU10=Sv|DpSc3DI0O8;yTEiYMW%_ax6hS05yvEvRdl0*P$Aq$XAKh! zrP*Hx+&Ba z>n0U9L>h{s@s2Lo-7M)Io#)+>JB#RZ*nUYZJM-`(jZdhdYbb`KrB^%$usr(1llwnEI`BCtuo_Vq^P24f zp=v1Vi<52H!u8!S7^KIK%E9$e1xz78HQf@(o$!U( zrl{@CdGDJdjuyFr%w+6ROr%@P4(uB#v!ssH^BxmIXYFnLjjx8aQ}x&2G|e20OH+-Q zJZ7sDq_a?;-0NBMtbV*ayi{jNG9Rd3sPqDGf$j6OGug+R_G`AR<5Ot~wn$dtFI6Cs zmCDGvvQL1W4vUcI0N9<|^!ERi<11>NEdJvU>!OvcljO#1l1Z+UnqnvlBPUNcslfki zy!UbjKn$mqgQ2R65;X#)E`tK8i6V=yrDR(>cc;-U?IVIrL*y4YZ0dS}c^b&1+6inB zD3oEx^)dhLNFX=NruSY5v31D5QPMx3y}(1kba$BoZKAj%U&5t;ectjy{s}cX^5G^G zDT>VMEA%~9)sV!N&%$!4o}|HRaodp?tn2@zpL8h7iI4Hz(W`}y08D>28#q>6wzd5| z<$y))h()9!Z>2i$IWm|L6#P`HKj_1$56|{7%G|dWHSYfxEtG%3?s;laO%Qk{M9FGo zE@jthbIxG&0h|`Q{@Jvv$&Nroi_#_1C=-|{1c(#?mUuKPDXBUo3R=6%6djev03M$vMC1#?<^Wj=&%np=6!n@UIF*;RSGBxK@p4!(ZVxDPHdOqouzs3e4 zLv6}_nWAjvmrEe~Dfssq0jw4N%xoV!>0abFHlZ8>556DL++wio*PzTrJIcI+NXttv zuedOY%IN#9@B?_Cr|?3vd@c6f50Zc8_5Z83r@shiC+Kla(*5zixWwm-5JmB4>{?um z+fS_9QMZgb+Iw%B_IofK7?&OzN_zaS-umShz;&91dSfe zkjC{k?(jT1TYmfxz3-nk@)U{aXpDah;SJU>Tg_lC_;G({D^Chw zRcZ9|SdXP|bWzK11OZ_+<$_t9HNJb>a~GNj<^8i#Pj1QHvS>b{c&|g&o&)?E{wZvK z;N~fdS99-L9=oix2AG=k8x?pgIj2Jx;*rslq~^yr)h4HcB6c;i?kneeB+q!5VL#Ig zKA3olHiSdVI>FAnC=zzLlDS6yci)D^!X~~fKw(YE~Q`3N5wpD()X3Pi#Y|~wEqTy)YY!nm}6n|&{sK!2E9e6=6pTXo#s;;dRlM* zYuuwhFpa-8`F|$};_2O4uC4BRWq?5cHC|&;ISnOG*RI#6w!-cv+70i&`Z$gV4zyBc zn*{*!xqidW1@B{)XA+g049(acsx4P`ID#F6rbv7ma!fr!0u!ZVQh<&@-L-jv5EDP~ z$Tjv%*PMRTn-dT2%XLhYdI*ejQPzq?O>krA(+ENwM;VD9CRb*OIK?G|KJ2auj3Fw_ ze5jbz=JadW4(KrLfaQdnyj{51^eSIdo#K&9y}AZ=FJ)65g+W!9`kpmX-iDooW41{9Jxdk`uAh@@A#ix^bX9NK%SYV;`)+o{kG!^>AhI?fMP$-^)|oE%b0j zl9uhDWEp>?lAax<8J;;mp&`u4?Au~CIOM(NZ&>0e-Az@NsfMAE zGwsb7PrwNRLz!)v;dI(i!?}7N)@IQ_-O$A>3i~-Jcn#5*?Fnb^wE2%}=3nQSI(H6g zz+2i2N(Nq*H!}|5(}gPg_AoUj%@QmN#3cj^BuY1m**pPa>McBT2UIkyH2JmAL!xK7 z`d*Ig+9cDk!r{r$A4xK1G@smNwU9i0$vT`kb^L2+{uv`9|JLYdDG%xO^$ZwN%f84gkDby zN4uXLHbd2+Z`|#ffS6*L!8P^M&55Z?Llo#6W9_{Y1-_TDizc%ci*mSW-qjm#c4Gij znj?G>PK58h%H{HKxyHu)Q>4)C9c>6*Fa-1w+I;Z|aLhdhBEhbc;v2|Stw2eA-md2K3C=5XxlLAe1vf-0SH|##J5Eqfi32 z;i6QM6uX4%10{*EOjmYXsOE#w;+Hvt?oT|MyJbI_b}{zWU1IrV3{G7vTGIx$I1(`x zR$%cQrT8*Y3s^4bx?HxT#v(i%Y8}OW_N-N=0!Pq1SU37qeZ#Y2^8_`KvtO%ua3)!_ z`tDNf#$EHAYmB@&=no(1HbZ5=(ZnNg}8=~#1V*Oysla&hU zS%@^8GhUFFzq(IvAwZ9=Vi>~YMpQZ4eP-u~f6vY_eyK^k`lXUFsF~eEJid1D{b!q0 zPv8TF7c<}f4($2HVy{kb?w2ky;n&wM{N%}M@^BVa{%T*qILj-xkyO)}SO#@L)O+a2 zzTYm39aNt#-b(KZoyG{c}#5} zMMaaGmIVzaf0$_;)3&F9#;yy4{=7+v^mph~noS_q#(H(G}AtW{?UA)Qp1ea@zit4`}Q-B4me3ucp_CL|<`%1SJ9cea$Z?7e8`G*$$GAz!`>Pr;&Bc#4Gf zKLJMWnOTRwGFP|F);TIlh-c+exce5jD9ATeeK!2^@VG}pzK#z+8IR$`eI=1Io-!It zOxOiE`Iv`6*CbRlTS=(##TH2j(Skz)HzhHJUkw~PpAp*X$oJk3LrRy@WAmr@hUPcL9*HO_{}w2=TRY-DDaA~_+wsuSTl;Wub@fDV1K*t$ps&_-sfdjP3E^O5DMMIi9Eu|8dqh z(3f~~?EJ_guoJbV!JZ-IqW05Wbk)O$SV@`@_WDGQb^aw656h^_;j1e^ux>TeEh~l7 z_6Z!g_E!c;R;!l$$QkXXD&RW+&#T+NuczNCUpckrwKcHci*~A*KCi^;C$K1W-aS+3 zf%p4ZW!+qXcDmpu6nlF2ndt(f4(b=M17G7E|C2=N1NZiEOB4JWm~mo( zwMm}FKe#oIdn}W*#I1VvE|!V~h`1MCg^INI`gR0`Vcx3~t9&%lSe}X*EwLHDN21C7 z<_IfHm^TCzzQZd#nmbX-Vn*l-#hWp5SO%2V8;Zyeg)TU4jy|(4zp3HoPxZQPt+wR8 zkWT-`MPWpT(Nq16HkTcTD$CdVmf)eik5Qrz9QmQg))7vMZ= z1BiRU9l8s!KvDez?an4oCUc4Gq0|%leUd@40zXiIRi3>;mpn{)aDDTcu|C50cSyHx zCQ?J!S*E32`m}L&JOQ4GId4Pfr1KYu0puV_c2XrJFC5p1#qmm~4FwH92Ve4PLl$w? z@ROSs9dOrTjad{03HrXCQ`iC>CM=fNJ=){Y)Pd|0j?;Q+!zuG9vc@BFE?;z0eRq_Y zx;ZZ2buxNKK6hraEvI*tGWRv#i@rpo}F>yGyedItUOg zW|qm}b9=GOm5z>qT&otBqM#DDqJmU9#G1AECC^3HDvtX2;i9WQ0S@3P+j8b^%Uvkr zEB9EamqEjGC4FG&7o1PeS=)qd$PwKok;6rp)xtJ>A@j3)tznF%w|e`054A$_%Y=b- zy()0WQkM9wn-VS8OgG`e5W*-hN=?;06S@{Xfp*)h)FlUI3CNc}DviWPmf`UIEByZD zo9YXbwLWKr24X}+y%fVRRpySHz5P~j+^XI(%1f@}nK_&vgZE3Y@n1Z&O2GT-1mKcs zHg+WLcEXvEh7p3fAHQdB2ujcV(2CdrU@%qvZMl6}zTjkEIZHB#i2K?qd|u}C)F~8I z?!Z*VkPM9TNnSk{9Dy8vY^*ON1dqTA-pvkORxS}Ao#WEZZ$#pk4nvNcuxH0X4ZF)9 z3-Ac-?(*&oW47e9{riH$x%D2DMZ_tqS=oF4uBQKqA$sY{zW;gsf4*b%SC9@DlV$7o zjPC7)ql%hofES7ha&+f;M03^r7{)UL-k%QCLglNBsp)?0*B=vlcbm^vNo~cP+ zzNSPz^le0Eb0(;BbdrdtdOp;sM3T$aT(e7t1v5a#rjmk-lUDG>tNwHce;*2jc~*3Z z(dgBj`Ya^oykY+vt?#XKax&Ai{X=eHj5(++&6z>IkYMWPEir1uKqvBTp51Oll3QUu z!L2r+>EmP#zpSeEI?XWX-5`_uTP|Cj5FwW{K3PPJt*xk^zNq}&@Oj{};hG%XMZ^aq z=Oag`hn+Vu78~=0SF~N{jKDg4Y>U2tU9L8vcqB&auqznoW`U#C%(KEYhlI+ZLTK9` zN_~~&#B3p{plnhoK7DavoFe}kAguoAZ`k;y=4S+d0}C(YCY&{8A{cw;KYpCypP81h z(6lr~d23`iSfOyv(kTUoC^p6kPM7wXIyj^cn8YA1&scezAc(Yw1S&orV!>}EKRi;v zOGtNT2{h5^rWr}7M>e32@tfw!*8(@Fdj6! zC*i4N4elf*PTJDK%SCeFFQD*fS>+DDiigxJT3U>sI`N8iAp z{wtQzO++j$Y--FR-~(|am6gOZZ?pl&qsd~Cgc5062#wN_fC?tNRUVC2s*KV`K~4>< zZC5o{^iK<$iNgi_jfeSatF~RK*Ts-S@b5N*9={39f#=E(3c~b+hY#7BW)RS(Jn%Y? zyYp6Y&GUh_xDLoOJYPZZtcCDE?}opP;!w*H&`_|l89^GjPN_Pq3(1!XyTWH}ci_%v zfhVo#&T@qn=ovSJDV2B)#HUOqmL0I$*F(02!h}wS`Bzq4fj(s_ z3TrIOFSC|IIX3S)3=`5D!3!R<9?<5C-l6{JSM_>n1Ka88{A!ns(rHZ+QR=1nnj|JB zCRutA3?4N+ z?6c?%q~mC->Ct1G!+^`3b)UbE2*odrw+hWcF2=$FO?VePB%#lCaG%Ih{s~Y6KahHK zjCS$&?+RI+@S*om(B3wr!$7Zd*r~@)++9u8FkkU>^r*YImIZG!$8Nf>WEQ;T&7`xn z+a=5VK-wIy;_Bqnk8;j3c`}G9bC2))QF}C5IQ%+mV`sidjFnus@cws|trQrGr|xyt z0KI2KBMqj}8>LfHwn$77oFk+Zsp~F7fMK?BaBuwHk^CYK@rj3OA@+Fn5of7VV0^cb zU&T+JIr z8Cp#tG2&NHlue0yz73K(=eSm<7OqOf85zpC3w+F1W9+CC%I+FVu<-+R<|>t4Rq@moxgvX0dg$ z3q|+Z`CzrCXWyJy;b37zZMi1`l<44A;lPH^trD>)ysJAfK=tXHfXvHtk8L7&CQ^0A zQXtIe^1FL-DAYPcLnJEr{Ew>kHEvGXk|>c6?SqAZjG{WC#M5`LJ8f=V?@N?T4xe{f zC7I$|Ke9dE6!vfQ^gt~dsHFE6LvI9ZLtArJ3%SrozUhWFEz_9^k3#WeUN@0S&e^A# z;$A?KW!Q3`poL@I9_3zpY3FjOY5-9~2yq~sj;&dTKt6cF-Oa-1Jk<8%DJ>D;54m3C z&O^S;=(yT}{BM4y%Kv^{0szb&mgio28hubn7lcUCC*_GHL*mq5!Yz!k5pu zwpCTvSVtIIi+(^{yV-y1**oXv`S0ME)>V&;pw!qk#-vY&L50LjL5e5!L*3+Q>3> z985FdnQaL#d1f$(j(ubOff&rGwT2tbRtcL1RZ=TCU-y^#Gkzp%4 z8%xB8gul4TlA~^tQX7WXpZ0QDwSDniv(N{Z86nqlLdk-{H_G{EZ+_1;K$W!h?6mTT-zHyDZ#pWuXX8%jrKj`m0oj_v zEYsrK!nuT41|Mz1oDa#1`ARH}x~DNaNn)*}$bp8(Sz?`QHhgP$)8;wck#@jzM%5 zq3G`=(S7~AWOebH`I4R$PR|u~r&tT)uobEyeu-oZ&xH#_tcgYiS1l#W#Q(5(cR}(i zu~>>|SnE)#l6qtS%3IXP7G^TGPihtq)AOw4&hv9wHn-e{mqT#r8Kpdnc%>U5$q^UK zZ=knp&rY4b)j%>82n2$;rY$;JDcv1oRs^Wpk{VcX`sRjrh1Hoxj>{ua=x?K8JkDi zN>lD!ml`NM62kDAE6m@eZg@P<1(yNl~%FoKa^4W#5CpAwh5(o5uKlirWuuZ1hBIjZ-XJD^g@TDhl8GD0`iz-wY3 zkla34v#8E9WB2A5S#Ol)74;z6&9JD$i^K$oOiFXe2Uia$?k(CRvF&LgFo}I~I7q0z zGzwof`Yqj@BmaP(Bu{s;WCMd~VDOFA?iTb2_nP%~h-8(3j9;*h`r=A-c#Tr^`>orI zB~||cihp$BUpM>dw=#kkJ`A4-U{PKQ`|yRO0h{CDrn2)VfV2fmYTka)tGKX)Uz|A1&NMb$T9M` z8W5s%%!rhY_rFZM8+-VCg=Oer1ZEwqXs#Dfy8lxAX+#0Kx89fghw~CFI z0b{c5Mp$!i9#!&^OL7mdK!Afp-V#0VsfJ$y1EnmZO>Yy5mVI)e*T6%1s3q`H8847y ztO*Ty+m8u4bEQ)~gOZk2&723Hzgz`uXXUL@8n4!F*GmTQ6h8VJ3Vx|+uj;l}WReZ1 z^6D#xt*{{|*}P3HNv35eN#A%^TqTzC1kVOVzHiFkyhs1t3TGq^i^JqTE!HPkhlMs_ z@~_fE3cF6>32Qi2XuetE4pXdIy{&Yy32oG!sBMs|ez^CMoaXs6rztJMn3UWm>2}=6 z`l|uFSkftu0z>uC$Z#pJ+6xV0lrHZLeD zg%A?(zc*uefa^G@w)tUDMQ}yVG;Z5AJSwWn>a>w_xye(wN6ZU#zLbjvQ%zJp5U>}v z<4MwG$w>7bTlPtxd{PuX?qZZ*Oh);4n6la?suN@GT2J)BH!r}t#u5z%+4z#dFNEje8>ZFqZT=vFk2!g9GToD78N zpN`PEDWQ0`u#or(P=eGx)vDnALwB#8Awv#63N~tJY-^O>zqoRf5KGVH)(7_qNwRc~ zG;Exnr#tHA>sbuNAR!t#Ov>C7B9O%7#N3n9T2}XA4kpcQ$Mm?cQU0I~*uuyh5sR%> zva4}2CPdSUWhC6bRv_HtC=Xv02$z!@3qQVU8Ra=S($p_=XfT~PAfI`|?TF_Mc#&6h zZkmyAoCCfv<g)+Osz% z{WgPv_TR5b0N_d=1fGe)hto|zkylbjl(=`zt~zKB2F6I7H?cnB46J8yeoP*|c{i-ULsl6zZ_gRZSpJ(M4+m4EnKWJyW0|Hs~&hqJlAZNFVZ z+qJ60QuEZVMN7q0CB~}NRiTDNLn5Zonk590n6<0zqC`iey`TO$HA&;^fp<<_viMWHss`BZqUffTefc> z4`LZi14Rj{;v{PiHk%~IQU~=gG7Y$gkU_(u zv0y<5tf4<` z=S?xe581NY>NN`Z^ErCK*ZIS@V?dM<0t%l(qg2Mug(~t&-6MqBWxwsgDY}$gGXjBN zjbc!=KYIG+nYi9)n_@hVS8lKPrj}Pea{0%2$0RN_OXePN(d1TENkwiy|8!*TTT1?h)_J!7v|3F?p%HA>>m=2x z>Fa~r8{(C4p;aAi>)|uYbP+^cE;Xab9HB%EHW40l*Ftgp#MCn<8Ct#{S2;LN@Sc(J z(YA58nEbM6wAw$XBm(u;?Etiv9ZB&uV(iQoSHAh5QtvAY;|e@J{jxYEIHA1VF1o`Sp&=edzU}+MMqPr@5F z1C4cgqu{S=Qj}uT3%#k>mbSP}k)}NEq=Ev)BP%v*3@P_`HQv>Uh0j|3PG0Lw@3?x9 zAKb+uO#pD?W;<(FL1#2jAK=F_PC$Kdn)Ad4r^OWSrk;5gJ)66y{s4N{qH~UiU{rRz zG||s50mB7#Xfd%Bv1ipbu{O=m7!roV`|v`rV`jY0!TM~Ockv&Zr_N3O-w6)RbY_Gc z{^FjlUbo<=0jnHya5pKy57ij+B?I4X1SO>l+p7*9Hp|9W`*SY&cIsd)kAM+RBEA7r zHM`$@Xt8{Y`n*OeKK)0|#lvdVcemU+bj-mA#TJTuUaIy5J}=cY?B9r_rZD>`YAv?F zc0Sw3X(&=K_K1G;$JqacJsB3_dC9Q~BS)V@YkFVD&s0kS zJSeMi*Ak8E;XE*cu>UI@1Vq5BEzq}K9SKx{I`wWHpMT<<@O9;Nc_|T~V<50mL=+zj zaGzPpYAlPD3&uG^`Qt`x&QW)7g0Y7%zrtHuO*M$W;4Txa-WOz{1{Rr~*{#PVRco-- zO2*1+*Ws$-Jw8G%t*lq62UFMwwrh@yTZQSSa>a2-J;xOmg}MNDs@BIwxz`s=g!=Rm z#PO6?5ragVQWDzaK?xU89_)U9NT~E$Smquwi~8g&Y@km2=jYwzCBhR+j4Y+tE;qt= za!s(q_5LcN@>Cc0e^|Kw=S_pJ@^j+@GoYC|{5ABDf=d$J4S1Hc9S_6>=&lWzex+*X zG|MLlq?fb9n7%`jeSJp3y$+|JW1o%t1iehIyiOSene@-wd)Ze0&H=t5C0c7_^GHNQzTcKADMo zL`#Iw(M8x@RhvCs$?>J2T*$O_4`s2Vda!5bB=Y-#Kx= z5OQ_?SqGF9O9=fdj$Q%Q(XSeEV8(T_S+qGG4rWas!uq>!;JT&~9=Ry;v~hO7M*oya z+uou&@<)Kp*5$s}Ymxb$pLI>G>b60C^}z<|ywgdpE_9+_uiTKBv36*aP+VG9EXhx| zlE_z*3}xuGmy+5=*Db>Na4Q)~?$Fu{$D`|uA!oEo2+R7gI^L(%@j#SUl4N5Nd}0`kC>7aEV=5d|Or~ciEVXXAOvwM%hO3*L zy5{GGX?O=O$Q)zg(C|cKQ%XfBB~RmDbB`aCE!2*-ADVksI(rK~KAw3rTEj3T9q8J# z4;P$6b`J6;-zMIvOuy1<<7nvMk&s-pf2f1H<`$1z?e9v~t_KA|uc|ioV<_cwe^c_X z3Z~w>x)T>R9t=VPp8(0y)`=Sva>a z<8_+iHqNkl#z5uX(;s?BfcWcKe|9?c259o(-$k&27V*69Ii&`I?Mgf!sqL0vT);bl%dTnh{9<=Hz~ z!*T<2*(xjRAFqs#H=7;JOrCE`h8Ot68wFkkH}Q-aVM1oOq&#gUaDJ+#ioxYpo7?RA z5wrox`HwACbV#`-g%&&DM6O0IpX|O0yx<~`Alzot1ocXiKzfx$GqVQ3&};Fl2fSQw zihSveO7q9NFKX81$%XOVs~)$i>+WAUC`dn@t{LG6`y4XM+|Dcj@#uT$ zY>N>+OW~&z`EFA)q1*H5O&rJZIvDVlu3jZdsx#WRcq*M;62EFE!r!*Z>O!ZgkFqs< zUZ)+bQUZX{osf1T7tXvCX-z46xFs^oIIc5c9jdb@qj75P#0jy4B(@4j$f#be=}6Hn zH}+#BZJW!I@QkT#XQ|ZEzV5yVC^56SMSPxlgaV+i2a;ml5GLm581TxrIG*h&QqW+Z z4~j-yk*C(^AL@}+2OO$0m2NLzQJrN-_OT1wyva>2xR|l~BZ(GeE-9V{uWFPYH(s3U z)5hIzFgQ@^i|Ihm`f7HKuCCu(mv5KSFltYB{P94&l)@Mzjv5_>&ewi;e6uY?KoIIu zrijm*#r`X;x?S1QX4|WT(n$&<>w~4)?-$u(Pcg!MH7mx@5tW%JDNIMuPh{eS;B@)X zzY~VUK4!PP34_`btR3Md=I%9_(-mH;43UTB?UQmyUClMU53}9e7Tm|(*E8%R{Tdsm zrB>d~9Ea%xnfxR^8B#F}8>po5H<~lfN*P9Tl&ueQZ7=Q~S}mGJ zSKEi|>6Zb3Dmaj%MbZU=9oZn%{bPfS1K-vU*A zAGh94NX2={Tj-)o-`0zf%HS}KX4|Am|Ji60B{*vjRfTB&>&$?3Ui*<^T+!Ri>Rf8m zOjts-jE!U$5N0aQLP{zj2x@U4CpuqA1wJ7oRcIip^U00VUJrXqHR@wcfk@7y5 zir)#8dW1YpAf&8CW%4DZsZ)(ETH!Ee?+RA9&v6Y(((C+rSOGaqefxGN!%aG_BUCN= ztbWbdA3g@=>fl6H9cTlOD?bUmKWE5(4PVQQ87dn; ze^E*%j%6%AjS#f7Fj{NYK@pBlS6a<(YBn_L^3Wx66cpIfh3tgFxljNq=4=r=3i_~) zq$_BR-~&BOl`y^8IujGC_&avCGb{4hbjwI1Lf+?!z?g|T+DJ%UhB({(%6BZ-q*u9* zD~8{K4Ge@0929WmyVx^6zGxyLmPD-|!W%7Ia7#9I!&S5Rks^*Ox_AU&k5XZu2Lg^Y zdm6icUb!~WTl4Jgob1LBlfuj7c<8K^19AJ_G7oBA`c*FfG0)V^_NpA6BOZQqN7hk5 zXvf$$q7ouQ)G(lN0X%$d`1kWG-P6!y9Ztm6*ign~nHd2v4z&XG;NiwyqfRP($4tM| z3)zpbp`j zsX!c+T%+v2rL-)FRtYXF^vU&o7UEQ4c{mrdlSLsM-D=5xi0wPMM%Dh?J`O+BAuFrn zT?WZ6#;psHSzd?L@`K`tJF16kA0v6p^cR<|%cUnL;u9%$=}uWPv~}yOA*d8(`-9C| zN5==qxwjLc(WN)jFVIaewL@}@Oz}fQP+-~sJdo|U1pjteWty9f=Z_EmWvDl|fBZB| zA%U8&khuXwD4Yew#3fnuO^?~-)1_)haDE9wc?FV!PmDvF|#%X>(^_J;u7#_Ida z6&DR8Kgh`sJ#G;{oI4)mlnxL|N#!F{XwIg*b8!CKkv~aF{2?@Ja=olmX$xIpc~$3> z+ONOi*k*m;s3km^F4+vpsB$=U z3H^u%i*E4LwYNGVy>F`NnyygX3<@ZOz)kQQqUejycb;U;eF({J;9txGZQdGVl3Tm$ zjg3Z^SreEB?6%#b<_End{`CXLC}OC!iHRJ-1o#+sGw$I)d}eivKE0w%^vL(Hqe?<% z=Bbq~Tj+JQEUC_h9FseYihV;FmR$CD6WaJ(O6Bn{=^5e<3+zcN1$A2v2}P+ifXmDn zxy~$YUl|D^HdJcF$M#iE@+j@MmzraXBi5!YuNqgz%i{@?8QI+C0bXjc8Ly-?-5pbU z?hW*j2{#B9^AiATt!2g5)2eKU0eO~w7M5o|uHBf(o)-FCz7ig zxv=b^+FEx%T?tP)aR!-6vYZ*`;g?*6LgDa9U}-x74t&0D4u(2dUy!+`njX6712rCH z4~A#(CxXY6EMaTSkGYOx`UC!1<-*XYx7HpmAtU6k{iDNcSr=+%)CZ|2tICA*6R>14 zNzA(d0fNN6ck(RXbX95$g6;2F z6BqmGx>~ktUu`+Haa>Vw1o3WER*w>W4Qyk>D2Y|}?sWQTnM`QxZd&fhQHcxC`iXTn zrZRq~dL)31RmKZfQ)NbI>&zVXNZdDW={Z6a%}vy6WW~mMG9c1O{kq!_GhzLE?FL_1 zWM4@P^HBBu9z+kg8rKO`hnF9(3os(5^L^GT1Z=J-&%|)#a}D&`jG4H$&Wkc>;=%Fp z*!mxrXS^M6&KT4-FJQ=3mX2Kx*2-5O`+QIr3)2R2FY8A$1Ar=pw|Ln~8u^zWDdEgz z7-<)%|H5p=``+$1mFzei%I>|w3Mb$bAcIaPE$w0XcB*GoR_Z>4P+V{o zDKN;VTwvmD?VP!Bm-O|lOiXvG4ZU)X*YmSmqs^c)TivQzSBQDCkT#ICnN%`9)D_o2 zeIqykY5yxoabo-I1Cv#nOyqHC>|xIo-C-;=?CU|hk5}&25&}Zke)-R-{ur#Y60LzN z8y&VfR9iP0ieM0FprIH(K(`#_XVAreaIJ+|Q37ZWT`k%hyCXZslbPE#hq_(7Sh(F~ z0IxhgkF532DNsr5yz-F9bb?|>aIoA&1gu}jixI^7oHeXS*1^Qf%h|=|4psOV$LTlu z-Pyx9a{}J^HU29dcRw8t+bx)O(Etg6Af_Ta3JIu zM~6a1R6Lc{xp8{fjw&g95z?yU<-b~L%T76&_8|E=A$*L&cO@pbXJaQ34E9>q*yA^_HA zqv^tMCqSw6OOVsCB1vo>AMZ#NbZG+e${bHd``QlM*7yJ(w||$b-^podO^RSM#J_aA zpq4y@+iua58J`_MFuqLp6S0YJ+!Rgte7QHN>pxWc)-c$*qHrbmMNqV3z>BFgoof1E zi|u>P?ClCRJJpwOedYDXW1zFjy140`yDp9^x1^ES51xQ}7H)km<(EAHE-6e5|c}C7# zc7{EIQP>NR9z7g5$_LsT9o%c1I;+w$)Ew$WDteJ!H_KMT+2dp_RszdchcvUQNeb4% z;VZ(*uBkt$H1n{u6q$E#T9ALC>X%?+@Pb_XZXE?k;(cW2>yrKLv;ibvJ)0_rt{x=q zI;2`(^{Aj*;yx?b?*2H|rSi;MwJyxUAr~l8$t*9=6S$yplu-=?TUR@icXXjoo_p}> zqiJI{g%J~e0uCS3pS>4r~ch@p)mU~ zvoK%`2cM9qE-0-x1IAcxc>j4NUH?n*_x3B?q2HR25`z>q8GK2a^VrDt)rO$oC(wd# zr`juiv>F|O@s`2&!l<^+osbo*FINXI@|3?xLt3l&`dZLMgjmD9$`y!a69zv;ueTiz z$HT1~eLRU{)2DNS9CdnAo1e~yrPgtv&4@sAWu}&*JvZ3OC`mkf63wLfIbV|JLM7X3 z{H3hZT?25Bs>G!NFr_iE!&xK9p^AyUHIfTIU#yy4CsNYzo@3RPtCn|S+wpl_>o29r z-m^>cKlj-S7(*=YUN7RrEK$w$iDSStv}V_0AbZ=UF`(*DZx5iF6VfNc^2hUe7q9kh z(@9!I81Zs4g`9!cuJ=fLWqO5mgS}$E1fj>X=4;!_JvS}Nef#@V&#Vj`+^mI`fuN2? zMr&mq*(A+bq2a?1s;Ao}l44gsL|>{iMPkc?Ub=<=<1OKG+;<$H4y9t;GN)=>KjF$J4QF>$W0u<+Vd_SO(rzkJoO@ke)qE5f}B9tM$81`_RlVeLxU z-1fUthqi5F1(BP$xMB(@(b?+7)hSEwhCfD1T2_eB9U-Kg912Amr1g8cYwvp;@4JST~FMA`RJf8y%7 zcY>YRW9D4m1sR{CzSkcFi+^obLS_Q9*7YSzF1mQ6BP*k6&Zaw(AH8`we zdIhdG3VAqPZq10Xu@@*mcot33V%b+j+efRfCO{Oaj!o9F*BJMzCllVpmu1DH$@iyX ze@!N`#QUWtZeq5&sGkPoSBXz{;9;YQS#s-xe?Hc7Z&_q9oD87=M7p;I>ZF8wJS!>tMSp-@B?RWQvDne2T#H4Iu zOWh5w3#*lsWUUvt#>XRcdsvG`a6rC+R$?cE9i!w%Y2-YZYsUA#uDJ)O7X2e`TDhEW zIUoig^pPTPDUw$dQJ%Q~Mk;yvxak`N<+xAZMj)X@nnp&}jq%o!-Xns|3e`Ggss>p> z_>v;~8`zdh_d9|CWiDm0+bkJYMGsbbdi;m)oP4dPZzX$gh=sUv0Fs1^L6Zlilr3r@ z!c;2b1-_{qY+xy4b;@B&TLA2%tpvw|MBFuo@1qo#a9E?g)xd8Jlj2ALo$(P}wJcWJ zFinYqhwr?xtpx%h+?mpN`$U3?tgNg)$VTl+_6+~dVn895Z^ybUN#ud)+6v!2ISXcz z6-?vx^vJSVv1>f;vJIFs=3ni|<3}OtdMlOi)m;{s>rL8~_)sS4Zxi4A-+%|O2_dC` z$ET`267-TOM+PIg$@=KRW$)jXmvP=rFOf%Lw)^voes~f+3<9sGNswA6PJnnJ!MG>2 z!_&)XYa>%&@@eOcO#XI&QhKGtFwy#-Q}%P3$73c*I5mM&{*9DS#2mDB$0Z^7ra$HR3zK%)j~ITlrvZ)X$gz$#0?7N4POjzO**UH$Wxi)OrZ_|3Md z4i{>R$Fu{vlxyLi=obE*xnUacY_|5Xgxg6;T7b<6aNx6;iZUS|Kn;Fu9d#x8YV-65 z)&VzGnXY8%PiKSd%vFh7=2A)hNWT0OBEwI<)4Vkedl-;jr6JiaVtpr;?VcU*$YEKr zODV3*hlsGFdT*sYXd}?l^9+`|-{?V0_L9Q8B`ct|?lo>&?=sa4{1@S(lO^72@BWAj ztm)cYdHCeVz|6SM*UYGI)<#PbhNds#vm1YMCmWRJ9X_MXKHo~wb^5e6XX@pKrBRv& zN~$P(!558-=SveY%_bA2qgn-?=t(}Ych!J(Fa!IFp)0D`xB(;UMQ&7uwlE#~>_wO|Y90EpgOS_Px*e6d~fg7u}D2^tU6 zDd)gx!s*_@`XtpX3-`Qqh%K|#-OG?d=22+LejrLdLqiUs9_$RDhmibXRtB3#>t7W9 z9)0pvLaJTZq76dLIv83ysIq;jVtWoilP_7?8gr7aV9;2%Bjyz9{Ku#GZ&LaeS;3N{O#?0*>r!P+UV5kdS<+*Qx~_992{hs<~3pH@ma~DgXZKQzl!R| zmL$J++B)8?upxa)61;7aPpG>&u^QRK)~KrD+* z$5h0EBX3_%?ds$_AVz|@uMihI`I*HY_w z1%dpKI^9>!gqGDEM}e&Xe_{467dxNDtdog!$J}#8hPpJ@v_urWA1NZD3A1X%?<|Cy z)JYlo$+eH@JYhS=62owr3o=#Bn%leNt*$A}MUL0f`H%|fIXhKt?P6sUoRG6FiBKxVR2&G1#!7WB#e3Gt# z`Ak_DHN^xd$u+PkMW?~WG~Ygwz<^(LeV9ns8;vBoc*x4iGcvhC`sCp4S%VWgULVqv zt@CI++x&{7y*suZ%sVP94R3l98TQYqpgg&@j%-1%;SQ1kDgkaw*aHq;F8A_$PpKg;QjXX(1~dK-__Z6$Bi z+iX7WTdQ!Mh}WMF)|5Wz@(F{n}Ams?rgiJErfDq+iGWgB@r;b8r$|;4Dmly+JaM0$5U$)6qF` zQo<8okOAcexdBtfOxMCwVuBC;bAHONF6;gut4rT+)g>Z{_b9?V>`g=TEWv*ty{2l@ zJ!NgF^yKuWQ`9!UDCbuhB~YYv!%)-2XWkYlzF5%s*b@&OyDGjQP<+;)t7)!!#lv~X z<;11^f{X0kKoWZ2-mK7Q#`B6kl}F?w+tx={jiozM3Y%kFT~u5)tsnROM*!Z#Q@5S| zdpT3zsT|$j8S)F++RUQw9S_g-JZ>We5}7J)t0gPIFcCY^W5APLB6+DtfJhJ0C!c#` z`{TAbGArsg5#WGsDM;P|4SiYk`4Rpj@?gJJPDQ$ z%e@C2^VIU-oXZ{agVc--!H)0rE8QKr-6uyReV+Pgx~m&yGOIjx zUO%ki(MglQX?!)sUauq#Kb@{ky~2%vfc^;E3Gpy25EtD|Ph(4tKH}x|lhA28!w?D$ zZCwPdE|{kBwO8I9LC3v*4CSfklF)mMyK!rbLvNC-%^&e@T`{=_Wol#PgZ}jg03vJ? zsh+#o5W$q>MsQ zSc~roOxg9e*+uSKSlpFcof?04!U{?^VZ%z{B@?9XTe62aO@k*Wk65iJm_{*^SG##}$&{5Rb)>FQ9P}P%+-pO%J)c^*_0FQ@K>nLlbDwg$HYXSG& zZ4Mk}uf24$lEqcUiXISGDSL3RJ^QyuC?bHSYpqy^&RYrA+OE(?hlz zST3RDS0B?@-}vMrA*U^}SRm#}C@?V#BI65RzY#-C>(281m{~@dF^2?1|2;)f0K0gT zHD}cg=Vpr>n85hem6xR|!s5+G_g*Zy)iJ}JZmZiR|Dc`&cfzvv5`S zyP5>`!QQ?q`$cniLR8n}Nz;(hLVORgFyLG7cnBJdH!_-E0y|Ww(WlTA+5mHd>f8|y z!cqo!8@!f`U`TSvtbN!YTz^&Jw^=`=`rC(gt!-vvCXaj59Be5y1}_n#kkWRzW66@y z0?BLieN5C;+K$})`6wUqJwJnXM7R*MUuvZw@uxA8HiVUXT&sM&3NjdC9Ge&OC{~TG zPOi2=Qf4-{zE)K^Tvj+{ei}Vc4F~wl5)^X=_X53LaM$YAzBP&=0%ev)NBc^>w>8!! zS1<}xh7$&VbHYI*eag#+^2(}>&`6}~+(C*l!}!Ln5n~cibNaV8h6iHkIKdAm%jHI0iB{XWPf4r!ut=)1|%#<15ASbgMUwaz(~edTc*@t`&sT$yLy(6EmOTtJ|<|pKk@9 zWe$qK-!_x%P!1PN4CIi~UWZC~`!2>M+(n~#N@=UJLduh)(75KGUhH?7MHba$e>uAp zWusW|Om}NP@YXDf0At5J*bA(miS5L{bmbP?leA$oqa-GUuot~6*K?~3GB85u91;}n zhr?k;ShB2VP*d=S5vOH(RFLw-!da-skhI42Es`PJF1Rc_ZRSM0ELP|XI06+uhD@!) zw+Tk<|To1bBKi1Rs-Z? zXs&EZi{6z<8Y(vS(Pp0cUp*BQ?Q@D>MEXDH#ZN-EN;31c_Q`Iv-Ykb?yh@YpuM~ze zBjb;gBHYxl9Fn|iCxvqr#H|e>Nvkw#|GvJ$-VJWu&}7ZIo_c`21c#Ixi_nxxR^rn* z+LkFFoT7exq0mx6cW&pkjQt+u1pVif!-m3#zWkB^ly{yJksKmDd)8)Px&s4d3v3Q4FKexxDih~Nve=fNw|U@DAyS)Kj-c*E>&|fG zcRo5T2_@Q9JeMVSUW#8Jc?J)C}@ut;OKU3Uem*pwChZi{QZ1s%E zv-BDvQMz~f7@N=}i9a(a4IY$AuAG@UUDKRf7RKwgC6biJnH2Q!m_d^^-CQ*g+iT!2 zAGhiOXw~*Q&WI$mOs^JVT86^Kno3;R<;)}GMS9AJr}sh7Eee`|nOfb-b;0p6a}^*$ z%beWrbOH@iD7x->OR1TR%7Tp0y2b$t=OY~Eeoqhq`O7F!Bz${a_VJ^|ukP+(Ywv)q zUug6?6HNPq<-*kA3dqYWLKOoC#+jgUy`p$%GVP}`o;4HcPz{}I>+X*Qk#{oZR)*~Z zRJ05yJkZ%_RrwVMvEuWp7+Np{#xhWWS)S?Q!aGq_{Lt+@H>aKg`%QohStIsD1KY= zvaGB$Vi;PZ-Jo#fQ9mdnCjZ6jreQnPlkKWF+EH)8rll0nHX-=uy=8OMwnvJMB5i#} zYX>+&uyO66j4SmS+?Sp-flS%cG4^S!WKLWkw&$?d9W+1B8^59&MupdoL~e!P?B3?;A2R4U2Kvw(P?JhS4LA(L7lauf@qr6_y!f4oTY)LN z=N~wfZcFq!7z`|ENFLhXSh4jk-G?YA+o*m{fJoae)5T!m#i34AoJVBNjRkWvck&ez zeIw&u>ax>8LSWjrCTDp=-K*yJp^8|l+ScwAzguw~KFQ2FNx3V~U~=9Mq8wO@(6t5` zZ+WqX*S;eYQL)a@+ZB9kU$K#t-m>N3!Kf;Ij?#-I|ag{P{DW} z$D86=|CiBLj4jQ}=jXJBbS}`?(e#dRBb|n`uq!MrNaN~P_z+gAL_$!VUR*pk`0lAH z^7*!`@YwYakCp41qt`Gg*+d0CU!2b|rsPPE$?|(fr$K)>`N-8?`K`f4VR2cL1$TTz zDaLUWQEs^8KRyv@$@!spxJySuARZ~zPf?&4@g;YLDvGKhszXE=tR(HgK7ESnhPFlw z_0#5AVF)Zzke}r@5U>e^gB*#ON6m-~&rqWkUH4`T<<7o(Yp~1^Q(o?I6}hSdICsii zuyab%txwl5wDJ9CLAyiK)A9SMYJ_H*_q9?thgD8ng$-i>#^rK9tN#2B5rD5#`_hg1 z+I{KMF9-Y95Tde=s9jXwTDwErkO+n>>mlm_T=I(#F_T-YQ1~iAqK`Q3l0&x;isKV9 zo`og0rE7Fc=(RFfL?T3zD$ODBVw;INo9}!&Ylzn6b<$O>+mI-b$sK;10qI!rbw||K zy|!7cbA0*Zvr6s(W%jR){mTwhr>{{Z5zRoGZe<$k%SXZ@l0(_rDnNjj;BrMkI9S98 zkHcSnb6eG0tm)G;2@9!rcK|}dH1`0J7nUP6@pu$*a(>L z&zX(Tp8=ezbpc{OxM0=e}8|H_2<8< z$g|WabvRsZ@G z{KIq7uHLwSQA(hgq*f!s3Jw%{3|t=}=u$asONo{=)0!(0Hj5ZT0+VJ}*qQEi88Vu0+!$ZuHLpb-&7rRs6PyWvm_&-bG|J|c-Tun>$$d3_$#mC*jAlZ%WjoLR? zrPsbzpXUDWe&xUObHUkEvGJ(HClgPWQww9{T5hOS30(Q-R5gEAulPHmDdllP$nJZ4 zzp+vekjD=Acy3|vsdtN0QP%&b=K?x%_Gul4ryTFlc2WQJoALS1_OFA19|jrVzke{; zdH+BE+V{pAis|`5N4;0B)5t3-4R@{@Inhu`Hl>qwxzrgL@<=fJL+*B}{>|j>jGzcs zK}jI0O2p3{2BhS-d+!A$tb^TgW^wJ4CQn538fi8Xt+X?JF+SJZGQmJQWTJ}Y}& z9}h|2^-45yib`u!n4D7o=hU!Gs57;c|8yMBqV%WMAPD9(EIi4&NCwce=(PK)>MCZL z1<8*|JX>d#?WpRaa|k*5Djt(JVH;#QKZOZ#!{>brjZb^oY@d5KII5d;#|_nL#fB6H z^07LfXn&LiUOnx2Ye8n#A2=B5S!2^}kr)^pIzEI?fI$kwMJg!)k zv;Qi|XbguN{;cg%f?@4L9zhLB`?m+6w`=#bFOToq%z_(F&#QgYB146$T|hWh>>f2= zbT@MK7wCZ!(cN`TMZeFIL{;y`w5XD^dVU}_B%XOBb@6N~ ze&oTI(K|)^`!~(XGOFh8k7V&vmM27=zOC!*CTLGoSh_cvn$(kpJHMdSbAT4y3lcgD z3bf#>O=GfVCD+Q@`nK{|dYblzg%uw5sit$i`?iZlfj0X6So$|A;VkpK0Ie%q-j-yy z9paHbD=AMoF1rU8f*Kq`UWhI3^edZa$u=$-3^dzQ|8U3;tgrTlb7QYz)hiM-ouXOS zXJD%!j}juIhY?ZmNtK{IC;gWEw5&AEvlh+*a*RpWUVUmnYhTG*({I;3ucVv+>M;@oNq_iZkq#A=|4?^uK`4*}OkY_J}=>35UyeD<{I?&VIsLVE# zX58Dfxo4u3fq~f&6;JY81+~tZx%p&BrS`+05w4Gcg7QkYhM;8-RhUzB zK~By_U3uNpdLM2(zGHno#nYWN&k394&h@?MJ7?NkD)>xMZ9PvZH9jr4h0oBtFfN z!>^k70UqDl%LZY3r?g!F!B+pADnLupOX3j^x;|Z*Im8Q1GEaEF_ZJ4eYC9TQ0pF1$>vPdlWn&QUQV3_vu^ z6@KX~L@Z&d+2d0|%w=GfpPH|e>GMV%AFVUQP2(+_P0xB$GJb=D&ugoklzZfTGm=yz zbez}BxSzFNad8^5OQ*)!3&duy?Kd)?L+%Da- zc>v_opvu#d3!r+E@%N_i15L!taJ!`Un{&P%M{eGzWn!mIRhb1IZ-KKsyW+Od_|~o< z2WM+7<>2g$P9{)-|DITU5xU_~zEuDVKE3b;@+DvD7YDTZor^V#kEQnj#P|GJKb$Yt z(-bcA)U4`SN*V~FvSj5PhMBkk*ka?Eliz&*Id#V7YgwfQw-0rm+?%~@*l>5Sj%~?0 zFS#}dIh5m<`Gp8Z3ANLR9Y(;wVF*U;L`1%7-z}*O_1ZRX7+;K!B@sh`7HD#nq*2>} z1w-}pxT~yxRI|2=10Hgt0&QQ-b_6&J-`~{Px+g>&MO6r!P}znO;Eo!1Zmu6LqP4oY zqmqKz9`<{?eK?QRcfL~O;c>@j`3!pIdecILDZ;TL$&HYaV>4ncyQg)7&UKOXpKA~M zrk{<-x&E@s<_FfBn99iiXqCWhEWz?T3YzDbdkM8q?<#kS0vRmxa(AsS#?!hh_XD-6 zk3(sU#T~NVvV0aNoVQ!Vd3W;j16yU__>}xgc~b3pJP1yB{dqTC80=U(xNlZ&1Ye$Q zqAe8AjnJw`r)>gtJgW*8H!tD=q zEr9`L*J!VY36f???UpX>l3wHQ!`UCzh1xoSckWHWE!M#nk+t3aAr3Zy%FVi3TYDxK zK9*US7*}=ZU@Siq#{W45*l9NRP)kPTfMQ;|0)C@W9xpz)U$zhZqn!&8c;i$7<9n5Y z&OgccWTN3e-C!v-CECo^OzQb$75W={18Ltl#Gt)z=DSA>5AHv#*aRBFGl}8BCo)@4 zetP$nE`T4o-4L7FDBJHJj8*y+r(^F$ngz(m;|aB7g@}Fwy|w1+`TwU_H0EqA=3;Be z4|-L1etD}&1$)(l1-xI|<*Lr>{WP;Ui=}2T1DSA$kH9EYbD&0#F%X>hu*O_?vi0Fw zjk?}CgxKe;PUd;9k0t(oN>%RXjBYx<;KgOvxNFHk0B_ZcLh`il6ix>6@~+tx9K9P4 zy?>LnRX6xN0I#B%V!xTpfwEbpl)Kladpf8yCV>zzUo2j1_FCwc0}wNzk(u6yN5!Hf zES93HGa~KNU=?%MP%LwD0*Y3WfJT5u{usIGq1)?o_(rv&YV^UZ^8Uv_U@cIcz7-4C zX@#C!XD)85oqk_JArKn&*Fh2WHWQS}ql0@+Ch&;tBwFq?4QAedx%V-_%y5J`*JR40xuZwKw}luFe-n-pNb6eJ?jz&FwtTf7X-Y82Jc@42+o*0x7iWEVhcNOXYAQF)7|D zp(}+zqTo9EMVf$E)pAoo^BU3qx*L~Ye39e>9x<^Ki4ntqkX$A9tSULTF6dqG`TV!I zO!QASf#Ugse!KV!e4DvwEkhOb{Rea%-8n!mI8dvQnHu(Hwl$@Qu)WFE7QR6%I z-;|OGSEo7}fv8I0A2B6Cn{ist+jLB>PTd+2oS{%E`@b6ft1voLM)m=lg^O|-gQK0k z&e;>S5e3W)JEeM2dn?zMY2|HDs{&dBXbnqFDhF>pf=fMUcS^;q%!)x8h~Xk|3=M3q zGu@~%=|gTBRHcj3rpD4NybISP`@ALjw>EXbvaP(H9%ZE;H^P%csInWGPaDkqnED-} z&#L$i7|NW33c%pn{iFVY%lb$zSFiS6h1GlPRn9%NuS%0&sS=ytJTMjG(r2V@wmH|w z){At?YjR|9v;3m{M$N16AK&r$1q~H?OJ#0!3!iu6iZhi=EdVMvMK<{U5@`QC*Ji&F zX`d_^=W!vY}sP z+#FG%pT$C@D7125R>Ey>YB5u<0Q71Z^2W}P;JefPbfNSu0x2?dN20K#D7M~dP=Mlq4 zNyy6uRY}dez6{u){rz2J-+vZgKWyJa+WF9m84f(RVoG6J${S5|K|vDb8*&l=kj+1J zrL7NANzcs;T#mb4c^;pZa_`DDx}5j6aNidGacRRD`@Wd)|S#8&&Qa|O1X#u|8PUM2arg!?+xZMdEcgN44 z7IC3@AnKtgh5v)I_l#;X@85l$|EM#gqJtPvip~IngeF4h=%WUZ5)eoMLQuLSbP_r^ zHiSTM0BM2X7$lGcLJcJ$SZLA>kWd5C3010Mn|;r7{?FO_tn*^;b9fP6uvXR`_;KIg za$TS6Za~L5i1BBSli@9QZhZJY8gZ0uhAq!O$T2YsTKQOn>}4R$B#qsK-CXMTQ@>0q z`wAO_@+j%U9Am@i6%r*mrhc8;h*8!=#JVOgXYn=4p&O07nX>g^>o4;I)w={b!94H{ z)tZq<8C0$aYh1r2%V1>ZRO@@G_;~vef!ZTt+Q)NLeHTz(zDi0BV{9VuHd0x!>yG(P zw-i;3hGr`J2iXuhh=2F8~yyxleWSd>;7 zF7Kp)J82HFG{bED8ldo~e9!ccznTXvC|OA>j1{mq95%nOKroT3uv=C(rbbSz?@LAW z_ol3y_Q|!MMn9!{w1AEV6&HE478;j!t$e}>d~XzUoJT7if-YkMdIT7^T*~hQ7e{RC zeZz1r+29@wH_|GpP_hgsPe>Xt>?1Gd42?pn(meXc&C`bOtrIks5__X?zSA8;*=?39s)C0fFkgjod-XdRhw%BA$d>C1@Zug6rma`cv0c0Ck;PnDlTz|4`S*#$6DKuzjA>6eDF*|B3aw*9Zt&rav#-p|(9=G0J z8+5a%G9~+}C>6!wn0dZ?eX-|nm;I2;6pJ;H<04IJH5%vFnyH+|4A6E?uWC+M>)Ht- z@d@s-TE%e+SNxk40$)XMrd|{j>bIGLaMzTBJCI@bO{S(%uVc#Ddv$C-;A^rj_CRM-0w7wBJeY z3Uvso*#TbvhJX0-%+BSu@%qP%)>|)i%6i1&DX9`~Xb5S0*vBx_tDK?}FSVZv0##eN z(iMEDj2mvfF=L|nY+~m66alHHB$M{J|Xuxz#AHLe}w&oTyD27JUi0jgT_5<+{Wqn zNm?TFKeGpvoGE$~FXxYg&o9;Kj80wH4%gHgd2((#PYba#JbK47U48jCi#KCYXOp>7 zV=1B=>*}pZGB`|N#tPb}@mdw)9o)*sLH7H>)G&7E7Fg}}SIXHMnJJRgH^--q5x#0d z$#~)$mp0!`KPf0e7Qrb^CV5r6%?wwVG9P`#)?*ncfuhng^BV%u6juBCQ(9R$ zvZKQ>uH;6MUbS|7e;A{ptC-`-O)u+9KI@hCcJG!HQnp=M3ov4mYX>Nit-$|}lHET! zDCOr)1`ukR&(q?9Ui~`m8!j(|qrpBUaoCp+NtWSQx}a%THR++8?dr?ux5l4iizVW6 z0yM+(JYJN?8u;ADfI5$jMVfRCAuLsr=5P%Luw#Ka+r!d6NRQFLfF^`hq858|U?Q+0 z$2rmm?q@1wm3CAiSOSiEy#WI6cz5k;;+-n@t6nj(Ld9YQ8m_=@Fh#l8E}lVIi{_av zf(aySJsjFMzuz*CMrXOVPM4W8g)@E;1)dPnrlgcqiwntX%GF3NM=y^}&X#Yk;93RJ zIGqM2PQY57U3FEN0Z7VVnBH}2g~c96i>z5V_Z>RlZiQxC_@K%09YWUW3x^SQHE{Sk zj@#5ED>BG=AUibs4sN8sulM(XM?JTCYyUp5&{Y8yv&ywzdsPanhCILk?WB=uL*4-N z%@jqwRm!H0$pG%s-rX+S3C_S|%})}>vuI2Ek;=DOyT1mtHL*kk25gy>ECPHuxnIYw zJ>LLb**iIHbN|-Cp<0lXrFIc0rD36c-tvwZA!81UqCS5W4TP3e{ZlR3y1+FFIp{Ewth7k1d>(g9!KlYE+b)b9or!|=VvJJ1y=DYN|A?Z)rIDCGX5@Q>1UJDmmN@jJqn2hNT@yC;2{hQ^rKu1RjR{@Gd4E4*E}mHrG&R@5ko2-U?$oKD3ziHA z-A@Y>IYENH@Bz`Scy-XF@Ws`i>Qh4Ov|pi6E;@yB4K7SH;|1bRW3xS~xT($kL=gRT zFT#A;sa5+o1I=M9o!T(qMUAw6rSJ34Xkz#mkJNW@OwkMH(#VZNq~r93t%I&9XMD<&5Tg# z*De<+^wRvvzrtBQ@&j;$KAx^u%Vj`vd`C69e~AUZ)DPi9(NEa2E8Smob<4zq;}y~s z|I2U!RVVH8K9$}Z6Q}zJknt6i(Ql9Zgrr&RHs2beu%jEPlF+aV1E{uxDe$?XNsJQ1@m32;z zw^K_~P{mwSMmyT5`tCKeX$sOf3Dc zmO86*<{_?r991{)7-Q7+qYAM~hv2C@1njD`wu09A5Cq1J>?nWOC3|%NW#LaoFKW5{ zzuYg`)d9UV@p0-n+uD{sB$bUm(wI?l7ghE4?*ki#z7b(}M@s78Q(=xYYFhJQ^?^$HB(Q_S|3Tur5JRarWi0|SQ(5d6yy*=uXa~&!1&DbEMiCd9xLtN z=q?}_HU=b-uT}=YQ^?NOCEUfrSc34&b#v57vmTeCb3lDxd_Nlok};p{?&-P z`l#ltAZ_jDrPEb`dXy|VIcfyPxayp0w85yd`)4-b<+A(z&q?0?-Oa+$-O_G85EJ2X zu+=BaC+}rX(8k=bEWxgnZk79}cKv8E8w!HJ%DU@e-is;8^4EFX#M_zcDMCMa%TnzAR*7@2Ng( z00$NO5Lxn5XNipff&konSm&Y~H-F}fHHoqmKWz)GCR0>c!vI+?iKaJe>`(j7Q>`iX z+zxnILm5cFGpM0qN1}6BB~xioV6U8JiJKjIZzQf%V5uXJ=R2*5G=!7RKywR1+jx{r zxoN#FR-kH!?M7@>FoLhW={~IZ(gXd%pa~LP&K@3QRSgZ;Exia%iDsmf#2cTgiO&dM zFEI@{Hig$pS|arR>{dph@p4A_PXL_#W=^-d9RT@rrWS0KoBnxSQo0QZ~I)}HLB{Y5;dj*UAU`sH6d@_g5^)Xt=_enb1~A8 zZyebH-Ji8O@Kf1;TG+!MGe+47ovHCxQ&%fuXGqcH&#*N)l=VF9({M)%vcf6-R9)P; zlmO?AW9ZNX*)nUUkMQu2QztEjy2I`q0zzD!=nglF2OI)yY7IV{wu-YG7;N-o?QN=K zw+8uAV%3C_Vwf$d* z)$9H^aL6xkW%U8`6FB87*d^IzJm$-9%ioUxtc4>vW#8tc=1+WtCK$&Lr2X}yTFa~d z{v1DkJf;ipRWLKP2WCsDUZ(}&1@jn5NvUE4@Y|ZKQ}4dD^MJB9_PL7?Uvt!ePtJm4 z1X;vnyWSYcBBFvHgO+;&F0{q=bbmlB7&4>Kak$(ksryAS2|htmwR3jXXpMTSqLK&4 zU7w)|6q#tc)(VZDzzeig-}z2dBuL)%v|VSkp6Mr*<&0)SI&^#EUnFlaGmL3weRx}Q zu~4SsbL|rT8!udG{fa8Euw)o<6Se8qFxh!rMuz4&lT5p(h=n5fiWR(~hucork4y`2 zo*Zqe8D&x#6S(?lAw)ER<=xl|hQ!%9ww(&2=N0C_#!RTFbpR){r> zEbh3_js^tx;hy);o>Uyw0#kM-Gbm&JlZ#{qZ{hb}Y@&N@m9YKtIb7$!nl^{Szq9LD z0ta4^G)CA9Q{lm;EWjVf7!)69|G}X_D|-j2nQT>cWzyO|E9Qi&2ts4*<-ba+4wY?QeukkRCoxSHjM#*wtV69|B!qlBx z!@%kS1qRzes@T!U(XkhekO1jM7MG@1S%_lX=J`^Kjx(&2u9s5O!Hac#T;OZrne&Mh z1u6&Z407On6r35H!kCXO_JD?2*Wj)YR%u)|_)Y;r%3WE|V+z6cmK8TSt9XYw&K$k|%x+O->yo8z!F~7! z(>*mTYV48e(=lQBwr2J?;(phf)8nd#^^y^))-#GKDk_k{8_T&<6*enYR;UnW;{E&C zu4Hna+_8&q+G6L@yNg_fB_IR>pk9C(b{d&;-`VFm`M>&M0&NB1Rn_Oyh(SSyl6MbB z=ZnlHoZuwaq*C4>$ue_Mjjp2tl+2`MQjL=bZw!q!gJ6Yk$sFkHpnQx!1K%aE(}Wo> zjOUxXUwR`j&&idY`K)n0_7N7#R1_!|Q3XAAfm08Z({SnX1+J-K05CQT@FYXR)Nm28 zDz9!=kJa>y6(X)omsBJa0FZh-bbT;x56_9uiwI&vvs=5}E)#d4(9-Z1Sx&8D`HFpl zp6Odaz8;D=Sn*nCXj+{{T$)St2dfpVZ_lK6l|IW|5D!v!G(!YJ#00pQRly+BXpvHlIJilG8fEd#>I&b+ysbrO1Z`OigO^7N+8Ygk zgeEzv3JbAyhmj;apZ~|0e2#Ie(;uzx=~VJZXnQ^_Duk9tikWdJ(%D)B%_B9-UgvgA zjnp48w^YjI^6gK4&hw0%))@}2)u&_HsEAr zM9aw)VT|$Vd>&*NYAIfR$_o33cMLc14-5XQYS)8K@y`|Ji3ei7&{Ryv$`sqG)?uEu z59>YUB7V(Tr->hWl;5x5%NE=9XOPYgZ^tbx6wFZ9*TsV8j5*}1r=V=In>__VAd!p9 z$m$@a{X%~td3~spwzsv?mMTJu+qyVZ>w?VPyjQoRHSfYxAECVhucWMhT3F0JE&I(0 zTRAdMP{7wZa*UXa{5MG68oyIc1{tJ!2-%3?F&*mE$jf=O^Zf0Aaj&5fX z(Nj^8K~p3Y@(ea8u{6B(mxLZUBXkkkN8fqGeN9h9!I*Lq@M+=SF|aFVSJl!RSc%>( z5o2ZQVPWb;^yj4+&h6`^7N zvKD7Z^m}prUObITgYEz39gI`H=f)c()0IG_%!wlTE$fM7b=YJU;qz5L+nA1WqI{Sn(63r{iS^d_D&X}49jSYYW!!B{GTuQd`|h3y~tJ> z@|WGIgO{-@S#WliV~nP=Xx}@Aw=N1OO=f1HfGiBN!0c~Na^>FB?k2Z+EuLeo8-D5x z|2*`FsFs(Plw&z2zxd0&R~{9UZ=Ax&GkP@qz_S`DuB#vSp|Wt4YdU|}ah}4I^!YAF zsGD_)Pb9iX|FitkDxoarSDU@13CEDSIm5kO53fJ zOS3>DW||rpIMa!~ZoOz?@uK?Go(>`=6Qz1Gf8`ESlbt!vI#oT0aO_(0yYH*6OtfGW z9Jp6RWgB>Vr4*IU0%EIF5Bf6_B z{r+EY7rSxEjNAeLyp^dE9|yD8k_s5e`4_po*dvQtKUpy=hfaNZGk%t3InE`%@Km*- zPjDC&PF{GTC9%tx8xJ3X?9@2H2YFuPGr47P!RCC|e=gtssgoj@*kFV-(P;O{+K%Fe zL-*Rn>xEJaIm~+>W<%2;EuYMHd5Pnqfs6^ZN&eR^n7Y@LNMKMO$sU9c+db8kIUnKM z_4UuJVGSL71UfeRC#POK>sbQIV%|Jlwp}bI$8>tm9aACBgX5kSPzrg&Pl&r$T#GeD z$+^SuXP%)W0s5Cy3^dFM!*D1<_hW34)y~Svf-{s%m*9e5(c+qut@Rhyo}}-TW@TP& zSS)gwdTqv8;Y?CuB!2v#l4kjwr$AnC*zGH8s1qNqUA-nc1%t1g%v@99-@bSztH#EOU?33SECLLwv~tU^Zi(#aV*8*#Uf0U1y52^ZgG}*_070Uz~;jXd7}*u!}J-u_391h zebD3=+4AJe7H28rJ_`ApFkNz9Bre&Ity0&2-neS&n<^FjDGOw3PFMt@(^FSk*#>cz z_);IXN_hDmt&2ypJj>)H4e{l_85*0z7GuX0aZ##gJ->3AUngJ0d}ax5{g@v4KBmYU z3)Y$=0Wq2Xm}{sXiP4;r1nxMoj(eURo?HJ1EimN2tu-I}czwIIto9r?>RLSqPw&@1B zStl$_3c?8Ne~dNP7!W3H)0}_+i6!O%x7ju2HE9DgUyR2z$@mNy9a zng2eZZNdoDuKKoko=!;(DJGb2{8E{uI3+!gHWyGIgm^~A7F?I>w?01`7(9olC^&X?(V>!9m z_0C+3qDGbCihN3m#WskwZ(WXp1QlvVjI4e?r@@#s`0;Z-MM2W|pFehRns|v{cHn5K z;eVP}>t4VVYkM@w30&oabGhAYUw&}wr3D{pa^K*|LGKjcK{}?5eoFKJ0kabX$dLLR z25)nCQD=noi@ngsPpN7zOluG)Z~T3LAi8fDfUCXa+x)AoLh=fE74>);=f3!X5U6-Z z2%8O$`ghU;^vQpy$LL&_-ix)KWp=fKv&rJ*wLcC-_5J6f{&(N69!J`vCw}_SYrp*K z$UZp!iSy%G%B`V0u<)!*;m04o>NWynX+bw{`7D_IeZc4M1KE!E0!B4gjQ;qp@sI4Fk?d;|(|7wyivCMR zd(i*UMf@z$b^UAI>#0NbpJ(F!lzaMkKkz~Gk!QPY<5%KOjK7@7F%f^ibN$^9+3)}O z&o%#abF@VB%0OM%H1Nq`{pj2I{G(*`$h?utrA5f3Dr+_2Ytld2h;QF`u)MVSkJ;z2 z^rR=oZ}t$~5%cahoY&azip|>RWhb>_m&%d7mz2_3=1WM6^s2Z3M}yTbwNk<3w`O9* z%L0v0-(4>F8*mc=MV5on+os6u3j%V2UhBj06M&+b-)G@ISNtr$VdkLC`LpEZ6kSYT zquvbh&pKcb93e(!<9ID6CNBgF$&Y}14=0e1UMaaOtbHzAVGCHyON-}Qdv-Vpg9}4* zh6U0;9sL*}h69M($9DTASrs$(2{%{SHo`--zJZ4>vkfDPDp%Zwpu&tuMM$4}mMAAw z^2&anN^*`b3Sm_nFwLmG<eO>@tCD1~M7ne0eLnXA`85RAwNrdAHGn*=hwM z&{$Y-w&F4ga2U%c@%$OuCz-n3Ofw0KsrPC{GQm1E%_;njIz@wh@gQH@bVCjjP@d3F zOb*Tgi#0|ZiQb9W_L>+hT`GloPbRUHjNN@Na(a*hw>$23)^<8Z{)eZhQ75jR3aOs* zySIBpxRjRHW2FKtG1L3QzAV<`$X?+;dRIo%jl5bJ5af&q4uPXsFcCcpW5J#%^-vUi%ZttR5MMa4i0 zzxdNEzAm8>unUQ*y%YYoQbQr${qeS}RacaC1(7Hbo8)Ep5a(p~5H>FWrkD07j(MhD zeV|>Nn{!me2&^|gbMglGw-|OWeEC*8c1IocZ{vlz>B90LCbEvOmVh!}$4>rNa*dQg zwud05k@xJ2eeFk{`9_UZWFB}cWJ3_>f2@gv@~T+d?9nIM)y>nGKe7c@L~1F`8XMvH z3s^N=8u@~JZ6Cu>0^|UZiR6q~2_(8E%u**a0#Sxou89D_# z*9tQ!iiq39HaSglVd%j{2&_@*(5*KyT4@#x&;*MxH^5(Qx4fSU>REx1 z0-fFfdhyuE^`vPQheuS%i3n_|)X)DWH!3MlOj;J-G7(L!7suw@iV{`{TcRZag0YPR zx#*bNS%EWSO>iPsax7#r(b9-G`PqPg+RS`Wj_zIGPFio@W~=BhW{pa5YUww^%1;j+HY4~S9OVs0hM-X*`km~ zGI`~XWMB*5)iduKrL+NYpTuF4XW7r$K(*kjVmVbDcMQ;}zWO3K*d=mnd&CeslSBEN zO5-IKTxJL1NQHX+EiFkB^DX^t)r6pYZ<*x3y7I(;YkuEbzcU(?R*gP3lWO^pR>~FK zk#;50CK%34Mc&&q3w@~PoumT2!N&@)6Tk2M%y`M~NUkBXsz>d15hXQ_MrUsBSo-ty zh$#&MDCYFgBs@%O8+A`L0=Z{)JNUts&9j!Ux;k=OM1YglO`mTw)Io(~4$a#b8^sO> z;k<&Xf?Mm`(fQ}#GR*sQmq}6~>2q#0y_|o~mrG)xmSVxk>W^gw7RQ zBFA6%W&M+b5812rHILHiSM9U2t&#Yem(~y;cL|2L|oC(u}Ruo3xQqC}P`^f8Jg;iKHDy%aWJxo8f{pr=^ z_N-OLm77Igvp0C2O8GkTuK!d}jzwcP!(u^4+}I{L&PXD2T^Uq{mvc5(W6buMeyhVD zt+($`$%{8~=lb?V=cbc^5sI6f=_UJ9-tLzYq+7Lo5T-qgYs05=%Zb$z_(>=x(mmyM z4+4SRWg=J@u8;hqmeI`=R`!H_eA!>mYX++6n+`=MT}g|8Yixp;3SGenhTT~ij$4Ty zSRBh99eU~NIiHaV$s!;4dd4p!3uXX(kM}#`YpeQ;M%!NeUeOuht;Erum2^aN*pNTm zNtafo^TzM)FB?Lon0X+ZBg7Xu-R|M`i*K4JFn~qr2}nyHu%3hBpZtT521BF}?hm0b zNl6K9*;RJB%Y)>Vszj|fC(5`Jh%`Dyi{KEjpo}(!blnPh2*+ro=9nYNaLu_iJ{_R<3U~SYERJg8^agw zgI~10gWTp4726F>erZnJ40gTTo)<*8w7#7c(!Mj1VF@94i3SQU9sa|cZ#yV!yF9lq z^m^R0DH$u_sWB*7qC(Nj6Z&EJ_U;A72Yzs}Yb)f>9we{WhT*r_1s(i+Oo-vMW31cHJ7e1FK=69vM7FU3903s%4Y|g#fGXTL>xIgSg z>+EUcSO&YI8Z~lcAFsdpG%+9Pbz^t;xFvYqC^pM{;(a;R*mCh~U!xagXEi~SeOc~> z&NludRz?}&P>*q7aMZnn?MN|3QmCLM2E)tARN!=SH9Gq+rLJpr<|3j42vQz23zsaj zhp)($JnTqdWE?E&DYXAO^yce)(7^@=&oPzF8~MfOJyjJF_C5v~N$TxtPrB36Y1`gS z)7?*n0ayLY>QIAPt3&J%<1=0u2n>K7J3T&o{~N^IO}_qOS7;-~tpGzWsf)75w~M!J zWXY!h@A{z_9pzY;CY~#coc$ytUwPiwc6eaMSgV`oY3=RRT%fw_NK{vXH4%J5rbNLO^Ugr$0Fo@dO}SRD$XMWwodT=2_Wl9$x0a6 zx?}6lLF(qYVD8mm+YZb39KALXI3x%xCo0pkB}T~|RSG;gGIQeX&LGC{)1M2?|I__F z*l5o4UVSF(-%LlMT(BZ3IPN4l(Bj?gu+=vKo)_U5=8ZzQnDw2sV}E>ay1+1j|40`l z<56(szg`EjC$VBRMHdBC1F7@jt|H(jy_8I2FnHTTof>KFE@EQB;)hn){fs=h^X>Dx zh}+a;0v}Vth^>X=fQ%TK=cS9PCYnsYxU%}WI)||`-Kz>_Z*H8NjmhgGbIR8&t(w+J zr;}3c%1@^ZFp9@k=A6b7SNkk2_`V>4TUeme9!;q((n;#uda}Q>oJU#G8@Oc5l{@s- z-BqjxJ5n~MinwM{KH?SbOd5W!&_w^#JrD@uY6pmt=pvi%q%thPf5Kc>dLJ7r8nVZ( zY|wwyPanH3wP>eNQT!KIFnD{}Kied*@d-Y(R}KX&^!+duTRRDj;3jeDLS|=x;r%a< z)+=va6wOqRhR`re41X28qfVS1mb%3A7dl9<KL*!{JY%zSoq&@Qy}*&lQs6-%6de|>8t z;&$Je8m8J(==omsQtz>fI#Ind3AgNJQDK;rlw36OX|gn#s$P)%?q6oCO9M~Tw>g`* z+QI6=;RrA7Qx~fw52(*? zt@wp!p20Fly<$2tUUdkIs%Dmqlj_*pab^ z6gAjGke|~S&y%GPS@J{BY~@+rYx!0_Dq6BH0HO7hYPiZE#mEcWUg>DjKJgw884BXB z5hEDYcXHgbms4mw&2WTM+9S`v6FC>>k)fWp3g)uaQ-`eK?^G4!Y;+v~+dYS|uJjQU zBOu29Ge|*6tBiP`c2nTG6k`6}TkFcUc6hgQIjVg5xdZP1`cGr_V^ct8?ZHOPG)GZv z>8(cemr;o}R+!jE^*Y$~8GqO^a*Qb)GBh;JB^Fuv-qsneo`9V$GZiCrE56u!f5@7+ zt_S(Gnp%joIaO|1wHju`!U9Za`fCTLvTuJbdcdB4ldreT`1FQn_G^7R)01qMCmthn zD5&xt7=pKlefFT;>omeiuP@`Xu4-?zYL`+l%e5dvA1F^GF2h;*y9XR!|FoDu`XFN8$fO=CQBO83x^UZ z09>dI$+d6uOpncEYC6{K-tCR~1R+lJUtQ}9Q!Kf>W7#*iVhJf2C#+Z%#5Y>#o~zb! z4hNU|3ZAB-1+S&d?Lx=-uO>gMqx->t_?+(fvfj;6ynibGhnk#i<9atP=h=M8csZu( z*Qsc;8cFSapRn%bMmFP(AmzLXe(<}MBP+ZA7h+?3|8ur~+9G}?;kFCCo1BYH40 z)O2-pkz)yFEPF*bpOB%w`!))FZo%NQQNNA6KsN}z(N$+Ha!OoX9wGtYn7k@*g_A>T z*LbGp<@IV;8bAn#^|@81HWQ)cSoQ3D*jV;5Pr|}q@$UnU_Y>OswtAwjS7!#3dafK_ zzB{X{@S&{o_>-D!Not47?1M@{m%fdaStlD%HY6={%S+(weCVgQR-f9`wmn>1U@cP4yx~8;lpEY^x2Geznh*r>Tq(>Le2n9iYRKf2P8AJTU5ex{{O1R)g>=~5kdHTR=!S*OkS3zc0XELH$s z&r#dfv1iB6a7wJhSX4!p!=gaf(HL}i8F@CWtdPZ^S=#7rzpb`XpWrYH=4a*+GmK)Q zCzHE?xnj`j6MOFMYmW~@6OB4$0%Yc>z!Xp6zqrg56}47f!`6 zoX_nyO^iR&*)ALD_vyx~JA}Lrq$L~Qf^1ch?6Z8|J<3;HVExwJG*{_bx>7=Tc5=AI zzv8)zOkPaiUWYuF_w$~aYv~$9G#SJ(vdXVlIsRAc=#LTHUb`pdEt!K8YRdL-kxzgl z?IjVgFv6Dv`0ZQg~3ioIBWzrMR(O4nY6^4Wr0k~yeQ5E=1&eb`V* zB}8AV23?J%O@6kz;J)(U0ubVs-j@MZ1d4H{0=Fcb5xHY@T;g>@=D8Vbjq?x7!zO@a zT%!h$CyOW})C1RK1~ccrBA7mtEz|iWOAmRhnci#t*;#~dt?sn91aIQuI#&p;1rTgA z(hSv{O0p5y8(9C4eOn0|9!(WV1|@%SI`x5;J75smm)?@vypOIt?CLT0Gq&aut>~1< zZ3ti4ruTHn!Q}B_B~bMh^I=YSI!JH**X5%%7JX8dO90bD0c8Le1VsG=thyV(lneD8%fI&>C(56vo-8r4L z2~Y-BW8F#@8Vv!$#TiUJ5OQ%)$~R91knHnD6rE^7Ra>Ng{Tr?=+<42 zqm=4cmL0s`kMpm#SWN=qI5``@BL`%Fn^m=)3Kk8XgX9>EzXeVXhE#@WZ2?f+kWuXYyvy)>OJr{@eIOJK{*tFf>poBI+nbK>{cR^EO>4#jASW*b%8oc z`Pj44j(&3sblN}%k#4;2rgC+awp(^(+PC#CJmbUVx zOsL=i6@Q^>ob87db6fh{_ipZ?X4#1$=ChNcLXl5#31w$TNBg)0GN@aTx*}2s81+en z+z8)Mp{vjH2O1Z5NPdTqRT#zCjmgRHTQ9@E_y>d*d?IoTH$Zh?!K1en4$;)44Mj(^ z!}iAn1Hd>1F)5H`l!~NE(jAaOG*zdE@g*IqDS#v1($|OPT_RM~>nZcKVTyE;r-8*cuZKa&$s~iI>~GZx zZ}&aYw!ZVpQCrmN>)$@**Z>L5+H&B+jb246_eHnr*;^OKTwJK#lvNU!AB-5S7rJ zcP_ZRI3w+jE2GsJXhg_F5s25t2mvDC)u0Vu2X^UgQ!>o&Wm_q=J+?T_^_GRx=n-|{ z>hw%rQCCNYFVz23reMv>e&zUHj zV~*^BkQGr-#oq^RGRMuwraib0w=_X^G*&&_5@n+s5C3O=D^K1nN|%|_wDIdL3Q3Id z7>On`Vl?bwM>M+z7K3;!nB+h!k<)zMy;gu`DAi&hRS_yG>W^U~sYp4Qd#&E}j5$HL zOWGtt$5uQpiz~4&hX1QN_5FyKMz}O1c0sB%^JjO}uujE+HyM0e07`n55d{7?8}3A8 zu;EE(@~fpIeKKrZ91_2sWw+*c-||Jl+2u2giYL&lq$DzfY2dW^l$HN5It?rnIka}d~%FgrjJgZj-_ z`d{-UpIv*)uG}xdaSzjqo;4UT=*7x6DzYGUnkWc2iDwrhBTl9o^s&71W&;*KF_9k( zu>n2bC~AXoJ?nV`WQ>jP8YwvMwWai>c7i}(L*wJ!&H)uwp9!gQuSxS8qu(HwxRS$+ zP^)`BquPK6!?rcz*7!0=4_Cs0TivXPjCZtDcR)1_K{wB?M=TIBf2%I6IO)W9YG1yQ z7gYTYl3#WCxhwtHjiEsc2r!paED4pXoqdkT9X{)Itd-ZDRK@zOjEk~nG|fYa<6;c7XnmR4& zU9Z~n%py7UJjVkwyJIz)FOL6F@IzIIRtZBs*`K5>U}42IlGW?huPE9 ziwc8DA`BTuz)KN%>V#5Fw~Tk8R#B77Iw82G`FSC6Y{1+Z`(7aV?G0=B25Fe^?LzZ; zIQmM*r|T#DEKm~{C#u`bUP_`ftc|mLw=6zF&K+E{JIcf~%q5Lp|BwAPj}dV8DTJJ~PjEBQF zsLwr`{-1W6iIi14={{|P6lby`BN`IKQ1s$!5xhoJ+|2W%igS#~%)>v{O}KT(dLiNw z-gY=|oFbmQ)UL#5s@JoTj62Mx@^pPnW?e|juO0v8vsOoi>A7ejPQovn50+S+E#FU< zYW0^3SUVcq6)V9#e49A;qV@E>CuD5hooc=VJ2Eo&+5LS5rt5cOrE|12Q5Xu=B@SyE zhJ`n|VR1~b!b?qa+rDhTp%o51@tZ$qi;3$NHO9&=X;+j-<6zF{)6U#*3>GlkK&B*R zTR)Htp^-hyHLK_<-~K2@#trd@2de~ayBU@Mp={^Z)S*tjmGw|+?1Y~@`p?J)&j#BZ z8;RG53tD_=8Ezt((WXRj4}#hm|A#rfyeg{gQ|~OWzaGrNFqk2Mw&jV_ z|2g;mznifG2Y%VDWWAfhBkR0{+7*)=v?t0%C6h+YqBH+Otl<6IczYpVkLw;RRtIgZ zC06J;-*3ZcD!iF80jrfHrO znh9cE{g)SUe@zy>c{*OZ%%N)fTr(mK(#NY_FnIIfGEL^5f<0?Mfb5mNXDr)b#LSvz zMmGd27G=2bL8LHkX{O?hT>2D_JI`c?`PaKfz&(v{4B`@ zWU}Fi3?nR9Qcnl{eISdyYuxLfr&YJt_?a=-RXR!@TE;0`aHk5W3_YqUU9B@Bu^@r( zsWEIk#+4_>Gy6W&a$l3BF=3@DRo)3XqjRijpKDDS6!|qBEl4+$p|K|%Q znNMXjn-_I2J-AqUTU6AB=Vl#;Ax>6PWIJ#}qNVKfcAwcRQ;PH$a-#z?fALJb3(|P~ zWW|TR^>v-gQT(;{1!t1NkDeN@i~#*b!1OI@Lk`~ID25=yCtltcvO!&d>-fd@ZrHuB z{A1&ar9FN_Gx>}v1!GO<)1go!Lx#nOpdw858grtQgX4(sM)fM|prTUltf{|)J4=Z<@ zB{S#UExn_6TMR{|3$NJv-bU_ zvpT-lb<0;Rd0JL%+yM{WGsy4j9RGd#tev729 zPS$OW=~A}-B1uP9ASJ28N>`9#<%@KGuZwLr+PxcpDBW?&zX-l_ZA}lmMCSt*z~zFu zl%ZDm27?-^8gzUl({EMj`Z;QDM8H*)93i861-WbP{*qUPmQ{^KGN=SP&nM_`i_1?> z;Sp9ZN{VUK?~I$bU6Z)gcIg{Kee+`YItoUBd$~?NyjHKfaYw_8GD53k)QM5{kIxtv zSHF9LY&oWhm1FcD+Kjeo*UBU&=Rm7k+6{!F;p7+Js;k;}LWBuGOi!^pWg(&2otIwx&9E zeeVbqFWC9Nr-Cf3qK$0m@O>jXm9+&xY)g)MPQdPK-}KZ_iYu#~@GnSFFxOyo;8!^7 zC6IqplAZ2TpX2flk@fZkPxlILIUKWc(F-c#ydtg3AQnJZB$Q29W!_msNFD5FLN5c zBt6vq(^S6cG4n}MZzMErnpFU^@ju3)b@eQ^=30wRb_Drc$1cfni_rGEjuutC9p9~v z3ila`S7yy{^Twuo$qKx9tYj6ShuGXpiC$|u3(lpe&k3ZORbgKJ60=5iXNnsaEKXO? z?N+=q0TE7Za1lc=2vjePXz?-T?V?eCtPd8LEf0sH?kg2gVh^vH|9SfIeF)Eau@w;j zby3&K3btVEiceuj_?#WZqAZi;;Qf#Jr$)82W!yqOd6t$X%fW(ZS@?k6Fs*dzra7`i zrcu%%(s|7=%O$NwNqzw{X)|fqDj3E-Zggw!1#jP^em~{_)NpYy=(S#XZhD(xzxvxc zFA&5+Rtr;cR|QY>Pm?RMN)medCGx6dHMVA}oBMK>?XYf@HOh8S{*GM+Wx}LCdF|GQ z;=(}wudnZEfJPr=A+oZN-LVP|A#8+6L3ZJ(8S(Eiit4$oGv$$Zl6k~7=cLZe}}iZ~wW8_A><7tPT+ja)JzI}K?mfG#m3k7ePuqC7}ORXKmhO5bT$q&AwAFDim* zo343}AHRR&43LC9Tv6)JYuwcXH-Wi@2W8d#R(c6?BxO|X(ccFc4e@rKYj4SP;rSDz zwwP3|F0Ea$)s4jv(^UM{?Krlr{>J^kEaeX3%ls}?bAR*|5RVzw56HK@JLZ+Lb=FG8oo37Rr z2kaNHN9A&Na^HX>1?YLw9oEyb!5A!xp?kZH*watMlRaj z9|wwEZ|$-7wzb7A48tGHpM6u`+Irea4w7kgC;n7+Jy@|U1g>v+gIsY;CkSaw-s)Qyb^fIFaqyz*KLPzO@-laQ^A{_x~p-GUE1QJ>(31y^r zq=e7{QbI4%JDxTByZ70i>pI_ae&@IT2_a+w7p(O@@AKUE=N1Idwkrw>CGZ6C{_=!t z)Xpx#*O-!-gZFtA)o~M;j7sX=$Ep-p^0g1L8N~!^4w!d`$&KpZ8H$0B7@Eohd+Tc06_=f=`^_jEld zqhb2xV=g0r^A<6zOMjB}okfK_`-c0UiPW#xT!B zcGG>+9fEEi^Il4;zG9BVZQlN5P#UtkoA@!fs~JItvg-*KX|a0bo^H;bW39I_uPh3q z(S8)>KG|f6_UD_=H=aGHfqliwjLIDt+&vskO2W?~Zd|$~N(6(YWI3L{i9YP&O9Nm| zfQtqj8JPu#Wtj?fog;PpWPj}^O=Mt~Z0&S-Sf-{tc`vT-%8`O=3o)ETCWGK2&IF-; zBSRZqbKgEL3YSA+OK?^7NDz`znh5rd>L`@o8-}f-1mL>$3o;BHYSqs1nE65W$=ulR(g&k5Ma=~zH{Q&y%lReQfgQ$!RZ_&3p zm-p@MUyh;`9-rGPNP)K01`vJJB>RSoAj@X6xDs3~T*uNHz+C8VnF^pBaWi~r1^wRJaI2G~ zndfmIyad=}in_VsfmlMNB|6wm<=uXw6V`;b5Qm3T$`#_g-M7`f<_xu+`jZOUw7p0H4cu+92QJM5X{3*fPY6;4#<#Q;mZ$l!AB+x zQ-m$(-5`2@>z>15UBN#_F2=#@3T#>9sq-vW`>Q>s&?_V+MTVmbi-qWYl|!>N^Dmu6`{U* zJcb>&6v=EG%pdG?@uR_zN(DwbEKtAD^fayhucmBJAf5k|evSlAR==v(5tBO75`XDJZ`zMMx9& zxwawJ-l!M=8^^6$Hz@bogzj9uTW{wrM|Mer4-zOZWUv5a7#!sy)w|0-!8rJ`?b%9A zH%+%aD~K3bXj`fGUZCAXiRl@)j`eFV`)X~*f@(eF3+oOX%m*&7fCp?+$*<7pyt(B0 z_m4#}?i_{#s1cUplu=Z~q{#Hh+=;25$rSzKbr$mpearJDef96ZqWEWf<|Ny-W|vZB z=bYM{yYbAE3=Ei$|K5%|nh?@lr32BeY@ijVO}3SB1E{hNKy$)jL8009Wv++W#wFW5 ztAH*$_SFisKx`t8JGu;p_JZlRhGUV3X?pJsKkDUH_WRMil^!~mbN_t20S>OJ2~vj- zA^ohx)zAEc3Xk^n-Wbxl6}%==*Hb_DYsM_lat9G4d_T6Hrjlb{{p01XV4{tV3eQD{ zC97NG?2jN}EU$lQlAK^MX6H^jSK}}Y!338sdBSk(w}1cK|CdJ=fbFZBa4{UdZ@3u^ z`NmMF`HjK3=>!w-|Mdj_I{$T@+->;Tf>iH+J^m>AfBC-u{mYj`+y>VPy%HN$GqBfn zu?lB7#BU5Xf1dqpq)NNneb#(23Eh99lirfswPtz z_o>mHP9Gpt^^gP&G+8gA@Sn`8H!uTuH#*wZH2ZVTSSU5Wy12RGd3)vo$mf2N;mnOF9k+F0cF zAVYqPlDs4^>$Y!10sv^)oKiWEnJNFBRcw+Xgj&C#hyL}TeHSsM!2-B!iuyAno^EW# zNT%A2JxrBuk-f$UpDV4Bz~sAj@q0gs9!n!78bK0GqOn;_fVCP4^eGw$U6o=fJ=?z2 zKTsGvp|U9j7^W$1&gW;it)yc9^!cNf6rGz{Gk-0t=SyUqc5RKRk^ysL3`;a_sG>Fw zlDAQiI-PTkYxq-6~HpprlhfS`r%2p@{uF^}BEU;pCgLfC)nzX1~ULPf4 z5-NQ*G;(o(CB=a1&(7G#N25`;;VxyHs9n+*^08e3 z@GF$Hi&pD1n~F?onw5(@!$+~dE?3GkFfhZSRw+17usJ64ZuB^SbK*9G|*TgoYmgSap^+aKD%8MoL-Afy+%qu?l36eC%W6R z=MBlqDtWQvf+1F=Pl?R3tLbqoITE+tOswbh%dz{UW8@{Zq)s{wt+v8Ep8i$MqrRgz>Vx+ULPcKl}2q@J7NEflhU zu)PW;3kfa4#yn)$ySbmoDhblytQJZX7LrH%o{!&YN9ZqG<8hj-EfQXkpH@oXvdA&3 z+(F-4kPA8}bNEtD4tsfcs?d2p-6&UK+#D*#W94eo^(;F++GHjm+w4F=1_qm6h8c|$ zVg1LZ%^NxTFNu~Vf^1IFM=O#|{@HH7)L3SnKmW@97fU$q5jw_id|>q64Z|P zJ?iKpY}7PeS-Mu&&qnvkQAe%aenCs7o;EA`x3><;#H+&+fdLs`K#kG1mQRY(3wtX?6qm8oD_0($ z6oXPf3yc`!6b{V`;}u*AHP#?vj=GJ<#3=5lq!64-r7lj}sjdgD)?$3LtIx5kmmTBX zFB;iXzf(p^zHN?n3kQE=xL-dk*^mMqDy4!SERgc@*g&W zm6dKryU2r}sC<~FCSN#uQ2`HqQAh${qpuei_ByB~T4`xh_X04eLQzS?t!G`JwZ7qg zD(F$nQK_#!Y|CTibL88*bhf;rKjlT?gS`AHCjR`1%zB{is6poVDBV-vKOPE)b!3w}nh;}QAAd`%di1;Pb86#8Bf837MCI ze_c_%1}KHE-M;nSaWv*uh+WJo@gIcI=Ggp;_|`+pH-9BlJ^gRyQW@j`V7br=2=K5s%4)2cP@b={_U*D*cE z`X*fQ(1p>ugF`Qw=gVpPbs+2}zo5ZT3!*%N9Z4x~kO=}?P=(mAMJ!g=G&ZTS`ln^> zY99@c|E$>Hn9|L-AG2B(I#)sU&#Ng7VTE~<6w=4;j(^mst2YWvY^YZR;Pnnc&nkzT z4{p%{iX%Uj=ylK5WmHYr3 z-OiX5+bnOh;)DN)BZRgM)T+uo8Ry~l!t$2KL210mJzs1}%zv)_&wHO7i{7kT)1$sI zIN{x>#w+iGuMjhCS_kAbe_2G;x-j2ke@!|nN7+&2!Syz^GVZ-g9k6fe)lH0 zL03(_PU^gKZ*|VJc;t`>!BSwf?uob|Q1_cqMm4X^X^27g6y49L2(6~_sQFl7Gik(L?|xP1 zp+Xg6NxKhWIohSq{?nFV3H*?vy(g-lOlmXo=vr%AExgh`S$Y8f!y*glYumW*1Pq5~ zc{Ebk8&@0th%QnrN(LmK4HF^0p7Bqy9KzD0(dY*g)X~`qQ#$NSh<~^P`;7s|WwgL| zN8tE(@v0i`te0tU9C3}9cX?ej@*+7Wd%d@s^E`%et@%5+>7xUL$&DaeOd7|^A0yDedw-u^`KiyU8tb>}%UkU4IAFFO*ZZ@(-|Zg3yLC8cf=nND z!-o30R3Aty!3GQmD)zvur<^?4PFzaySVfd#XNEGf#)c`sI}p_aBuo_-@^mZQKKapJ z_Epy5m4l_dDtD~n33f9#tmNGfZo=2x`aCSTZNHwktlbiSQaClbKiIBzYf80j=R96& z(ONjXa`qbotJN~{uO9_EfBV-jdoMWjlKp5SYTUgr6k=)D`|4*~s3m`bH@H-N4M1;* z^MO2h?wZj1@BQ`OJYEOFd_Pq~FiLcd2IUnp-ir@z8WmZ49$R%<*Z)G2)lE*pwfUD5 z0p26ELfl=taeFjw)eHq>5kBs&+3~kMg@=NNXsFcaAd*6c!B4#(Q+T*z0Wm0q zTENPr&s8mlYMgsmbef{->;GL1nzQ1UV0j)}XFz*k;5B!wo3yiMDarXI%lh~1DukOeL z^aW$Grcl(=^6dB3A8H*J($-Xkh~{o-!A3TiSBe5bvO$hWs*>NP_i9JJ0m4%CX!w

zpVqOf~BD%cjrB1kH(esKLTjg%C#W97^ z2if42h29m#Lpak)hL>fAWN6Jl9NTZTrbQWo9^fo>WU$3?QA8%y8;78;8a3Gz1cpiH z)zVp(KO#Y2DP34J5(5+XubCou3K%SUH6ftJRx3KMbj$+IL6+Om+3Owj z7W9jcv*Gnyo#oUwt8gEUDUFy{K_9zeYp8}znK>vdJ494(O95D3twV1fm&fbQS@@tv zEnLJ3UzAOAVb+gb=uurPL?*B32UD2*=_L0$0~KvB`~}XyfsJpX#s0*c2tl967Q2AN zc5tj4L>Rm^K`*=O4l`;)X~R<4Au~?lcd39|L#o`YNV1J~mE*KQnLm$s!;-4rhUydQ z0<)!`M&e~I#|m8nD@T@wDhh-4TWCkEF*o~S9h;uajP3jHx6AfiR);@FMVS%D(AB6^ z6u-BJdy9xr5>ye6=_6t>pDW}VjWbA#qaL=(OKtjXCf(%;iCle#L(S0>K~IQOZ&@rp ziogoMFRW5z&~#ED%W|xnhM!(=x*qS8v%0#GUcGOeqv=*gN{77wrdk>IY1F?apln^{ z7eZWLkqzi{m4s;_oHEcI_#3CnSqJXe92#4K7E6nb2eczAwD*HkRJUimvzs1>Z#3C! z+^8om(@V-eYttcA&64ZW`l0Nw<7?gRcRuCTK4zOPD{%0b+t2CqEdG!f%AO7OHB^Xh z#1R4v+n8XzE8@9TFV<@={n?_Y*rBA}F}_aYX^`C13Hxpt{jiYJ&B4rD4mTES9{ckb zV+#DU>eLaA{$_C3JxPJp;0_le*d&ws8H;#Z$f%+$VFNgS^-mxFrz8b<85Wxv5YJQn z$}yd)>B?8>*z9e^_AR87cdUAc9qpB$-by-(jrS-uwE%JU;E`_P{?cD+oMP7Iv7g!$ z^3so{Ba|E@I}no;ZmEykpRBD#x2s_gqzWe;Ha*x64f2I=WsLK!4ZIAKF>9>3V=1#E zJeb$#6C610qajX_*3}*4)VC{{aqh`V&3f74XQ1R~?TE@iw8`=KQ}!mBlhTFO)7p$7g}g{h9f#dYS;fQ_bXqmvL~ z{^xzJf@8&!4VUhU=f%kdb|K1f2J*b2`;n#oxkEN}K~owGfii6t=G;xP?R3ALuK|KN zo6IxJq>!)G*K;QR1WD(uSI@3hrJhcr@aB*<4C~`63fvY3x5J=8hd1HsQ1~xPWP|mn zh{|hS)^Qal!#66~4K+^EKIw2uaa9QUE~-R*60}kxK;=?=!$|p=7JGgv{;QqhY$q5D z7Gvl7S)Y-T1mQy%Hvr7T1sDVf87Q{6tZg$Huh?xN6yv_uVC_x(UCijvfV|5WV6~_I zC31-uAJr0-V5vN^gYi>-D_2wfA~++=(OnR0YiT=J;s<9gx-m>Cq${T~cXh29MX5d{ zuYP`)CSUCAmO+jet9n=sLh5SzyyBQZ@o`LGn2K}w)gQTedk2lo>BownR0;Hum(>q= zN5%){ruHCS%bspcD&ZfGI1|1xwD1M;%bx9DB!5Bvy>*GB8(*x;1nZp6GaoHYrz>ZU zz7Xo*Xueo<5o5(((@?UC=#$+|{>D%%wbGq6I4>? zV!pw^5??q*-CGb9RO3Rp!J8m>zIrVrAf{|L2P5WJ$XP9z#d<%}FWf43+PAN9Th{Iw zPW)DD`aQO3(f2NJ#AB=KldfNv1cLcO9&EHheV-H!Tg9vF^m$49_~hFKe64j$TJmB$ z?&ft&(e*uV>hV2%d^oY#1;n3obnHc2KUA_9SKDmixJcAl{Mq)uDO3rGKBae0f*ry; z^$S%+kS*0tWsCQ!pD%-oF!5B)8_a^)2KIn*k|RC{%`1|^gefM>>o#uc! zO_)$or;+BGK*PiXtiR5cq8m#S`pk|}wZMuD9=<^6no3m>rku{uYb>=iCqGyfktGng%5;=2_ zhsk=Cue8bwuZYW%-A$Vqy&7^fZ3}*A4}p|oQ}Yahf@^S1TaxSBX$HrSM<3S8*B$QR ztRaf0Ccpi7zvtz@D_8~|ABWg|Lg&<95i2rDU2pNo370-;qu?O17uq9d{-9L=&gWr@ z9PLTDv`B;c6X6|jO>;(}q8uS)7oRth%6pi?dJQUA*sSzejDNk0+uDpC5uk7shDLmi zTWcGs56U9d<)|#~6B*fysT+^;*98YdhPDRNGfr9c$8)en`J~YEm3{`v>~{(dBRL(t zK3{>GTI(<-s}iYiyQpv^{EcDG8Lk$@c{X_%`i1R!Ed9c|gptWwY z0`8lD=3=jKkGzce#?Xy?Z-GnJ!?1PJbF~*!*D0LC_mKGIqyEIDC%r>0h;{q4nlqsY z_mP91H*-;YqPXmMA6~oc-k5wiyOo<&B<3?VX5{hB(M{>EY4+zgt*fT1BPSi1=vI!S zUqsp8uGesgJ$*FMwPpwpu&X0)y1)~V?)jFSUeJKVP9MFoY2;~SbM7YWc&LwMD)LnP z&s>LK$@n(to!1n&|9(+`$djRfue6SW(dy8#UG9Yldqdmsy+2$^^49~4*D$;ViTL6- z8(&7?mdsjQT;CW*`|(#*Z+)8t_M_jkrZZ zZLIJGT|ZmU>dB(LxHsJ`lUqzi5^BwuM<{e;gFNjJ5pamc7E@r;NDy|jj+6su9hQXa zPN5DU8PDApj(rCNi!;)*gM8y`tuRBrYtzNNZr&dApeOXUqkk0UaT!Sc?*B2$h(aWF zD6Y+o-nV>pEhn3lRBHbLP6@#9>v`W5Sxw7?0nkjZM9!(@lNXPY^8#C~ zz5Z1l0Rk6eai5qNV=bJ{?xcCnoz0h2jv^hU!>Za&bStiMY~d-u8PniZ@Ut92 zc*5yX)#BY{y*2XX>dwXsa|b5KB>1+6kJ@2saUDzph0NYy>$M-Nx0_pQ8+LFH#S}Jx zw<1yK5L(b7IP_IT01N$qwaMnp+AU|&D9WxVJ}J78HQs4uc8NU;P~L5k;DbOsv_{P5 z1^KrRRAus7@6@?BADl$!PJvxr;Yv+^7)hsUN;fpC+Q0C_7HM-`xbD0)&~nQePOkL_ z;>(DGCt`lKobUWRApa1lp#q^_Fm+3?E$L@1YimnCd~w~>njkO%P1zmMm!|CK@TI^9 z03a|HI0)JpI7=_32U9q~JulH>Z@i;ifwz=w#FFIKmPP|MX-s5t!8+OT)o~Tu<-B5t zQ$A7!0UCboGRc83z{wVuo-P<8`4v9-627Pn6L9TD)0w_27o2kfYooGBM&_45PA2vxU#v?etgtjb z`>yHoOUHle%Dn%qR)YxMC3EQBLGL$)ce%PD07p+j&8CZ+_w3GFajN2pkg=8-b?P41 zN86lHULtEO(*2Ng&jptjb*b*RmHa1eV}bQcYu1UM7b(EQ|0-?dw==P%z`GtDn8rcEq{Ny z++|CrXrp7Za9U_NrtACaH8$hl~wgtG(f7Rw*T z12xY*%5qzz!ty#&!m6*=T*NlbsGb1vsdfs$isZ&|MSA-JF*UmNvK;D`6R^@>&CZ9; zg!*dndW-O@Q+xqG_XzTfF0u}}(Zkx-1BZe&uSN~o_M^sKx+M^|+kVgF04G$39sQYeif&oBrKk45D6jA+lf-4zUWbg7V5wCD_XtJ4 z5QBcd>X)5bPCNX^QYuT*z|(`4pt@nxwGY!UyRR_qF=`-lk)K6^{)!|ccp?t`_P0*i zc`nH6!&)G3)EsLAPCqrkZz=n&aSoX0Z$wpWkRKEjb&OpTHjfYo^TZiwEQy@oDu%(` z*U}K8`s)6f6PtB1lmJu|dymZoXBz-ab3ubr{4ux&G z_|FKJr#KkwIt`&#=+1-8C9NytWNS6UxeAZbKYu(ks}41m%GQbQYBIZiYa2PfZ_@22 zT-k0;czIMiLr6977vV26H#9f^&KA8`JY$wY*== zR{C>9C=6*i+2ac{z;hk`76c8#NrKI3_uHC_HO7UdFrK_~#84vJoW%E@<4)j%k?S0kyv*QX(u7)#dR`%&5gjsW@1 zEB04*6dFy6RzK(o!F9;ihdygP%0V{{t?;nGjf_h4XQH<2xZ?n93YG9EZ^JG7ntr9R zlnp+!Brix}k@{QHA?wU{H-SGw`<2Jq*f8rR2~v^*{WMsd)(R32$QB~0e93`${}{lD zlVJAi;%Y`zhB?kv3MbDv#(kI5DJBu-6$i#ZN`5+kT1OUzva;Sv4DDGI6w>muOqDP+@qhgnrCj2UyR$m! z5X-TQIQ=NpIN|GTT4^OdBoq8){Z0nq%jW1OY|#mJ?&tNCxAfNF$IrS==7TDdh}5gx zaTJa*zK~+vG{8(m9ZtPoopfjfiDgQ{JTmx_O7~>81?#Ogd*5_NUF2Ku3Mcq%wG_MJ z%PZwq2%9Tb*=JKO$Dk?T68`td8mKLyrLSe*7^?uCa~#5Na_IRXPr< zVd2}+f<+*2N>^-#8Z5>CBR=SO)Utz+5FSa8A?US8jcLD~L)7Qg?;4=#O|&ulsPgsgNb_E57!F}&oD|5stc z|MA=W6hOapaNl<3!1}mAnD^(cZpQUT9Zl;^yV_5A3H&qoyUIswnft4ziKgENH~;p3 zJm#~vPACgd$()ptxQw5@{ z9!)Qm7=TdUa{8UVKx;>m@b=^3kJC03Q%97ZSydQu4StE`v8%FJHCLY?$E+D^@{1?- z^tDHJ)M&cb1o~0`94|6$KeY|SZSq|UuQOWG4HCxlnOVv?`G}#~Y{ER!`;6eFwm<IQ)zLcx{NwQ?gt^gLpqb!!6!iEe$S2zgb(4h7uG-yveW+Y$(?M;!k z7TRXJ{pzOwmnxtJ8DtKwnBAO5g7!SHqR6J`!(YBJeAgjP&6IW2UMe)#jB#;x#)wx@ ze4b7@V+Ompy}<^(##n#$eYR@^?_^n0)joD!u z;Zb3byzql#mF*OPw{n{tR-`;$cYb0c5QlYfyO5nf&Ld_kWao4_YSc-|!oKE2W`K*% zBdScRK3HgY%Ik~(}UGwvRKx+h9R_i9A>kdi!(HR9U^@^Y!j# z#L00I$i;r=RfRKqUSh}7jyfQ?LM&f)wrL<`tUTQqi_O_dMb>=Q(%!f0dODW1e8`<; z(7m7zRiew)w%G3k!dbqQ`$(3wqdIiklgR@O_fG%Q>bdfrjN$rs#qQm7(Y>z?F=yp! z8?4^qend5W*MZ}!dmU{K3ilE@9PgJj2T^#^ z-u>Hkn#*$z&z~zE6wNqPYB8prh-P=^&hW)w`EH#qwJGt6E$`E1P48i$dH4)V+C*rd z)buZp;jsDeZjxZbEVM4V&Isg_jr+^C0@LG}Di}#CJQ|Y8wybUT@WTF58Cf)o?HdodZW_m&7}Hm+l3FTKTb$=3pi zSFmLM*l{&(DE*FeH(!jKMPHLlS%b<>Hn}vknN|Qc6f)1|JYUuH_4JT=-Pof{@8RC4 z>{Gqb@X1r7J<8m@*nzHo!`rDeRmis{KC=tQ>Zc9|{WMl_$YbqIy<=96=f;Gdg6CF$m6A=8tS+98b8Trw|1GW z0=776GMV|i7L-?PZkRD_m+S7v?HA@pH#9+f>Dk@9tC1tfclC9#ZPi0oJG;zgE}5lZ zKUBq41BBk}R~7aI#3kV@Q!Fx0U~`(z5mLhiSqCep*D*^owV2FHQt;(VK+@FzHZM0- zp}eV_aOoQZ+;qRIdwxK|s`t~;u>Z+aQEKB^HJA12TZuE7Zw&l0uUZupop|30dDPss z=K>q^p}=8T)?C7vL!)U(@P(g9ec7g7%zI|~jSI>^e$mHP!`|inxz2^cKR6qAND8X< zpoT-UxIY%o!Fr8iWC%lcJTYb7Oy-w?c^>3mHbMFbD(^<{e&=t1YZ1H_{Q?~vrI4yr1=K=c3E zWarOX=VT1{<`q|4R2s3uhTyG7La)qA`t8c=Sh+iR$q)zx23v!uWCF3d98Jw^7tnB*rX$;F%zAU3R$#|i z>b7)>9lqWeR);9HmY!MRM>H{h~r ze?DttXviGWaLr9qpAdxR%HgcB;q!{Pyq+b zCUHnR9sEzUk(^ks=whuIaE5itdQN)I7{is=1yf)Sl~fUeEIcVNwS+|P0EQM*Rj|?D zhL(Ks0h(uN)A=r9_9FxP(|7;+$$u(YIPS3~iFVgI2>5c1yfDtpEc8bI(}x;~86lVR zlZp%*Vx|S!hZJ<8r3nmee|Rnme5_~zyZV8L^tp19+c-hhVqBCaV5c1#X|tZ4+O*ul z?`k|j3PaNUZKlN^lp5CwW;2;ldG|#AX;!s4?3|BNc)XoLW}6l}(!4fH>Jbxj{rq%f zV4!aQm-6n>ZtOT`_K@HXuh360JrzOG9UQ?dh$o-%j(`7x?AN-iUY|i}m$Whx$^ z$Oc4iPjdBHdvO?@cjqdGeW7#r?xDb#zs4-L`4a71Zs*~R*V>qjA?lWjd)6XX$FJ8g=?UHFE+oCspIo7B`rZY&D|sOX z(wMbUij*O&c{80J*G(mcF7f8UQN%b-!h3F#s4b?${Ite)@*c-fa6rl1XC>BdO?E2c zTtz8La@R*khDKVknVsVWA?sn;O1ORn;D0!Niz(RkEV=cFPsT%j6E&!Od)^3`XT8_|2-*CY zZQd3Klrt(yAHC7MO2J;ETIu8EFQsyN^aFZ>&%t<5jgJ9@bet=_2VJmpMK&y>3UOpK z619S5>91ZJRW$Ft#1V=aUv-^ZU95}aOH&K*b>>=nl0Bi`Ufu*z10)q9eIaZ(mBvC+ zHD-mIWn@s%)IMkrT!IAEg*v%+&H zT+0EeT@;SER#a127-s~rjx`OWF*4Zpnne7xHy zoJWXT@Pey{4PVXJ!mt+4=SVNB?`HlZlZ~edo~f2&<$9Of*kh!IX=FCy=xWA&gr=yT zF^&?Q-K{92PAy%T`E~2Np+5xYOOe@pzvf(Nk$E*8?sD&SX3EMv7re~Y@|O%6-Zl5| zd2INTg596qe@eGX_-R%|^;QjR1ZHUZ;Q5DFW^a()%X2o8SUQr|1ugXGzER_UiqTu& zt$BqMKd;o9AFCAvO<~m6%}{2gBCUiNdhXK#)qwe<2~rUa+&8lY>m-E-f{ztd93+}J zg-!~Dt*9a?&D)+BvL(*3q_iYucm$@;+o)ydy}DEfz@C8vR+gieU>dX49(94y4i50U z;m}HpIsIMEIgYm&ANt_9hSslr25`(%HYsAGL5dDSf$U+{N8KMi`7hH{JIT}o(7h3v z1bVmXIv-gRM#-FW2nlM~8oql3#6x%!*I_;ufLX5SQJ$yi{F-q3Jyv`Z?0r$itaQhy z(L+@c%P@>E@{mK<|HlK1@Yy1oSx#3?SJ9cc&4n9KTgpCq>H&TXOJ3kgn5gr)q zB&{|D2V4g2*Ja|Zj>V)}-alrfSzoFFm-SXFWJOY^O34%!GR@sr=WuLt4%uD*QCiva4J>45_b;cXzW7o*?p07Vm!;xm)AduI_mdGzR_xJ& zhacB)G?D_)VD%U=X2H4(Hyj?>zS!{HHyj-kA8affMu3FmOOa^RJ2L8!#OTFUAb}i6 zy@Z=(t0fO}&xqA!d;X<`kY1<8gb>{e;gm#*dI>Fs`77MCo-zy#j`O2I6~8e&=({1B z0eOqpe}gl+%oqRj!f=eKfY_r36}rjz#VVWgC@tjumK^Q|QAy3%MRqQ;`Xsmz92aC` z;}`crKi5R%eGX|%dj1A^O)~Y*Dr(71r6bPp)9A)-eM{Fn+Yz+=^q$`*Tt=_(oZV16 zZ$pIbN&530YABJyQ{ns!5_LgKWdb?ZRsQ(8|0*Lh(cBI8KGvPIJT~iMpjMl}F0Sv2 zC0iizHP_u@3$djc`^=q07E+^ToyC&Gv?2wrb@k=eFLSP!-V#QJ6l_Rl!l1FuH$zX% z7OZb?gZj_2m42HgZ*<(8+Vxim1a53M)?4NZw%jU{01vD?Xy_l9ldJ$W!3@`DPmV^P|EU|+QW#Z&A1G9 z#>V05qiM|XD1{fS)cro$OlrkUeXQo9e)`&Ec^2YtC4CU0wHsLWu_(G9Epm z5+<0#PD1@KqIETpHT#KYAsS&giAFslo4gfQzf$Ldg|6v=tP2(6Z}IJ#T18f%YrNY6maG#~&_A>@#OT;gRCEa5A7A2r3Ry*0A9#PIzLAN|4krnK zJOQTdP6Lu3u^whAaQ%`(~zdY&H08s&Cc94 zVOA~MuD<6bxISe_vgm{_K6kEc<&G#W0=hk%=7P~w||nCxbpl^C2+Op<9?ibwpawe zZQ4@y$1B2>hj&f`WcmYqk|}x(XX$5E43|d!XFdhP4|e8kZr7*!o1a z$PAQ9d4H$qS-7*5f1(xt(JgxuAWhcioZ|3>i<|PzVSR8PIQRR+)oy=6 zDEn3t?_t5CChy@Nsf&85WnawQPoRON@!10|ekN$Dsr_*29Zr?CIbvlR`D_Z`zGXo+*dkXxqX-5LdtVEA*q=Rw8F(MKg!{3fZG>u| z4k06_QvuG<_uGx3^U|WGwiNLEHuFmvI`-(${sJF>+^EOpJq>c}941 zU)I0zXXLC4D*n$%K%h^}?^tKbZd~7V*drvj4w2%3>xuNUp_CAjciI)0+;Mj6-!1MylC)taM*>b6h z=D*XUPgc&+HGQn#Z{ZoL>3}9;m&Eu{QvOAO%v;`|L$o2v58Xr@ns8+KQXS*CiWARB zFK@B*JC$sd+d8dWN;jsfsE?#D!HqhB(3R>ZQ`utP;>Ar0Ubh>&vg!;J&2ik5R?_8K zEIz!*&V;*tf_^!1opI@b9G@gz(UV@O#AqfjXy?l z-Hn4oAQ}W7R(2r2$yaHVX0AAk`pKQUxNe$NUJ5md^!+)e=!S8a8u zgyYNs3x8Rk{Cz_$wsI5C3Bo#lG_rdn#smj0RXR?XEobC!Qq3mn*sWoUb@w61 zd5?$tXbGNdKJ#X=UeS`qg0JvSHbr(U$wt*2ws9mrv-qg~IWjQJdQlfT-!pc1|I)DI zNzl*J*i*%p4r{{;c zHC5?Kn{|_uNijQkS%vdTsvM9KO7rG_K*oJ0fyAThpT3&@-aog?6Ytj>sP>S_$I?A;=&}jdlXtGH4RyLs`PtgO%R1yUr=VI$f|+yZI_y9)}?J5 z>i(1Nw@oyx#NlMzL238OCU76?#*H4|#lw#&Isw2}#s2H70v}Yi8$z3~wpafs%1=g+ zUcSq``sBck3F&gTILUkswE$VsvqwOV4cHg>#(%A5Ie?g{l~Kd;+9od6^D>oACvP0B z95!q2#0K@5gh_weH%lVNFwr^oQDtY2f3BuL0$5B>OQ&ZpPHpayV<*wvjQAN9+cAE-X_c$IM>#F~&5My{Qo7Z_MGWHCD(qPY<^U9b3t^UHkw z;oTww!#_ai)wcoN=arQ>v5ZTk!tJ|)RW133Nnc|`V;$-ZlF=U{NuE%;k5NRN{BHoV zxwi75$(gaGPj>SZN~j|AJj^ehEsJjXcDw&7_9B-BoOf{UW;JpN0aJn`OOe+NN_yWtucOR=0QWE2^b z=9=*e)7Ap4BVDj{1)n6UmS{9Sz~-Ytqb!J^w|R=nUd%Tt?!d=uP85vzyEua;6tUfv z=3Z9i(#%CXiu33o8(XLfcB9=yKhZKp*)``C(SNEbfl>u4%u|x$u?0pz0iksp^o;?-%)Fp-S8u>-t)nd{ zx708VneDb3MSt<2r#dHAOuEFt+eWEoW!*Q-F#NphM*AK+Q`x;Xh=M6Odofg7+46>kpgX@*E$bHwu4pXopI4Jjqaz%NVrUvDhQMz}% zsd_QzGU=H}TYFE9Cur(;NpzeVP!r_U_Z zylbgXhxJ9byQ~fr)lGToODS?olrpYQh$gY(SDXx^dQ_On-Y#p~1=F$AK}8 zKfm4YbhG$)5QHg}zj@K_0@X3{%uku{RW)ut5bC?0D+x#h3fxNCjLPVYIPk3;YfDMBdm-i{=xf}EZjkSzFvAw2TOr$)l1b#zAI$T9)7GJQ)JnWD1 zwQmelU8ZG%JULzOB&PsR#`z0etwwbAb);18h0JP`Fmv@RshVEp{_7v{ldoNBw`D#t;AN5*y*t{(>wI zn)s{}fq4EfqO~2o64az4ymXR#&pop^tGed$6fS$HggT6l;S^Y(s z@%?W-$?sl|uFqCo`UZH;=9&4|Se{O&hsamRcP@(j@Zmz(_{j`y(tPWl=)W#h|Mb6p z-`V5#sgx+!52=}brNn*?lwIfXL+x(UM+y9)8{KyJ>+&U#_4luTeP<C)6N9EcAO>8nI$7}oDlR8WXpDwA$^+Oehh8KwqX}=Ie8$o%u%|JJ36H47n zm9Zu$`kD3xt_r!hZ_X^0-`lb;(gy;mtzvp3%?( z3E=j~rTtv{nBqab9s(#@0z+gK1gss}&sHBiXj>joc_*7HbMEF^I1e29i8?k7;=zz} zP=!&0s}mb0?s`G2{*h_7&fVzWIB1CUw2C|?52dUfi<)c*)o6NNPL2+1JF>Z-maZP| zb5%KS(aJ6297WI#B&1$6QokJ&6u{J52KaNvwME6^?&9xfs zNn%6Jad@sswSmRlczl1gE)vc#t6X~HA?bGKLTeh%h2+(eQO#KsMXg~EcJxo)obHj$ zXx>+hMtq%T^(AsVmlth>Q{J8icW{c-n@KlVD6Nxqk zu#JrW*bKpv3Zo@r7aVywKCM2U5@U;Q;r;eHN^wD%i|Q>RXTA}K_q^`V4%v>&4PC*; zT2NsS(-~6~9N34N_rF-Z>(27|UI`aNPl;L1%Oi1iMY?hD1)tjLSel zbucJ1>LIMNcyF2YaUU|^!4@n+%;>^FBI2yh<0XF)f*-v(eafuHVfgo|3xMG(2B0d> zeX=ko#e`po#0)?TBwTUgH6$8{l=%~h#W8Fk{2K2z&avg5yt5}!1$B3N78WP-biLTm zuYQ{uulR83e9N5|#fLl2{pZv)?NS=AFnH$ilj`iPMwbgB*)TGCp7)E%ANo~vX#UHr zmzFkHytQrTNq5!cH}`JUq56s%^QOl#stYAQ40T@0WoPBmn1f{0(KUjF*wI&oJyFRC z%TeIFpC3;xjY-9N5843xd&;T=1^1s|cW!s>BzFvwBx@5ITPNhYOvdm$vXW9~!iP20 zd@N|4J}u&S|VlV$fNNZ;VpAzrw>*tf5nhuJg-P&hJzs4XfVYDr?hc4nl} zx`Lq;#Q1z4C#mOdWzt4NCU$Jw;3drZF;cC8modQGvX|TKKC9OB$Kmw zclc#jTB&HI;#gY)A1sMs;(ULoXKqd+9s$)A>?|2S2#14B(97EM?Of}YdN?xDvM81Vt(hp6nrw+z^L z(s{|_**8b1=PFV^kDav2tnbn<7vC-x>-C%4Rkwdm{S@jP{)BJkc%XEae~+s3QhP_X z@o}l+tkg$p!geA>8UYG>eaq*+9 zp@Wo)`y(kbQT-_Ffj%87d`Eu~t9B@M$;a7wU2^Nk*%t~(iM2fB17pabj1AP}M6n~1 zAy{zQ6lMVIW}yZaG`WLs-fq}|T`uZEn?15|zG|8AlbvH!5e$0Y%2?)LT=DU9nxGC(oBC*THF}c2EW=uydhfmoRZoFbr&baUvqY5>oX!hlZUWFr9K~VnK@Vm3&UlK37 zSX^mfcg2Hk6q0xo4H*|=H6pY-H^rnquT@_>386H{e567ldr1}0`j*R^$VofJ*i&d|1@ z&uI;EvM>Bh=kFsQ>(1*K;~a~4T-;(wTn^4kkG`q|W7YfXH^ZTV6lfoC{hVhPv?Cpy zxoUSxB-za7b(xC(s#;5Y-qLzq_T2{F>s-*2avnM|X0Tq1*jRZHnftU!Hhu)X1~$t+ zx%P4YZfF?bE*JUONh)Oa3bhxO=;xlKsJ{AV)9qqX6iG4erQflFpg={~e$` zrP>)tpBkl#?6$(?ct5^$fq)^ptJkk$;hYhE=y~`sThlXrHg(`zgj}1~w#{D*FZ<6V zZf!7lLln;pgDfJF0Vqax1z|OQKin82edWPw#iA)X*8p%+PpOnwcVW_-0|aCKC+f>1 z<&&8~bpOl=hQabfL+2Kk*IY%mg{*G+78Pkmc9{*TAM)?qqwRM2J0ABlX3C zfY+fZ$W{;1Q}!Dd06Yf*VR!GPMXo6S4hYCj~<(6>nEed?3}<VUI@v6WP zvvx=?>3&WctFQqx7|&K!6>i)LlJ80WQa5@!g_eD)#dBA>3=papxRaR$2Vl&l-%KZ87S`y}d;ShtCnBB%cXHc{$dD2RW0hPqQbe zDPb#A`VB%}jjBeGEnVVa2U~ZqG^!*X8e;fB6ckc5C-ZL2{nPzi0IrI&YZRF|4eI}W zRfA>I3xo!xHQlfZOP}qZ8?L{?$nF6UCcgnNMQiM2^N+zP>`IE&n6J0wdd7)U7X<#R97z;)TIaQ<833qCke3CR#8kMH?zyI1#RAAUY^B zLUyt7Tq1smQcS)Gh0;yid8=s4VjfZb*!XyLQX#_=&K=-Rl6Jumqi_yDl93zEnr3T9rOM2Z@~>XM{MbV3nUFnT}2sv^*ItoBrJR;|A!F84J@SKhKP z#jUKdo)Tema_^I#N4xOp2Un%}(vaigLs7(pyZE@E!=-ukut$HM4{Z}l;`ey_9$LAT z*S@Fu$N7oq(n;|bG4a~l!JJFp`J)^2?WI!l{s;St>)*K++ZD~;?^{Lt04I6JHvHr~ zo#*Jm;r9%*l@ujX47A(EA48ci`Al<#fAq63!|55r>#w$Wc%D3+t5=AUgCXb^YJFBC znWHz6iXb(HQMI1=m7J1)Vs^wZ+h3|9d;O3ZRIu+Ut-^HnbFS(Fjwe|_qYOr(7O_uW1Mu$}BCx`*W_iRZxf_i%?R@a7{+>ss_J+e|& zT)qZ>)!5AqG0T`XOkY$gU>lqX(eXZLJpX9q9Ch~y+e%fWS+CQUzV(6g)uw!Pj>O2w zzrV>~1U7hCG~_Jkgxi1pzQPltTSpmF#Qq2Y3E--qU94y?BoC`cj0ecb85eXy0zz^Z zvKLRCmCp=4len{{U2keW9mtv9m!1F(qB{OKYWQe>s`Fq+)?gWacmDXY!E;XQE9suR zjtT?en zJUj(#K9j`M~xr88J~BkyBwpycSo$o z{15At1KMx%cv;tP$%h!++SU~@_r7|@ChtEFQ>$uIu-T%yU#e>RvvjOq+0X+@P2{2V z238HV{mkSaw5^xMQ?lw0UVSaeIQtM{t}U1FGHd*&3X*JGtiY%cbSW~D0zq(6Jy(c~ zznhh!e{bIKnv#~L<-*Q*AWh1PO3%K=N&1^5UgzUO>vn|9w7ykT@d&^zG?`z48or*K zS=dRdKXT1pO3Dv{vDt8Ul9#^*jkGLtGh~OSYbPY3V+W?bhTQN?=45&TNJURV{ua6H zt}O{NB5C{;`!r!mnQSBN)g5F)t?St$yIG6T;%!vdhS)ksIC2dVE0H>TsCYJApO!UR(7M_AY1UA=dG zO?&ESn8uxW42j%Nt|cX3u;tUYBt086eVlRA`OQCkkTRWN&_Wb}qc-X!GwI~)6DF1^VX7l167;4Ixf|HmBg2j*@-Pc2b@ z?xL#ri|g9NQoodSLk!*2jNIIo9oq|;Ox6%CxP2y(TQRTvb`7~kX5fpgSu$9oiBi=b z^nd5aHk}y)yL$gF@6jG(Z&&11(?%)lmeS>whr@p?1>5&eZ0(qToVt4fusCBDM<^Gb z8w`9^z~hbjO42AO=w^!iiz}bzi_g`5va$Z2H=F#3!yp_{9=tAk^n=v_6>zJ)?4zwO zhk!Dw^J?oYm%Z=*T5q2*9`2Om2W~}Qe)3>(f7BPDsX9-F+6=wjLjp%o;@gHh>uuo$ zF1!hcQMZ9xm!3pts*Wc2L|AJC(Lke>M_;_u7i(Js1xY2$l3$~b@WXBkcD#(a{ErzA z)_sG7yn{2Er5)hTzOcG|6rv#Pl(L&#rQ**Z7s$~0pDjJulB0_^LPMzS09vw=SVM-_ z^axJE3yYp^?!fB_;ua_Hmcb8XF)+pvJkSG?9#tL>6p$bzL|K)$D@ZmAj1Usq$Q9q%-H6Kf*VcbRvw z4#9*gXA)oWKkWN*;mJz?2})JdK-h!}yD!&Hfctm#cck&z|zAe#JkpyX&E2^}sL@K5nX+ZG4J_ z(l3LL11Ke?0~7GsaYVz*(o`U!9-^?)Y~gzpI|srHrd2nj_HmcWgnS*8f-_HeHTcfI zlQeUP;dW|p9J6uD8kIZ#jabcuG?n!ZZLF*J)5y&w!I|R&5IsnoT{wcWyx2SpN-XKC zAbzw;&glU>8j)MUGCy<4tzeckZp8#;sKQ# z#iE#-)lFX- zSBiVQTXCavZEMI@mA|hX5pX)onNA zn5TLQbF{fnP!GMFN1v2F-DCLf=PMPt^?T5Ol>GKd%Rem&mQ&|{JFB_>pdqnF=+M)9 z>C0~~RMqr-zZouU6s>75GSGufThknXKEK_9WE#|dw;7!TD*j~~NYMbR?R)g(Xj?&+1gd=z2IZGGJZUdVJuLig9L!ak@5$YtE^ zXX|!f_oEN8+UN%b!1i+r-RDHJyjFt$Rgoy+?1m=Ox$|-NLti z=XwJY`~5rD;gvh{Qf9-6mwKbN4u2diVu2pl-G9bW&7KDA-mgbRfoBz1A35g(%)E$; z-0>P*!+%*&R?|J&QGQgz(fVn%9U>Nxv>^*_m2B8Omn&!Qah~icr0%HB8qo*}khaDn z$_I3tPv!xKZTS$s;?M!+ta##fa><=d@qH54>3OaHSa@}ThNX-q zk(Pz~QQ!d@8g-6g8Xr(ycXB=aV@MMAYWW8lsh0+=5?&m=JJbO9ZwbV`oTsDWo~J~8 zKclGj2y}BmnCks!6G(4p^QVp^^XvC(d!|3lD3*c>M&7`OmU0+9~DT|`9j`rb58r8AAh#| zKfmF>{q;GE(cEGCH2YDv`l7SG0>1m&?kCM>zWrK|_0am#hmlcXfSNuepU%;tmi%E} zdYtFuK~oNKk?auWjebkA>XQssHQ#(U6oewhzlb%+m*ytiSW=Zs^K>s z!Zdk7KvRF%i=p4SxJqL|y>MaWuRn%5Ji3{{{D*><~=zW4w0 z#UzjYWl^}FwkOQ7C|D$(2m7i}I82J-LIX9(5_~8D4lZ(X*o!2Xm}XQ_+hgK8Mzn-{ z8UrZ76-!dZGzh34tRYnwSnmP zI>>)Nqv2Mpa}e)qSsMHgaK7H|b6xi#wq%jw#G(cx$IVe8 z{=Jzxptf&W!w$h|y8!inPdz>r7R>Ngo)2z2dSB2zMriz2pCgWQ59e3(!CGf961pAn zY5@x@j+s3Ao4naREPXT;IcwqeMfSoRO?q`F)>=&++HvrJTjB*Yh@IgJdY*^D8$2FX zKxFE~TiC2!YpGgpMwiox8cTemPcR008r4Y8HKhJCUmHFgV4=irf48R?8m`*h9V6n^ zp~<@zyAQsavizED=@2W)9uAaF32LB`6ig94inI`pk;VbC3JiO;F39)Id+rM*N?K)0p)}zR@8-Y6RE50*Mm8xw0 zw^#H!*v>Q$r*rhS!gV7GSN-Yx?oW(x)%QW??dW;(20)u!o*G1MD$OxKEl0EEQm0As z(Bw~0N1^<|{6xCIqL-T0Ong7gkisf!HDOsup(#t^(6#}nZ!&j}dgy#o;`tAt+BfA@ zi#9)##|Le5^TY7)&TD|@fhMM42NbEpY*N*NYx3;jqi903X zi}#R@s|(dO#pZr84+H@hXNB0Bs_}c!veQI|<(7Y)Wdyta$#TXexVm3aB>>2oZ?)Il zK^zPNH&5w3!^RHiy+v+-QjnjroxJmoXwjzZS&r_kX2xY;I53MvwJ;U|eq;say(+)1 zXE*3B8$?j=(~gB8fl&G~y$&3KBSC><1tE>bj=v3i^wgBSY=-ujUko}V5jh^Ca0q_S zQFe~d;lW&y{lj|1{b#ADO5TLF!uStLnwFBt9iT7=LO>Ezg{g-==u`iFGpId6elVoJ zG38s~Xc*2&v(iTl7)R1yZ&d^6rwY6!zBjsISKW z3Dmk(wR@5H6sP{il5hmW1y*^1x&|C)qQq>f_r)x)q>{o?27F~x6aKiE+ObzX`zq6W zFC{nC+Yk5A8;i$}j4Q$veEBQ;(f!&QYj_PwNhve!w}Q;K`|RMth^+BsfwE9eK6C+k+>080~NKkeSeL< zNne>?zWlFxuH0j5-m7Mr1*4_Xx8<#$WC{f|*3hj-<;u@V&k*y7D6?PzEYyLXLn>-4 z;hE58n6QMBJVc#ecl!9dH;-Y&-1>p*_lrAsTAS@Jvcnj2RY61ab@NC?_|owM;rI{8 zngLeRFgN$AQ-XS1Y#$WZ7qCDIyxI0S+@1ueg@Qi1gsw5m3d&(WKew{kk#2ueJz4xy z!v)ZHu5V7fZ5KXPI9qs49fd}^xg$Jx3kEb?3x`^}W)iXtnP|~DY5;>5jeIt+u4%R! zm@>>vx%|P>qBY9R9sjI=G%tU3V57OFdlhV9!V&4XHO|VxOuBuf2My9ce;rki{s^aW zBa6s}i+DGp_~tUzCC&O?)ml&Gos@Qa8@-1UTjNSS*^(=(C!6JFw2G=efj7VT zi0C=ryaJa^)peJ*U_YoS9cLpgCkbn9VoZ!{9P$9*#vf&i33+e-Byx{&9m zp$1|G?O*K_^D7@j0^Z^0gly&AohS(}EtqAtbReIe*Ajq4kR-Q0YV`>A_t-!aJWW3y zqbiITDmy8(tlgt`64;ZiL{D>S705*uGLGCk4H=h*RzHx=97!fvx_vP$h}E00;w@!? zFj2X%)*Mq_HeFI^WlOScZEHB<`ZcqP4$`ftsC1J5Vyk6TR(G2&mx4Nz{oz}X2|T(u z%?vtbDHt5y|2rl8NB_>R;@vsaP5zG@}T-{3r-%9EM_dGqz@&P#WTy>DHHQ+ zYs~HNgHFh7zrmv|bkfSky0_wYE-}S0yM%FH+t7iEr_X4jN~}(+{B{DvF;Sz-YjFV= zu#@BIWiSt{hc#LyeX9pLERYxEjB)i_@i;(0pSk_nmAzxqtcnvk^x>(`_Cu`=B9J#32tqW*)d8p?=dR}`aXV$)Icle<1jHXwO-MTlF znL(&h$7BJm2344|>?TkTY+y1#p(15I)$XojRv`)hT*udMxK`W^DWov^MxrE^zHYDP zG7iW^9Q)6`%0$~!wMr0i*xgQxBc3Pvt@rWm=d3{VwoEe0ga zf@gvh?p0?d=<1n*tOp>UiM?5x&!&resv%PzH@pv%%Q#0Dq}X?hnhc`QIc{??eYPZy z8dYi}!y*;xCyt^_%mEZxk-`ySQSr0h(jC*=DsBy>X5517tLgZyyA$(e(1WbzN;@GV zTKZL(B=n)o#41ndS8YdgLE5S#NOSF;r|0ve>amHAvz`KWH?!7VOEIg)Mwm#dQOjMm z77QsenkJKp-*J$#f~g)HjQ&O1ABD=v!G*gDIRsf5`>Pz#ekp<@X5#?AHh7rQ`+s~z zhmvrk8GiIp_@HF&&6-aidLNk+f~bzLOl;@368FS>v?)rjvmcPs3{yw_~de{fArD|%vVeBxxfos>tn^g@Ez zk61QqS9xS4FfJO>empwJt{jCDY(u(l?p9<#3vMe{ zEMZT=&#iXH*m$?5r$&|GNm+z*n%zA?ZQ_Occ_r92C4~0rhRO>vn%aPhF{EDr%c$*SWBlGRmr}IB7cxNt`Z>;RohzQPx3ZL z&X^@Z4DBl~H4QDFv3FM(wsI8eHVi z=klFvEhwO!RO{_A6f=2PTL@(i9B^BeE>)gv>9=SRtezkuEZ@2CF(yeFOCk?ra*6(N zfzbYt%#q;vy4u8#0%a8$%CC|GXm9*PX5bi+6kF5F1DQ6l4{qVD>;n(j%LDnZIYdFN zgy!OVEvoG_#A?kXF#j-~ARB16CVG6In_JD*uPgZb9rI+Ul@AVQ(EJ16t34RRSKk7s z73r_bX{{jdN~^Gdx}5h50!J(&A)s?Q!}E8_ClC|_wM7YKI{|oE-}_+iLPE= z#>)dS^@r!iYgoS?85LJktT(db%(||9UTR}u4wG-9Pv4U%S{6rwX@$E4!V=4YY>UBQ z$gO%vh0dRmFP+9W#zAAC%uE?5%SdS(ukB_c1-8J z)p;`gMK5?!?5`k-o~Ai`c#VX~NqfA7C}A4ISJzN1O ziQO#gvMD!+S1m!sbifW!YC#1LW7c}U^$P@;SQwNI%Fx0Y{Oc@1eVlm)2a!eDpDd=O zcugz?LUyvrO}3<+_CXTS zC3rsMUtE=c->&l5Jh_;YlI6N-z&}WHNVh%G0m*z*9GB0B2c<@*PfvK;JPel_Odt_o zk_4BeXI>Jr^gFMX(X8jR$(;WM{v0N-ubBaQ4Fr~B)4rk2c1BNO zRw}Ylw5flk9VUIM;2Fk^1XDF(dWjJ+g@`bjZFq2xfs{UOH}{-_8~*0D%lT_hZ#VWu zm1!^`?$;-6pS}I3lw}6<4_}Ld<+Oa@X6oVH>l@Iuh+-}!+t>f`k~%96uBIYxHu%AE z@QM5`y8xieoLXY$Twg~dXH8-X<$(hq?xxL}MavDnlH>Wo2`{o#o{gN1cG|XfwjgeT zNnXrq$fCDu<`?%*6?fhUIlCAf==RFgp(?gg##E!6@|bX52jo@{GY9H|imJoQxob9I z8Jn-2^;CIEsy=5*W8CCH4ZU(U20|7z!MM*0owxVR;79;5o1r+|$W&Io`*eoO&X;XIOji2N)n|sB zIx+=;yGC8IKON%8)mB4^uC25QN%<9=|Mb1)T@D&#yC{Kuq+@K_Yg;6?Z8j7+KJRDp z3q`;Bz})4C)0f#gmoDXJh5Xm-aWt2uN5E1eW~sDl>DHnQ;MU^eEXH3yqa-ot!N{yH z4(m%r_#3SyeW~&SYcxaXms;lqGy_cZt51*d9oiJ`69 z{`tPdu=p~2M*j@UzuKCvY2?)la1f7nE(>t$SaDDcXeZv@X_ZP=CelqfDh~Wp5}IiW zl5cn{dyx(*SoIoX3O(eO&{H&yvxO}dy{Rp zNFoX3B;r{6#E9&lMJZS9I2uDCp=2#jL*b~cqIi#4$;SSk!3iXB+W1^4>cEB!5ayJQ zbFuvM_s6|<6r~h~=u7>Iz}AxePm#kf67~y{ql7lr&ed4wq=Sl!kgC@HnsL6p`V^PF z(`%gIL~KNoEuWo>C|7USPs^*Zs$;S{W3#-T7ehG7;Z>fnv(v0@HoA?DC@h?TK=ou~ z+%A;oc4$pCJU#^5rBrDr`^^MXEtp+R!B!k}^%{VNE9D(y1sN66I`C4_;K~dIcj+>H z&C|Y_6?O~wk(RPzZ!D81Z(Bd}%JO5a**_aTrz^#-S`Na$9_D3Dw0^b5@Ye={`0eCl z4LGS2SGF>zZJ=01AHKAc=1=q0k-dR&?^<#6N~vy(FR?Bw9PH-FEF1`10&?1ZdiqPz z43fq#mfm~Ca)EhGcl_o-UbKg83CsZ|gJWnitAuPI{yKdW)?LL}J?W4(?D(Z*xHcSM z4;2JvMOopRJs39qzwfE}1hK4V^`LOUiC@4_UN8(0F)7_!-o=)S$<@d*mohVjkEyNq zJE(bMCGQYI?M&xZFIsPAl46Vp`REdl7RT!X9v#8c07 zpYl%bCr`a2xu@e3y6ZsR5Z(1xUKcZ*vDYQlNa3B|E>}WH1&3v%=YdlWrVX2bUcrNN zojV6my)h$eQD@wDt_MtYOw>9sbc(aM-BfjaDi>N?^9>h7aAOY_AO7mDfrRnQ*opu7 zaj3k06lw$aa&G2(X;81K*#AHf2wg#tsZp?(Zq0Yn(*IVjta@I|;Du{dzTi;U|J06Ku_0_H%hPiO#n}NFA{>V} zgLvGvcE>u3yEUV%af_11H(s~?V#Kc?A z3CHlRvca_{GMGgSCv?5@_8%gbUnApfZmjaZM4nlzSZiU26mJK=(-ivDb|cX@ZGLZW zzuk&hw}oQbg|p2BSx8B@w1`rt4ZmmV%^BY?1e|zsajz%Ppx$o%R&^;n?h93CaH*}l zm99ozfeW+r^wy<^cPTxYa#^%DUd=T|FP9$}7&v3bc5NME)%o;$wJ?S8jK$i#l4%N^ z@O6E|cSPLC;bvT=Wwd4S;PEoh-Go(af}$X*&fj%@d=6uYcw}q=sHj)%>K2YIC<+G& z<4n_Q)?oPoy0stW8%TdU> zDV2Zt`G+nWxaUZ-0m+6#x1f;n97v@qa}1CKmNz(Sk++B>x#^Yb)TlZ&Oxs>mE-L|x z7L_V3>)9OyPz_lP6P83kwKBILo$pET&Cv@$GP_LCWmT~OE*>Y)?*ha+qMFF}_QE$* zuUVs-(){KT)@}PEC`w+!r9j+bT{njU#V)xc`sBCW#@-PAEP<3}(90(^yK*VG0EsLL zUsIy`I)YGE+p)?m^vy8(i}+N$NmonxoO+gM3lBd$Q?3UYIR&#@V2_B%+&~)5X5XPq zzxL!Gafd^Bi8h%?NYi|)Sh;1cAsdbMA_L@iqlx%)zTm=@Rs80RsAjf6#ignp5jfr0 zV_+HFr7p1VkQhoC_rGeH_>ve++D2ihOrPYID?TaHA_pa5Y*A6qlQ%T1Dsbe?&kw|o zo9Tx}J(vvHc1YY_?vz@uprFvEyV~?~pd@6PkMaDp2h^}ZbxP|Uheso-Hy$tKU(jS> zK#<%V_*7-#{>9R62eLO3(YiP`TFaR-<5ApLvzqxbKXhjm}*n=%IOaYKQ)rn*iy z>8!P_Y_TouUO({0T!5!Yn$;?&)(=(uH0iK$Mqyoof~K<^G*?}2HK~~x`;4#DQayH< zYs9D?j>@WX12HRgMsn>pV(JA)SpY@1Fu$~*MhsAZYIn3`fiwbSrAz14>VKd1YhM{@ z8kWN@`cSS}&LpU6WRX&!5DW$1fmy&8T>XMYDu8jUX=1b=JrJ_^i+;~sU$RTeMrt*) zc$2=JmX^NdV-#AibYIZnf~kA=1t~{zZC^g4YB>h-Otzd^uP!=g#5qs-+9m)HQMrNj zGUGQc=e$pwASRINvwxnvng1tt3u@Ad>WTej2tx@T!}gWv>OrA>JbJRqXFYe~{X6)K zBj;+L&?^zX?*{tr=46ccjD`F%>kA4R8zk+${koOyX%bU6TQBvo#%mE>%eI%@scKV? zM#U?sOTO5kat4_y2$@7UH>@e24xn(-|Bm=st4q#)bI#sErdoyU#9|YUhFP$wg<*Yz z@`p=Ix(=?&#AD58;C4slp1^RkQ(nB9bDsvQuy)m~S~34m7tvonUfW6G6$m0!X+%SJ zQ#45D!|%q;jTOd45P(yZXu=}NTZ{~QS!7=Dtj)BzY}Y_PMI}7-NNJIG*@Kkag*rzk zr(~IFO^}_WHln*`_Zjg;e`Ab0Vl0ZJ zcac~mTrV-{2tMox?3m7};2bkvt6=2dU1?&Fq}!mjhIs`<&98Zw{l`mh%VnNE>lGD0 z7?qaz@SF{UBSV-R*V!8hr(skZ$lJ5fiwSuMikB>345&PbS)#mo- z5#wsTcB8(zOeNGocmNP$a~Cx#9+lHqmnxnqR`!NL@arNZd?V;KB$)%%Io zg}eO4-?^gAd}6Aqn)bOX`IJ6XXCNoP64>`aB0B0ckZw7%S$scL;WUCgHj8a1(9n8b zSb;LNAM zHj<8+^>Q|?lV%C}E7|4xx9g_Q`#qksyIxdbSGZvc8zZ*F$b;Zd`H)drNzUZ3ZAIV{@fvRQzGU=%4q#f ziUpu~FSdzj;GeaxS-Jid8@ernTgLZY{Q122a9#bjqk^NutjapZKad(Z__Wq=)jQZ` zjv;C>Gdr0<@&+r z+TS;pmrLYK^>|I7NxtnDzG{~@%X(SR;t)%*f2qj|ql-3wSTW0(ayyiHx~l5`Sv5#X zMYfsGqC9K)6ihGmf4e_?;~_mSRq^OMS7O@cB)0hSgtfmf6xG3KhAJnkx8c_bi0FYC z#10?pr4Rnq?Pn#`0#lf#qN=f}2RYC0XAE%2Oqnb_M8P9MTB_?zPuYj@T{YKS^^aR> z^V!Q~iy1f@Y(AcuUU@6CTJ=cHZ`ZfiPVwi69`o^bw*CR&*Yn{LNb&8Q+TlSl{+c zrI~_C)8FZR(CpYFg;4xsiW#^H{vVz7U73zu!5+0R@Ti;Aioj~0f%vG!w!V1guxQh` z;kbfb;VO$+qAAHdbb6xox%2h=fJ?0BIV&AQ`8Dmxm%ohO)CyvhRc9nGk;)~!mUcvf zQoO)G7WbzGP3iQ2oKsmfz~fe6$Z{qZD`~sBCK*8DSSi z(6ACMMH0}Gq`J#mKW_d21>1H*%_?pvt7}w9-zxP#Dk?4Pmq`kX9>vY-nuV$8n++_( zH12wipe5vQq*u&Fs8c#kKD=|R4LfLmS`wSH;y{pncaZML3R0VfRUbQWj2+-y&$n~n zq&d|xIJYL}h+4~jO1(|fD`%H`rUe5Rq*+e6$YF{+0#K^5gLY=iy0>SI4J(d-Ee_`s);5tl0dL;NjC|98;h_jt$VJlhhzggIegl-x?k>as+nVJ^f&W zFdi?DzA%)Y#N1O)c5-@PAnD_-47`(PaCB@zDgnQWNlz$)l6uewv?WY58OQPtghlln zIzI~#xr_#&YOb5xv^jq}FLbZA_Di?UWYYMa^r0Sh#&Bzt=%KPj2n7=gdnQ z4pB;^_b+70T^F})5EJ(0o{HhDYWs)Eps{r3vsWyp#qSGwx=V23Ol$fx$Y+M`*2fUe z*$_>68OQgywi%*4II6z|a)CP3e(}R>19^AZNUDmSqtMFmAL| zEAjyoYl%=(%MBLAD>l#!#Gd)W8VLEevyk4=2vSLWM}@7nKT=DV1=ZYFUWvWh<=&@E z$}eeEKUJy0~`2neROSxn-p6i)tjkS;!P@1LSzLkGx@J$PeM&-6e z=`Xp6PAh$u9rs;%g+x=70ab(~Nf`%6-%s49f@S_J=vaZvmh6}~C**T_kKC`PJ_zT~ ztO5!mWW68PJy~KQic2vn)V_12rqzCq zd~W-utOI)FtI$BAKW|B!KD;^K!rkU!9$NS1&~u{veEunE2V)PA;Vz?GoQixP&SR?C zQNNK*9sKl7K?iZWvPOd)oa-5%j4j+Y6Uc?hc3xVWR}VEJ7{bVO$tUi%m3IZ z3w)(;$DiL6?oxfs&FI;w=l!j2O(lBUw{vE6Mz9PZ zMVcchNN7U|2#B6h5~KtSB!rfrbP|g6CUAxs5dr~2Co~N$BoGV`APE5ry-Eo^p!Aj? z9Yyrbxu5%4&v`!F>s{~rEvziU-s~j%U#{zSg~a4O^O->WYHNS+cY_U#A)P}IVnxf6 z6BADcLP^ZSF*(5kT4;dnY zLq*^Zs-hud3$9G)Y_)j04dQ{d99(ysnufJAknJQM4nZ#!Uq<$b{OOQ*5jOXmUo4tv|PQL`xrPMoQSxn8)jh2n{z^!&{GX z?Mo!4UlITo+~tOapMr_kQc`{96ro*MQmRQ1hDgSYm4(3J&Tb}gw|lg|)?$@^#wK$t z2WZm%X}Z10Q{p8WC)xS33k6fX(zn{*N?`{F;MP#lX-Z^Q0WPVB>m+z7s(>g=8nyad zF>jm~yen+=%6W(U{gnP5Z?D&RFfOV%Mr_G&tUubzaVPl9h{u7-n^1Vexl* z%1A-%4&5~t7cP#vvG=j!LM?bI?9=4@(vKchY%b3VCfG#KdsdWN`*xE~mhuFv?KkgV zIe`0?Z(0P~DHB-TsdjaxLG^QoB{k#_1n;(mmpH8Q^lg~i&uj!lwA1$89RKE%Qp%)- z+Y_f}fln`Zda^IsE!MXdH%!@qEp*m(`AS)iVvalc|I}=u^oIdU%6OXiRaq7Fa7$ z6DoJjM$gP0wF98j%GpNzkx^m^vMu%~hw4K}oXFH_!*8r|0i^y7^uT zsfp5PjfuaO06QGoW=PJe#@*73?PNHl`Zp}SJ(NyXTrW+Zd|Xlfzj zz{)Yg0x5!G8>~Sk;`;?S3m#Ba5z$PMk>$p$03v!F;r^AwKr8CJb_}K0ce>qGp?^BC z{6sMpFV^9zq@~P_TlIBX@xaHISdDDC<3IWWw{7}OC175dXh%5<}KEJ zON}3=IlVV(_ERe2PYe-`@+Tq`M;zEpv?dm;ZOo0pND~8t6h0fd`zhxb47%2SEI7Mb zcz0Tr>i|T8^mT*@g6g5lRO1Vk(rHJGUPL7LRF_37XcIB{Q&HcdrBXc?PgV;R1ygCvv{>ok z3(#L)w+`AkDK8s5ZeMqsCD8XXFP1#B-tYoz-I+C3o1d(?;vN&%%OZxG6N|Q=xgXT%M|F`aoN57USECyt5RrPEJ~uv+ha$LPe^O5SCkMe~>M-XX};Rpqyf8N5vghF+15{lKrhc5@1hPA1zcs$o z41$j^-QdX#s{t>B*JUqBiAbkqLOo6?Vy&vP&VGGnyg_fWXf0z8*fb~mM%KP)`yaL- z^YN17f8<2UE;IU(oM^#}W{tY8RY@f;8dTg!#X#+>J-Uw}w%5}WU@YX203a`por>T< zBQzG%jU6lBua553xn&woWUnXNS$+IcG1ire(`dAx>iW1ohrJX;8L!qqgo+DdT5kS| zT?=8L_;CH?_Kh~rC87^kOlIj+cKLbg`hxhN7gI7=C<+FHvi z(vczRn|j_5#C?DGKMm@s^BdRe&?gyEU;es0i8^eT-UaUEPw7#!dh)kx(h^8)D-)Zk z-(%HjZp~VL?MG-Dpt{js25PND&`2I0SGL86f~?9wcXP~4X-e-YIZcHOA1npl6#lDK zl9^hqcaL=EW6;8z%gSeJ1ZfmU?fLaVCHB@0SG-$rZBIHy?hvWranp#m5!U`0W3+$$ zfaSgTk3;*PAO7$k5o|ebLDcwhe?hNdT$PY6IjAULNC2x50P?<4qD^)uY#0?r>KzDY zMc4SimbNHTpT*-g{|tNmKfn0@=V$)!*tQE|jliFYMmLtlZ}VB1y1OTG&f0NDr%Y~} zwL0I5{G_hGF;izx}@+MfJA_ z>Li_B&E0afme&*ItaA>$v318TE_jT-KWs)3xa*;Cdu)C_fxq5~POjwpF7yPLI!!cL zdq>#~4=_#TufP0j%NliJdCux%^cGIM*|rI-K$7_7oXqu|{v&9#LS1h zrsVs+uYEOGo&yVt?(sSWbROHMcHBATe4Dz9{?8vK<~!TJ4F-Q2WI$g3XuR{`zt7^w zH3$Ui02RM}?IIy^c49tNk5X{R2muq7&B;`P#C}%O?UD4zJKpa?>A#MQeB5vybtc2- zqRm1a&>n&`u^4yQmQvCveC+;wmE50o=5JDH+?E#Rh$qRhz2YSh*bUv4l@&|1gR z?osikvQv*Cmy|xu5hdm!W>DE)GkU80NPn zzt4KESbRk;LV@NPfa_^fSX+Ix!Rr;C<27XuYJ*(Rl!S)7bwY^;ZuNj%;fPLpT~1m8 zr)-w|PEqZ2Y#;e{d2U)(>DG3Y+Qm#U^_I1uj%UB$csN`2Hq_Coa=1QJXv`=+gyMc5 z(T3f>dckbmQ9bWnyubeE%W^G(Mcp52JNFkcifF6$xuBY#FbI%~sEYRXh1p5r6C43e3#Fy789a8p1UdOjGY~0hf_nNPs5-p?)aY5w(7B>j_#ii+=!vex zQNe2QV>^vB{4fyeBx+>0%9#x&@YTVGcBCSZG%SB57vr!Tj{XLL>jTINf~l8f#}}58 zZYrDW^Jjeme6B7BK>2iAhW*B`x+nr5O&3~>55XPJ%wR|1;EfWx32F`Z;g8P;XQzZz z#PQRc!N5D`bM%Os$6d)MZREa_s-0)Qk+1gVho0}*eO&jp#|sK&MP~Y8WEip;Jv{g{ zdG>5eWko3QlYtwhPhN7^B~SfjjS<l_x>V5A3ZWmZABGzuxu3?=T_wB_@j$WBbwV(B+{-M_o+XIP=}>u zX{kB^lr2i4!nO6kK;YJw_0*h8Z)%i>)rl_Am*+&O$=BuF;pie`S$td@zHwRtwQ}HC zrjF1Ge>V}2S1zk`4G*MbG-U%}oOG?|H8Mcex$p*j0AW3wK*XhY2PcP~oKMQ5Dk1?N zR~JXL=31@Fj3wx`v%yd=CA;YjWvXv(eE+2oNfO+)z>Gl9^RSZZtM>l_P|Ba?S=*F3 z&sW`n|4joe2#w$G9G#@BtM3{Vl?^7CYV{PUJ62R@Pv)o8=8L^a{v9&87m5!T?O=}r zwJ_v%RYUpqk&-e=fz{OnMqQF^0ylUW*LZ2w>AQMj8{u+BOt*&HDl+v&?NTlMi5uJ5 zP=~^ZSL65B^VDIa!i;|&1_mpp2`10-EoGM}c**c^@RnMb{{zpFbqRbPGP%$w%GKh! zIr}!G->l+a1}3k>2hxRnJKi1|smCTxqHjoN>0(I*NFw8!E8v?D@Jp=rUg3GY*-4s1 zOB4U4q_s^0wm%MDahM4TSK({VSzL=66X!p6?Q_*UbVwTD~$$y^w<7Qm( z#4=dTUOrk*wV*l_vK@W4%0<@SD$=%NVsvFP>tED7msE|W3;PHQxRW=YW}yyXxJEH> zQL6ARLEiS7RiW8rGUHxt_Ru-nN3}aKZQ>A!8=_;%FkCYdweKLdIvW4EByA(u;>v8` zen-5J%9dCuwc=^dG8pG(KMF#r&d`A<`gnYZ_z{}=gOppW}#Kpxiw9P__HRv(icTvj%?%h)~42`D)jh*e^$I zVH83Yyp!9?$)5fu4S6W9zv}9wQsjE^l7PJ7qP*kQpX^Ra7MyrF2_4I+%}rBUQS+j_ z&`n&&+|O9g!?!cP#3Q*Fn=3ZtUNJqS{_l4Kz@{8hi6PD`v zczu<{4LPkcF)?104A51`SF`x0!j}D_@9kue`5}O)C>mlPo`rZRR`73da5_&e`%reg zyBYMC8mlO26eI@{Mv)Rff5g`|7{j45txZ+4a1#g*5ic%}C6P!>fLO-0&;L~08#BCR zRM4>gt-s9eHw%uKsOKn94DxwFU<>=AfL;y=0FYOQ!t(O4mC-at$C&}?Z-`uYH*uM1 z4L%xnL*b@;ZvFb@WA^8#Xr^KJQxF+<7{nxGfk_f9yDbr?wt~3k=In zIb|5U{%nx#VWkyPjLim=x#U0IV%_qEq-jPFr?J6~eGRva|4<9X{9#k=NZv=6Oa!_pjv$S)z?ivv-P9!~qKwRC`96;vMUlh~P*+8qz|Da=s&FXcajA5A znAf!S;PtKHLD<+#O?~Z@`g7u8K(?o<^WHYNJ(zDzwM)%! z(&5r-kMGHZ|5lcaw7Hpgq`ti^(7wUv(Wk>!7w>A)4ZfcmIqG8h>o!{YSX#?Z7EK;{ z*PnkD01HPJJU+P&yys3Bu|XriG*6i^Nt)`h|(ofyFDEr8Fyk-8_PNt^m z(IyCXoC(j&KJ)>ghOw@Zd z7V!NaCW+yfd=mw^LglGe!sWPN&$4{~{z7V|C7IfWFfyT9>2k6wixp$`pI-Coo1bZi z!F7JknP^{S2g}fgOLHZB{uGra0gfi}3UvQv=!eI4P;88X8o@CUyaGmmDMI`Q?W}T8Nhh zZEzTvT&RpWPuVHfsqLVgdYHt|5$a)*Bag3-V$K`M$PD#hYXwV-kdGxH+b@NMY1JVo zqb5MH5m(XR#puRBX2XMZY^~0RVF_!kL`56($pil6?2360 zc6xtoL@@&%UpuZ^G$;CBi%u1^LD->Bm6HA3&w90PlE`na{QUj@b`vQ-lkYn3)pd*4 zGWyQKujh%~iWO7atlIVu$zC-aMv(OYyXVt~%+xUj)b5^KT?n7L@o_WPCworLrr)O1 zj7?u)DD^a&hY^b8r@UiRgil=1QkMElF zoI)wJ^W;zuzq^J+NPmb4uCVuJjr`gdfk278UUXjXj`HLTOE`!e=*;6P3lJ|_HKyF8 zgMq{j=L`3~bb0(AKl!;t6X)l>d#Gkj%$F*!oTGdCi{l5Z@23)sSKl2pzc7dU>^? z+1iLhs&R%EKe#{nz@g=XO#Cv{-H9c{UzIywKCP6juILWAqDzR%6USD8_vqBv9W+yU zBvTPc;@#AErlQXA-oPDrZ%{>u3cDdt19&2Tr^S>Ho?Yjwb-fR5&=WaEW0BH_)?2XrPZd;oEZ~I`6_(pJfUdlP~_G$NX{b zb?)4+9s_C(3%4}w*D+6P-LrvTB^zH3F$|}c$#mQ1GP;Mnx4q6^|8SypT#0HhEa$^U z7|~3}gtY;aEos0fR6Pt;TbTN>HZ{&VJ%aZNxq_c?JX-!EI5{%p&#Bd(?1~uXA@YE{ zPn4hz_2AsFJ~S3+Pfs;hz-q5aJEQ=i%B#7-^RV-cEQfY^Px;7JMYwfIYusIk-mDF2z=&Twb_@?I^`3S;| zuKll5H1zME^k!5SL_`aZ+6IrUu52C?R6_$??{V4GEk%xuJp1#n%O;7Fs<*XSSIgTZ z3q0Ig$59$MY&O9nR83S*+LO%S&8FJ{ROgz=1V9Y0*&H(t>8F|noDctaWH zyt_YFQT(hBs8`)ry!R+wUl8wUsuRRCT{UJvd&aNr5{V3Q;RSaewWI}CaqxZP>aeW( z6>dyI^4SMmZ{M&8kF4z(sjkIrGHA%T8n=a}S7D$ODwF+H#L(>{gdC~6<=-%3P@>-# z_lI4>Do!Cvx!h}n)ptrbF~0NQbYBf~rmXn%I81fp(^Ko;M}x==?`6boaX4x>-A+OI zp8c?q-$r(8;ABf55_D#%Rm%3jnNvXI#%*+@i9jt>ThXYOwty=3lMkX!lC4Q)QD}@oBUv>pVr-(~5 zjzVoq

W3jyP_4TgYYO5HLM7*xq5WUmuuyAvsw0&GNC1lqIMu`JiRf`tstZk(Rs> zc1AZF>Gtfhn@o%a(SipdOdlgV_w<=B<%>(sXqt!E@*yAXZ18 zaJcrl4}J8U=!ve$x)+`B?$Pg;PhXCG50{wt^i)uabPg35j#`vL)>7p({=quK6R!ET zS{G@f)7ByoHhCl%c!jwzTYj;xLA*!U4p2=Xa2e@41wlvn<|w)mCDME?tDBu6kQ|U* zh7jv3_j_U(wd2|}_10gUeRFOZ1v7e{+qAsg?lu3M^OxI-2()Vju*!8HQj^Glmk7XO zK&}tZ{rGAMRc)djE^f6tF0kyMkP_{dLeKlv)?#9MQlretURAb#+`-oPOQF0P+F^cWgwoR1^j?rojoA#1Be-e{wXhL^E1^|eQ2jA zf%CE&_?|2+n#leo^qw!?IBIG%{3c<&lDP=c&vBg9fWn;1BnEc!kF|1b{R#BkVKVyT z2rJy#QbYdG=k?@aR-IEJY&uo8U03}H{8uAW1wcujVyM;9W;8S;=y9-a&|{ctvThi7 zAf0kN?3hTM;m@6|{u%~qknpC+1?RO|`qccgH?WqPJLc*(_m5S94wHJNEvQCvG;qky z=(+`7vV%16vt^yHMN#NcY^$h?dc%y7#XU21Fa03O@z-j1^ofk@{eASO5mP={OrpYH zF8@W+FbIcUmrWv@$`Pw&x1ytTtqZO05ei;Pxvo5F`Z&|_MpC-MS;ez7)ME_%&#ob! z-Im@>&iXeYwuToJp|SWWp{4nm=i^I|-lKt_5bmWufo^Bq;o$8BiR;}%8(J|(Lw7hT z=Dh2u9wR%CWst{7uaN78o&tqZ)!ZA1J6MmnhEojrwIh*otq;j_4Yw)B7MN4p`VH@y z(Q;>QyAawpA%T!vgvMUjbj74()VKC~UlQf+toK_pzHOzS*2JZe@^yESTb0|Mu083*cIeVq57@syFvw`cSI zNZ#4K^hniTrbEOIwMlPS4<9r&pO{vAe_M~jp$m~l5lZAlN`*}}e?&)%XiLj064QLQ zpwc#j^OT{Q-Vm_05l!?_pdMhV`w_5~$VDo+$fbe{QkgLC-VCEq$la0ayC-q3P>50bDd>08dnoOY15lpsBfw ztHoZIJ^v_lRo1GIfyk0@ZegqvD={rCZYkxTr`!!5+&}QuB!m|TyLQ@ZYQde!#v*OA^zVkLXTHtJA6q*t2}RffFI_)-6X& zppj;QJ-#+nFN-x^`e^5lnW#bXj>>kuyI$xVV4m3MVFd_DXNAhClf7L*-!jvI0uwv~ zD*PjHI>$@8Dcx*4G*l+1EMp1{@80tbiiuzdA?uQy>l?cTJr>j3b`&BwhWR=Fc^sPsR>GMdzN)5v{4-j z8d!5MMtV3?2~kOlh;Fr1q`>PG!4Sv?;nv>7N=lZ^Sah*RlV#nibFo8t>^>^SE0xeE zNLqskmNc;!**fRvr zo5k418&JqVQa)u^V??L)-4)m1W+fN+ro3SYaTELv7v9!(*tWeoB(n{+^+cU(?tR!6 zp|EY?a4A_@+0}RxZ%fsui`Odb3$ih+FMLkemXNB%CW}t^>k*P(nkT-bmOZ)n#GIUX zKwrgH!!daAo9N_Owf3+Nll0$KGGsWad*9Bgi$~8<5IMUCEha0&+I#T@9nZyaAi$!89$>o)l0@B@cz@(ZZ!(-E=$LuNMbjS<* z^@_?rr)%7pl5K)!8q47bjQvn3{A^|R6JkRn6!b^Fy*b&i!Jp&pS3xj1#F^|=Rb$+%lhRO7VOV52QlUiU%N(w0$u#nFO`=i?`+FRzZ%I9y zj@|pP<*{Dd=9a_2&PBZ^inSfF3jk{8i(aGlA4R&-ig-fr!EG*Yj}O)vVqbn)+7@e& zYtr+}Ha=Xy<|3>g9D^KdPI5VSn#XDSHzZ6Q7J}?ww9YLLg&WBy{g#F*4K5FMPFeuh zG#m7+{H=n^o9w;g&;PeIoe+9}x!oo+kdoKNxQtc#JsZ&Egx)~&hGw9nqQ=|wv~;i{ z9MwT(w(+ZPzC8Mm7}l5d7sBjT#thRgkJ~i7(O(T;Znw8XGiZraHv&O{ z0hQusqOwa@r&>klUU`CCXkk)}-T>wlK%JvY7txep)xAIyiJyYu)L=M8&}RJmT3*o4 zE+9(X{dn)R1o~0WG`!s?Pt^~o!9Qv- z^eBl-wl3fd9Wk->y|u|(55~{AANaVb7KEkf|4WmeC2Fh)-&C%>Io^6L&BWbjA&4mP zs16JoaRq3a)S12vjZLtocIRvR-}Sh))lM z%gbO1S@2#43nJ~y#1&88w$s)UiQ*GXmCg1{EZZ#i`#v44Ir(|ED|vYC^6VVjNOd3Y z+f52jF>B2WmmHI1=4ZJA?&LDwHh$goweVi2l5Vhbr(CdhyK_7Dm@~lULYHx`PwoG2 z52~Q^l56y^JgMxKjp#rsWgQ7xbX)FK5a%i~#KXe2r9a|uid<+YdtcrX1TC%obaQ$# zOd$oHG)(rgKMJ=#i=+b~#vZreAsL;zVzgS20Nn-L3_=T}(?Zx}YQ^YN)-SwsS@lDU z*_u?ewPkzkl_JD;y6*fs5>Z`A$(x_GD!uC?1-I25NdKa#)L*q?Zx|RB710UX>pbkx zeO|?5$2<>>I}MF{YN4fS6yV}6=kf;T^3i6gxH;wP%Wtb`oz_g~=qZnz5&zvL|HFMJ zbcu+V+nTI)v1XsA-nr{H5Dc}gy=L-cz^XpjZARd}3*6XA@dR&11gori&F?#L+be7C z2AEoLZOecw1=Xls$!6C@@WkgU8Iw-#uWR1fzjf@nS*ZTx6V!&HM8@}gmgP7mPzYF7 zwIHu}tkFi(>$dA){^i0%t<9?RoBpBZ_4xaVso1Q)4ag2>A;`r-w*n?OO$zd=&|}h(GrG<;!%gl0j-!Nm6VBhtuCX&`=6vw1LlvjiR&j>Q$<{@>pPi58s6%VtdmOD$bm=ssErkokv^X=pnTG)@I)=@jVHWYYCMvN8M&LIXh9e@koT@Wke|@LZ=C;|d^Ryz%TEk0#mw{F|ci_dS z_|8}seo#+Oav*=qxJ@eiO;GKuipC)TdsM9M_L5|h4T?<%_H$<;yqgBlknv}CeJHQO z-gjXuJ?p52W+7=wll+;|i708@v^;DE{o!jAt3+k)+lCwd4o_-trc7_eJPDC0u4P&y zY5D{+leDFF{`;w6o#ZwrnC7HKqqof{PX6 z9G6UKvLp^lNO1pC+6_%KiuMqHc4{FXto=?G3bmQZy%#)(RvvF|}|++T`8gD^$?X!zY0bIS~o; zS58`vofAR#d6(thuzO`@twO1G8%O;(!|p%m;Qmi512SdgI@lW!R*kiB@77dlsEASW z3%o5>fviBE(pcYkXR3m@K^6qR!v!e#muf+_0V&YGyj5P!dQVlfHGJ{B7U=vEFZ!W_ z_}Fxdx_M$orXYvOD=JGNR?TF@L9q8@;6rqGT^h$)h)FLDDb(-CXi*+vyrs$C^|HED zlg^FmJqPYqKyuQB&H}CqWM5!=d|!Ci((P>HqTOB*I}k`PfPIjbKiX~Umrb~m?SQYc z&g!zxw-bc#Srwe=KE?qOSC7{iB~9t1n4P%v^@rLI+@d2OURK z*s=0WpHeCZ7=Aa<>W1lEo^18)VY$NTUY_f6N^K>1#w4IHe9&4dE$Cyd^_bfaPweR@ zHrhpIYdQH*OJ_uTH+7zB*at{;J9ySXoz}0MmQyVWdH%X+$r!HkKb8Wkb$)3ui<-TnO^e!Gg8)Z#jG>~rvL*6$ zc2`n9#n_Oj^Kd^Gx+ltudaB`(rJ`pWEGr~DkuQ3C$@-_jD!+JdjzI3Q!LGusn+!=N ziJSYGv>RIZHAKwZz5^s5NH>v-AVv!ew2bsz<<_*}BM{c}wo^3VhO!%y+;OxL1(chG zyLRx52JTAo9G>SMo>^{CXbZ`WS_pjQD)gCO&)FLtNY_&vbhsjR2wdjWL=*C-0u&S~ zP(`TzXoySDnKc0e;795NdQH*2`h}VP71=~W@O$znQ~oM8`Aydtk?f7lFdS;M8^{4D z!R=g~vd9P}3Iu^J9M*562%`q`dYpzSp_Xme!?q*ABkl)}BYL;dJW}GAr{do})Ds0) zw>UZ17&;627cGW5I=w$AG^?VXnswFBcTcd-HoF!k1`zc zFGow9em#OzCEF~W#*j-(?0u#>fUDJfjv!q)%4f!Br0v=Dbx%)VZt&NY(@$T!MiyLO zWm(}5N)p&wtOpZ2D`$FhBlzuqeys5j+X|%(m06S^N}YPk57q$zKC>L-U1vSn<_`Gf z=v1|c*>tR7w=bPGrdMRD>LmE+GRXzDf)4JhwO7LO85zRL>dLoeT1^=1D9q^g%?WGc zS0%;3Y;HjNB?09>rlC?s)v-`$wQMGgGAqEwv;;A$G6u|5U%D6I@+^aIyKg)==#VgbI76Q z(4?#g*|l&X88ztJqPdsr8=#;}M5ldow61_%coVI$(sHv&JK--4je}KAzZrnP$A1~G zM_#2O%oC|5YcN*>?xIbX_LUoc4r1A(6L+PTVFPI~p#yZ=z&aR1M1Bvnua0pXt4K<;@{cn2JBxn`dK7>by2?po^Ku zTmm)z!cJGR?3Xy!kBPHh69J9BT2cSbdYZh!*PBX!+YI#Um*BBj&cd6Bio2gsPcU%Y$(zZjH0-S&4X?1cK zyLT3pRpsAuj2G7J4>46X{bS&FhciQ{l($;-(|L(w$`CKB?%do${Sb-`mb&}*_D|xY zYrqzsXO(Z?iXu0?h$u-cuNI6XooAm~WzIW=A(qdG4?cNSCI~3B9UbDXAx%SH1Z|b- zsOo!_<0VrIhxfjeGpMUU;>KwKdrdX6^J=!Bb2Qso4NmwkZaI(xZHIyb!FC@4l_ji_ zeIt#EZXRCK9ArP7I#3h8fvawW5nHmWD~DRzV6Y&}n|@eOAS48#FvBp_FoOE!PD$&< zNg`Rr=>F)6{FsO!}Az$5KAJ#uM?E(4idjxUhy+RV}rh|Hy|oF#iCGsg)LB^`DaV{%p8F@)YV zN;zl?xH$~k+Qu302F6ZL>*)cb13CA`t!=UeiklYoJIy6ILHd^ZIbqSBf%N{bw*}Fh z;X9sg;o+)gX}3upf9e4S`~3O`p$WuyApwxZqC@@P`9-N7q&0k;L1K|kimQyel}zi* zC!R0f42rHIU=eNPs^Ix3S`Qa039_RSh+-qsLD;3GhO<{+Pu$*(60Ahh?I<_azMnD> z7vDk}^^9%I-90_8$^l<*le`6TxD+@TT19BE11C3)_v}ZNgu;;`&P;S!2*maf|6kr5 zfckW=#{cr>g!wQPhscN>!J0@@EBwu`-xy~Diyc7s3K^KkZ-6?rgz5o5B(rjjY|H7S zF63Chfg!ZG(KTTOAqsbt1Y+e~$tNNgH=b|EID3U@clk!gYw1Zof$KH`45u)-hB8DR zIo055Fyfg6yLq7zRVYmr%n6b`oAMZpTU}Z=ot1jpBc?*>I$DTOcu?prW~h}CCA#38 z*uUA@)F05+^p9Q9yS!0yeAe!8SK*DSyhMRn&k#cnC2IcY+H*dq&Q?!zv>x{^Tv$B| z#i6ifR9r4;foei%B|`=)Yj31y>5wIKpxLv(1#5tAnI%PJl3VjfW+^7JYo*jNw=t(8 z@Y9ySF?y&)nb+AqGn;?MQAHveIlTQO|K%&_v^%b+1z4PqR*u6S_aK1d@4)E;1Dm4= zDJ*SB?`X%5ucN(3w-w~>cta{_MbUk|PHWTd?{tTQpF3U6 zLe(-1uN8hZ=v0;y5s~IbiAR^sd)Sc{w~Ey5#(CmZ^Gi~`vOb=37jRw)%n%ds>h8b( zu`cl+tIShH(L#O~a`K-113^4H2?j#dD)bm!${gP8ZXXs^{7%Wvt4$2#MdA>ku@eva)a3FM{!Jg)!o@ee;4 zI2Z>!zVZ%uhjhu~_vCXb zr91AAiD=*`%ztfiBAXc(cmIVzY~Y6qAn-q%b$P}J}lQ(GL=JCThDkZ%dZtcb!WjFFXUdGI`y9!*vj2M zFz&}?PZ)iu{C>(AS$FvUgmuy#+)}*!xACdV{=fY1bIFwX!J~$2hk-2+R`p4bary?* zHFw9XQr*pnd#i1Ev&xDWMtUUkKarXzUI zAhj>wZgCdukr`pfdlrZUEt6}brZe|K>Ia|h7=*il4R+~M*DTZG=|)yQomicBWT5I=~ zdKY?S13CCU7-E@q~7V}+vVxIxGXO)mtW)X%QsaC22e!pNB%X0!ehvZ zsEKtuUMTfiY`4>cNp0!u@26ZlV3OElu-D} zZo`?1gfg@z3f5<#X@o%WAir^G%RQ5hqv9u#Gb7$=jbSiPzQUWKyR`T1Hgr9{Fmc#| z+m=XKZ-h=`TT?p4j52DOLmJko>d|y9jZ250J*v_o#gA*^FX6s~l)$AHt!3mN&m49} z+`)WpdlObr{%*X-*-X3Jmz2I{eJPNcj|xnKV;v;JG+Ws-#uhn{koOr!7jM*J+|S9u zQv>v|e^an|^@pl`I~LXEjPBCF5iK}Vb&rcyEGYCxiko8!y%USn4+b78UM!sLe7KzV zcBp5pvQR<64XM~rR3uVibrgtvaiHG68A{OKjC{&J5M0#dmjK07a^?HcyNMliMVKA` z-?k?@bhbZMz?r0L0)Sv{7lVX~EX}u>mJ{4f#&%yYy zOr;f_ZmoBkU7Aw1-wS>F8YFtoJe9qZCahN znSq~%XkE;biP3Se!Oh1e!BAbv8+k?WTPWX_p^v{$pmz#}fpsXRwH$Ckto+2#)$NIO zU7;H!zmD~fnX*RY&hoxZ7bjf6rKzbZ$1^_#nTZ0F*oH=?;X@bo#_(e^YQ42=R86cYQ2O6kXR-Cp#_YjxN4vqtER@=?2J?-RFP?9meIc-QZuhbzgc%m{ zq9SB8m#`2NZTq)wL*>+A^vs6+T;YS=f||;FBdxkDYXhs>3PsgE;|rVj&Uw@-`FZdi zorCqI^+tTl8md&Tv(cZ|=_^X^5Epg{aSboY*(hgwiCy;}n#N4m1)p{fS~&ZGj5R`b zzc)l5r|>p$idnTKPM4zS>`}k@n())8v%?^TB{5j%lu7Whfk%p^QxAne!n!#W5$J_c ziX~Pe#K|zb1LKDQf8E)Zw?hR-eG+6{Hr}beZ$6Vb{TD!c0q|-0=a!F~4#1eA4BAS1 zdUoC?#xx)4NG+ra>f|!gy{~a`CG8QrqOQqLY)vg9SYwFS-FQ)Or`llj|7CNPSj#1Q z+91h&pCV=`KYLva0+17Nu7z8x30?Mf7oz9{pwB5R|4<4z?FJ(Ik`44)Ru)Fe4dx{4caQ}D4>WwcrM z+2VMe_?sW|iV*~<*mjrjI+sTkj(IoM#^5C+tWsOGfKgWhr_s9hAwa>eVA^XXjcIy! z=f~%T)y`92RJ%Q7IJx8Pdq_i}=#mWNqzswQ0*yp=6NzNC<#((|-;)TUA83jf_G<9` zdQ`7(I$0By`sX!})!`)<(My(a&=XREpvdj?aQJ2xpxTK_hEI=}% zTiSzJKP~7vk~M4I>X%RZh)57=-q-I7mQ?6~Zk9j;3B6fk{&GH})kpnRke7@H==-T3 zK75(39&XtczKXSb&y-T&W~ITSdYL?3^cs`1P+@BJlkg}U2(FX9dU@I9uilyw%+IkJ z9fZCP0;Y=3)fuX|?>_Ba9Mm*CT@t0mv8_GBh?1rTDN%NFJ3!0^3%|G73u4kM!+qU^ z@elyLissfJ<}KB6$b#7*YgSVeG<20n@9L~cbNJlw z{ZypvE+s(CD|Hp{cosP|_tY=+m!tA32S(551(dWRUgQ-zxidVHD{XvpV{wP?KLWNA z(hKlF7a%1+Z_vcb3D)w}`lh~ppFVs#Snd~&eYpI^!8gi;&g*Uv$QNZUv6hpclp zOpskCN8?t)HDF3YSZ}HBi}=;P%bs|SA(wEDEp!QV3FQ8;%@0CkO&MBK-8$T-&vZy6TjHt^GfeG zk7y*bp4woUz9FDDj~^#hWZrr);Yu7d^B$1#@Dm@FC=Eh-KQ!}M*R}q5MH+BhU-LXP zaS_h34HcIz)M)gF6sY)cb*0`m&{heh4;<0ZbvB=e^KVu0%oDh8WSzak8KOM3VYZdPcQlJa^1d?xK!Kg!b zR>PO>jeMow>OgX**TrEgqMqfrJlki%s!lD~r1FDf+tEs=yy;ZG$Sgurn(U+xxpLKi z-$z%31FX)f0t4B@K)6VBVF<|O$=hDv{tgF7(uek3rOhvfU92QG)Vg#oo#UESc+quj zXjmZ6CK3V8)KsJ~DPeFWb92_sdE^#LN5^ul!&NyHI{n%5EtscF18df~8h-W2wDUr# z0f!CCE#LrU_xHv#&Rq-NPtAAMRD#iqATD=^)hm~udAa_}(^5}_>x$KEZhE&(jdez_ zjn9V*P_@&+rSbV%uh;{McgHQzoMbw%q_UIPiF=T8>yqrvAu=4|D9MuKC*Znp5qIsBS1MCrDw>z|gkB zCd`%pV6&|Lo?3*(#ks)Kwzl@1?S|CC-dP0O&g2X5w-)b(FEhiPhXpZ#FXFM$ZELEP zAA=b968kZr2m*Vk4nb6hekeR00tvo@7Mb~e>PP&C-}k0_YaqSMts3I5-;xLJKIpBhsYKx#xM$x1M?C zE#Fz|taZM#*7vd&EBDTwm3!yj**kmh>-ztHB19yT-RBc!?TI31HE@vouf1u0EIDsQE93F35Aa2j+ zX{2eq@*|OH`OGQ^YWGf|*|37wDO3)k=UtVK=!1R5`kGzm^e|F2bj2#TP_Ul^lJWfp z1EzDRiAz+zi22S0Z#jbVU>)rJ;hNB{c!amB%@P8C;do zN!q;Prh9Suo6)Jan8%J{j0mNMwd*?EF!H9e{wa$2Zt1u6yY`Xao$~DW*m}v+IO)DK z>;!J?{<4?Mle(G}7vwYd%g+MmB=s#qXa51bqmSFA^a_sa9fSuQn?#N*;)p-xN&IjX z=%`rs7wUGafWG6u)%$3|(y_F9T&RU*{Nis`sEOU&Py*mO0{F4FCPU}A9cr8AY0PIh z!^Gk^lkAyhI&2e*Ey@X#ref>CB3rS(qrWz2S)ID^%WKS4N86I+S52y0)^)J?@tOrwIC{dJ^rRwx)NAGR7}DM3 zLb9||YW=6xfpB>G$$KNJbf}$ohQ?CWux_1b0%6<+*3|F5i}6mtN|O`fQTYgj)%@Gr zinzgJH!f2pK{9^J58Z3zo=lWLEy9c-k#Ev63RSObI(c2X^~=1+qSI1p5;>vAR4ElH zOr^?9qwXBYVA*w3P(;uIm_)*zsJoZt1eO|>cu6IGgPC5(jEM8bu|G~(~~c zKjj(SijK8X%c{w$guiMMQ6ra$eIh>`ZZuC&vw02B3|}j~e?arL>myzEc`cKEunnmn z3$TCNrZmvrY^N^XxsJN3s>^FT?i|t=o1=J zw6H*!$wc1>6EhW8tzb4+m3JcTXR-h%F_@Zx2jYl9=#7B1asPLHQ(Y5fiS{MeO>Nwr zDt&L5%A|g79^1>5$=x(h^~x48(!E{JIEQ>cecGS@x+@Km&~vYKMPqREU^?MD%ZP32 z8s~*q91MxV1N;VRfTI4y;`5c1YPMuE=}8^IkeEx(g*qqd>wxIymkZiSD)(ZhGnS0n zXDX2X#T+%5B~NU%k0T=Gd@#J~98Pz$=UxBYtK|@l7LopQT3=QWZr$%G7r%n=bT-Pj z1*G205*P@i{_rxrEqknrTO#O#a(q*0tSD6Xv|r`(9|BNIqPCs~^$HkQodT=e5VBK? zJc;PL#)o1Jq+zKbW}FPzwJra>jz0 zM)UD-37@ZBtD=@By&Xwhq%T$B_Bh`vYj-0vX5#T1J6DPQChnscpZ3LN6{2DRvrqXO z7<6$g&tI}IlvNtt++7^g#1z3*4*TQZ@!;^FS9m+&CpJ=p9H|m3CZ>69ZjO6nHCyY2 z@96W2Mw%Ob_dvQ3my#mUhd)f}o&hV=#IAnd;y!vv8~*z2T?dy2e;bdI6na77W5!8c zz^t2TzrDhMtjWMFE}$VO#Apabp3mqr8Bpg%9`Ac@U%5ot306;hn&|PzP z)YQU#9+F#zoMQaYS*IuFJWDm^JuW6ulQPR7D=;DZk|G=_ytOd>N+wm^)ho^8>F?8T zI;>+8VaVpW+`NiwPcMG8o=0wxFI=m6cSz^`At09DIDPTZ;p5fE(+6Qh^VTfG`!!GU z&bGyQ2eX>TFBlF--nvA9I=-v$^<7U=gM|*vlWR}D4;`^}s}t^tgFDqeIO#o>kUQl2 zNU4MgJ?k4V01Ya+Jr(9bD!fxzV>8vGP5TX%`C-=CJst*UL>6ft78#YX$Ze2&lCK@Es*>GrX|;hX;MWT76D}zxjEN%{=&aoMKJff~5r(8HXf6_*sWYS5Fu79kO2oK@WhPp6j2#^QCtmYLKjd~eD1f@aNk_yIEH7} zE8b<;^F&yh@=Pg*ik+x4i3zn`V*|m9uRJ)-@_B*3{gSDcEp#I*9qb<~RilY^q(XP9 zPd`l)mzc#o7@Z%&HGo2Fd&{K}ys=BxKZpy#(XEoNN`r_%+=rTNKbC|I3)b-DkL}fE zIW%oZRXcFqu_4tdGV;am+dHp%)=hw4ITqVhE*BIA)Ps5wgGW|h`COUi>0PSIcir+l ziPDX3fd;l1!gLSNZk*cD%UTP27v9A1tGcopES43Q$iN%vc%Y>jqBVr&(=oYOrZeZlks7(%NC4##|<=`WDP8^KHsDT;(~k5rF#Yu1_IDE2EsW?BOf`X#;2pB<7Gy; zBF~et2j-PuCQr7hiR%~;>dtfdeS;JkS%mpIQidBzjxrk8{voamInhHrf3wFXI4W%{ zjU5k>Rg`@VNvgX&ZKR3Prghg!6yUuyDzG>v! z%YE9f%YY=~O{2N~Kkc7C5T(ZMxI&HY%{+T5W!TatSXUTSE-z10R*EjpEFzK=t0ks= zYBUpR{pP27M*=P_e1dMZ+-IYGA?c=g*jZ(AwTZaxj$?q>tkMV(0&1fZ={d&>0)X+0 zZqP41RCVTL;)F6P-O+K`vfjGyc1A|uFFmz>Z|YBdsM&2_h*e_5my|i$YQRiw%xmlb zUp?30Y@Q4Xx~gbT#6I(Nb!}tv(zZP)@Z+e7lUV(Gxsz_>M`pMRN{^F}gYY(IE{4uh zOeP#$7sbX!CSt3oM#kX{xLOA}G93kxL86iGZxh$ek@FvB=u|2{1lZL+wY--onxP5g zMp?_lggU7&ZHP1;YYwzPSnvD3b%g?Ba&Gs|CePW)v`F*-%o$AJxx^FmB z-M*uNOA@rEbrPM};!MFwf8hlf>Zt3Ax_O<~S&uK1s~fpbs<2y7v3SBNk+f9zH=GBZ zZ%v#d6!F!=7nad6RcW$C%Ti$cZa{HkUnhV)_FQ%%HaDJ^_POqNf8q%lA^Xv!XoFzV$AL zmq=X05*EsevXqplji2DYI1!-))0#oDnB@M7&zmvUpK==jrY?EW7Ds!%nw zP=odDifpM{c}_ma0HIC{*_Ft&_0Y@gRftHelPRqeN_Tzq>sqdM6GAIp)sK(PI$=k4 zF?>CG(Yk=Ch?MxXN|U6U6)ZSQl~%+XQA^Jf+0Yq=l!Xg)Rz&$8G$2>>?(hYYVxFB0 zQU(E?H}X%6BsDD}pfl%NQclVh2fnaZgoQRT2rWuxgiMbIW9Gj+Oq!b^Z4bAEH(u<1 zxY|5483X^`aX8KRsG60|NxT8Y!dPscstQ6PyE&j9j3Oye8d5aH#g$+`kY+qnmdFkm zQ82R`QyOns-&5?v=Lpdc^?f1)u1ggEWtn(nFUrGX+WFI+FVpd@TL2|9z&;jG4h4d* zxb4Y$A2}Cz-?_>GEV4rVz4?}(v9=~Pf6nEO!i$&uS%uJ6Mf}tCn-40nepk zEpHykJ?=)hn4NsPcEjQ=?qLUMgLKwDKm9xTPB-q9Rx49?nae6#T3me*7f9CW05vU7XMyqP5J$u~TF-ng+4fTkgJ=f^Z;PClJ8MP05nvK%errFCE z7SFth5GX#dO+9Nz=j6Wrvi;#i50_$T1WOPGR+U#As)qJ|$o~1Oy{w=A@kzh+PU`V% z)FhrfO3HDgGy9v2VZti0vgP{coA>F6TgT_KbS66m(`*WSTC8{Zf%N>!CZ)>Pb{`3- zl6%$u3Ao!^@{5)|IIv35%(?<-Z>t7OCZ@X>^z9G~F0qJ4A>-Ma5Azs&pN+`>qc7q?=L#(I&sFztz- z!+Mew?nz$)2c?bNI_}zR-ShKn!Tj&w0H@EZbK4cnxAWTrDX9`B+Gl*1s-rvIy*e3!ZU!sr7C>m3JcN%If>w zOTL~tZ^0ie>L8SX(pZ+m+2g(dkj!H)SF~)Vpe`#cT)i&JUTR>?)&pgoJ-u&bO0(2m z|20owQasJU$xa?pN!>yctH4!dQY9v~ykJXe;fGpwmxD+O(dI?ehkoWl#ddiyzLiYHPkAmHlj!=% zBu%eav`4kK_!Fuxu0c|bI{S>C-oO4Cuz-e-+n~i1;_v3_qMUOt_vqD=8Zyk+jiENa zZ_4Y5#Q{TtH)VZY7nmiu{NzZ)2TE^j;T_|Wlq&VI$y3_KnaomeBaQ?o%iEqtU2S5fu zf^NP&adVM+mZye{bbHAdT7nd_rJ24u8P(X0Me*5GoyI`JAj6gmlf}|YSx1+Tx6tgo z%5TTKpBWt@?avWHw_(q>5~@{YpMKkGFN8J+v+LdrKw*SWkeQCNrA9iW+#sv#vVhxVTfQVKN0F6)kq`MySQ zaB_xRd>hL;PNjd_IIPQ6Sx`{3iZ@Ku4B0-t37cQBkLe}EoZNamm?e3CaoJ^0Q7QHO z(^LJmea0px#i=Pe^qSt5rq2urhwigpX+AFmNBJvJy7mK-wGvfTjx%3f*B44fR7lqm z>FRUN#ZcJP1fT=fhM++Z`MRUiXF7Ci)xUS@)D3=(QjFMB))l5FBNm}h6A{eT#5{+( zQBnu9nzap)3tErM$G%292ngF@_xsVJYFVGg+15F_x|hz{{FDXnTyV#+MNJgLoV=3? z>~nWzAUday4))zBdsmKpck=oC52gF09R?^YdqOF}x z^rpe8C-W#{q$_c>*^ZQ8a?iNyBnK%QE)sk@hexMopG*Z5wbD#^nKRG2y)nefYFOB! zzEHhk%(VQW`3K)+Mm;V1$v3IPlOA3t^MYzLe|oyCIjlLf0CvssxqA!PXY>>*8uLLd zE}+nX3-dCT({C~gO`N@f2%4@YGg1(NG;7i^3xa=tF0%|(mIav7RYrD#PgKZ9^w_yi z2f>{Wo?cy(e15in)Ek}JV+u7j|AOx3nkoh(*BKq7t^H`*Y|F4P3za?yoSE~Q86~dV z>B)|zUnaX}4210Zv{D<&>R7n=Hl!47cO+!btt_QKtJQ%dopLjx6EcoU$PBS+R&>l77 zK0&Rg5=Ag#z;rH_YNf{ve(`~+O!N|rzJTHRlqi-Y%d)nsHSvcN9@A$oYn(5t=(Sag z8nS~1KBGva+nyJ;4T~4~V%$u45#P}OWb=aX2tL%P(6nSE+3kdFFznlFCBKQqZ4YS5Y2~E!v?abkopgTLus4P74 zsJG${bDsJ#@LuC;Q-DNtiG%PA1RA%_ZqW9m(z0FQOAD)cDA&0Y5J_l|^VhzhGPOHN?BC!mfDp6#Z3In+zI` z)CEZj*Onk}4+7L^33dmYRl>pR4h-A8^zGPBWewevu(%ald$n!r<-Q2u6sS~ zmJcMo=>@oc0}AZ??#~)At!Clr+KG?C{c7Klo6vR;7gk+bX77)4vSG|(6a*x;<;f}u ziXB~uVHMFjRYGo@8&ZBf=Bs79`jc-_a%L2j8fE=52?h$b-G+$KNZ`5H(xXa5ezie2 zveJt}X~J*qNbsi%DV6;?Mx~)v8v4Y&Zp2#RxYr|cd7t*RXS8GYjqMj+y=0Y7D%5( zkKEm|07kQdf1ohfAJD~Fv7vl)i2F2n8f05ELnQ%JVY!4m-fM(w-bXdWyTlP+(#Fji z6BJXfOWU9CH$Q%`$U#M*_c2Yr`vy`EyfA?84ICFU|B`1u zd!jM)yBw{1b*A`5B~@|Rm|&~hmt~8dbsSu9G*%s#N!hjD3hz;Z+JHdSSJrMC_`>C2 zRkrRCHm*ix2B=F0-gbDedB1{$uo_cbmHsj`5M)Ie-MSiTC11<@gLUE5Q|l93>No%@MU$s-Sy|Ex&6F) z>yZFfbK+akjma1ZdSY1M_^2ToVytkKPNkIwMQ@>h9^&V+*Y`5su#q={WK72SB04=* zEJOd5rs*?XVFvFirZ&kX<%r@gHhQ=v@|%7v07NqvV~6%wm7Xfk_1vj=S&QT?NdT)qkuQ9j;lF#HbYYDg+uMjF0cnR{eMc ze)pe?SaA%>)#zfom%n$57S3>q_?^Md$?T%`4Aj$!h`c9LJLv$DD5~h2W_G&QSm_yD zR#o90N{(X~S@ddp$ljTmpwm^8UTTQsyQ3uId^|Mpy27!4EI_H?5caV6B^$QH@`!rEBi>Pi$iCc?_u*8R8TdB#J;>qXEEUgJ(m< zTXB2GL__Qg@s?cuM}5uul4s@wUS9fV&Hsy|8`nD|RO>umdHFYU1IDH~Vt{(M_V!U3 zz()`GuN*%>ut~q-lsgi(D&8_yp<(uGwUD;C`d`L6O!%d(1oWr>;=TWaQ(p_u?js|$ zPgVTeqd>=h@S6X%r;gax&@Q;homPIA$+%@y`vU*!5wXsy5SRRpCJSDj*M1SEK=?su zAXH7QeI&M=WkzJ8uI3N^r)_WE z&S$>;LqMJ~YOIq~P}>iO+#pTC;8Bzs;@TDV_aFDChR$f&i1j0^RUt{xGy>}z<6Fp+ z4D9W$DSnzlH4t9|>DU4dBvAAFPuV%s#vL79f}m3ECD35lT$~YNborAq?Ca5-t1}!c zcTQNaWjTIrPFAqqD?WWCEJy?YpxJZBu)FZU$@ZAbG4KX=Y3O6ix1qLIE5oo`UY{nP z>XnENA4C54ng3(=;CAg$Nk&4K!}C%^9IbkEz966Wcz(3wRJ@gb?1UAyu-)<;-X*m| zK@BeK!sx=x4k_lH6|Pmcna|1pkbV%7-4eoh&vbxcx^gA_+)_zTQxVDE)#SNkP zX`%5^rNPm}s&Ix}U7fb;!z;D2B0dZ}0=piETf?lV&;57_Sw4#^AHA|N5dI7%h?k8A zVx~lZ5pi95A;D?5s04v|235dx>ygvhqK+T+fAer*zn5RKoDjR6T>jDg7u)D$!%UHq zWzMejLK65_r6Y%r{d_du**tqbUuJc@QC*V;v-JcaC5pDdn~cB-o_vk%vPA4#%d=bU zV(ogLI!6;4zl+9AiuBt#hgFw*AVb@2s|r7K32$FDS0wGe;szr{V_ZknK0kJu!S}!a zFzRU`CDIHr_qz6On^xpGjXD17of_-ytA@UlR1%~I`E~N=gs{1fc|VIR3MVS1W#{Lz zwA?;?v)lN}RL%Qf@Zl<>zOL+t*v~%;SS9>*9QcMbwQ|R$d#_ZV-7POhnZY}}TOxV~ zuC1&-Bqjz9edb;B9kPjEwq6yijj{90dL)wwNpK$}3`vJYC=%(|`6dV#;6GiVY9l%| zGF3F0 zmUZ4gmU}h5(!V2=U3KP`FDl%H3NX^5s@ft0y_~qCp!mSNupBCDz7Pb1c;eq5puC<| z$jjuK7F(Z4q}^NbNBs9w^zA23>7RR6)#*J0Fbz-MkHo8f`_+l z#H7gbH9E7vACB#+IXo>!EXQcIg)&XlFXw6??v(A%-FH1VbU`R}tDx#*Y>tLZ2{~S- zpxQc-X4Ytk?ziD+lU3CXS3un`I1@fhhxr#=Ywpl6@4gjND4FHxPQIMuC>_%2Hz{P` z9>eVkHC~fEtEKqe15lVU+NIYt33B6GEyqACZH(&%)7_(uUDST#TIJ!G{jnJz!aLX9 zg6JM-IwgetwfA>^uwy(3WkjadZlbhN1WIB0<-%n1Xdli@<*asUC-O~iX0HrO#=`e| z0V~d5+yC#!-{em%ZLYHSQIuWo718gE+lGrW$Ah5=m|qjHZG4ElV;Qj0{!{sQo!=h< z1WC1&tR3CQ^;H9hbm`+F?3B!|z1-is#$Z-e%s}3*(D#O)d81K5qlf#oe2dS&3#dq6 z{M+>eC*><5RMVF+VQi zhc}NNOlxR$c>jkW`+xf+N1R4;V}8uMU|&g~U7r9KP`P2UGxz%}&dtnrP((F8FdW>2 zVj4l)Slg(3qmKD$2}o&tdzD_09k~gd7d3PsW_b=^abCyRVUt{yBm;!rOpf?rU+THzqSW^=txQp z;BW-dHxxn^6zrjkfqi{CoqH4dp9VC}b=X^`4_Tm4gt^(5MU9$AOP>&2Y0iXi;^RDX zxf48X+v&cwVBK9=lMzo5xFhUkDTmW_>iy71a+PeNwgh3zC;`x&e1RpdIu_nz-2HWD zy1MRcQ{SFKd4G@=>DG2juu*%mWEo?xszhhY}>Mn&wqskUh zD2csYN_3QgF%ut|U@EzaPVemCG|(--LT zyj1`b@cwV#&wni*OfjjrvbBA}b?FAeHzW>*E7Z6AhKQqfW zI@0VvoqMSm_i@Qo=X$1dn2b9u=Pex;Ca&-;ICxvMzS!Z0rK#-o>+a5hIHM^5e8B-Q zEkHyq6sd~vP>w=njJ1~qIxcnZy7ft_>VIMc?wsZ!30R{9W zOgBSEN7H@*bODSx9!5{|5|C2uQdJ&~Z%)G6vTV?&KAAN+C*J0AIs;I#_5=a}fKHu> z@!Vdj7@`@BrVo#}iZ%jDrtZ=zl#D_c$%ka3tTwzo7eju5>@$Db2#eKlF2Hpe9K|uT z0ER}HSl+?Vu^W=tY6GTL#gT9=&wiw_VP~h$x?u~$*4pB`38jGO%de}>R`%eSyw=2@ zzES2P!$xWE2T1+_=>RX5N|io0??y-&z_VcdYolWiKJk3`^`fev=0upj znBQ_AMokBA=-GT-;M8;Ze`&gZS2&qT+pNp_;1=;4*>MIu*0T|;p0&*10Cm)s3Th`L zH61>;*wOkJyHfavKvL%KM*&gZzx%T>ZwlShz}|1W<|;=uQI)?C6K5kqtFeWV&FP z#)B$Si4p!|;rx#N&7R##{{}VR)RW+ATzyzQSSj^O)l7fD16ol`f7(VcJU!ebH%Ct> zo@aqID#^|Lp z12klMPVE0q$qxsFvUCg@umx9DvEXb7Yk!z z*n&!eT+28M_$eV0v%N+L5|B-u1(&dwntrva&ACpG{i+YqU>A_OQo`o7NG%|^^{`<4 zDh{VBWv>z3vnK_v>qY#&uZB-bST*b4o4Cn-kEjSPY31E8#8lo~UD6yexLkhM z(d>p_6l*AuoIp7@UyD_0Fz++Kh^6Uil}am;U$c8v;f0UU8}St;^3^&TkvCB)$q*6D z1eEtuXxZ@n>*q5A0^JXvHih)4l&+zbd#&lJCL~3V>=vQ2=Ke>@GOH0&0 z$z|~0{z5MMpJRg^x!dH&(Wu`|yseZBe(qJQMj>WHD`z7x0g(<;1<<5w=Mwrd6Y1$= zH>0ayua#_I_vqd60pq)h{F*HTjcxN7dwN6(G{BzzVG8Fn%r@hSC!?dfUJqFrl;!{| zJ%B6lQKZ=Xuqd}~Dy&P~T&CPrL#}FK&Lv?@vbTWiDFdR(CM2S}rLTfKw-dWCRZI{B z3c(GoY$<025el3)=bx!MapFDQ$TUw+X-AdMs?IT8nK4Z$f22;x%MU6|x@xMUi=SjT zIe^`GiP8T4R{dD0C`sm_hE`tk5_*q;emh2@1?V((cGo?Ub`0MfD>lVfeGDlrWZ1f6 z6+N+2Uf1A#&E+PFqbwQQfdx7e^GccK7IzHazLeTYoA z+tBGdCW44_!!tU$b!&H<2zR1UPcy&Phl@>pphqMC#;F4vDO|PSK%4>E-I;)Z|H|CKuekpfa>q zq%wZEL;KVVBud@>YmEa1^X@$k=s6#`VGMe+?&-K^L03PxKbyRmuG8BC5mNu zy3Zz^AcTr5-D{rq%-Eur;Qs7vh6s3Dyc2XEvYItcT57JzjOkVr;Waq+VZ{CCV- z)>9TAg$-98AUR0eg8@?MF%_2ln*Y$GOXonQzodak15fl0fd+SeqjP);$V6>VDTgHB zsEaj4)Y^3^0(oHJCAXq8cVGzRE1Bj{XkBPRru4zq^~E~P57r8EkS!KNEz15zF0M^a zlFwLnS8jDYg8;bI5=276@hM|k_R24~e9-wEpT1^_K51~++^guWhrl8 zE@&n4;P3?-w$BrSo`vhoi_`_q4LGWA)v@nSV7*i;x|Nb_UV8B^J5|A3WD?Jzx@2r; z7&@bg>o59hnlL14cS~hZuU700UyjT?->V_0h3Q?@AGBVbs%}HZg;78{A}^y^@+@Ze zj^%0wWQ9xAa$G^7x-;c*Wi}UKQ9;%HPFfNe9 z2X0a2gQs@^#Pptp*KWUC^4rYxL!RdveDzt3H*Lwa`Nq=f`UzZdhv^6s-rE%y0tSdWfw(zs^>gTa)dO2qtI-fyTadj|LVz!R|S*FtE1nFclBFX0l>2>TToLZSpCC zj+c_JZf{Y;2ZbEwLZBi5^bhZuBDaulMbqFgx!fE@k8wq7ngsHUb*fOu zd%{dvFn)eCID{~yPpsb0Y)Lskd#0?yATLaeimJ73XSsRQi=^s6I3Q6drwcIZaJOz2 z9CmQaUT9clpjU$kn06-{lyf8Htla|bEz5M9@`g-d(J{{uP$iTI>|r%*Xzz>O_@z== zW{~nIFR1p0XR71@Tq1CccF`7U)MBSPF146y@Xcf4mmMkxlEaiTm74IhDs*#UOi|3( z4Fp@;D?hEfnh|Ng^wOf zZcth?vnDMQQ&aBs4)VQ{cqX#(R$I=cX`0$j`>tw41afW+Cygx$%6$0h4I%AL=b2}h zs4?7Y#&&*`XIiy!VU4ZXwNpsvwn_e)q?@|NP+J_k+SK>$CTD_HY&J7L?;TShi;Wpw z?IF+1ZiX*%Nr9=;8P7lysZVg(-b7h^>66lw-y>#hi$d&)CAo5jfN&`Ld09JR%67C482b{@q84cxWq%0F zqjkm)&NxH@k<4GN2#Ah0{{0dkOi5*WEE*1WU;NDls@I9O12jC^bPHh; zDbvt%P)365n4N-u!d!Vci1{e@jX9EM8%#3&p|dpn(M(~RjHjoEcRy0}#QcaLM9G5a zA^E-;0UFVyQk{3kmD78h2ir;+otp^Aot zQ=cmx-2W0cJpJEiD*tc02Oc|s5QmuWSUdFbX{rceg)fcUZ)Fup+V8i?NIMmzE<2qk z%xZU#qyf5b;vQ&uxqJXr-C>=X3Yu{BbCIJaVPl*z>nQyB+`a6W$xG+@_FoRNwUsut zM3qap))uEwhI1;yCNgNWUrcM!T=vW-0>u2ZClc94RjfwZzU-+Q>W&S1=*GuSoCsB*`WPks~V+sRp>GqL?Et{wroYjrfIr&_-Iv!FTPX?bD?Xmt7L&UbJ98vYdR6nAgze`u zxm8>V`l0GiGSy=Pp1pHZ0bKYRhHHL&S>cLN#-6~;R@;SIK?oEL1E`3uSry8nVR8rp zRYlo^gd@LjO15GqKtIr(`U<{dC+ktpOV9d}Dra4#N-FG!8=bd3z4Q(w63oR{VnlOZ zASR0XBP9b@kLW&b_8xIwstxEXtDv2(aA=o%bYoGhkMrNX`TwI4?V(~3MFoL8xA;sQ zf0hC86Fw%gJCih}^NCYHVmAVz{eoQT+H+bxph8V-tIO7!zg~LN@9}Tu z-r1q1YvyN{?62gVU7t`i4J7C;>%uuFf;OZ($G*GU|B?2_q!;kYIU4uD{_R_vtmhtU zm?Hq)n~k(6Dk?}06C^bC^8nsQT3d&6LO@fmxLc{E?V(|(Mf!OXwGZ`HAwIVD zC|u-|e9UmU(Z)vM=@bO!qJzg@?frbi)jvnyR~jjL`IeaqJ1yLlYT@<$?F3{ss(t17 z;25j;D(;h!J`%zaT0t7Bo8S9ky6W^7a3oLE>tN%C&mRIf`_;momuG(b*6zu_4iB>R z3d46*9(FPa-JwblPm`LO&@r53;M)4b**3}u6S}OGP_5#}Zy!HZKD4}T%$kUEWXdG2 zt-O^<)q+rp3u5TcViVQ5 zpoRjkX2oL}&b)F{o-`kC)@in}_-f0uPCWwvo23SxG%FnvcQv!Llp9kzYM4O91Vr$0 zMNvO&$`BColnGDEGff&DY{mOF!t3a#Uhie~tW2A_ZC+Y*JAW?r{QPoN-vWLv!o1>q zj_YzAFcOPCLGqh%0Xm%G4*d)cWie8L!!<)BXXw>iNx3GZ-FMkd--6evs3q*!HQ~ad{;9&*>l<@{yiJl9oY-xxD)M z#g%?}kH- zv&T2^&%|qpCG!h0rIOmu)4&H_IuUk&2fd^2?D(Df|0pITn6I=h^1Ta2qsl2xQ)3xj zhn_X0BU}tk0g)MC2m-MXJqqOa(T{;TP@ZK#cHitB5W1}Vu zaXyE4y;E#{ikm-wD)#!W1CTSC3o$zU!Z#R%kA?1T&75hbRS!(7KMn4=ff;@Kg&VXx zO8(Wg8M{TE$ z26<;{#FVy5AmRGRv(*y1A-5-)oW`OghBb|;Zu@B*tKG(;Mo-~LRF%anXuB&l@Rwxg zbzN;M59q$pf@WinRawjA;9$^7rK67WZz?F=8npt}r19-V1RXlVKY7tf))O$>NR>sJ zmrP+QW!`$JXFjcndY`6M!a!xKMqkQ8mGg0!; zg$OP=;;*mUmN?|PDE9?jiI*3y>2vgT9b{*W)*XO2IM~nX#F4`0RoUc+1uFSc0jw2!gmtBJy~5WE^n972;q?;buzC;TePfd^n9f6~;zeiTTy1itV*XI(Y>3X~oLd|dz?jFo8#mpp> z1$yBML+KxQU#d}`Ou<*auZHEQJ~Ps5J0%%I9WABg4iATp(WrIS5_3|UYcvva$IP>T zek&(wRcvAr zmdFHQ?!$tJ5w}kfIDwNZKL2_{n0j)80QyE{wU_cD1tML=_5`Ja1mD zi*M%mQyKiZ*;n*enVVlG>GALt67X}d7ut>>gT;eO0taSw~r|DjGWHDV_fJR57 zKg+f0*oOu+aoUFOE&KjpK_N>ac89EQhKMWdw^ydAE*c_Dphq2fD4$YKY`W3hK%1QI zh%`w)hBf_hOqG(!P%GA1ae3CTTy?rBM6tgQ7v1ZgGwKLQc+&^#6H>iKmFa5;!5+k2 zO$qTlWlL2->FfxD!`v^_Y_kuKM-!>cKtn?$(hz#D^O2n0bvV-{>nm-$zE|nQer)8n zGeA69_=yl?JG4s(S+0I4{#E=-2<3h&j0DXcV@_)Z-j5J)u* zLeO)&uJZW9%VfR7=IN&;pQf$u*_31?O`kCSW$AmU1G0u9Ca13>`vQv5r2qs79AuSVWe)zKh`sTkj z>EBDD%1`yZiye;i9-s@<)2}?0>e=vcjMxi)^i=^G2+BHD$G}`-B~@}h$L+l__sIts$omChq*Q&mabR^btkaw4I!Hg>Te-gYU;kt#IE`Tb_-=AcwNTx9pk}|8s$ZvZf)aYqP05M3Q&~wDdwU-|l#Crc{ zi~s-2L*oC*mc{>XYn_4LyYJQHJ2ST z4;n|Atr&K6qwxbQ86uwji7g5i=IcY_Ty;I}v~HWd0tkBAZe+!}dt%^!u=k!}O>OPk zXk7L#B1MWWK|rZeLN80DC>Ss#A#|ieLMQZQr3y&zu%sj;flvb^5wOs!ln^@7AvEb- zPuAY=Icx3xe#^Dq>)Yr0_Bq$ipUjytGUpg`j%SW%KI4AwTaG8Am>m16)c%vtTK0n} z+Nxz2m`ww9+f2Xgs;zS0ZqY-&cH7zsEqr&>*nO>QQ&&n5xR{2H&`Bp8ZdSBf)IGuD zv4RZ0jfqx-=ZpQ4%owx#FC5GIgu}xNG_k40s#H47V_i-KPs^`(5$TXuHgciE01kR- zA_eqnnP(+$8Zo0Bh@v2-NZ4dmLpBgN-__A2lW?KsKN;0u?beaL16a&D?hF58;}?nd zfAyC?Ek7?KCE+Ksp7?%IE_p{UYE>(Tl+-jbFrSV^ALyc^BS)o+u2nxCe#){LO%f<{ zmq!#7w;P6=7~@%3mLvI`B0fhbYEnV+DlZ_3v^DtBX%IetRr?s;Sy#FS8?~DO!fYoJ z09XQbxjQK7NvELJj0R%cUZu6zHi2)Quk@)PlIT~SHQg`S61y8SSUsq-ws>{=p?|Z( zuV+%1OqT?9J)>wHKdBz=3PWb4WNf_Pw2~B}h9)2@xxeNE{_Z8N)Cffy{%4 zctjmDFz~ zo%^zX-eY3HaH;9`t#MSTk}pklPIVq;dMX_T2CQk*$}Y6;reu20FqA9HVcq>A+o!BZ zW~S7rGkW54v%J@82qw%VOAiwminQm_qAJ>jSrasqdp*VD~9rO9$>MzZ#X>uST~2%?^Q*3#{izb`vaby z4|8jl5OsCuh;qs8%WXqJp4SzYoL34oCJufDu;e`bQ`7m^3XaI^0t?r3#1E-M^Jn{p zv^(qF<4U0P1uKSEzEf8rnwu@ zG}sSRT=qV-#@?<3R-;^_KW$$uP^`3k{TtV0P}w-+Nn$#Ocz=|y>6d@4KYw2Pe3@V= zeKoazuj`pZp_`U#2B+{4t`PG~wppm0js(LS$O8H)J-$n6zzIh02nl&xAs=J#QmLPKPKuV${gU|N(T&K{I9MI1lSg6L#NvWNmC&1C+(<^O7l^t-&u zPS18lZU^+}tYA?u6VRwTwO1UtD<61o>daif*e&F$sU_Nm_Df-zIm}IUR^ar483(aY zrwv(2^-XfG(I-XtdSr0prxuR8UreHf5~OAYM@Be_8w+#yO~{^F?Vuc2&#UjI5Bg-W z1zQXzU)D+e9hm8^SDXh&BO+CR8#T`>@W%)0^VVN+|MN)w|N1n6emhk%cr6c%D3Lyv z>uh@X5!&MX%P--c^6r>$CSjb zn>t(y114)E4&aI_x?;>opIbQ7G%JCC)3tk>lIJX zNxlZbR5`XW2Zt2q!)ag`Nwgv+T+LFniXW=;(Ygc0;Dh%)X0|L6dIVzfherA&6qn zTcjs+dJ6{`fBsP)J#5a(;OAKVDK{nkX(X&EiVEye>w!{blR!i#*T$F>&d`zqmh(|d zH(erxEAO@@L|u zVG-7qU%rxS9~RNrhx=hnD7RlaE@TX|_0IJ|yE^Q+l!JpSW(|&$hcuK-Oddssv;Q1v z6${7BMIw!GB$zkP4F*up&ws(;7+EL*f&I}jw3FokB&IZoE^_{OM804Z~FaT+11}JKS`IJN>s0B=Gv|X7a}1rx1xJI z9#{`g`P(8DS^;FZP?na~6;Zb$76t(pd_TOtfBm*#nTpI3wdXzF=F{aykD?eOyzz{J zzQz2!dzWmWkg?(2$Uu+ekSDt`?}v#Y)vpOMaB(IEI|sQFjat_fUW@Q;Hc$pa0(1)q z+4VkZ)m8;r9M~GH9vtk}Iikh@uxz)R1;1egAAb4Uo%nIZqwgG4w1Dc}`UtzhX-6rR zwWj=ZCj3Jopc!kCPQv3aQ(vbxTjX0og!wdDc%Y-xYGFk$txQ8i!8AfRAKyFs+jQ&Y zpFK7IDA!NmIVq}rQH_b5nvGoyw>1llnSE4RRuVbEW;cx+HFH>bubby$zrZ`<|?EI`fVqR1!?u&dxZD zQ2qWv3d@BZiXmwK??1r$4G95Oro)jEhbT>K?-h`ZR zkh(Q>z=uKLYDfKs$CyN)Ugyx%)I6h~pKou0#ykt-V!UWs@*-T+iP#TJ3QYk||AsyM z3ssK7+8hd74+e`>&du<%ysiGMVA9YlNqN<}~Sq9|=g6gu&u<>2Ej`!b8F-zI> z+;mT$n{$@Jf;o6Lfc%k$Q>t?ljiMRy8*w{FV8DZfp}Rc@x-k5i;81UvnO>t<6Wvke z-TVJ>5&jWX`S0goU8zo|aN1OK?0~8k?l^fH*kSTFK836YuLb3>P^gN)unDW|LqGAG;}MA>LXLr8 z{6V+Yy~H!m+pK3$>@$FFbo_Sjynx>IPZeAOwt1iWE!x!(6=2CUOis=-#{A&djs!EE z5^K4CQ1M~xxX#|hQdUjK(%7RJm)QventIIF{f))L^>an`1k;+bfi3Ubm;%=&+ zwUWYy_N?ziSUasTSG#9gfb?NYsztM)poPPy=#D%5wU(fXU@|u6ZDgBjFyCs9LY{V> zUtIpm36|z*n8Y5hRk4i3L3TU7BoD$YIna_3FnD|AkLnYY*{mX`CkF^hfD`0_B=3u7 zmj5J0@#FUXozmkN2Xp7lkupyvYxOmGR6)Kv1zUtqF~WoyWgq0(PtP2ywK0_-eo2?n zo<};l=RQ~(F=CcC6QVFKym8G<(X*$<$y}VT9Coya8WP*@A3vvs4xeeLL&!mD$cP%C zuvx~Sylr#EnW+hs9zTr6Ae>b(^!;=C+e?A|J>jazc43#(H(hhTZR-{ z2=)o>LiIq+YQ+3p73O@PYnFPSgx=FqEJem08}`t=WO>_m&OZJ7hZIk}_VYO_viFL_ za!c!3f)feyNydng3+s9Qh+f7@9IT7i#G@xqiWU_IV84i_{?BU{BTD`Mn^#F|u$zG+ zv+l~S9`F13$c0%^pte~Ir*`eCh{F*R+3T@Rg&hyq1*G3b=D)LdKnZTT1(`^ovs822 znlmy=lWsU_Ik&zOI}dzRz~J|xOQn+WQMLXl5EI$G#JOI&s{G@>Grs>r9SdUyZ$;7U zjl_R!{CxGve<=U2-I1I5oRXmY*oq+5hIrsJNKqnn52PEW5?h&*ra%08eb>Uzj z3@Ojmgb|0_Z}bH3%Nf-P;w0TP9uzW?a0YC~&6gIhxB`Dfvi8~ zfP8TJ*M&A#mWeDn+AB#r>lb?pt@n?OEfw=P3llvD-dYF*!GV_$Bv4ucq!pc#ywKzR z9&o()ug-Hc*XqKfk@ea;_IC<7nvavY1)Yctv38wD;i+@goXeXc+ItJ1!+j)kkqoFh zaM+seU=WGGp+dd5gQa~Q!M&YaEah#cR+Dpr$_@EdS+SlSF1!L#g-xHl$|VV+MNQSuZ`2N_V)*5IUAKayz#f32gSg9R@^! zl69_wD~!AwsWP3>kh|@*USkI=LBcp=fUWXhpxXZGrvF}k9xt>u@g0!5Gdl3Bcq(Wu z?Pcmi$y8j69VB9!!9UkKIcdTqi{p3)ekk=in0@4CtQflJ$B+ zzQg3nIh90q>7nN??GkEgPGMK8vl+7G-Zk*;;aLQJW&U%h!>{bdX7>zy-AoYph5KEWM**1Cf&r*vo_yZVMxsrCj) zW;$lDhC#XVumw;3d<;C$7-x3;i&K5Q!3a=Vs7B`DRr^R5$9Teg*Iu@WR@~l$*ArOs z@&$gPl9CdiA~gPu#<@!+yivCXBP}_?vVn{!5|b>?jSawgIItR768)a-BL3ZAWv_BI+AE1y{69+MzO$Zi!ii3u*Ao@EiiOq`Y1E$8>@-_7=(6F2mZ2(vS2Hgyk(lEW9b#Jd6nULyFom9R!wZJ( ztT-%$>~&26OE--89GbzHPynA&`aF`lWF3?W_)-~9(c5UL&_%V(KhN`&C^)2D8u|_x z0|s*Za>V2GU-k2EmMd{7gsiX=_U{H4T+!7tc7l|qrn2|I{D#Q_?=le8r$TYnM_^J^ z6EH};pf!7OEQZFl*2XTJRutaoJi{(iQ*a75K|){1qQL6$@3{Iu^}Tr=nQg?;I)?eA!0H zW5K?05eAc^UJ&S)A;~FNppVTl>E_8qMI{Hl-cf`hg{)R|Dz!FhQ%!Y+f1MlwW2~q< zZ0#XIgjjh)dD)a>ml{T{ayfz+vCB0c9#%0pW+3E2zf#8T$XM>G_}1;LGHwqI9hBdG z%Fjoy_P_tjcK)BJa1_*`7?@&^;Eli2om6U7Y&csG%rY0NNA#&6WSocN!Eh`P;&!LV z(@6Vf8O?luvxZ~Au_aSelWd<>&Goq&M=NRW3lGmfxw}O%agrG-bX;D6^T9kmW^0nM zQzjk|5l}R`$Y)Qyvq8X$(nho1i0#S>Tlc+Ya>UvLcK27kincpy#UhXurm>&D(n}k zJ>KF$WZVcpA3U36@WMLJaG~Q^oz#`4k2&H#^D9~k%%lEEC7INDxkqVE)S@m=oBfm2%fH;gfBJ*c;@Rh}CoCpfoz8vS zKtfzeZ87R&A1qL$Wm7aUp8#9oNucIV&mB&yUOj>@s4z7E=2n>l@xT$w1U%q$olDewBlE z$01wD?hKELma%X7rdQ|Hbq#%hFy_fWweG*-ha+L`-vn#ZgAM-u`>FNQ|B9pj@EHF^ zZ*|8b*8I$0R!p^j{0@L<*2Ql7rmQ}|;%ZLiSUK+IJ`6P}w>}h?_O*<_>o=5$0k4!S zqvYNwq#$eb8Y0#b1>VGO7?_uCaaQRmcxH};m<8m+1J7vEsI_K(>CoLXI4m}^6m3Yx znh5t)cR$z`#m&ljz|1&siH<8c>n`b{?|=_h{pT)fr(;*TRpj%4J~A$!tg<*Q_QF-6 zmi8j$-8f`-QLGK7{ilP*>qEZZhDN*C2K9%o18p(6l?^ijxNg=ahOp_b>DcB&$6{?x z$7tI4}(T$@IEi zj{K~ja{`(Zv<*c?9u3hof$2 zHPZ}MHQ$}M5b)CAO!Dyi{({&(=SbWPKd{mXm^_z~$)uEqwxwuaOxS0&YUq?jWS-5l zPC9K!gQ9aWFFe)-?V|MVGsD&d5osOjMcTM`9>9a!M096=-x5o3Px6)3J}AZQ)&kZh z&x!#@2VNKAXlD@7aT4&ouaGm}Y(~qx?ub@RY)at=;)LwJ_z^V?^>FKtiSkSwqZ#tX z1h-W;Ec!})a`KqM&}*F*zJ2|$oRf%58-WL5G=tFP?wBn$%=Gm3N5^XnqQ!|5fKPF(LW z?*}Fg+$tgNQnKibq+nj798QJw8ST(&M3F^PZQt7^QgWthp`(-8%Z4u^w*4GF;->U$ z`B_X2KfgecoAT4M9d17~CqP@-ps3e=AzxJMeG%&b|27O76GpBv;36~J#Z8z9(v~4d zHsxe?*Bl{XL=9YmO<>>oG;eI4H>58R4xuH7q1;gNz9o2{Q$#HG;tPTA5dw%HCN=b1oog4B0O?! zAR3HMKsp>ts}{s`=mqMIS6H6w`lxSV=#j~pK#$7wze;lx-=2k-38jJfeW|$5)P*FS9ATy?+0nK1#n+pva zgNaDm-JW-=v^KtL|JJGa^Z3r4gY&end=KWCXOPsuyMBT3`Te(ED^9GRsWPfu=?mJy z4c1inC3t`uu!d!@N4rxaAZDKy99cjYfq8$uw+A{()2=?-5hN)o-}>Zz@=-P$Q(nx+ zD#2EzmPzo4lX|MOG*7m0tejt>I1pq!tvV6bo&PGzVWCw0QnTHSI<^jr!-$dVUdCI< z^Bg#@M`&bRh>sO?l%d$(>sG$u<{OaZ7IM?RWb|THk5O?wOi~cBOpMZi^|qvDms%qb z^WdTO2g#|tM0J_yYbsBri|bOx%D-LyB+Wis_N70s$j_by%umq!+$&_24>gfukljSG z7)E5{NMKy@CJg2~|B>60zooP~gHYdQ4R&Ypv=8TzsdGc~@GGhK25km^Xc4&rYHmF{ z#LP5?`i#!+rD@k=_b(M)uJch>vMErx`eiQ#I&7uLut<~P z*gc$kYEIdd>QNI1iRb>}){a$*PM-b3V89H+K;&$GXH4zJ1#aANcOKdP4mfVsDwqVg z+L`jB-gAzsnpavZ&V2AZ_N+_;?3?GmN_qQPgXf{xcYwQPb7#vD|ETsD*TL*yzJRrL zEzNh#dL@zmEmPkChWrA1b%=i63liH|8{2Zg?hlB9Dw%f#H|Y$fK+RWXZ|3}SlVf5> zUGy%6duVibQ-?8OY|nFxtX$<7)UG*#0yTN5mBXQ^M>*dC?-$Wx%!*Dr{0fyCv$|YH zj+5y}kuFhSv`#N9{g!66cRZ9&C zbvcF{6N7dg3}ZQyKWNKKUsDjL3vaBp9H_XD7L@iX!1|7x(plU#YJetG29GsZB5jY2~ zy=F11EKSnwy3EjTN0$lo2kYFv0+wWbf{~CWc2vT6aQxxMP;Ey@Bwos+vY_`zB%nJm%CGTARQ`b++?fSAEl!7}DOD2O)0#X0};mWSL|% z+h^WFX%ei$&T0;eN35nm3S){i0=@&1btZrMWKljIA;QXC{JCDkx$>75gdH!4lMy3e zQu!8utn0jk$00KqQ3yF;LG(#&j>t_{obN2Ay^H%PAdmc`X8)fq`!9(Ua@zc3;`C-r zoT;1{|Cl&M6W&b}gI@8B`(3ugjc7-ah z+G-hZUgHy87BYv!S@;ph7BxrSt;F|%vhX7KvtBDSP5BdoKp=v+@EE@i!TIMQ?w=zv zOPu0G#Xgv_WbdUKPn$3?DNKz_^VK;$C{||*Mvb`RMPW=H^z>m@h5ea(5)KQ&x%H&k z=fVY+rqp*mR81Ox{@kx#N<97rkxgLaViyil;h}9=&h#oLCq~t0d!Mea9wT!s;e3m!#1WGxZMPcu~5vGP5L~XTV`H`@ZzgBP2O%?dUKz7cqQg0 zN@$&BSh#V3y3%rIp)5Be8r@O|AdbknS*bBE7HU2P%jS9H z{iTW5W4QW+jWD3-m0t}*hnH^+HYYK1D;JjKwgr3)Bf7n+Yus%npG&NbJu3jZLG&i( z`K+NOgeb>z4@Nyg8M&?1otFNN519+lQ|&Of8(F2vT>J)!#+|F>ZX^{?fl}1S5YUO1 zqwz~!nwi7;D?+IOe*MCk@MLa^;OA}~7&F^mQ}T>xh98d1d7P#7=2px{h=vYd65Ak) z3}4iP&BT-rHB}fghVR)PGN&9_g$Re<{p= zLuzRFa?2~+&NhoL%bu|BH{qz21b#T82I_3**?O}w&T=w2Qe-&NLLP%w9JVa|<%lcO z4=q;u9ii3#Zkp`q5M!OjegL=@ux1N{#ec@IwH&G($2K;Qd0e5)^3KL(2+Hn^$pZ^aN`UR-qP=1wN}CDri%)l>C~a;_;C| zC---tua}47($4wbNbb*K(QHr_0=mi2+$V=$TNdw!jcFI8uJ|sZd@*0&d|;M=DL&Y> z)(N;0rl30^ZISV7NqvWsmpO?%%HZDF#dB)oGWqlq0(ILJmLHM%Rep09g0FS%5U2&) zNXcE@0Z*P!7wY`(_tUwVZ$59;fxBlAKoIr1l9GUpSbf@*JR@g_d+SQp(Q$ol4yD(H zRoZn3XCA?ZrXWcxU?RrH-$Hr~0pdB@^r%<+er^EXvjG2(0;A+kfC zF8eB!^958hlZuV(mh#D8Jqrw9?Iym3OmR7F-)4AW?-w09LG;6(?|@@IfR!P3bN`(B zf&9eu&Q}P;ZbhqQPJT}@9mjzyvcm3YcQNVLFPr3ad6@JS4r1as-pU1DDEP#p&YGH? zLO}I-2L+h8ld{T!8OOqt2iM0G>g$jX} z#oAZiC!R4Df9U{CY_;a}vUtwwzwDj_^GnJzo`wsq!XU35uM;y_n+5G%YB;TdvutFg ztLjmGXO2OaO&%ATW=KK9Sh%p+I3f#+r$}6hI#0s@w{?A0=>o7}!2?&N0|twxl5`1r z48ke~Pe^`fuj;>j?z56``O`Wl?FWWMA@LTo!XI@+4Xy7c(d3x~H< zojhlb8is}@XU}H~Y+=u{kCu(mD0h^lOq7W?vQxkx>RrDBh$9CuzbU}Ak{{Y0;HM9s z90Sw+$}Phq^}QFOHoadNA)f2am6to|jHBrOVO^s(S+8@0`qynMZBIz<=hmV8c62T> zqBFdQAZrbrwY=BR=h^Q74b_92!dRAf1ot9(DNLvX_Bvfo?rVhZ$ZW9*zWzquIo`*sGNL2 zi_6y^bmaI;HxKhryEV!s3m+`F%%sR9ibkp-u=Ci^F=5w*u`Agz0tm&s7x)HGav5VM z)g^>-@|l>V)C_H;GvL#|nZo-mQ{soG6?PwchE4m_hm0$+Q$0G>ZQH#(Mb(^xSvT}5 z{qn5WmW+I>9@fHK@?&vcfl|?Kq}KJ{!cYW87%E%Y`puU+N|IdIm7YoCJO&fr7JD$B zX;RTl@eJW@c3$PZSs4;EWjSUpQ)-5H_rO+RsP>YY&)@~}$T^UOeqp)iv|hH|w4TVl zqKiu${x8#~4nFA`tVtt#+nhG{)*&#?7})|a@lCeayPaIK_~%!FRY9*?Q4SvdPd#lL3Z*V%7@+F_up|bcq!9-6{W&xHsYEkk;GD7<%&CdUv_ zA3dj_dT0hsF0c7xwfECv1y1L7Fiv~v)+(&R8)Ut)Z=KH=n)msDVjO73uO|rxULhFLw$(cR1hfZ=gD3=Imnc^jy!5 zE-&LcHd%k2$8}Xw^?>hQ_`;NW;Y{aLrTeg>tgj4&lb)Hs(|O8sIHGw$^x^a&>!pfZ zh@RlhZTY@3H9QUqnq8eFXXashd$p^zUmgjOELafBcIo%i*Mjz!aX=o~GxY;5vOWD# z+y4)j{dCmr&3AxEvDXL4x2mk0C#G+FGkUV}9CPUE**SK9Yh|0SV=pN6(gwh~>gOLd zRbN9uk3BeAsN{q|Y62&4aI=5OFO5F_oZkuO9kbSwxp&)i8n;-Dd~w8~>lLP|x*)QG zXZfY9VLv*;@TV84(goLJUzqg7)yQR1+YS)m*=X4zmnsNuW*} zkS~kZrutFCidhj52qrOy*K-=2;o0vDSKC$VEK?8n)J$pHik_9^2GW!RP+Qbfjg^5v zhp(4&dyv^v>q;1NVN0QER|{h@G`&73wR>vK$>&FQ&S7pMo+o~)!8L4m#ys%A1&2c` z5JwihBICCl)0AAfwuRPlw_Ora<`PQlC`Gswh+a>_^xSw(X7w$q>KB5V*3rVMsfLbZ z^_$q(=9j{4pr*+vr2#>%UJwciw#o#_;^t<>G`BldY|@YFBo6Qe3kQV9Z+cvLL^AeD zjr65z_r}b9+at2@(yBQGz(#(*%upNUB$b!KF?j#P{+R%gY!)@7dA4N&Zx{aatbiv& zXVAA?wX9~z5GAiBBkZ6IL2OD-6o5u+A_qI2;un~5?F$MNE;_y{tKcJR*k!jpxILRP zR6-`l`s%0G$XQ$Jk8LJgJZqN`dq>;R056uTP1CS$U}~7Rr`sp@za<1|Pu~YixlzJz zW@1^uFykDH&nCZjryDFwcdeA};#+Ie9kgS&#l8oxd2W5V@d0l16uk*{RU+F1(fG^s3aP`i z^iI-zCKNFVu1 zZl%^7!%&7gaDHe=Q|kUHhqbbnw&nT_?FSQZjga|i+mn>HRLzLdi9YY`j9%((Ts|6@ zIK@mM>8cM!_pzK&cVwbX34BW97TjqBj*LL9ru1}|Ex;7qlB|=h z62nix%okb9TA5SR2slTc>UPuXuLO%aU`)3AE*7$1w>oGz^|sS}X6~C8T-d*#%{dvX#m(zD>5%|k{X1yLawl+g*r1^a2~cW*1b4+6K4&8R0b0IzQF53^>#KL_JmktgP|~dwQ=DmrE`qpH;=k?%61ItN> zZJE-kly}@$=;>aA(|Q&B{HaAQ5e(IHLXE1E#+Ea0j$$25Z74?ViiRMeS^+pRCP}{L z*O4v$6*9DzxqwVDEe2Jwg?6p7eOY`coei>S_sAXUjX0Aae8Pl+&>tx z4F=USe+RT9B9W&ZZ38++@`|G_er(I^d0~OW`F@=4_KQei!0mR+=PZQ4MjS4*h=i8N zk%3*+Lo0{x0FK)=c&L6TK8XwSu-Z?AR8~dtF_AaQG4xo)Xxi8kyjQb4!{-23wQv3T zDEYUNfc$*iGOT=ye#S>o5SM3lsh-mV6)Ok+_Y^wSix&L051e)d;=P9F8+&D?I~p60 zCS_K^ay%UQgkUmLriI?wK>6YPS7qbELRRm05F;;(M>uqc93M+(X5KV`aWGIrPB1FW zmkQIiE<14_Y~^_*DzSpys;<(?QEeixx-Yti^o($z&V%zFCYY8h+z9imfzESr&suKz zN*IeN_^N=+t~JeJCWl4~X~m3iuW}!(%94ai)(;#?vM!MsA11@=^W212>cwOzuK;OC=g-h2|Fu$;OE>Z{9 zDGgKo4$x&w2-jZLReZ4H^6l(LCY+FvkRU-9{m!tsq@*k)IxB95NBO}xv3|Gqg$unW zcNI2@Rp0^6>2vZZo25!u2i_Yg>_sFlRl7%Z=A74H55E<)%UB+5wv@{Qsm1T}jVv+e zsBCF7S;t(jN+sLha1=6GDTw9Sr^B9Eas67AsHOY>VsIlSe_?YbGgA+@s&9#$f$8|H z)~_ej_}D0S6a_wZ>e+bpPJ~OOi)o&=)Qy%B z2QyOT6?50Ofxcq}We;$;*EZN%ZCtfzq%lJ&xX_&i4ufh-7@>Wq`I3~}y35XL3E$S; z%CpWUvFUw)Mw&YAp~(!T6Pi6kyI{UiO*6U1z^Te<)hJ{oUKczpLcN%Wdk&Jx`7Ml$ z$6Pp*ar-^xx5&#x*izKp4Qa{rvg_HTn#|^T%=o~FFb{MMRTAByu(i*zbf;|)@!Q)! zOq?YQ-rTv+7_?I+(}#_A3K)2@h*?QjnK;NRUyG|}7QGrcquxjQJlq9iR)cCl<{8`| zyG?o^C*7jSfq+9$=K-|twjy!+ModL*Eo0?w;UNC$PZPpFGStg)7D}15-52;Dwbet7 z`aM6$d*0M-#0%j$v$I{l6huES3K+ufG_p1u=hn=sE5H3vVWTW-`ffA8P)4s?mk0?| zTU}K}c#yzn?LM+=H$HP|uRJx5lgg_Y{MAuO(U(rab`wl11?jkI1THU)xMul4r{cP; za%`RdKGXH=Y_FgZ_($1Jrr$1`y|3=vfzRn%oH@B-c|Nea>@qgo3fA6n9 z)yQcmpuT-v$v zVqr?3+`!2k)M~5FfbqeZk;|%jIop>(Y#7k;uH>AU!W9!C>{7*^A~qj~Pk3{eStMR_ z{-#@wVXwAxI1YCM9-=p3bY7BW>G*TUQeG0-FWlHTKb^TmpZ=0ohrcY)Vn~P#?89bu zI38~kkVyhtgzv&skx=J-$ffc}CZ6xBv`%*{BEj~R=5=AWY^;&`gRrpqsyBER85k~t zLP4jx^xS`Q*t00NlLDF=6qB|~&q+>*_wjjEoMt-H>OpBX$`(7Rp>u}VRJ#Bb57c2g zEzx*hl6^**?PHwk{0)lft+^R>%r*OUV3C;*2f^%3rCPQ9^dmH<1`+thUAA?xKf78^ zd@IMGuW--L+*!Bv#n%fg{>zSpPa%$P@WZbo<2TAz1?h|x{YZphkuIv}^<)rg|3V-? z#78=!J$cC6LS4VYzo=qWV{94fIpehHR9nh6)tv#E7P@0p*%ImDNAv^BDNCetQ>5Tb zk8}p3INFw@rS4Zw3O+g>UQwA>@kP&&c6N9bh>lIE=r`gPY}kAj>%=&n>L`3efQ9PY z3K%q9OXPad=s`am*_YY~t&!_V(OG#@F#Oy>w3Dm$Ax-_T#|Wk(Cul%9++)2_5lf;- zPV!k0$VNROer5BU-zJA*wy?pq)+NlQuoO!k9>GkQp~k6wpmxjv$1>~Gejwtrvs3fHUY8%`JaI|hyBZlGQYCq|i;Nz3PvMDFIUYHWiu!+$VzhW4^C!&*r~iQz*oVKWozfPck)?4Gcj<9KkhM?+N$!b1bn(>-*18u|sx zn{~5L$1n92eC&Sm(ny%nwZY5d&Z^4}taJq=-1Gu9;&H7+ub_XhicFz@hKcS>H~iJW zo}^$w7qeR-Plj^aO2#^OZ)b^Qae`@+cQg~&@Q!t*@Pe4Gl2uN4_`t)?l?G~zar;%A z5IB4ZlH&zIwJqwzCn{JgmC1<8dI|+J(~BXdX`B-oUCTI}geugHXiTMPbG$t%r}(vd zL^5_d)EYAu+-#j-AVBPtdTkl#y}OdUDW|?Fgm-5=83rRT2xjyc z>uX_^Tf6d!p0N}^6;pdyDvu4}5rk>W1{gYaU>f35FPml&Vje+pT%ESH7CCe^fAa&`mUuQ=EZXcR_qDyAd zwykY%q@>f%7RBf6z7-(-5vLKl_S&~yKTz_+re-!JT==kWpD{%Tz;^7n0YA~N{D-mi zpLe{t<0Ve`FE%>nQ$Fyz5X0IsXZh*#3PfsryXk)UGNoN@0jii1ZfRis#RXo*rN(Z= zR0z{%u!ToStWZuntPMF{@fnDiV<*C1>-FD=As5^!ItiWcokbTqZ!q-7@7ZL@{`@@g z)V#fU6uY^F2A3<5qYuc;kXCh3RULo3aR-M(WLR(5fD#Ovi&5jk8?Kq8`K*5K-~N*|5|eT5yAVqK1;@4orZ9s7M>SWD3LTH~eZV5Sh}GU4j0 zQH}Rnqiu$;+~9$SM=zVY8n;gee%oSX0(c0OUx91frZl_bN{teX8TqSgIXXm+`QggN zLYs%iHwtQ|mMEuh+AY`NaV6jnthmsqnbEny@akLS+eMQHmZih}vA&9}g!e4)RzD*~ zV)Q%~lm85hj|CcV;6l^r6!HeiZw6Z&$YC8~+rpWJimn|-it1>%^mrUbW$`b`i?zUm ztu53oxjxnPmkN-&Ohq?6N}N%-ZjWZgmDO>vw>pD%BG> zHNRycMML?F+xu9IWE3R{MxeoiUll9QS{lYd2kdUANS#mM3Ju@sk5Y95Hup5DsmP^8 zRG@-a&d13JeTC8lZ|yeOuejWmdLsd1)60!C>Ghr5> za91|Y1qJ;|Y=^EoLmx0ga#t$y>t5Fz-JL|nBbJ&(wVV(P$V+NT`2r?PkIyV#ts0r! z+pxr^&lTPv?aU^j9-d*MroLJ~GBphSn(?*Otu=fi%y-CJ~29+QAY zGkK2D+F=c3V@`+xt7p*W+WYHQMaJ~ae@)x!{8poXbdryA{TnBjAr?H)Wte1cr#YVV7+2G7(~!0f^ycDHd1lL7*|J3qqWKWBvPYM zw|dWm7q+!$R^Xx3u8l%*Jzf4{Ec{vF`SfOBlnbfCGsqRarxM>jHeEkU8T?HS8QX8B_vv-=V&>rQ%j z0Zfc6G8>1vhX{|-KJ&_Q>1-UEaCDpRu!x|R2rkEvqGq(SzCnO>u|R_N+4K~0B0Rd7 znqY{cudO;2yCPTM+O99g5X-wg!DTf9jM4-0-h&Qcj4_H!~k8NPl!#X)8G73ybcCU$>FRW@heHkE{XC ziiZDF+x}bqz(GLz(k!n(6}=AkA^ve^(bbXxw-iGJ zi_>LGQjl}Kp5Zpe3d$pz^r$9vo`)Sm1Mdi zJMGp~1DQP9#PH*L*wimLfSEw@?O@Jrdk#h@y4vQN*ub;?L?chTz9)haOJr$CQ)@d= zk$OoSl8yw%;PNv@*90_B_&#gvY=@D+cQupoTLq_;`uf_pp$3H;ZJ8;hyeWiz_9&+{ zp|lU)**KQS^!^0#D2Isy&6dnSj(w_e{2G!_e3Rf{#-sjP=S^~YTEFA%Vo&jUI=S%U z^l>6~RMR_A4Z6M0r!sOERs)i!*TyX=8PvG1>z8N<7-AAIgWVaZ4Bs7vK0AxT%z3By z3ga&YA7bG>_sY6^#(sWoThA4dO$y_MdvKMY$@YW^uQ$;~AhQZ+L9^n0t;EIFF|r)D zM!%N*TeLO&OnxG$QN7MBVCj0%wMa-oG^d$`-b7@!cz`PKtnd{UrXgOCxA>E=n5N$E z0D6VmHdR|1uEvl^EtmV&5A$5+JqZfu7f8?$(jlVvJZME&WgnS>n7hx#gKz4LGy3_M zvi>9_K&9rbwoVJDM}U*(P+_xVqJrmjjIB)3iKbn&Uy}A7(O~_?u#Y@b?VQCPmR>^_ zpp7nSGVpCFToo&D(a+mbo@74qD^8q;JHylhG4U%D;deb73Y;P6OlI+=RLp4fFF)-k zi=O3mDm8PnJUUFbL9Ij0=@)!8L~*;9PXOsPK)2hv{e2B>;;)PP5i&w)_9W_KB0Nv` zwsCvVVq#Y5P_AcZ@>Q$(joYD_TkGZDmd>L(3!6ZZAzJ0_)4J1X=ty7-g;yQSQUUOti z6FRpK2KNpN{rqe8tL|QCOTR^AwU}Q5Q+_58b}xKx8kL*E|CttNgrlM_9#~4YzO6TTcFrQ|j4H<6r#^)#G*TT8_kmB#iI__Cr`F&Q^!ZXk zHac5FORD=bxOz>g6`wvU#2_zVd?s+1oN^F|U*DlJbSZJJ>*t)3`%f?yF8jljcr4~! zBktgpUZTj*^#4WOd&f1E_51$JjBUg+NR=WE2uNsBLI=l@fRuodgh&ZUmxSKC9U&MH zl-`C=0to~G10=MO-Vs6w9i{i)5xm=Z&U2qR_jNtzyzcM(aen-Rn+;)Y+-vQX@A|Cw zdzJBVhvbBAl^&{VOa`SJma_9@W%=QeA_)qE=n9{NU{d+O)sm6)eLku9`0Eeyg7}N6 z<3U2L={mBC=VpDr+KP6?dAc*Yy*MpsLZZZKo%|QO z8$tGH)og+@=l!75QeG1X`mxE|c8THD0y2EJk0=YNfp_gz>b#Ge>UZy-=;TD8)bk^7 zeO)VT<8m?Pjus^jlM!o^B`y{A;-9I(wuF|XQA3L7f7THRZiA%#GkhlAfE zug+lDL zC_Y}T>YLTQ`jSydjaAPDG63EC_LscZ<14nKU@h2H5fb_b$)@*jN0gwITq`klGRD)f zwR`h!(Yf92m5z%zZll6G4|BKEkE;ittmEgm^Urfs^8ZrsXxZ;SUqNAE8S-qGE zMmF?_lYw@O0E~r2`s8UP(XK>be6F9!Dq%CfQ|Uy zAH~#ODt{hcsNI($fanP?&SW8 zR*tXy>A{GAoK3=z%YB>Vw6}82#(bBxTLiM9FYf18R^;V%jw%3M8pa496vn0+TJtW-AJ$2ELM)wMUypSMy?R>Z_y zB>%?bsQ!R1CL*SHE$79x5eyq|MzGEz-U9_stV+95vOA9B6oltUyf2nEj5ZBgZNf$q z?y1tzgem=oIF?*Og@aN=q|d8kM@4HB_dq}?V9AiEL_YpPBVHi^5rnCnrtwEU6v}3Ffo@bsihJMtPnq9J`M(&0R{9k z$wHu(95Ad<7VhCvVzBW_+6UXV9<+?2T4+}ZIY% z?&%BCUjEe)%~6{$aA=Mbw+pi!cXu?mWwE80?r;-na^P4>s!=u~dUwP2`Dsqe>mBAZ;#Yf8kOVlYGzPc7l9eCIx97`o9;|B?g+*IMhDF zpx@}oomizPs~k(QuSLpW%=&>Uv6fa38~f8=$@XJE)bHCrE3A+>*PE@NI1m%Q%qE}^ z*|+rz<$KRnuu_zBQk zYg?Y?ROW~BB<6yqx@bl}ubLidULC*^{pX$XH}Iypfq=N$ISZ-MMiUb93P!*e6aS0j z)bFG+=X%3N>iUzVRy;*|t-l4EoRyUeY?s?NzeH#=u!KqK#gF8ce9j~KiB?;t2v0Ki z?p%#n@oS0I zBDFB9@1`TBA24s$`DmF7S~eyWd2VSjC=2UqW8Sb8PYW62T?F0PAw<|_Ss9TmEiiDD7K4zDwIBz#yg)d;?>@%^EJ%vKmxk+gAq|m%UKq zng{aZa(q`vKFp82HBq~Yv^Xx9?ep?+afDIV60C=#yX?^b;PspSEH$_)^;0%nzc7lJ z#8-6E%Zej^W1g?J3U}IfAfi{aHxb2?){d_bK3b_yIX+^g91Y&y@thj&T%%vnkeyGv zseqdnC^hbmuQ30Gn%~`H#f6LPf0drDL)8rQ{n8l9CEq4AFdDN%3EYJ?^bxx>LU8vo z)({ej`0i2HvV(AfD$zDKIbJq7dVA44At0O<#Oru)(&#Vq=5kX|-vHaaLWZpV6#)tf?FN=ajS4ZTFUVi~h#;{5 zw)Q@=9NPG8r$2Hj!{WBN*;x^+Q5%W-hpUNJN^@^p^Jf!QuY0|npJslCf$uE)Z{ zv6~)RO?|dbT;8Taua0hZGs|y;f>AZ);@OwiKWrS|+#%Isi-Li`&eiV@JwIA6c?1kL zjmI<1g2!FYn756K1hWQbJvBY#bo!*dLenO$xMimT<$KG0u^T52B`5fG&Z)S#w6~>9 z^O=x2DZ}~Zu(Mzomp1j4juHfzfi8j`Csw5lIK?T~@=Tu2DlhC`2=WeAma)?-QJXew zayuN8Yiv`9AR+GzYWzVBVtd&(0YITu%t8u#@qa`y($b0#R0-j##Z;)${G z`~3HcyKE#(v`e($47P=oq0mbNv*fVLc>}xb<4%(P_ZacuUGz&(FTHnYt{C*-`ALihL5dPPq$MO(HA*IEdMr?-zKb@D`PG1a27L#!1 z3M96S6Hc{l+ntG=G=YkBiIawJCk$c_@EifYi+{< zF>eEktsaEYJ!6EOx#OGmKvx=d@UC~TQE<49w>uo70`BH;{w;oif>qB)ZeDU-F~80j zS|KMpU7;N|vrYfn@G8HFN9~L(s@k=z&%$cVvL#N~tu5`73Y?fvEnO!p?>0E}^ie*?%M$g&wKXng9!~>XK>N_i|Dpc~y&g%JPF#XA^ zb1%gs55UKxJ<-q@@OX5>$1s2YP){Z5o6zAx`#zSLXz z&SHpy_tyJjxii1wXo|{1;W)I|Jt3iAZMFkL61~%&4UVUw4vg3ZZITXUnMf;dZ{JqrR`UUpCjWn1mMUVdb3N6Zrp20Lvd9TxJjV)grX< zOPx}5un1HWIICFO!xth!3>clobV&@55$i?aD^yd_-$qFi}tjwV#NshpCVr2XotPm##N#{ zqYN;l0_U)g79AeGYwC?`9Q2yJXv&T)G5o%Wa&O*a!DQ5pW#G(^Zx7>8<~xT5Ho5;?%yp)P}7^S)7;6!B;Tmz_T~Tz?PZ*i=zx0yae$>$*G{ z@_dCanwTKpZ_iN2JLZ8BRUC4NzU*X3GYXx%liJf5@Ds#J*Sd>$ zV%Z zuD!{wofdh-izmu(G6=<;WtsKZg%n{Gz7x^lkv)HnE6mvZ0UbyQQM%n)C8m|F5nQ`k z3%xF<1`wz(+80td41hgE#)6pKG@o51i*exnb6HkX&?2>AJFncFUu`Gg zn&&F~Bf&sD5XF5j$SgM^8%>BQuenti0&)!H!Xxr>FyiYcU=(odwVq=5d@phAoS%_b zMHO4rJB|j`3k*K z-c;RAV<@5U!Z8=}|CPCkjO&21-w0ni=2|)ZQ1Ww8Q=GBoo4Je?J}YtL`clnt?(8wh zhU1O-ThiW+)gxmsAb=x#7E(mL=*!$){>pOnDE2jr1?0Ey4jMl#Lm)_xf~VuRj6@(% zcwrb%mMb|{2L$ZO=qD1xgLSFz!n(~!^0nMBcj(;Ok$Ul$Xkt&ON$HVeDCjK%Zp>RY zC=ClzZ8CmAq1QMPRUJPwrMF9Ve(#y`{V^(;cE&1#Jl7Ukt?y4%Gn_e9xqg{Qz_m>; z-Y$7;ZP3y6y=>@r+x!3V#Q$G&H|)laD4Zt=yb)L*T`Wbv1o5CrS*f?FR+zE|(DH3u z7gWVSezJHn!06bGI(lm^Y9FRQ(QGRzVH%QOWTq?5n{YNU8;1*|Sj=SEqO&T~z|2hK z6H~4#FI>S}=W^5H7b{O=!3aB!@}KcIB8fQHPh|rm5MoTRr3&nNf^sCMjoNnqw3Pkl z>zQT?R8j5bbCSLV1i+o5_k~ds%(%P zs7AiXS&coji2fYQ>6PUL_A+Njcdv5FAHi(NW>Eu<_xwEgJ zLp2V#q`bE^w|aSsj!?jmtiw7t3g{a9Rn|hTo`mI&z2tf1#Y4YqzFt!fm%7anwDwo7 zO4vYim)pcF`x^hr@fh<;((b^KHw2|XXNdnPuLLAy>n?j>J?x3A*fewdlKv5=VX*TB zT<>kxu|Cgh*NLNM$pC^Y?V)E{xjd2!k^%1LSHsG1wP6HmVk6djnEL13VmeG22eK_# znjsD`zv8_hyzO8;dH6!|J$P^S7dYLpG3vepwQJ`N<5Qs*VhAJ?pqGa)6tXd^{$q$A zUxhkEzDuo)DO4{EwDm*YR=V!`iW@+Q}{rR4biP z#cLsE3XKW?zt_x)^Z1^<0l3RHrqeSk#^)PA#p1%r+95B3m`eioJvPw5*nWmIiSxl& zUBd`ySuND2+8oyH%wyj!orh1n8|a|%(q9U%>np78e$J0%Lx~;jEa14nlS7dOTymN}4>d zv1la8Zqt_78xsu$XAyLSuW8LgcUxtQ^kj*toELs=`#I`zxYyI@pYOr1z1_1MX~{v0 zz3Nb!Qs9Em&V%tUp5)#gGRb@La*sPyzlo(4wzd(4X|BHZ7SvJ%}eKQraZPpaop4SLl_p^%H>_4ZA#RZTQCJ;XMFm0-e9 zc7R2xZs>vYz1n6F5-B~<^_3;KF{;86lz~)*nEzypNv+8Ve@D!MDQH0u0F^bre1M!_ zKpl*V2NuWE@j*EWrvrbzyO0#GYXu)N^y&0U1zhP9M2~y#ZuW-S@7-<~Gs!zDY2;wQ zI~r()A7`iz$d~n>i+L zS&;X5Mc+eW=tURS$qrG?gVre(U8Mpxq$W}O5L+RfZBD_9*G&VH7&acJ*0k1&kEKLo zTaEBddxc8#9shbiXHzc{kwhZoQQ>eCxTfQ#QQQg+(TzZ<6gGY=Y~S&iL9Oh2RELaA z@Va)Bl1WL}c{Nk6L&k8SmT!0jIXt58X)+qv(`+ycZrkW6Wp&-*j)SyJLwHvR-bRGw zpwVFrD#3GA*d3B}>A~WQoxtQp;@!5PgT!n{#dj@7u*-Z1ZWA%9--~_(rBi0PCJG=N z?l$M3zSL&cxb>2fGTr26r`)_~M31-n8==HRoJgCOvk4y`Hl;$}Vw6{B@c5vfx}?7p zUzfoc(ach*zcBl+$F%qL zQ#jkIr|u1vL`zCuzWGFIK=2|3B_Qm#0OC&@h2DNYE8>SkCKdUotX1Pn)Ay9L`N)L=9cz zP0eX!OpIDy5BJkG=D27%rd{|^y2s1;t>Xve%8<6nhXvS4bWt9j^a5dNyvlHm*mEFQmhpip9tJ z991lTVs|?kQMXx@YzzGY9?jPA{(VrcQtHME>=R9$^+g6!q$XmcWe_yR?AX;6PM`Kl z?#HkDMto2f;e4~zf)3SU`uL|BqU+&rK>qi9iU)t6 z4@D#9wtW=c=w57P`mD%Eu5}i*UkyoS!kj!j9^deifw`o;PLZZlwQ0q#8jG_F)sd$hOvNx&jJIaEL8$ z3QcQ_7eg#!hYx;bVYagb+m(k{ho$+|SQc&TqCzYCM~JWpUMTYJemV|{;H#QO(6MXl zDN+9lEy*b)5_CNm+)Nv0-jCMzwBRuWy}+#dBku&L8c{sY4iTsOvm{tbkN$pC?zoaY zeto<;?<-5QVCOxEvu#GkT!z3=+XQIEjn&4<^xR6!fer+@V4FAjq0sVN;M$6x1!+Wx z-N>mUDyN&jB9C&fk=^4wDX^qnEru;%SuGFI{;`#fjnoYA@)A&^XYrD6Y%C5fIzC7| zUKc^PMz~i=*;)y2hq#=5I553RO8O9O)!|7bF^#0@*&ClziUSG@e6Sn*p$8HXQ-?Dd z$3UH7U~(kQ9d2GK!D~jE&nA$<`up|I6_{u$m1OeHP)UuPoZfKD7n)Vs8EpmZYav#P zJbHYZ2ECtCzp_-!Og|~Ur5j!#4;#%-8CkS=L#L@ErwI&S7TwkH?(^deoad(M-i*61 z_UWLu|3+>y6$y4OwJ2LLE-82SdsJ^ZzZgLl737sRo=L(sP9sfY2`$?T zfDUHba)XQccHjO%8$T-$Cl0{A>nRNk7)jR5%^a`OTjfh2<+HJ8vi>7Y3?AtGmL}ee zTtDFRs{P+_;xZoV+%VNZ|0E6=_%gpU8eD(|U=phn!(}nfF)n zeEGrspt3XXZwKABk%HWZ8r}7p(@HGocH19+x4l1nlw<$F6j0LLSUJ%k&!~5!b;^r{ z2oJTwE}w`MU7(V+CK?tjc~idtBQn!$VWPrZ!ZDlpWVpxZL?r(!%R>tW091+=3zqrp zYEB7_OmLbuW@ndWvZ+mWf3T@8lEfVc{589IR`bdEXS?<)PS-#EUC_eiX7l~&r(0$U zfCqT$E=WiS7)?CM$>{2n_dZowB_)>g47iiz`Phq@DQQyG{0V5BS*hN@_V%M*Ng3x6 zd*suSQ`;~M4Q{@o#EaDrxwfWP+!E#88Pr2IyiVfqBwQ#oK+luz=h_dH1%cbe&PQ~( zSKOy?&5vg{QCySggI5yK8h>kCxxF^xb8yOs^#=vl7Ro<1t5YOIEO5cSceWXbE{s_u za7VoS{a0gL$5Mw^OkszlA%JKULJ`3TU_Mn^Fi7p2Ht8rQwEGgxhP8R@OH`+m+Ep2v zqI4bUW7_IwG^U)wv=o{KYsbhD9K6&?Y~2%UKyx~c3%ZKye9~^d$gz=nR^rA!!I~~Y zvn)pUqe!CUJQL(^I8*z;>LH;&X`*Dyl3!h%Vk?Y(HoWou-mAnposD7(q3uyreRlzH!2KWr@E>NLo@`$Kev7eAY{m_y9#1zzOq34ql)Lp z>^_2VR_STuvQ7K9mRlj|eT+N6)_<9I_qs@vx(?CDY?&#o%TZbN`$b+K;=D?fWg(TT z*Yg{<;R{8!u)vy~h3L3n7OL2iaf$aePPU1N5c&&U^(hvo8_;#qAmjQ3k@@?xY3oS1!5`M=iMCtS!**-xAq^UZZT-7k+ zanCqt5_e$mtwewP(Ve3?X(Vx>B5mC6O?6AHTzqTtKv^_sBjuNgL@r+6L8*Hp?1CRs zk5{JEA4x{?h2Bfo=kn`l&k4>%LL=`RoG?7FaR^~E2+9VQd>g*o?O0S@yGElIQP2WrU}RDEQ+&0?20*qDVDzzE z{Eda}zXiW@$;j?}>Y8Y9??lpin$OJ1l2+|D@A5vKOCY^B66NKSp|u~%p$d!h*Tyan z+!nn-7N*z)vZjm26MM{02D5dW|AY^Yxf6}nxWs`#lZ@dILjikFQx9#C`rzG>6(Q=- zp|D^25{P@~{Yy==ZBB4PGdeu+Jd*j>=jQ+ACtXqOa2(ev)5r_QQK0++^{!pjc zEC{r+NlagNm_pR}c%P4Nw)evnKdyX^C3hSh1v&W84a0XuwO#EsuXF{ACdzX#N5x$h z5d!A@IKH@30wLHLoXMX;xaQYYO>Xv3y1PJGJYpu>#|^mLMD_Dy6|_g{RuW>FLe<oZ4wWYa#)B2w}e+#l0Nu@2(Lc*l(efCr3Y96E)dJz>NX$_hZ zMHK)2$h3Obc>GQDSozKM|E3_%#Jkv`lv;iZ;=VScwGTPrz znl-d7p>%_J-gaTuu*z4}hF3ZOlX~`Ts-hSz7e7u*C^B&CIoKGf9RpNgc`v1H>S_FE zNf^FJZ-vs5oUgX8G25_PB@iiVDb!G|PlQ{1D*tV0h$?m`o`>2j;m7bETMAnwOk~dIdm`dsv1^g1_V;Y$V?(6L_nXI}EGg1@aDAxB*TZ)N- za+1-Nz}D;@n9;+(3ZJ8yK;hFPpRfXL zFq{wuKTvl57Q-4+{MUCjw9Os9i=KUxi-}0why$#Oh359DThG)sWr7X#Z2lnp z&?&jP0VR!+CVZ>$-L_#-;Y_=&xYz3@ZbF)uCz)%>m1Hf;9c(fv)8-Mxr1(S6n&0(d z=Xm#W$FD36L!ag88tkLUvz30^nwM`2>Brm$!J%w>dPB<^2g+@arPY409{TcYobNdi z?_i^XlKc6~^coRHRPYT&uouFAu9B8p<$W(zuV9M;V9XU5kXPry+HW`*Mfk@oR$e#0 z+oex0T+c~2xqZ$xR+k@e>?8xglQZEFy*cSik)>M!@=tnKLv!ey6K4jcLJ$7oRD!H~ zSJtcuod5mil2mE;s0bseHFA!vztWC4EGg#=M*uA0{Qef^v!K;4UGi%H{kqmc!0SPo zUvk#Gg+WOEVGQGnQbtzkqdP2;s{Y??*Z+_czq#HMoG!bt2YSS0pZdFkLwfLVE_C#G ziaKtz`TLc}=gLofzr{bNmHIXZn5P8jI5qpH&xTJ_AUol$mvxZmJcM-ACSAklQmfBH z{fh+d*aVprxZxz>5pE?mi;S8$GV&U*AY_B%3`F{nwHSKnh{RE;8Yr&rfd{)6pJN(9 z7pLZfJO0X|*HJ>S<0rO$u|B0-kMLU{;S}WR&mtL+YtFNLv{@lVQS#0L5mR*g?XFjm zqs93QxuI)K39Nlro+|p%6~|%x536=&4k|;H7HWgsv|kEN?Pjo#t@%ne`bSOi22Z0e3@+eq{U@CRniMdJhChv zR_!KTX`uZXbjfbVa+1{&T*|ajOui7yQ#+X0;p5+Dj`jOzA6R{rbbZr(CI`F?te+VSkWF3HN_ z2c>3CP77DF3gfvXSCJiLxNQt4BDNuUH|Dfxei2m9%enOD*TFlflE&z1Gf(hjjVR4GI$=8W|mZ7P_v{+5v z3r(*1(qlzJ$5LF~9@Z(vSYc-dHlp;NfwnP3yG$*Nc_CWTW`(xnd{RvPJlhHyY93(T z-XmmEj9e5-goOHxL5t_|2^Z$EjL#ow1U(Sf(n?a!js06$v%c@BafMq5Ud(t7Y<_$W zed6`N1^QgnBOO!1@nWe7;>#g`7@K6PN)Jv8a4~g$XSJz4tyf&OF=Or$<)whU#UAGn zC}WNioebHtKmu$ISjg)-L}Zt9qbx0H+Q`nhc0Aj!eQ=tW{8T-=zN}e8WqzICtGIfn z8LDPctB%`m+Z175uTgxu80|iDA}20d|Ky3dIJIb|FFHXC%o`#xQBj|;&@gDj-X0g!v^SizF$NC+?!D)BtD+YayZ}r-bcFteF8kek!#f`v5 z{IjM$k;Ysj`lp1Cn^M%tn2D{X`{^&b>Jmd8sLPK|^)qs#>@*e2zi~}#pPQNq0Ur+| zK89%kk?#5ngm>m@ZHb*8vNX-9poK44-5N%7EX_c3SXfSK{9UW76uh~;+#!fVx)ruL zoeFjju8lq-u1=7~ud;0a2bHqoGS2`zbTP5K-~kB_gwACMo2M;XQ=>m5aodvLeHwI? zzwJR3@#wLP4b6A8Y=T`fq9TKu$EgU&?wW?rJ2dH~=Zq&N41jXF-otjB0V_H z9ZoZ|nv6oBw<6;(td7PRSzvgKt4Yrvdn>+Z%Y}Ex$q+_0`-UbCA3bl8O|<%UpPG ztfvXAVZ<-wkqWoH?)Ck-6)T<@bAN9n?E>ZvRt9&X$a)daSdgF^ff5swqAHld0sT@# z8!h9rsn!P}Hxt#mEbO;mO1LA+f3SWDFD&aH9kG9>fD+3ieckKbbD_73g-#p zogrUq;ObDjo#>xX;u`n5=XT*x7Nc#;_R+PoE7@gL0gw3~`}$C|VaiUb#7%!tH( ziiSRKM13An5Lkx}{bgM#j(F3#bP3@>v-j=rp&(fc+Wm^HPdveh#B{|lS`A_-3)3is ziM?U956m+;>rRq!>E(1pBzZ@S^?9T*I?bWb_W5Gvpp*>9lK7j%T6R=1YG@tXTegYP zsLK>0KjDdO7piXQyN`g;sNPWIlS@0amRA6AHR=QA10}&MT>9<3KIq)@o|dT~yHO~^ zmJk21Ixv-RBsOF9Tpc=%jviJ|X}VfFAwFmvE|b8T+9RK07Z)d!)agoF!B-;y7ch#o zuLmJtb2oTWy{+_|2Hg5x%wOfrAfNQ8`1V-MYM#@R5YnPYyhK@ZaR&FXPwnE?w2xhM zk@gRJJ?MiGd+c)Yl4IjnmNd76BNa$@t-fE$qYC+p^~epqLc{&y;}B^>ho4-O78)Hm z8{F(QLJ!|~#=3?R{kMcbE45h_2n6GPpE8e(0R)!)hf1jGj(J2Dr;Rr;i8;wWC`&Wx ze($UI(J|hfVLemEvkDLFHzj7&r{rsGpIynl12_+0V4a7=J|QEqPEMZ;jdhLqc^xS! z7tt%kF#Kh6+Fo{4Nm7w*OduyW9KJ4)U|n!{SX0LuuN+?*`jsW@ft$^p?G@tkTwXu9 z+BE`EV0mZ)o~Uf|!K$bHQR28X*lFwRejsm?&h&f24LykRJ>95gTvHIy>4z&oaU$Am z78SI5q&t<>F0Tmxobjomp#dqN>OMYfu(FK%BE**Q?~-!5g>8s0K{B=ZRKN+H_(J5+ z%9DTG@t|~aN$-Dy|=fayVivI)7SsC-eZB$K^Q!HyTm9cae6LnA zOp3iHUOD`=YyL{@A}85J(W1YTAM6~~`chtu)2y&>c%)N=a{_X@)NuY|ybkdpAyvYgyj8otIj|6hw+B@>9Dg9DoFjbRCo$ zj%6N88uch|fq@xE>P+JUV}vZ+NwT9zzV@w6e&graWgWb2u2_jlbIP#Fv|%W{chuvg zdJMCSD@SUEDQ_yDX*pkr1gXT9M&(yU=8|an#KkW646!ljfOHQ^2C2VtHR|+gSrqZ% zB;ip|h_H>y*v^K~HlFY!>x0y}PG@RlvAc;z<*>LhLeIpg)(}e~619%*M^29R4M|s; zxo`&Lga}wVS!CgsO+dZ%CndJlHATTKH3}#ozT!a>^YpW1EFH_$rrE3+D+T&#HFUe~ zF}w9X$aibHD|T0C*dlv0H{Rw8BsZSIA?H#G5Vnt=y`Xtm{+xv^YapjxGA>vwOveG^5mlOkr?Rd@hV9IYk~D zTxD0x3hLjmmA~x>Ie3T7#}4X;b_IvrdL~&ABoq^{0Prl#b@dp)WTm-Tn_wRIOIfPm z^Md>A=gi#!j<%k;3-J`4-b^Opy{YZ}z~c~Eh=9+iN!v+X(fP#lspu*91O|xDuihO4 zG3XTp^sxjO{<(MBb2qBP1_cNYbxsEiET_FnVC}YyrX!n6RK@pp0BTUL&9|%I7)~Ce zDK~#UeA$1+A_ht=T+DhEDp(O>J$=Y;-%)c909DiG{rG#=&2qZ*>DuAC zt8B6L{jma{8DR4k=1mSsp)lI&Q0G<1oWx=wqHk9X<-FzdHnuD<5F5ayVjV*wSvG@V zW>avWGRWZkvC<0)Zea2@RUXFsl=c4_dER+G_^AD(aWjEA@`vT#<|QwH;E^A*)7eiq!(!k z5(|T1Vmilc#|lxLY=C_?4~woF zcZ6-fi+Nq{^{TC*HP$JqN(CwbWQv9OE;X6P`|^WAP$vLeUxIt08E_Og7L+*+D|p!1 zUJQHMWY)moZR9jINeeX4`*Z(q=%}W~@J+!R>o|VjB~-L5=Sr;jJ^xQslvqA4RtO~A zQ=$SB$VyG#nj?*ady~bdv~f{AGh2@S^Nqu~P7&cav3D$-@2`IMKmG^tGNHl6qpLRX zjwK|d`egw-!Ma{Du!L4j19`8R=zKr|>B$9;Mo**bt5kY)p1Vs@bkyl04R@0E!jPT` z(XFN0?0+*LmG3n_S^LI-r2Uft`H)5gs{%KC8<9u?GVZ38R-y{ezp_~G_{~e|bQiN7 zfW-Wc7{S7?cIE}#ELdzRAAD=+e{B5%@0YI}er0)DG##h^_}pyA<8MFmfBpDj%=g#& zSgW0gcYWC|!HVd>%C{}~A0t?^Y`(LCT_f6}r>TZy zs5wak_+gP0b_d1ll^^vAz28!pf!J`%LX;V?x!R0~4bQKCnoNb#0@$(w-tUiA9bPsB zjj|g+WDVa8%HK?M9&}0MULrU37kGtDYxkRr>Z+8>c&KCQ?qnQsQxK&7LU`@}w7{86vLH)Z{1=6bE+OWBs0B9lBC zI`s~!P4^4&!_Cu-vgSR+4t>xasmzXB40ht|6!A%_l8I@7xi1ET><6`fk(yhn)CZ3hMtc62-!Dfl*w>f0#8ScD6*% z)tA+4mI@tn1he)lg~%vv#`3+5zNC5%{B-S^f(a7|AIY9={UZ70j8-G*iFuOWB=AtsVt^NJFGk45%QP9+8%M6ACicN zl6&9o5(-H;4hEjYb3l0+oYw{ncE;GRRmah_HdYWt628eHX=C9T`t~gb3SUrZJkoy- zn9GY*-)mRn&itsg6>oJs)BGm-E%&9G?wG9|WjnO$Q2-$~j#y>FGqfLPJQnN`Jnd^* z0)<*WHYxn3Sw>55X^(ad@<+z+3O}kTU zCCPavdK3a>5`mowb-yk9%W(9xFdxz~;o1<|w8wjsde8UFKA4GdWhgH;0L33uS;GXw zV8IVzC^j?Q(n{T+tCc2iH$FI0Z-oE4+I5iDu#Om4u8x-$|gl_bFQ1^oH z`X!dgT1M=5dGwV;UzIDp>ay*Vh>mMTT$30qk9^x1yvQ1q0|~|1dE_P&!Mu?)>@tE) zZ-cVz@*ahcd+(i;;~A?6=7~g{;FRf6Ta8yzK{k={iIdJVod%83#p}81RVeWUh?yyf z^X&qlE!&jrN#5J_k=pd>ntzKQ1Ln?WYg0e18FL5su#KvAr9XV>J8a|>Y3Yclj~_To z0l80;GeHs(lL&1j1I)=*@a16=aTj&bb0L+NsVc#O0th$?&)F3^Rsn8Gv46y&@m%;^ z_|jt*IP<$*QDD)|B_q2l*ge5~S?;Lq{xv)1NiU=?*)ZN%Xzu{XUHXl@d?Rask?c5i zYR5hzi}mF<(!^JmfF%Gmd3bhdefOrbgO|<0d1>VJxH4tCc|xw|!+8e4g!?qMseH`+ z^Yc(4>~$f#U$j~#ad}O$I4#UKA(4=`kYMRqVs3uFmA3t5RBFo4hL^g}Olo-1<&Rcy zf3oD1erxf65A5mZ#n#G~YJz7bB`rurjwAWYg+`4_0FZ3|P^4Dwm+J#-D|R!|7c)aj zf3{uHvCE1@q;2gi7HsvXLbM=(WlBO4alCy@sJGTC2h#|o;JOo}KzU<3--OCVV{QC& zESfS>GF_fT@I{n`H!^|&kxiR7RW8t^U@m`XJw zjI7SvF8MqYPUjcIx%FRPNM#zfyR@OVk8Q@^Qqf8t%7gz+A2J7 z$eTu(#4uIo=aP2R%Ekxc5(@UVu88v&*6(1=#4i_}h&!YMI|j`a9?AKI_dATa`K9W3 zrf-M4ZkOx7(8G5k&F}8d#KH3V#)23Y%WQ1y0GH_Y8Dip86V4YCmD%k^G} z3g2P@gc(v|Hjiwz*}g2kWG&xBnryKP?|5QB9wIS84?#)hrKPROpRSSELZn_LdTTg(w74W5pMc4g-HDGLaa3Hp^Q(eUXpgp~?sij1{u)nY}Q&%K%IRE9KLc3F38S z9D|b|&AkKYk#l^5yJr}HlmKdS)=xAl55C|}56jchC2;Q8Zw5o|AXRwufyBa}2qxNyLNn_!_l-X(Io#<`Rea#umZT0$|zK2S;Yc zV2OrmYz9o4zf)6S2yb;^riaA3ufHv3atbqa*a=aPMlVE#o%WI~I*fTg`*K0|TD%S* zqui}VbOD+;&mukIcK$vnyjQ`=LusL5jC^E)PRcM?;1X%=S(FLc>w#_S-K&H~UU1N~ z{&XNNRiSgmMndFTNx_EkF!>E#d!Lhyb75d4oZM3g4gAL#Ag$oCTs~UgxqBlNy{i_-aWM7z*G_3S(&s1YDli9{fr7zG{A=>vkAhZk}N1^-uj-yPRfn)M&Xacn4qG^JQT zLFq`9>PQnQ8Aw9tNQY3At`xB%1OX9g0fK}Q5(o$wdXe5iO6a}!-i!0Q>N@i7?#%9Q z-P!m3>?D7Xklft+oRfQ>d!BQ?=lex+33`a*}RpRl8^sQq5s1A0dpARRAPGX>xQAstA-FpGC z9@^fliX+OkR*%_-52VI`Kzg$8e&h5zkZ7~@vO{mFo>NaiCGAm{Y67f#pN#GHXBk_e zV?3xCpVUh){DP+MuJCm%PJUN`!(kxA zO)mkEn`R?&ck!U3Rv2pY&tl>{^$Vd}+ir37lbT#CSjw)XH)}|5P6^MvA0VwiowNk9 zyp}#Ox3$p}-V1H5v~qxg*N>nB?|;LJ|1)pz$E0x7P~_h53hk5_#Qg%&)6d*^zn8yP z<5(0k{zM9N+V1f04f?IV->krpXB7V)Oyx58Vhv(Gray2NQv(d3?h_~Ep zvx^c12-KjL5(8A~n{KK`TV$<#ce79nl&o6@@v>cJORsDZin!{DD?L@|Y)(^D|FX!F zuJ0i%&tD0chpL1bI~GZzTDbQ~nHIuV1TU|9Xa3wVfU%X`dg5HPfr$3Ka(#YE^n#q@ z1%GD}b@k{l9>qBg#bw`$>aFk1A%(Ls>l65MVU1YtSj|IMy^a{Wq`-z+2yI0DLW>YE zZ4X;_E&pAmx=bd$IdlMHmHA#P<3a!pi-%COn0s&&hb{cZOqyt~;ytYIPK~0_QW>r9 zW|~%KAau7wXu2yi>a=ra)?w2SoFe!FZEr(pg;GA#G@WnUsY+q#jgxoe??)2Uw(-K& zl|#hF=4^2b4d}Rk$#X{-{_Sepq70a3#6MMjX$Dt2-{DudU8GA`pVGD`L_3Ejrn;(f z`wcku;**zgU||?!eJnHCCZjj20csjcI zuG#@P4>gL`)JPTZ^(*dvQEmN+7Rr}Vh2t~H`SY-8xsQ~ICso6%t()wF?7ZM= z+gO0S?Y`jq>0Gaech+@=j@cb6UA4u&&MFPce&)=zZOGO^Xmm-1E#TffFp_?fZRaN> zpKqTaz$oV|2Lh!4R~`lU-o#8#xC~?JfbOf7;{%d=?v95>U_CPqsGnk(&+-AFZ$$nk zexn*B^(lw@_b*l{N*S}{@~{~@me;MH%fM+_H-I8=VYT*nM|R?^zDNNcslwTZ2&*Xq z?d-Is64$A9K%iAQY73c*AprH|)?QnZqXwy^wq_80gzlw08;mZ^B-l?6>63)3prdl7 zHrF&U-lp$fGM6cL#f#hw7D10VqZ8SyeUbtds>kFU*rHHVX><#rGjSmTQc5Dq=$=}B ztz>3j)O=--_+p>H7O}KL0Flp;rAdg_dG!cOb!+r>fGN<^&NXZLG+?704g|Zf({KA% zbcO7BGOXFz>Z2ge+0glwwvcS3?@+LF_4tCof@W%fHB4CTs88YbysK_ZQs|zVOXb#b z4X&44B7BFc0%O3knji-17obBnoyA>zk7dM*r|G^=9-~_fL+5aF|I| z&Pb`Ken~NpDqat&$_2a zs;Kd|mp>N$^v-I7192+O8sDmTs<-BuxeRE^gtJR9Bt+yDIs%Wc!%t7k5CGaY>2z!c5G)MPujY`tYG1m+!`shw<{onMvPHb_)A3LW8YE!8s6 zaYi$RjK4hU&1#);jO!k0BgkjW@FXCVcKi8_P?d-17T@IbgY5y2`>mOYM~l|qPR4N3 z6?B=0tQ5)f@EbAdlA2sTb{sel$FX z^}0$6=ZYe6`)^wnv;jqnygMW+&bSaLSUtodYq>X*<}s4pIzL~(Th0nQAst!-+;n(4 zE_k}}Q&sxG+ef(Jwt*(ne7iGV9aFUhv8jYC&DLH5F}MZRa z*IzE<`b?s8R_tO#HFO+8yw21uOxt-4C!SZDGuFH9FA#?tcy8}Gy*(}G03kFE@o1C= zwB9@2c-7UpPt|FvS)vLFla~x{#y4eh3VM`|ivR^0%}8uUcwjY%PH6D&pUNN#<49_o zwG9gIV8JDQ`uX$4@1mbkrcX{YirTB8FKvl&t^wL6glfgT=OXv?S}J@41XO{m^v!OA zgYZ-@T$3Hhj*5tW>T7Sya6Gf-HS`SH$rIgvKcu{BFwoQR)xC)%(5d;<-#GfeNsZR|Pze z@eQcP;nOnypE2;aw%K{#4C_s{nrow7hQeSstIr{YNG&(UJ`yUDVCp|^(zqKPM;9u% z4o~w{e)39DARhXKfi6K9Mq5e9QhsI7nEq>&ptQ>5fn@*@+-MDJIKFkl%nvel~Hk{L(<|c=**P| zz<3XY+A7U@RLLBa*;N&f*vHin0@;X7YbbUd*roI0#_NGBq)mUzynp(A={6|Lm9yL3 z`JiM7kRZx9Z0w&0^f>}rUmO4^jrCAEjbOZ}M{upgywk`uGn0jB(7UmTR65Hqb@^n2 zOa5xvoab#em5+AuD==moaf>Rv%Ibk0$6|dMUuhR!v&yzqAI{}4oe8OKN` znhkFmVu!BYH*FTDKJim}Ws_>H3d@GJZ<2a==8xqa^&Lyjbexmp*PT zS0*lFZw$`s(q$IQ8x^_w1h(`BYNAuOMx-q#K?mbUKN&|se^0*9G$n=+SA^4qs~Z>tv}pyvZ7+PQJ0!Adv?+Ljw#T$WNG?C&;VgQ13^Aqg zArvC)KHmy=MftTSIiwW7%XxMs-4lrNkcv=vZz2%o<@!bgQ6AtTIOoQTta@CX#1HC& z)^yUeV$^`A()bn+kQxXV-K z3O!#qdmU8wdaB%hfBDGrvmJ~Ki}aM@&lInQ2EWxYhg`b2&RuLwaSGW0=!)syNCo%m zji-k2O_>S8w{;NnE9!0}Dt6=WcI|M=zwFi zs^y+T9&|D@ep&ao&t`k&^18O}zJK=m08hy`kL5%{W~!3jN*%uyAP}_JHJJ?v1X;$E zKrq|hX(NRY=VH!PVKBQfo3^RZooxH;sj|*bWaO^;PetzPk}4&qDppU-9`iuVHjJpW0Ys5wXh$Q;ORylD8`_lm5} z_}uqexKar)k4Nmry#di?pZjFmQTHYpgWi%&lFN2);tRX2ed}<_&A~0NvpcYX3V6{q zikWY{H&g8VZrWk=Q`#Z#W7Ak=hYBtYaNhsUHpF#Y2Tgm{=t zcOO2!u*in6TNLO_+^z&W20II5?NAvJK%Y%vhi7f!ji(G;qt}%)wvOMMzj7&g&1nJe zE}lQpmy(A*P;$zPmp|kqL6t~r&)kc6b?lH-AMda0U#Ue(j`uEe&E`JYc0xY>tl}6D zNb?`s^bH&QHwWHS@S{V1?Ly@)vzMP)_Q4$T)Vkg7Mz)X509i9t7#v3pUG}5ubhk)& zmvc`LLa)xnx6vu|`jMvPG^eP&qWxbre%#CK;`yJAA1s+{%a5vFekKHG{z3>&a#oWY zaGR-;Yi4YlMsOHluYt-U+JV_w%tNZ+BHl*(qp-ctEa;HmyHCFx#eUFZ&3-(jVS1%r z-5B4x2e3BkJFW#X&HdfH_&+`iC}xJ3FMCvpp?aR&>0>16rDkTK(Na$G4y*Vyh&uHr zmvCW_sW4h~Kt0xH&Z#eKnK4_^e$|Qirr`|Z+hhdq8qZL&^CukoHs@VbfI&RZbtLj- zk387!H8ubp8pcILgO+ z)2KHsjPJDz{2Z3Gq#S-WAgqqg56bb>A8*_D&qR7fpx+*PVkpKT^1%=8WADE8 zc%e)uY?i~jKlFB1yjAr?)<}nTUNpyPYxPTP^Bpv`uBzOlS%jUq7^E%X*4XM@$fT5U56 z_*MKGK>r$Q*HPnt{=Ep3#r+q>E4wQ91AP0=2pb;Wn4fXGb%3t>i#7iqx|n~;H9q(x zK+a(G+(m=39mz!T^2@034BxZ2(!mMepUl*3Zx=;M1Ok4*qYI~jz9b0!O-~n`46NIV~-OSxhL1zRXd>ZY4E~KWQh5@25Ka@S-=RIE^WoTP+ z*Vvy#w{iKU$l|<-h4QG|nlOO`P&)FYab9UGd3Beu@8RMM-7SpyYHKd_S%^gOlaOxb z-20|-YEQ)GE8PL(hiEJBVgTc{yy!s-|fMda^?AkoK68JM$#oDRyCO> z?)vQURIgc0FQ5g-10H~M)IK}lpZd-I*Eag@fCB*1<9Xv+0{M^=b77xYj7!si?E1pS z#l~$f)Q_tmvz&9^ILHIiB}Vzietjoc-n_5Vw$Ev-MOd<_>TLn!O`geZQOZUDcj3jk zt7pU7atwk@&|}geqB`XW);1{KUd|x85-6VE6P|*Jxs>im@-n>56iatL5aF74osjtx zt9@d;gM9=92Piq-i;0Ra5V#FbSvKkxVX%-kvY4V&x&Ja}M_{;hDaO^~!FP4B5B_4w z<%Ru)s{H-!$$}$~$9BEu;Qx%m*+2Hnw1k9dNRwpd(HJWE;^UaW&ozBIaXz4?@0#|p zrq76#defQOiC&X`mIA%fuE#5w@sR=tuEZAhk$)-%u4Ka`Jqkb}GuFc>HIg}U+pJ*D zDGC_wHO?q?2CO|g0oSkkh2TmzL*lOpuGa5G?u9lW%Cb-rbOGL+T%O-^f1=L1a;Y07 zoP=IJ{rZ&Mj;er)yijEj2qg8{BFE@BDWj!@cXTny8W=z4Zo&4mXLc#Hw~3sWYSK&f z9LKoUdt@H3yZ|^j?)+mP{N5G^l5K{9Hkg;|PjOoYB5Q8<0m8?^PUC|ej~R;t*5nbc zIcbBq(Z-;Zj631FIWwz6vkF9*xSZGh4wp`4i!i;JxW;|(W42saH z_I6%C@0n;=a@{rD#ZNw?#5z7hI|&o_Iu=+Iw=Ib($TLBJ+H8T3x6xC5yKEVu_2K%BGI+7jDH-^S?m0}-KE9ix@?ZY_MJt9u9& zzQrWZSVqdE9(2qn>08`Eku_$ZGfdf2Mc;e;*(qOjy*;z&2B403WcNZ^D-O4k>e~Y7 zef>=xk;UJ|O|P@^tjnoS6a{YPg>$Z7C!hJFOQgyg zOcA)zd5Pyuysf?j&ah?cOrf14(IL&#y|Ua0ZpiEGc|7wTUBR=1^mjWnx3Q^i`EgI& z+^$hvzxKsM+L6dNb*iY%7PL8+Y2c5&TH|RN2`Z>CW>{#~Df;a1CrBTx!VCR;48l-K zqE3n;`uEB=TIAe3>e>y{CB~U2##k$y2W<^}`c!qmXqm3^Ydb|fW)?2SzdAlEjGY-9xW+6xOS zoQ*9BewCGrfWiamw$7Ak;%7Do+#B7iDIbMMOU`T;Us`GU86?oB_hooj@3+3Mk#5?Y z3KG^EeS33FZb4YRw)o2BHYx@tqe>HIru(HD)tx_aah7{Uq)t=5U=orF4pLVUlv+6mZ4eY9 zRf0eoUk?7SJfF#;DeWk@?Q7eqd_tW7tDTatni^I+ysxJg`%(*C&LrjeZs=_TC0st= zhwnYBI?zw>i5cVWl44B>yr7SUP_3@-;X^9ynteI$?vJHXn>O);kj|bSIy*b3eesnh zcgQ+~ z?@*+eKe+-mOXR^m#ZO&Kho}3i5p`TK=QCqC@s`$B=5a}OtB}e`bo6?z5OnL6!dQNr zW7c$BDm(4Vu<5_ifw4!)A12yOQMD{OjlR%9QG0W^wtH3$##q@2}Wt`WW$zOtKOO^ zVeffN6XBg3ejlxA@9$Sa(&5t$*37IZD6~uvCebPoDiwqK8kc~Il3jo>80yqiM(h`{ zs?NW!Ft#g#GYL@n$w8s5AEA@q(`r@9o;EDNAh(dZlGm6;@l;Syylyh(%*pm2D#WaT z;J7kqZ*A?tfyx_yvFkft2VdC>x#ulCY+yEG=!gY_WfvZZ^H#6#a!8|2V|&iYY<>qe zYMr^~1BC4KFs)O*_`+NI8$?M&!z%d9Q^;vei`ksOS{CHoc)E*;Gqe(IYwX2$1H^ak z+P8S_2l>1KeV4REqV8o=TyjdtM_n`0@~>sM1D(EjC-0@8uAkf+3%q0>uT>T9@% znCRj)G%$%f9R^HwB?O@SsRT6O{#wh^Xz1P& zi09a$$}GMyu=RmeMqX|{kTLCvJ-UyLFax55+kA1<|Ly0)G_{J9{*|Y$#Of6E%n`Y* z^QXIX@GiP4&XvJ3WT8G$8jR7E3p>@DBjB~VQ0&bi`W|IE z<15O|a<~0C8fa*w8_Wzr2Lx6ozs+pdy%#Q?E)FKQ6$K8m${ZQm(!S^*#o&@*7YgC< zWJvf0)I79#!@(xIZuTdXSYy{Cev){NwtWa=nkGKuaI4?g{pjP?&akaK*fEO;5&FZ@}#KU z8}UH^fp08^WyLn-i0FA&?R@cxqy8Jsvkp6rYFqE>r!91h4FxUe zxk|?w2ymuheBn-^KmmwO`1RK#{Qti?oh>U$2+H2$ejrG zO6VJ3oN_p$QX!C%$$yHeE0p~??-^k{u60DPi`nd)2z}SYJff|Bw4&{3525j*ZRlxn zt0}!GbLg~(Z*#xJ#LL}XKyX5#+Q>g0NGAfsPjU#Lz$Z5;yKV%7l7NZ0K8`Chc<6Ge z))2ErDv+hv>)BuJn#h-x>K7UGpln`As~FC5CP>^-03;5skw z9E(yI zw-HQ$$5PWlvm~F?Bun2gTVtn<9iPZiPLOXQ0_u|pm_)+Dyl5LyqGkXl=3S;MDREd^ zH?lMD;ZlFs%l6W=Wp`T| zq|a2i=qMBN;?x|_i9+slkXT3ot_@dlEOcJ=a8avGL-cDR4NXlx_-OIv*$p>iD@%Gh z|Em%i-5Yw_^(;u>^t(z8Pd7ZNSz6Jt=o;05xf@cqfD(#AZ9H*{*UnZLw=U5)ci_Yp zHu3GM_~gs2=ECN@8|Pp(iES_zdziSpIY;NycM*F8zk#QyvlnC<1KKMVN*kzNo}EyX zP}FI9cyHoGj84q7EJ)?U*H5gCH-^lg)ljX(MaQKq@<}e!%s}>T+&U7|-C4M)9lI>M zJ2_`#u*>~^>-+~N$G6VtgA?fMo(L}-C57OQE<^D#A?X`l(JWsN>JpIou3)7aOaQN) zf57hbb^pY4_r*-v(PvxDjm_Vy^MBv;b^k6|eD~=sJ%E&z_|nuSYxZ+Rb(mxim&hz?zB(^dI0ctn{84=1oDP=%YF_qm(XOMZ}C= z{StS2q2XHdT=C!pfDUFsm~s}?CCZs$hhZWeWbTOE6;I|3JE$mq5ehXx2+f-e;!%^S zOVRO}4hvjP;`B8(p4#$Wl9f}UZmgmeQtsQ^qINzrZ9voDzPpWBduuMm?Ix8Io0mqs zDZy6OiEm-KLjA7Fxc*|FJ!;`y2FrPIPCm0k>4G#V0`@r)SDzx^bo#WT;*>sYkHp^G z3_fnS=sBN!!q{D2HDgR}Ex--o&1F!ru-WXUUW4ZZ9vHOIozt-|Pg_Jm(@O#tdtt%v zDgw}1qTDckVYogM+uf-&780od{_LcPVXnxmU>$e3g-~)5pd}l?*<;N~M}woA4T_Oo zs5WhNix?h>2&-8)dzLFB*fPe#G|bVI8Z;Sm{m5@jK%Brdh43KHQ{-9v@7%e`_qacG z1R&~xuGIrab#@0I8p69;t|?g~NX71PiSlwDX@>N9tj@XWH1Q$p(yEaj4k9YbC=yLo zVV}ILwarb!lGL(9;C6weX>9Fo%)8T4=AL2SY4ym}kWz8c3)&nw2kW?awmS@eXSMK^c%+hi<$R&`0;>@u<_!RR%F({tBt|bO$k;tM8E%DR!m5^`a^wTX!xm z!Y4I^TE<_YZFs^GC56MM9b&!XkU~2-n9vs`BjO@mGfP5a<}RixADoV@-RR{(JfAp| zXa5qQj_)9-Q`e;_-S6vTyBXDEmBnbkfv+@crH1KFC%Vct>4D{%RMh69jWi!bhViPp zuH?6S^xhUJeh4w258g9xs2Z0&_G`4*vH(QKRGJkQZyTekmVP(*#gPMK^77#?3l#G5 zVe(J0xI!JNNp~X&H{fa23VEnj5?3BxmAo=vW{({5PuDM_QKS!;Rk-%*XQ^&%a-Tbz zFf|we_E7C+OK__!n{Z7=B8aqAdL%V;O~k6Kw~cM)Qw2+7ANz6cEGhnwP}|KGx#sMn ziKzsC8Ag#bhP3OG{xkaAVXsRwx@^T9T9u8{bzi^EeqY{cHTBx~idcB`VIOZRe|?W! zQm2SJYvzj~)(WQSj~$V_Y;k+mq=`cdXT7)J(g zU_Rd@)>gqRt*ON8N6K7AJ0CUs0D_IW){&WsD&8?TKSlI;IAQKH;C$6|S0mk!-3 z?s&H1cXJz9a{hyy9U|w>zGnXZY?(z{E#=_A!@4uK@Riz+?-Z0)^uG*!>HpR?c$;(0 zy$|c9%Fs{a5FFY! zcMRpN9UftPmomNz{2i|kJ})^04s#4~gTY|#6B#A|4o2V6JnMe{Pfy3!+Q)RKV`?SX zfP2Vwg|9b`4_689ut3DsR8=}UVR^MBJtln{qJ16Ln407}7psdUA<2!6)l7wxDzyb# zqiUCrrXo9>SW}0m;$ZF9JSH9;O}dbP_r4k%;l~_Q-R5XOQl-QDm8e6!pE|*X)Cgz1 zUJR}5iVC_qs~4g2jPKL5o<$>X9DHTYTaqjB9It<;Of97p26kELk&S=VI5fw%CNrIj z8@_65!CvT~QuJ(mmde-d>I^5bW<@2bxYtyE+N|1M;z+bss#UffS3nM4s#QR`{PJ%k znB9RabR{{SC&%;Tc>YVF=T8yO?<*z6$x@^ELO>Ik>U z@!Epp4rUXyaG3FQ5_3lhi=NVPF6L-!8klQG`2^>k$qV^9?L@|Q3@aeK9YuW%&O5`X zftpP%?<+BUZf8ba3$VJU<^kwbyGfr8!XAj8WuKIduuXkk)Kyd`@5mzoxue_So2xb{ zaub)w!0OzHLMp_P+AknleRbIJ_`}ik^WB)eT%v<;qKQ&KPKcEG_|GHE5f#Bh9=g}o z*;k_Fb=voavuO2C-so#?P9$__;wSSMl^k=LzPq(smMKFuq9>*3`r2*55k}czKk&SY zJ;0>E7OEjI+^FVpz>yG&J!}$5K%N%MLSdqbDgGWeQ%yo7Z{mvt*&~}}?p0-a1^1do zW*X=V=+l(48*>J#1xansbfyie9&)fT2&#SFfWK&0KxeZc58Z}r{aSIEG6aedvV#Wh zqcTWxo$^a1l$>bzb0iw}O-%oza!=0x1Nr|S0I;V^IUJ!(ha8Y{F3r;{Q3W3pjo}W^ zr%rm(n6+$O*JSP5Q0b_&Db#M(?^-+c7962;ESO2a%v*`ePUPqj>jgi?s*ByZ>MNGG zz6+Mo^_GP!wbs~!FiHHH08=D${w+rp)z0TI0lR>R2;XQ4R(98oDXM__djPda_)&4j zoY>%#`syF4MR+${zknB)@VRb{r4)W2aiDJp7hUeqUnp#o5u661G0J?07MM`ji@tK92=ZY7%VMRUbclo722vVsH&cFGjaV% z*9Og~CKn2cM`O}XkZO~y@{-kc1;sT)@po(pYDfJN^SFY9Ag>r8K6l2R(d%$>p9*bO zcFcxlJ0K9@&9iRqb?wnNqaaDoJ4b?Bxfa$IQcE_GQ{KAl__s-IDG!s=2IG1I<(9ZQ zMz2^FGJ0ZJ8$W>4Y4sy>O)H?_O>?L4S>NbZmKBYuE8b5gP*I5h>UDrUV2ZcT6kmt6npfpL8U zBqd+X@Ihv%QBvv9$W5z2uwIkR(hJbthOc)O2i16oldb5^Gs*}NMh|&g>+y{C;zx>{ z7;74m*ouQ4Mgl9}TSA!TuuYK0vz#4lFzW7OzqOws4zA7#8$0Z z9Sv^0(@NVPP(-I_7cI~%Z8g~vLm??}h<%(n32k+!$fEa>v15p_cUEt02*O#|psFgZ z7+Y=K_bYfXY^z(mw|l&N;uS1jyCV;O|I%**5tGQd8*=W3oV)q6=5El0uwZllmuyS) z)(zZlOGso(5FR^G1h@YM1fKu^y$D=q$}+AsycOUk_QFwLY2sOuwjMdkefsI8K4E=b z;!AmOVQVQea=E%t6~R}V$7&C~-nE?1%l`o~=x6ssS|4smtPFo{Pk`yAX>%f6ouLD6YwXDwc7N5o=L(pM2QTo1N$7@WCKJ=HD;we^&B z(rnFMLPgPi;GtOzn0tKh>Y^~dh_T)(fLC0kPv(+~ZSIukB_|p{9$r@xWsVsBd0MUA0QMEZsPJhBZoF?0F08Wvmy6 zRz$>Ht5$1M@#FUlFF4fJ8Wj*-Z5A~{wjuNTN`Ci1$Gymlt%56C$bavq7COC#qK$vIVWUYVR*C)XFqH5PK6 ziCk+V*Bi+-S90B%TzeutxHUesA);PZUnYZdKFj-8NG)d`SJ0h|T`t=Iy`+VOnZ~(e}WXUI|#W zn*s<~1Z4Xh)t7RWE)7|pk;V9$H6PJF@%09VbPiNq<24)j!Beq>-y|aUaP+=<8=GV% z(=an*W)oNXCqX1JIqZw2yQ(iIu1p^$2zM=DzEM_6?-^WJx(B7lsE^?Nu!wyxaiTwO zCDMxi*3S=3IP4}It!sqF+^zY9(0kidbgd!PxEM6Ik_6Q8?iDgmrr_4Qb$uMgD@_O! zrpC-32p$*a_-0L#lGYYlph50hAGDQ-;D6T~$miYs&Hal|JWvliO0pAX4 z>k>{pU#?&D&o61oJMoo21`zsvXVavl{B$7P-_4jVTzOZiD_n0r=!C(=JmS<$P_9VM zUyAPgOE!ykvOWAg9%bTzx5D^@27SyMv|;m>@8wwAP69+DN~IpAGZ!9o_Tx-^6su!s zEAqlE?J4zqpkN$F=qIO{&dQwEMJ3#~7!z%<7*vcy@rEQ2gG%jVZlG}-L9k;3NyCoT z5EWMSJ*-~=7*c$KL7bFJ@*JMgxNm2*!*JL@uZ^?o4KWC_FE--zUEDEj_hzt8!fx*n z&ohyemd!QjDLlGEEr==imUd1t2mEo*3^wt^>f&lf;q`@+`TfVizc`qqy7X8NxNcAd zg_*aJ=LkBzIh#}P#Hqh=&%Hz5rMTG(isF^ybR%b>aw3-@faDTJa4Wex^Ou~?B{v&kzyGY1NTNe zc9%q}>bHsf8j{j3y9-NS>Y7~Aku>?=;&KXSq3iqRj0$inqd?}C0n5D7$Z^r{m?EVK z&p1aTn3Lu{jvVU2YHxgM@7nJUlxy*CV}zEKJzAC?kvWv|)j3!qvhJE0dXpiL$xo4M zvnc+2Cz8#~Ravg{orVpsjUmP>1YP^a28q(;^ga3{*i^&})@&~;J-yV?G%Y6Tbnc<^ znc|sKxdNssRV{`w--0?fE+L~(9r>)$1Lo~JzGlRI0VL_M;?8&qY#2B}rEG+40bC-u z)>)WiH8>i0<;_@6uzH#vmC!oi7&Up6Fm7Vw-N%-?p%nz46?=^**(6`>UE4(T6K^J9 z5I-=E{N@AI0}84(%2L&I3hg#B0u_!pdM*O>`@bkCI38Ma61@}q%rp_^pkxyj28m|U#BKa+RSprpj zn>mwpj(SeYaN?Z1L)hExToybov@Q%TR4$6U)TKek!Qw6XLrF_3%$>o#qsSCQNu}8Q^ z>PmG&SQB}klA~Uld;D~sFC`H-@i0-Q=XsBB52L=mzPP^d$nLiXBPZWB^vS-OJn{W} z`tIAqice+v316SCyRHkZ^RF|nGv180en^zfJ-lbzYkT*H_>a&ZWOiq2f0g|r9G$nPv3DGk`E(c@Gt|H4AQKCVg9Z70nE9glyK;2-wT)ep zEppgtczby0m&=Iy&y5FH9T#&@RmGKSQ9@CIxIghT$5Z?6lo&aB<^6;kQ{e#9?gaXAK_S26q~_8wb5|ptj?Zm^5?i_&Szs&SaKuTi=H{b-8QKFx~yaIb2qC7 zGf!knzww}h`BBQv)R2@%npG*4DSi^=5|NSuVpE`_rgV#K+e~X%NBum9 zi^#eUuO4gn68E})SP?`RJvZWhAy{cwvR*k_zWj{t#n=l()yIkBDUI^{${MG~KMsHN zmrcK#atfWSnXnqypL|)Wx;4G^_9$&rR)tcnC3O+D~>fzUb(#S z!ca7`X##%`6iBE@Iu!fK|Af+$Ye#-6O+M837CsRn$t@B)qEW&avKjhwk+$1h@}DI> z3;z~$Gg!?RdGO40{9B0;6DMh`ZtEK3hN#ED_y=b@Plw}kL~-@LJ!>TlTk#gDp0@)^`UbG8)W|K1qL#j%)if0+h72Er* zo=+3;5tY%N8!YPSnH+eS&$r}Se40OL*QR|d^i5Dl;9Vm8#b&u@FC{eGS$*nh(ig@L zegaELCbz)13i!^-qN+B3X@By6aW&ku_hZRX0B-1DqHfIp!VCQV>f7{E>eAaKZG%{& zmyIDcxo-Va6}n?4-<=D`%VNs3YKy?WZKoY1w2TH$$7Q0H3(-AIJs0{R`i~1{K=Yv5 zT4^)zH0>urDkNKm(tw9g2O{uH$mBG8RBpx5O&TAk4C;&tH zwm;mAO-+>#@iF+FQ}JsuvmxQA5=k^U_H5-zm7}7i{{*J!zzLPxIPWHc(Z#$xfO#IouY3vV z-A>vtntl;`zI-(GP6AbVD!^iRbE;u7O{T*wy?WjM@Sq~wex(RpWD2A3`m|tu-al2v zGreBl-#G2ddp1x|hYL|er1@t#Hy#9Z1Vw~~kQMk>UHJOv`K;`!-j993+Nl6T1)~<* zhwJl9Ya_CTGWF#oy-bF;;J)8^Kj&SO;|1kW{XE*1imke zxr%R?2>X1xvK})UtLncPx*$U=)t{Zi4uUR2r&;9{Gp`bl*G^W}Ow~+B{VOge4+PJr zE&|d6Fhvbp-d_=#JsJ9O2g3x3_2vT(26N^h9~I4tVhvk_cmY$uRWOZ>a!ob%6FkNV zklYzH2441y{!ln3Mwj2*0v5*lyx8X;o4Y49PkEF*Nyl$;DM1XhGs!~2=lf2SW?GHd zEZuQir~EN{PJD=;u`p5t0Y!w>Gj(fCO^jQ>IX(ss=1mM-;0zP^Dqu4H&$$XF9|rcH z>sS~Vp|%(}e|ts?IHEssz!%--uOoJR2nHVTj}rKLW@G*RX(DJg_TSHMECTm1?&~V4 zs{=<}OIIr^C-7^K8+HTI54b?!to9s?fkDfS{$i>><=O%IAGg(e=JrfeL&g&1C}jQ$ zWML)b>FA8^2Sd(N1~_%Jax-W1baZe6%XrFj{CPqKI7eR==3x8th?~7U$1}|*Y)T+k zD>exs5g`!{1wuA9HaXW<)-q3(RsPl-_$SZt+Re>bMpzgEfe1mwg+Q)0!lKgB(!wHQ z!eU~Az!QRCFDEy1PeCUz=U<)ty&q*Ou%)Z5vzsl*i4EPaxdq7GO`d}TJ<$Jr{(4U< zPuqWtCgO`rXvshIQ~k$-ObPq+TPsXo}sRSDz>4CiFTWsdU{gw_o>16pWq}+aMYSp_wakgZq~-6I8nIk%|3Q#f(oD7_~p0b@3cob9uUP z#Y{|~b`Og(?hOtX8|MG|bX67$sk1W;>1-oa|L=PV!=Z-yaQt6hLl=t>c6QJ-F8IHm z!9ONW2$RSAZ)oth9uD|1aS^`WW}6@WD@y*=3oarP`@iJ{(8Fosn?R(3yokr+|C*z5 zZvsJs|9e6B2N``I-D`$qvC!9X{~vm3u3Gu;1oF>&1SoK4&(>*^MNP;5_q}A#PJ#b> zk&e5UMfqfBIuEbI>Hn}WUh^Ga_Sq^HIpKLvLnwF6YradrdmJ< zuqq{$U;QU8@=!e4*|PmhU$h1QGB@X(xcTXNk30B$$1HNA+vF8=#+K3%KM2{$0g{%U|d70Vl8=FFf@& z6aI`w4Rk3)xm$jHXg4Zg=-SxEPf6&ZEzoZ)8u}~Xx;FBDG%KEUqMQ-|79(JvLfe$8uj&?+si4 z^^)8ijsEm;BO2)OzS36AbsgB63b5GR_jt1&O>`ZlrgYR->EEP!*T()y4G>+^ye#ey znGa-vXTDy>BIX$Q#wSuWb*5^q0PpDg(>eqmcfi>I9otEFzxh^-oJD1 zpZKl^2<6L%9fyBz{nQ2si5ea%5x(|hz(?NfS)bL|0QtYPj}W=Y$uw@51p756(&GZ$ zjtvajBu8^23Il7oUbX4I8~*h!h0xmLVY0+uN>oX;X%Y3a6f$`I!8zr7%_wJ?7e{E? zHLY@+4fq_e_^1k98=H?)x05+t9q zz&Zyq|E4qkiOe?=?p5I+LRq|DYuEYyypMPI!oL1|KR+dF$CHd=PYSGb5VQ-5F2#doSL>EHo|(U*|vqNqj$W6fTVK&$wm z9F@YsN3ys2hA%4+byKcar(RIu`ke<-yKPjhiMm=0u-#}-aEeW4&C>4SdF^lWJ65CVKh)lpEg0>e<2!L z1YgGjOYW#T`u7V^!=XX4-M9P}pPBtkc82*WP$P40vPHx(NKNMFyq3|N`;6DhTS){| z{C3S^{H|$ao!vLj0V3 ziL`ba?r-&(+JxHvqrr4Y`RCi$UxuC;=f=yOXevppEhn6qIjK-Gyk=AgqZ7T~<$hM^ zdxIDJ=i89RjgFl&SoD`96Pa`5)g|coR}zd`sCG36h6EKbZ?5bz10&Csw30?D$?SD; zw$At|i?#FZ24u>yO2lQp?OT7vVb;Z_jlllvsD=2)Lg6UFBG~DA zwZDe0fr-~r$+XAR+vnCPUq-biTC%RrSMD{)ZdY@{y*CQY`;tY?YnDC`Eq?Fr9299K zwi>zdJ!pYHFP)N{Lb$Yz(xnlb@D=Oi(tG8D>Je7gF81e<(?$+F+6bqs0`HU4jpEP? z6r$0C#f-Sw>m8o86do(o8TM^%kHu$`g7%qN0Opb>8^)ZR3N;f5D}j0M$JurrDA_Vb z`bHx1D0CWvkZ1DQESH%J0P|CO=uwL#+UX#qB0%W~%fsBWv$x&Q818#9N4qe@~F z<36hK>caVSEiV+9Y)M&p*6HuO7Ktebs!F(PZ>@#nO(}p?EryM!BR!QOj?ydX;GD0O z&+tE@+=ev`jbENJP?7dYMFg<-$!vV5GVwcEn$JBx`NVqhdhyPn+uQtWPw7JEh)nU5UV1z~m6~lBx?JB~$7_c0Ua(?toW1!e zqgZLBq9|oqm5SG{o`y&E)EQRTczHSpkVCWJM*V&^*2?gFq_BdSucRV$o+=Ap&aC8c z)F`xkK&Bu~lg!p=x&A5$@mw(U;EvnMb(Q^rfH;5lY!}`n|XxA7_2kO0+A7bDZlKh9I); zJX0=20@TndjNY86|fX!$Lj$uoPrIl-LYvCu`%3ip$iSigf$z@nA?ZQy&-Yf73||Lgv;7KGtvQGQe>D6p?F+um z@<9dj_ z*sp`MlEwJx6zQ6AI$Xp<4!;lAOxl4Y;Nt|jK~+AzuE@e2nwHw+^o35F{f?GUS%Bm* z!o7!71iCj3dOQk>c^c~;{_^-YlL%;c&a`{QxCqv>@lLEOA=vSJ<$b@?;Vja=dCB-3 znr6wE8TY-t^qeD#S+=s$rxID#D>R3vczoX&)oXew_Pya~vSLdT?yPj2 zb#;>UEbIM7QJquuT5cLgxmYtq(v#%NY#rl8aq}6nB@F~)AfK6mAbfR>ubRpHL=?E5 z@Ei+`3ZC^zSM`bY;;`5q{|r^2W;ILpUeCAGF|KeK;~5Y6D(jD7c6EUwL!1mi=8tYk zo>Z3x(G8RWi%Ph%sg(v;4$gRmhc+Vyd*g+PTcfZ0y&#dFxBkgj``f9?4S+cbF$-v; zmypi&I%U~;^tsK}>5w2*Vf-6kw28MbZlF~o9tC4}%PRY4LHD{}JYe8W1XQ({@Gs|+ zV*d+!xN!Jfes1bF^Am4e6YsSzJFA~!Lr^eOgA0?chUmlFGvC=#gXIp@omv{7lOCS_ z?sv?HLB2OM2`6Q??1&-&_lc@X){RzFO5Ko>ZpyU$xh6fN(ODf3@R%fqOG7&~{;C~N z(A(5gN8k;dRCPN^-P}V!M9uf=L^&T{pAr{&&L^;>6qEPr$GNJ;i>+6hzH5(7BLa~i zzza%nwD))jxMhp)TyA#k*4{?;XarOnB#?2b8XDw&8(gf&KLd=5D!Z6glfJaVlQ6gr-!q&_ON#v`o)l-4 z5ET>>WGKVx={XmtL>hkPw-7BkuaJ@vZ+!4$Sc`E?(%bf~HX{0x?#yl6JoGI#nVd+G zN?dI9WsgAdZTCNtror+a{6Pw^7dNC@_M5QD6v!1X*0fvc8jstn(@jjEyX{@br6kjs zg09__z#YA!1e7moT9V0Y@!f7+)8((-&CmVb?)yIO=d`^`NDUAj+;;lE8p6QHA6s>7yi z0S`#q+(zYV``(f8+@q95Qv5O189;qfB~7|A+~|Pt zRxJ5I@P9vc8k-u;XfUj@*sDv8HoC4YDUYvkyq9*O3m~E^k-ZREEkq$9EYeFcIAw9F z%Y~B8*!jL2M2lLeZnG>oh}%C6&!G!Zdi9MBp*E8y_k@K=@W+#JK>6Dbz-_0rWVfib z6iyZoT*^>3nO;173TK-x^0{pG-%C~42FuU)dhv{_!8&)RC{j2V`^NHAD5@7CG%o8_ zz3V5e)7}DlNQ4$JST=b0HM+htv4HB6#YYY%^3FrWlCN+l4bIn5;VJ8sAju%LYPJCCHX70F0E zwlFuvxBGXe>mIqofEcF}F@j6`jIHon1Fs4kl5Hw=u#m0|-Lf~0B#Zn_DEaJb(pXVd z;r()Eki^Qg=mW<80G04zeR{E@*^;p6s2}&LZazZ5uDhgOPK!Y*lR9XPrSY&3)IP%1 zt2=)u+yHRcCipl8aVxzT0ow&)b4jCwpGXAP)Nrc8qL*?k@ix@(7Y6Rf(YMxc#d_c( zyyoRV!h#9kI~vltEK_FF7A3-a78TyDe}O1>?(|Xx!bR9?A_Y!>;2|x7)bk3yqCnT) z%LPvm?|*}(>9_g{DmCe>goBsz&5XFZ`7`)y0=U3|b?hbNq-G$t9xy5DmRBLJ- z$-skemQUoeWY#QYJi<<-g?~loS|HT>E{{7ESxRad5gC{yrym7ydg9@C(h;i*xq2zX zPYh+A{8E#QM@XsZ<2D*WK?J$v1O8bN?t5zikyAH)m#;9cgF9>iGZd@uXV1{lNruX- z=A~G8W8^@6f7EyVW=JM#3cBCVOEt0_2!aQ8PmB^NCkPZ(&%b&|-oSxX*u(!6bBL#= zjT(p`eeZCnXGJ0xEkx7U;i@uLFMi(B6TSNwJdfEG5WkWjURx@G+VU-p z0e%$_NWRKh60&~7AF651VP(oPi#u`?I0UwF5QtFPa~(KG zY7MZo`z-~6*5m1wx+3>6n?3g~+TN3x@Mxve=T&Hg%jUw`<}htsjB!aa>1#xPk5D6b6u zK(`m?B$KR%gWCdkY#)$$sgYK0-;7LOJsdM-1%Gf*`h6Ozc>Zzubzd!SrYFa3z@xzw zrw(-CV9Ru@oS2VFUWDtKh|(oD?z9liwbPkK9V<6x3~slw?$c;73!cPJ z=$;nG<_$O#-iQ>xQAUDIbDA*NqwWQN^E@l^=^BXgiRB~FtMmQgwpRfq>CbrxqBN^b z;{q9kQ$(ph3eCSz;AKfjmxP+DPHczPM)a4#A@vFEeMYckE_}do?!ZG!gR$=i4rg z;j?uQFHycoAJg-`$Gb3W6hk$#3CSF@dq^y67fnsu=SBDC6>GoOe}rs^DFSr(k9ip0 zGbw#zs!-3KyLWHVi6<;oz2%*!g-o~H9v4&21eaE>hR_S{092>qr6^C;Q{VWPiR$Y1 z#s=~GM8l7B^LNSf5P(O9Z7fCJGoOC%S2P=i3=ko=Eg1vu!2yXR{0Z1I26xi)etJw- z+PLRJG`4R)RTX|M#b&NDL}w?1w=hM4(lAucl`ct6y_@9iVwk3wh$cz$`m*{M{DRvN zbkxAO(5e~8$b)~Fm*salS%d)49Z#x2a2(FkRu#fzYIM6s-=58=E1^`M6hS@sa3$Y+ z$TveFFO6#JNL0IiJ}xK$!craUEJUH9l)~aP3+6=tm2wT-Pd;F<5|&DS(%YGyvUJ?I z9;&~4kew6=qG!KTnEJ8gc}NB!jKY4Q?PZjlc4)Jb*bViiuEV%kPVzgvV-5-{;uy4G zPY2a(b(3W1-N0SIT$`Fl@aLN85~nv(gi}g^c$*={yNINdt)^Ah|OFAjzmPK|f^BU~0b-U7N(U|=VFg6Q3f2AS+;$tpdIvi7raT!lOZxhaF7{OTkS>>BXj8nb!-Pe{ik{$SQwJx zJ`AmuQjuJcFwx$bCNVkj#onfJR%A2nY#_5%*F;fP$e;36MUULoSHE$~l(n;r5Qa-}$j~6DHngP0a>Y z=uWfF8`E^;tR?Gc+zyFAumh1d<5X646 z_-%-_syBltNCuRJ$n$lT4bYWcn))E4n5Pjv%Doy4qrRIxrL3|UDN`+Amnc+?;k!+@3({%ZNA|ks=b>; z!fWJWEGHTB6f0>f0}6S121CU(sXg*jB1l4hn>EMx zvnPNTtV_53*x1&bl7T8UUw73GV(w8s^{B;z=cI@V<9a>0q*$Cj4rO$f9SWaKo1mvi zq{Y_Zn}34EYsK`wmm@q?^amP^w0rn#^TR_I_rj*nZ^Z|sK3N~VaUs+i;J--#>+a4o z7U!6nu*s4)c*~#5*={U4@30rGT&m5)7>x2N5*5~F-aDah1hBeh0Xm3yB|Jm=keiNY1!XVuM;H$%_9+MK14C~*$7&75%%&Mj zog4u%H)zPK?zU=H+SKC7#Sg@}{L)M$8Sj%DnDS&ei-^{Gr-mgr*1Y3}g}P+FmE!@f z01q)8i&2d2hwRJNDwuw~_)%t+XkRHkc=p7%kP9mow~UV1mOKcoNE&(!M1y&iccUBD zVM>K&kwnY&y#XovLM!txu35n*Gs;z?X4DU&+YCHf)dh*|atok{jfu-m23fqG0U)XJ z#j4j}p0xi*6b^@d?mK%4wOeyy58}vYZ1Xbg^mVa_MbYra#-ul`>(Dv?gGe+TN((1b z>H()7>4EPY!-6OXs5E+?Nsw@E&vVt`#|KnPlh@4F^&H;JyTO!S5Ev{eMAdyaonKM? zH%-E{*M*$4_8u}PQYa!#ec+472UEWjX8>VY9c@vg#;|%}!`q$#fWrJYXhe_4 zS@OU}8B%2uks9ri&<;p$HOxduu2>O&o^$2=A4Aw?cCQSKH}#2%|5i2DkK$sw-5iZa+@jD6BF$ZWs0wO_`Og zp%R~31aR|*L-aL~5(4BAduECY^?>2EUJaFgfa7-p6|U<;YR(#MoPJ0lWI zG64vR&sj4E>5anLlVPI6X;OZ_bN9VAvf6VP2OcH6vnLgVLNwPI$6pYCSzihAePrVRN&$jSk6t{u&(P$|FOW!PJ zw1qJM+yc*`FvZO(Xvl&#!t#;%~KVhDlSj+TaOGSh(OY%Lo*t1K& zvn@JO#q*tUQdDvEU|V%H=%KSeU;kpyMZ!FapEmWN#i2UM#M_qIZzY6z?X0?+C+)|f zY}(`?qTkD3s&lBq3Ow^t$yVv#?VU&u!9m8XEFGxvAWgirSMvOdfAv@Cy53F(&Sx$s z_29~z-Rd$BjqHq*l`KUG{STiXpS9^TRK;_<3)%SWJ z0LTvSUOTASWTwLpUgp}4Ur^UcHu|1~Q(rTC29SqZ4pbz_DWVw_ zFTy1Lj{Czijt}==N13ZWuLr=PyRDQO8m_IeDuKwwqsZaA^PoTm$^_j*fM~2hCZ!y+ zj+@R8?$W8rbKJ2x4`AXfW-;-%EUW{Qt8bG(;_R|IU;MHUmsm={jA1%V7PYjK-ms9x z*QNMMsbB7!D?|V5I}mwcew1^WdrKFhDLH+|(P@o&<#k&P|H@PphSbuljrUu@fFv%+ z__Yx5>c!xF6qdf~mqf?`c!J{Ev4S$}lgF9%b|&}|cD5a<1&2?mSxe+!7yyP|3KJZq zzuw=}tuTxvSP?Bcvl0a|a3a%g!|j^*d7`rGDk5Oa7486OVnn1|d>!;OX8#NgWw+z; zIbW!hz;-(rJALk-dn^X-=xRxGZvw$xX-%}mB%d*m3HmtHP`fy;{RQ5ZpK?a()yOEA zwm&19nH4QnQU04lbZLB5b9H{OTePM0xYtSSCMw@_tq zARg3;Ur?JddBMYf1^})i8bEyIVh2Dh>0(Z|2*J812PQnnJoyQ{cm*A;&ysUv+oTB^ zxsG$U?%ZW-afyH1hR$szpNc|4!x(uQh?kGYZMGl1JH5B}L3EZUc0nT|XSOZ_EKu>j z5s=R18$^=IJvl%)ouMF+;HfD|7qOx*b2a7lEXTp2Xe0gJ^Lbf1DA{|!hCo(2M`^Dk zZJz?}QHn!k43xw0Im5ZO2bdekq!;7(CO1`^QNaXME#sw@mWW8yFm7 zyetKYl(y{r3za~S^&{nAlfEfl7yhE@l0MEQ>PXUGkA)lD+*V-#kdG~{NgL!h5D zDJoKKDpc0RF_glDDSUDP+XJZt!ZtVav*yPWJ5_Z;Guk^)ft!K z349OS1E1@UJ+q9qD0dmvA7J0s|D4XZ0-Cs8sAp~63n*uyN?mKFM2|Q{sb*wf03J)S z1c_(o)+s0JiJEcJ;JHlp6Gm3&C572H*cScs^27!)tcnUuZa?p{%cnQjoE3t63wXv= z6Eg;6jaO?B_x!RvS3ic@`EK(zS4o3xDx!G5{)d7Q1>T>Mfyjv}X@%MCm$X#8aGFec z%azGoEnI{~LsI;A4Mj;{`HoCFS+mo%#ve=p2D}9TxS6QRAC}tL35Oe;XmCh!Hw+&g zWCoX_k$AUoYu`*`PEqNtAH%uxB#1N$sHDT^Cv2KulH+8PgebJ z$}Y6X*N(7Zl7i-i{ZAgt`KgopO;{!2#t&yG^Dgubk{I(lg8{Bs*%hrG2q+xS<7ws2u3sKMH#=$;ijSD%)#T@ zEaTLwUe7Eku^T_u85Imy2$+((A%c@LleiKiP?m&7ew}P+a-IcWwX+Fpu*jwa{iX`Z zs|9lUir5d#tgT;N=?4Uf(y)Gvqd8bfK`K2pdZE~{y;{n9CY^^(~fkW;&C&X%8F;(V6`W&j?aWbJiTK0Y;TWQ zU=Rc8(CV|Kk>VFsK(vJCT8K`l&3=rvfO||ingb9~Si#j{vHwHEQ^3!aNr%jMnMVp% zhHVV*2H|b*_sP8JCgV7yK9BkAqbv+NwrE;wxcy6sxc#&r4&k#et}aS}dWc&^YqZAEz*y9Ljvw7UUm*u##roOIADp!P$+eSP31nVKs*G0)!TmlFqG z?Y>J{KJ3RG^5^KRBwSOUGKPy<{XPdBbYEJ!EV0I=yg^6gg0+Z-D@Q$e5XkO}K1b*K zJ6_qQwv_0|>QBisn5KFpR%!zpv*hAvO1qNL*r*7|L{`K2j;*Zu{g|3rDyfapaMHIgEdjPJ%wV&?7MZ_wcz81_g5fHJ(q~N!Bx;JU7 zQe$i!ksy{!i672@ZTTobDy?brt*_;I*-EBQZodwB+FqII+2mM@F}PoU>H{sg`!F87 zk)V12ouiP3Y^!{Y*lD<3RKM5rMpw#Z(l)Oh3NnfDAx(DS5_M^?d^h&k%WAKd{v(&D zyGh6rI;XYV|GZ<|vYWd%+G9M^wG2p`yXK- z1NrPigB-v?R#el0(&v2l9bg~e4qRveurX}|2XvtTP-Fx)z5*&JMtsT5%6e!7T!&fU zTP`)iH?W*o>SvSpvU|~4wr7jL`i(-_A2-Q!#moU%Dg*LsC102KeydH+YTbyyhG3^9}v2HR2=S1?0~Swu(m%m+OtVt-bz({PKu={;QY` zu+|GNIMT<|2N2>#5=CD;k~>7WZPi~a$OOKYBFoLPyeTuEo8}aegM`X%#FwOf-W^h9 zWoA}k0rGvAP6PQ`0N%vzbGB7A##F+u6rZ%Vp+--EP8iy&i>1pt>##eI@HFdcM8y-I z0qISO-nd{RpRI}oS79L3z7zM1Q)1#(g7eTrIubQFhcWMNCR__h%`SF5@NL^mbE@T! ztYCW{MueklEB4kVB}mz|+gcIrIZ(HYU%K_#MOT#m>^|OGbbBtAxBvsvts~z0JjYH) z@CU~O*f-J#H;Nnm`prW-0Clb_a1787GaV#&bRq_UJZN9 z4EMhUkVAt;S+6r8h)Q#3akX$WX*)iZpg1B>Y6yY!i9`_DJ&c1IWIOQZq-y-zLoNu zPC!_KiD@UgcaivBy{Nr98UYk7RGbm#GZQ}@1r|W68556XXN+dr!WjT@FlkB61y>sn z3i{srqRzT1EYz*+cg0q8j3h!)iWsZcoZNcn{w=|^tlhHz$Z4ks7Xj2Ec-@&$KU>a# zA5lKOt+OGVb1G`t(Z-RnxMrI@e7WGHeYK9;!6(PGGZgE02fb)Z`GjU{kB0S)!3qLjIi%7C;}@oGhF zPfNWb=YpjekcSe)2WS+h@Qz0Yf==`N2jvccrA+^bctV%N2R{>m)UJiF&VO> zl*s&j$HLnXF&L0m{?d_Y+0;*vK41z|R!H&0c(GVntXmHj$~DJw_LKP^x4szeCxqpf z0C-7znv|U0&J^NOLI&Z?6efmub5wFlwTH5w%jA!+gC^|`>y(&3iDR9s%!MUlLB1@O zB#!Dg&{555bk_n|Z9N*~>xOP*%+B-Y*B5{t{sEA76#Cv*k#=aMV^C=bXvbf+=gA*u z_oBm6()pwxx=P~I^edjvkzrfIl%pPB-d$>Q$?b^ts+_Qn%;jH!`={&Elw_1AHG%!mdJ`tr)7 z)Dm~g75AzZSG()-n&>|z2MvJB!eBu4S|4B7m#ZC_ohIy0<#!yZ!Ij@-4}L1)!Ikb+ zXGG@kCj=fwiH46-B&=9Giy7%)1Tldf2Nlj7sCzj=G`Ñl!JPqivFb~ID8yl6T@ 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%0AQzKdl&im>_%c5F56{KcZ(emQZXX{_*&-iqh zhg74&XT^q1ccOc%B3KI&dmg%ep&Y0u9hTj|75}-pQr65q!?sBA_*GfnH%Wa~5+u#h z7lBt%0(u2SPa859^54usl1HoO#^Dx)3Z$y&1PO%FcK-Dc8NbX(8D%ZSTa1sG{>Mq` z{|q^I|MX9rAj@|d18tHprPkWQWmr9GUQJZ1?WHgaS=E&$rbC)iL144RH4Qmh?(|E) zOJ@HO8AUS%JH5wQ2>Y2NwQlC*Mvhz^4tUkDn`co4Z0{Uq84Wu9t`KMaC|*v3mM({t z%_d?G{aQ=!z^*$vWY~-dtS^=FMV{J3O=6XH;)$@HygzyMc4hHz(Lv1cA!s*R)FJm6 z3B0(7IY;Kmk4LoJ>d-BI5{H3UNEEZLWC*@u93{Hnb0Yb7K4%N|TC3goYq zw0&bH_2Y91)?a%+<~%E!y`|P)@}%;#Zo{Q7Q24d}boaczx4u@N2#nqhKdZ=-I{mg{ zzoF<>qx77P1y{72oz02Ye-0QeBG`>sKRT_8XR83VkHqq3%PajLc)Bw{izNgveRSw; zw(m8t1Tlm8uR9+A?uU@OLuPxitxUSl3(Aqz=Vzc<-f>Slv5;-qGqxBbt%0LC-SWk)7)_ zZn09_S1g`Zz)Ey&ygcjUTIqn?Uol@Gd$FHWnJME7uMYf(IPJHl0!AdD0+d&z>B{~s z*((;ERFNHAl45{J{w|`2P0TzlOSTU<0KLObX`)XtYx|1JLAYa#7+s%?-ap}9;+rlk zh+xfrrB}nBb;`7w;k?E8+MU-TwAtSX8{+|Dirct-_&NUNaK6!1&?V+)hW7I(m?|De zUpvmlU>g-Hl`n0rl<%PaHEJS(d;p;mIm^_I?&g+H*&+MP002qUtn2~#q~X5o3FQAzj{usp{O65gNJhV0Ihf#aPo9&e^>o4eemab-u;>4*2xX6`} z#NMDDiGng?Pkmx7hSF1+Hgxm^UeM7CL5z9^h5MO=v8w9jckJMuHZs{e%2`**x(n)H zC9_unF8L;_1+~w8J5MwR9hAy#tqMNa(^{cjl?!73rhCq!;RZvZ?|#!XS~zPyrXOQV z)OsziaEg=j^?OoW-A8`pg(-&^cFS>#b94-bA3HNIjF5hrK50_+f z+(*JgWt#)Gf#b4tF-Nl=qA7X`wR1SJsdns#IfK2vTd31qn^__^qpke;w6&mNls{7M zOEB;gdux?Uj`8ktV2@KSQyqETA65mj;Ag4~YUC)64C3q4MIwi0gCMH=+0<%7(FWPU zIe82&@d|EPcW=c^<+u{(?0yLq(`fg~_9j#B;HX|o(TJmYA&q(wRYIz&gK>rCC=mwv~b94rZYCiJH61gwq{@<#ekvj@Hrs&!-|PHsw9v z=G(d8d--i(CliNdpoW1u{<%L13PaVyBlN~CFvlo9aOJ!%7th~cVDu{O%75ns3~KIi zU}|V9dAk(MYDZ1c+Knb#?;*{~q67h0$<}Tt`S;7X>td{u2U3m^*#>)G7T5>PZuG~g zjOmFV(<1+}{Uqwf@Q*D4XO=OlJ{O-%`%s%(0wK?6p_m?)!TxP#EF1(q#wfY&t{Jdx zApNt}0Gv%{^3&jfum?kn*@DNWv|WF0uh@ce2_xs} z=DTaZ(f*~mwqSt7LC{<21%qbi7G?O~hHO&oh2vJ;N4%06ddcp+bxSi9`Ud;A4$ALU z{vV+2^#43}A5Jny>xf=;IN55Sg8JxH)hZhBk3Q=DUZ+@EoSheue1hAH_rZs~6<%&jKv02>UL??SLj71X<-mAV$OLS?S7{)8>>M&9KJ0F zTI;FO>jI{u#SzEb1A2e&!BP->{9bXlu zxX;b*7Z6+dtmiw(&fVv?&|Z45r$b)4e17@GnA-66Ula8HhTFNIBziZ{XyTB)L2vwT z;8~u*r9I;cNcQ|H3qG`%pq6nEpktuMteMu{A_Q8J( zOiwV#OY^$Bfy4m4^ZE~~G#D^g$6ou!*SRzz+1;0l)8sGu_ltT;{s&() z?#ykk7jyhW%F)q%iOb(W?jUyg22LQ&C7lc39^gFgePVr;80+FUhAST~-S~|yarybT zq{q>zk7-C19JEfK%ANPEjkqYH_SX|Wx(quN)Ub`@XDbd>*e9r)m2JWVS|H|p3XQMV zNp#u!{Y#{pUsOB+WMnU_D#qXBSVB|`y(2|GXk8Cdiy45|TtTlOX@)s1Js1ItxPGTb z5Im-YeI~)1K+@q$*s~dsB?lu~boC7511)eZ&cKd0TyQPw%8r7ivO(wM6GB!*6!#re zG0iIl4Rp{JtK$NJgD()BIId9h<}y|h#GeC0+6TQGqBY@7c2*OVLv&=&edcPua`&E^ z$N8n}=djF7SZHrl&pnu$1%N(k{0otat3@c%ZcPB#Zo@YMU(}7Qnog9a+~uqe@&2A6mgW~0p|eIjuuXlHvNK&h_zP*2bj@=w3F9FXN>rqFa;h$^Bb z7}7!@E;2G;dA&!VmNCUe|LZ3rB8>mV4_s{w3{CqK1CiMsu|Z#fog0OSJQN537RPJt z&x{G;^OAO;T9Blpi;aJyi1u1HL1mX19#^{og9q;F(LZh#?v>XH-{j0?jN;~thUt&>@D zcbm@Csp6Qlk!-;mhxojs3{q&dOfxWVkh0=4(s!}G_lL=aL*{$k441O|c090I-FrAp zeG2ROVh`C07K!<1yhw`cXZ8Fy*ZPf|H*io;2wSPz4k=MfQ{hRhg4o`@jEJdeUv>22 zOMSR4ZMaya1g3c(sZS3yqCc@a$1q;E|9iLo*Y^i~ABmR8FoIqGM0;>WpqCNWu2~9pV zu$X>`vS&}{yPBI*0RH#;jmyOKIgxcN5dnl@wdmmCi(d0|0+w;(QR&+T8A}?EF034b z`pxe4CDxagFIu%bL5}-r(F?|Ld?%o1qwUU(Qjx-1ohKu%M`FJ4+F0DYI#cr?{@PRY ztHC93J;_$vByVJ?eWQ3#^5BldqxJvAd-C@_{MQ@wodb*NbdjUUzC!)cA+GyXEcmsH z1{V@)#14G4yrEx)eBwbSZ3_I=)SZLsJ~=v zkKr_;M*n!hy>mV_LJk+5bPAJc7WKM2ID~f6Hvx!UQiRisb-z)6 z;I};n<}ei)%hM$*eWumq)mu-|IC{3+Lh=z^`4n`@Yvx_5gIC=d@&+4l^&WKmMtT+s0J-P0cWY6rKC; zpyz=s;`xX8JG=1s;{q~Axig(Ir}*bAuX3z#R^@>H=|JMyHPD_WM6ROY?P%`PZr5y* zCjl;c`;B!2s6Ly(P?6~E2t$RdjWrz}_ucc+k*0&uH+3_ti4%H`?B@N!#7Bjea+8mA zz1}v_0^Gyj=I2ehk8U}Y=z)jYLytnp{{;=7lvG_1cmL+HKNX{PyS)cF(zc8iN*Id` zM4i(s(v&%c(xo#w6AB{Efp@VAWb z2`G6|(nE_`jC$CsZ0&tfFM#2{YL>4`|Tm+>L>1lhK_{`-Wp4uF=@zpn)y$^GNQZwxx`%8)2 zY*#ya(9DVtBWP>`L&E**Xg6;qfb4`N%QWbd(H>R%5B) z+Raz8YQX=5@czE*#{IKjk^cmf?Fd)g$aEt^;oMm$_Q7Wf$w4p zG<*)@+@hT8mhVmodb@KKOTNwJqvi5N+a%$BH~5zJpC*8a;^}(S_Cs6oqJF$-@wXrT zIAAq>_v7vo_3YhqYaVx$k)GA>P}NiErNo_QucMTdzwJm^`<)v=PAd99fLYo6S)a`n z0Z;tPn%{%rJ(OO=YKtd&&$WTh2|7=<`MUR~1EBC0iu=R=U>ds8PuJr;M3Gxe?&}Mw z*yE0Hl0BnH7iB&l#S+(ur9aRM#xnM|?$@e*U;sU~z(Mklf5yBNZ^XY6P1Mm$K^67u zLF|w{U9Ul%nm6AkHZFg9U~Y*2iSrmxDU@hx#U=y~?Dcl&b_|xATI*^w(#-!FbaoyV z-(j3BCVPFt)zH7bSU0dnp-v|MinGgH4nqh+m$Y1$14j4bg>Z-Zoys8=43 zhucct{iCQednqJg^)4^#kC0mXEzQP9l4oC2pI7As-CvaFJxy*$-`TH1eYGM3GIuWx zAIJX`*XqV|iY*SIdBF4APA(z&l#+gjWYhd!%%7jF=}!wK`L^k{VVl+6!aFHKJEynO zV^dJh3tc~Y$w>@En(Rc)=9B+3iw z^|TlKFdU~fsrzo29dbWZ=kEU0Fp1KzyK;kE-YG|2|L<}1Az$tHAH=#_SPb0apEFsB z$mE1~2VGn4J=SyHlxFY~zsB(aURnWdD~d)cu9gfYW8Y1D96}E~uLvghBwKjBci9AW z81KfkHq%>o0+J*`l5F+?XP?NiDdg3(SF@Nmu(Li^c8C(yPjCpn_7rlwqh)svu^t;O zrk)a1s@`|GD1LSR3Q0$~!Pe*`=$46LZ$~s8V~QA;SA3`_9iPd}H^wv1mWz}ZfAFti zS5aJ*z3$#|(aO_dNAIz#qcsIJxiX~0kDlnC5j|t*T<~@hHMqxQ^)u1XuQf=P1VQ>J z#X#sY{^V}O--xq1z)A(DD6 zzEZNpJ$?fG`OW78!g@5c;i%LXgn`aXVOKd}#9jM#q7R+QR>H=VxR6jyF89(m)Zdmi zh%f@Zc*T4tXqsru=UWniVdEamj zrwobEaFVi!+f~o1g@QrUk>9?jsMFVr*gME~2V9fK zXVLpBgKtZ`HXz1T?08)ozx<+DYa)e{0!gG-_fqX4QlK0M;nGPV{_8;Y9a)HNYEOhx z`zNi?Ffy+_rev+igxVkLs!|#B0P(n0lXCwio#~?csvPoK-XDg7VwT%Y-^M`N?9WMovf>?BZf@-gt+47MEBo`Ib*VR?(ng>^?b% za0>QP#$nmR&$;1ST^2qqq4@P-GFy6bW%sYUvM4Ru{K!n1%e|7PsU}ez&3={l*@FE3 z%#_H+qe;7VDyy8mkGJ*mCS1}xRWWPqQYV~JIt9Xx?B1-Q2<+;JGSK;k{Kux`&T$oTqY+CJsP5p_!he80U1ftlv)+f@aB~3`}0|K%Fy+<}| z*9CNk@S5(lT=u)5D!@@-RkkTRdS0zMVZSddDGxK(k0X8$v8V}!f3IWy~x@`dBT|Q=;mt{EZqyrv>fKo zYxHpzVD;WQ0NlO}kwiFiA?PF9y<9zZHN1Fwg#L6dM&+Zc;fHM1LcPyB}y2?f5byN#y+uUdi3-m;BbrBx&ilr~0HNKxpk%Ds}cWL4Qjw zkzN_Ou=hc|hk3L3%@3?K@3t?l@l4qaq*^dV^!*{9TV9r{;aF2r zzX*zKuk{moO@cjaW30H-4@nm-Sg$Hwxe906c~7Umojlc&plFwJ;&N@f>sqUoK~ zM+s^)iJ!RN&~UrNf5wk}x(g|Bzl!?v_A zV#0%MQ>Q;u_ZPnRP$pcqjwJ`5Ckh3A3yf3)hpiQ>AT(#anh5rq78r{P*CPl+BKlTf zzJ+!6jhmWqL8PxxRKJYTL`<9Bgn&h5TS!fi;uyH#%>o>e4+7qI-nWplDz9i$5!l-* zDl+RQZhms_oabb{_(+|~*6#Xw^y)atc9iBp(Tg*=mV?YUyDWX!F(X2Tn3W8N_sQKn ztMXXh*G^kazU7gOugi#lTZrLVB5BuhOKiLF9$jKl`hRT}rG9Bk(Y7vGmK-Xj&whTioiN7WHjt zx_(OhGFHsuHHy$d*1Cq~{g}d-DUqnk-(xY;q_ACnoj0gKZ9Dsi4;*YYs>S0DTcJf; zttzl9{U5MocwJRe?j?iQsTx}m`#-hhx6p8X4xb+5&M`O(Ff4s9vfpO zpQB=1Ce~wFY-i}cv?DT{_Q)3Afxnz;%#@Beo0PtM_9^h&dUkl`?}JA-h!Yy(sB zUGkDBtA%J_B577w>}zDC|H9?n+H;xnsJ(B{Aqw;>&8Uq|Tr|^mDwF(rcX}7)w(3*A z&vry-r}{9(B610_x>9K;sKE+((h{?AR*TcX5c6^vELP)p)7@opBAKeo#e3VpV5SiD zawm3Zm`sq!+?0W*)L4i?lKn8cBdhNQRyEKw!e+e4 z>!gp-#8`|_R3+W=Iief1@87aSpwEb2Rf#fIRB`D|Y=?KW^hFBGpuK3Rk9?S2)6E{K zU}yJ0ludqk;-`F6Qdm`WlQ?(dHYL^#bp4~;B9C3b2c|4@h&)_B$)$QR63`Kn6bN?RN(Th{2kR-4sUe>}e$?IH~USx5vS0Qa% zT2P<*PZ*UMTU;8)_x#e>#~FD)8i$LCuuKZKdpZxmYUq?PMm-*z3f@Q9?~R^ zIw!=jxoMQiwjp%~EYyu0jzjo_)uqfE*U03qXAb%6Ih;mA=vtgEm@9kmXS_ZKC*%aA z)V9|VdAy;ddsXlHi2XSdGTwUwdB~APE{Yak2D(n5bO$`id`9n|ZZ(f@{Y>n92qT<6<#JUf4?J1EqbSED^+qPD(ET?~^{>{`;!jsHq@h-V9D z_!1FBXj|7Pv*>O-lN;|&6SJm}_9qBP$cs>L2Wzr=56pK?w!VVm5#|Ua-~LNR!U?iR zC1can#Y_*dLi23&bQez^FQt(S0WQFT{ zbPjjZ*K6xj+pIEnQr&k!V9I;vnE{Z#p|N|jWsZwo!at`X4&sx^5UE;a_206&9Hjah zLwiN-u3^K6YOX4$^>sN*2P-xwLUA+dO|8>MvBqSnMn_xJE%{%0x%4QCk5Y@wO46a7 zbr4XN@7W$tVSB=pClNgTrRX9RC#UDp4yVW7yL6`hO^HzC5(Po-MXZ zT}~YgUeV`Q&-q~?&#UoLpg)5!5|XVccn$>@L-Ciots;MZDj{g5r<}OwCXPu7nOMUu z?19UK+s_pjelT`Z4O(EVg$6KPi4w+iT*>c?4(Av4vE5~5`yf8q#_UCPjya=5XLX2^ zf8=YO_|&!zMNB1yt-ko6H!VdFtwmU6^-~-|WUjnCgKkd$68k`{YUKWY%F_+OObs=; ziQ;65D;l+m#BpQ#G*KW;A7_&xA!x(_t(F0eKfhDJ>u9kB99k))UWpohwq)mz_hGA- z-s6c-@{zG=Q9R-sH)u}AiFHtNK zDQhEz`6HSMX$*l-tp+|N`ax2~YSN6reHqmwE+)9v4FEp&vr}P)*##U>6~TO7X$yG& z()T%6){r9|AaY#locclmch6a-Dv_jb*EKv`o|Cg#a|s`7yD{h_NA?4Dt#41TWbBBYi?#Tc^yoZtYB6Hna;#+r z5BZNWV=s}Fc30%Lw^_auc30uYafBbCLL1=%nZS}d3QsWxPu`&ZuwLV%$%^9L_;c6l zc@5oaEi>Xs)Aon4WD;^ysiVc4^lFg8 zp!vjR{Zqwbwp{C2#+Cq8ao&4T=NYY1*{oN6;>h1*ggw7rx6ONFR2U&F>L`c)crAb!{q(yB-nHOrbSa-Ak0h6JP=Jl^z z3QRcrW^M=3w1ZMi?w0lM{s_t^GorNakR%PhmTam6BQO|=9|tNi)uQ}Kwn=v+W3^Bc z)g;(E0#{_oNZ7fOh;jyN5zgaB!G9uk0O6`#Luc9&?R>MgLPw3PZZ170D>H?Lg3O0^ zq6mVPHe+!GXSijgtQt;lXn++%gLCE?sYo10le_$`{*w>lW4P7Qw7%hu@94H7)&|0i1~eIq?u*{SCaHOzdhxn zG5F;|g%xh&<-`t6m3c1{!gS6J>eIwKg-)kSWH>^UW>Yo=C0Oc5trKQAfU_G$AD12O zXYMeZ{qFa~hj;}9RxAM(80w~d%9b4^z>-1sz$iLtm$81ESe$C*bvwB^J8B%e zp@WvG_ zyuJ))YRtW;mskv8go8~}9ri@X3t&CT+Mx)p&PXn@IJKD+^SnZZA%Ghanm^r#FPdGm z*>Lqt?>!C(lD!QhQmmklYv%AAG-9N9vSGKHQ!m8A#&X50_X}6n8NGpbLshB(ny{M-tC+#y`;B}d}Sxz%3jKH((bjF@t1n zDESTc$N=T9@vLKX*Hn+i(DZ?LA$q;v$_pE7FqSR~t55k$?u?(ysv?b7U$2@i1Fk$~ z>}A#tY69At);2hnVIVQuwYWj{gbOjTJ}ReX0gH8;*^4V#TY4g9+DTyr>*ghTJv#NU zt8u4DSS#oF8Z{Tpzih4s$O4wB z4OTH*Mn;3uIM>wTceCczOm~Gq3hE%jZJZ*UAD>Fq7dAX`1H#s>8{(SO-K9xDbgnY@ z4YL0`2D#8bHr3<*(Nr7SQd-Q|Vv2&$U#JIpbW@prwe=HjM&YxMUYEi3*xiq5pw!GM zCVtDfrc)skF_d%?zlc>!?PShYmqeLfclekL6gbjuhGS}ZwFaJH^5F2Ah=pn~w}T8w zrr$?0b2E$)y5;yr8Cw@qumSbOfLHmdv@1*AY~@-n_XKETZkaP;NYQtYl?VR0-{uOu zpts>CV4{@-|Fv~5GbRPC%cuW{54)G7@*YHbKr-8+g?rLGKJP;AMsy!sEP?@VLXt3< z*clT9dhYpP@*goG#VWz%Gw%$r3Y@2MZ@VQMy6GPHi((8{5pLif>;QXMR>*-2YM{~% z9Fs94)<=U=!|^|R7CY2$p;O0A9B!3+WN_}ZHMB7GTPH}_>7-j1Z%xJH611< zfJJxQ7so&$m0lW8-bjKfU%3i#_3hQ~1 zwMRvSxdh}VR`YzzI~ly-<;nZKPP%o`-w|wr;+YE)KgEupw_d@TA7=P4H57B_8p)g) zLx5V6bc8_<4SSOR^IqX3EQUq-1Y7hL-ZlYrXbGVe6GfktRzAs~_fR={eep@br;)~y zvG`ZR1+}{U_ue#_Kr{E2eLc{M@Qrtyzv3Ljlh1jArR?}j4@XdotxDSan&w=A?+_PA zMke>+jcMb9$BU%rH80LeEAK`otxH!wGf>A7$oo7^Pb+WR>ndna-WJmTj5$UaoG>dg zQ^vr=3I`zV1jM7&d2DUQmDgIf7uF;KV~Gb9uLE3#;CC@r8$gVQm+CM>N1~u(Nka83 zpX2hOmFdAat660ArH6k=I?MV+q~g9zLOFoVn9J@t@pau5^oD6Y@~U#P@;YqB9jVUsV#7%;QE9q$OXa0C*(Kz^YRB3f= z_x^c2ZBWXzZu}VWoMGgx?kN-pU#0Deyr-*<-zjr%HdLsoD5^KPX3~mL-w|MqC-bwd z`$ZXDs$N@y?GUQnJjNphS0YYh6>@M*q|#UgqC|W&v;tvAwbp*@m$_&0){0ukVteFPxcRWFPKhG{Kvqp&4F-bJRZ|z0m1H}f16%D9b{C)CehLP+M2i(WPl|MdYF#eJh*L$+Bk|jGVh4QA zg8PJqWr*{b%5MdaSz|ClM>5sPq6JgPiX#DdM^^Lbo@tzV#C{ zS12ez2-%;+8&{!;TT)ZLQJj0rv|$oTj>d)7-Mg9i@cqphoyxVGFr2kscXRL#hu72h zFZlu-9ZBjU`jjDbqVzFk^eYL9pjuWiy`(p&m{83)G#h~tliK6>9^JnEptk}-FKUK4 zLbbTHrbrb~fz+jp#GKD~{C#Dmj3AEQUFxjg@t_S}p-X%0^k+_g-tku#yNY0G3~YTc zzoi6+phM}8%PsbpH=)04=yRk~8L z=Gd%~tD)jZb}#ogxILl+&-^db$vO$QMtPe$Dapc{`_v&&Nxf>8tp|=ZVp&}cx5e-O zCkwztf-Lp`EbGdFMf7F$<%HPRAFxnp7)o3q_2wP(b~S+Z0$g3P!UM$3hqf+kTpQJV zT33w&dL6LK_{`7}mLA00buAS_6Ne{6Dz&Dg>Gqi%_eYEL$Hd$71@)7M5&b|+%IMPX zDHTRMGYoaob1TB3;%`knt#91pj5QX#@O-BhXMef8oCx%LzDK?y0q+AMpTz{}L2d7+f}A1~8g zw`~Pf3BIER9?J1+@!jG5W|Wld3d|h;ODXv*-Tl&fOnaA0&ovIymxt09j z0X=3;T&n1rLHG~+F5P+srNJ3Sp&~A#mJ5aozQZ+;Y>VoK%P>4&C6jn>wG(?Q_S;3e zwLK3uakt!D@c}fka*Z!q1_AptTT z`=>mT?q}i(?H3AR10x~kh@b`NM+MHo#ZKJYbH#ger;`dgPjJ*%$vL>JAhHMUrsW{- zD}+s~m=kFFE+RLzS;4X!ZUnN|d8WOh452JP=E3~7$IpD{*Vt46Y%Vt76Hs*Ys_JD0 zOMa_l)dEe3qxs}ZmC_LQ>OD@217L?d8m3+1IfkyY9JQiiK5I_VT8OIkSh~!-mzn1h zz45j)u$arG)mV0KmR^-?R9w!ONjBfhYi>p!&5(BKNf~+-+zU!9C}8fIP3@_FYkhoY}$ z5K!sEN;VY>5TBRZ9{PD(Hg@&%UzLX}&v?piP=S3aa8^A+m1pEZZX6@@uEYq4c_7#D)b(G0Yp=LM+CG#X3uW1M7wJB_Ki3LAcx*l&#U4a%Z>3nTG zS+kRMqYD>DcPjR`tuDgAhK#$c4v!ISmwFx2J~S0=TQE;mbV4!b3iG;jQuBWmZXD>CDF`FKuao3A9Q#^EGYXfu+nqWy-B1tMt*CPRiZEvUtw=kZtxL~I zko9NDfnp&&#EYQz9RXub&B7mw16jUBP|KjbpM6Zg!QNsGt#}F}^f{ni5Nq22K245@ zT?wrZaKR4R-tRc^)|%|tqc)3j;Pqh>24&5&wKpqQKT+HgXI_Lvv@V1X)Wf3yxyrYSyekUoSPL7-rFLUnl#?&#NP5 zhH)0AiEVlW6kc)KhRZRvX}t@Md9yJ!7QgV7%p;A~tXb1nz~BU{Vl^|@dv`M z-Hu3^E>Olnwwy#?aX({5-mhKlKmBuuUt%a2%c<4}5opQ0Ib|wk$bM7(GjriiTcIXT z+MLuHg-?L7ldaFv<&oEDt-$VRmyHkO(%9%>WSB1+}k`~FI zgSK|JYykZBjag+P+o7V-kVV1|WR@!aqSp-8v}5z5ND$g%V?*y)D0<^jwNRSr@*a2d z&@=~~>iuO8cx!!@z7qFQRfo0 zD*CrqBL}hLF(q0&G4A(2o3Ut7L%GL3`7R7E zcL8f2IJh854isOaqy3ZI|E`nDU@T<`vBif@MWSXIQ|}g#eSCwznC|IzZg!Et4$;00 z>hJq~k`zwjG_UfMp?Eo{|H9Gy_1xl_EqFQ?AyNVz?b!|IM^{(CmYF$L)(5Yvd#fwc z?8jt^fmi-UUG6(tVc=8BNcEA^4kU{7$lZ%_OBK)42R~FJ?|i8LV>Ujc>5lzNeC#!Z zJMah-IXi4_cIO>wvm?>~CV~-~Yj_g8Q{ja#@~8YkR09OqqI6o1(lOX+OMmz3a4|?- zG=}eNXy-0)^pXblem6b;B<|>wfdE7bM~Wsp>2}cUWSSa3)uI6d=RVr-mXa{XX@)lr zO-D*MHARf<%Bp9a48@~X{b=@0Zb!&myPTjEAp&hSGw&S-X08?oQziYI;64rJ%mBSw z`Yz%elueiY31)E8J<^Z*gsUb9?vm@P<1!zP{-AHGz}CBCb{LV^TY6L`3OPs3Lf{o{ zg{(U8n#;|8=L`dX(!|t$FM-VZT2=zj5}JO30X^lG**#4~i01fU^Nc3ed`T4lL8;VP zDX&)dwEi>Bkup>Zj!vF2C4tk8nA$txtQWV;JwO6X+Du-3N`f<#)8o#PsP&l>Xn= zY~U5v13ps($A3Mu`mwAG&StWc;u?o-#g8NMR!Xd=x_C+p9&w&S zc$ZNGFfPTY7j@NihMqi&4A;PVntA%-lpvd(Q(N_nxfP6DQ_h_=s>v{2o9!}~1+_T7 zbFsKg zoJwP(QdiglPvJ>-oeO^G%t+s9nH&~G>WNLl@q*mO)1_UGx1_P(Yy?#UIPRlA=^K=_ z(2~STp0AdoxC)}(e32>Z_v5+18;|{@M_etJ?{_twRa@A5rla|H4zI{~(`y*16ng?1 zbn6{r3?rZ7FBH(&)PKG7jt?F4WrNl$i7uqOs$MTgqs&$9=ot&szt-d-TlUZ3_br;< zCnS~`x?_IT!8@@P+G+Bz-AQQa;}tyy`nVwU7yN@jBKgj-K%6V6;*lKlT_vyjoGk4> zd6Hml>oGSQPS?~MC%KWF7UhcW9oYWT0?+TC|9*Z??5BV?%SwNqGwq%epU;t_QTapt z-Pz8vz|9QOAy!D;+bqfXb8&R~N~N!~!jHH#J1K1^c$;LzLHxls=))Y^x4Ng11Krr9 zZ6*Ent61~m_Q*_Q5$E0Rwmw`)p>Torn3Gnf)`gNL+#M9$-@xDocsJ7j7QGw)7QI)s z5WX2Y7y5GyUQ|R4_y6Ij1$K2j;KOyl=e{CLN&lO}L#m;5gsH<4)0*I}*g|CV?_-RY$)ys0ORp6V zdp_~e#LO0__1O*Wj^Ws_t)2uDcTD1)nR4VOGF9_OrMt!iT%v?6nR#leE?ty1A|tH( zDWamc{e-3P{C-K#`+F%#bY$CSK3yysBgU7S1xjn|qU7B+DWRQ{U{@P1o#Cevr4gD6 z%N9P7m`MrIE@>5e%0docT*vNnbbtG&&K2-cA=bKEk0jrHWhq&_2FJT4MBVZrXMS`L z>N9B;Eq1@E2{@ADjt!A482XqA32j}EW<5I+vIElTz3TMcs94rBRj8$RIIIzjA4tZ= z>UeZ;nHJJ7hr5@}w(ZR#aGB-a@ZK=M1#M=4jY^j?;D_F$C9+B;vmKDpP+a=uC`?Zi z$MWYncd$nH%!`&TqA&e?=idGU77umKCp20Ol+!x$ZeEizR$g;;-CTeOL#`w(9sc5V z%gyOcrOSS?{9`6rs+4J3cR6$%DnPU30 zCN}RKIA26b>$>r0D(V#_Dvos6R(?d|zeBghw8Hd^;<0gd&r#+$uNK)?y2uG0o;)gR z)bYuUilAkaIJUaxu`S6RR`8NwQ+jOqHT;)-pXLXDzCnKJgr_8abB__y=6~VH^@W5+iGQFu&EOnOu2b9{o zL`D)h*b~3oW?J*Pwj2$@G3V{xGKn8bY+;S$4Dzs`(ki-M2t^Ajim%ee%d;v+6pr0# z$aA4sSE^&vD)wVGVdcCY9lot5yT<3ql;`QEQV47BfkDR?`@5ue-tD|1VC|Ii91k?z zDT~D`2mQ+6ry@QGRv04>)1QUDtZ&rF028NYY^uf3PQ;6Cy))){AZ?ui#RxRH+v4i3 zFkeHF5!9sg`Z%hKAHrrR+q%&|T^0eYzZr)@_QV2ieTkAmlcY9=fG`pI ze}#$i5+^}`NSaBI`9|R#&i<0V&4fZ29*TCd+5!N{feH*gnd#p`F}essHGQiOD#4IB z06a~C&QWh4{Q*Of1+dG{bydp+bg%S!`NjKTpbL=b8?QePR%A|PLUCH?iTvXaiB&}j z^V8n4(lW{LzOKJUZrRTKF%6=y#Ed0KrkQSQ8+p>;mi>uzSa&7LWS~Y^;y`~h?r(m#EyP|scY%g}`L3Uz00SD=aHSbedGk)5y z)PG4p4CkyMxYF2)h8>`Qw;|Yxg^J7uq2r5kW2d*I0)4+7G-Ze79Yimen>NL}BJt^o z8r4#)p&~MV+NNi2Jv3O+^l=Gjo-p-Fkd6yf_=*Dp{yHJcT}g3~%e4fd61tzj`Z>1C zKUNaGnIceshY*bG5%WT6rVn}I5qR`ou^qSy^hCbljl6Y$BO}Zmz50mgSKN;Ir(f|3 z=6Il4f-1)VW6EP-b7-Xmfo#-X_s&$vlndLoagtnY=2ykX;xmB9qo}<$3qb|Owo0kP z7ONLYL%mQUJ!@oKnY*}&!BViH+vFqXC>H4eunSA#!@xXu&{82CWX*dJ=EN|}69Eh` z{NAzF4;d&b7CZwKoZ_DwLN(&|Zi&iNnoAgxVWry`Rr0Iq*2WT$B0yY=ceii$w7rjK zj$4)2I8DRQpEp@R51kh;Wj9s(uo8H0lA;K)U#6zgf^h?y^XBF;@XX`J>QJS8V5ksF zyaTQMrS>xKgA1E5>6bE|mgQr&#AD|dXInlf_jyQq*oYoXDH^#qqfKoa!I$nIcJzGa zGl7<&>sZ1z@N!c!oY&`LYIeP4a=X_l8T*-b(elTy0v(ngk(m5#*4R_Iu?8-~vR~$Q z3Hlr%jf{#sf8}Nr-LnT{xDV+M-!ST$Me@I0^@4*Ae)x??i21hMWIlwiLx)LZ)8-POBh-_$}#>~%(<%^*~?%D_zr=^!BO<`vc zl39N|sXrMXMHwVTzwMWSQ)z)Hp zM^!uDKXbX)?JQY-udOT<9IsCN%8)eT*G0U@~DKKS@3Z@ZzZDgbIdP+_`ek>=(!=a=Vfmvp|vqiv>@spU{=j-DD90#tD1JWUo<0)W^(vElNuki ziVX-LO_>68dfxsN#|Ilf4$tRWVM)H~Fa}pJg^C4?j8Kt+ zF~)TA_ba9&G0b;h8eO(8kj){(zAATQ*}NOad8o#RwtvTuFF-f?(K*>zaq81_Tw;#G zd!2IC@ToF9SsB$V&VUjyhn5iX<==h=RR422{!<_=FysH6m&>pDIIQ;JZM^8@^yRma z4G*3yj>3k>AD2zx@VGXH1YM`XoeR z6t2*EjHt}mnKytmw{`?H zww~d)Srw;{qvqJljXHr$@>5`Iuy`>ifKjQHPkjKq+Nc*i3iX0-N7aa4_luwUW&TXA z8FMuO%El#U!u*65qV8~Id(}CIwxzd+8SYNO`;Q|cUkCc3bwNkM=I>*?J#{REAKB4- zH-Wf^j|$E(Fp@x@mT7zZvx__>)Mw@Qg)F}W zlD-X7K!kdIc!Z0@gW`uL5Lj4dLRPr}>NSX7I_MV%LkA&}gBD(pYMI6jN{s-Uf((Ib zVaqK`-jA8przkWv?DYT`5fuJGPcc*;(Wwjk`V?5F3dFT#YD+@*j?wLpK-@SO1hAgI zvUK@0ukh+Y!KlM_Qqxy1N{BwNX8>p%c=1n~sPjp7(Z3gZY8g(A>? z8B6r`X_d-p{~U;sqKEPz$O{b830GN=c>BYU2xrU|a7Y-nujj9Y_MQcqcY4ShKL};< zqB2cIn$ain4uVm#|D0oZkI;~Vou02th#erUEC5}puf^K@Mf3YetSvwAkqh%G;#Hlwvr^4;h~EgMRY?0>ffN~!i7a>Hl%fBdFQ2?o zAw{ta2a}~-J4V%JhQ2(I23OHTH!Dfz>3L?G*MDde#W}cLnl)WwT+pTWeWlz3ajHjM ze8i8qUS9#LXBvMs)UGU*#dPYb$K18O?}CB!^%iNsEI6LH><-<&(ufvD7X1>kNIQ7FI}oHe3L`*^UpIJ2esB*!i_b%bcJUd zYef)6e;N76kV@Y{S7>h!anJdaVQ`@@CKqgrdP+Cx{`IHSJwo<3aH^@0x)jnavnps2 z{ha|IhZ61~nko!zSj3;|=fpC~2Z7KBJ$BR&b@r?mcklXw40Y@Buj#@!k%Yy|m|7!~ zeVVFa3SW=my{ed)z9$4jI=1+NKQ@&y=&sDhsN2F$08d~({f=g#=iS@KshKumJVkVo z-j|%kFwA+2pFa)%sh(~K{QJt>(dvCX&x3axmM8{BM5ZAB*B>?2*Y83T!bU z3Y23lt4EJjd_OK?Jym2oo(Q{LdD~t4 zF71vT#vxSri74z}4?j_x5q#9C0sfslvl^kEsbxR`zyrXC?_!&*7=O(I%$}f8In-jy`2f8k&)t%l68>!e28fcbEQ$wdsdEFZWGyWi3IL6JU{g+TFs=8q>Gi%s ztxpb*2+`=cC!nkO=??erJ$(0k`ZsDBr71Z1?L?Xx+-QB}B)pRoUj^*)nlE$y{dfJp z8_8#-J`Xzrjl;dzB4L-@zZGnwfCJNqzPb``sS^LtipCSYeQKC-y=osMX{&6>K=+L>cPra~fCEY=giW z?CkBcun8y-2Z5CUZaLmo@A}KgI}nj`}(IqZ6f0@X-2-fqU9K%~%2~L+AeSKs^9h z9Yxryhon#rtv?xlMNDG;ACXFfPk-pVjzRr=zW>G%qy0}W_mtdc)a)25{9k_?{?V*l zOK6RXu*3hI2>U;|NA3Um&6CRi^&`yq?^E{wZceqP`s;0Z#Qv|J=>PxM{TFfNf8H2> zecjK43C=*!w;h}$YHv}MMhb8>iX>FV5u%w1qD7RT5DUKCpdb$f)l$UlN0+ZBU@D?{ z26#1Z72E>=*C=DCkF5v*eZmdGV%ugt%GC_1Xr?SZo_ z2)w{dY`x&(p$4z)r$3VpDB#E*5I*?Cq?S=SP5;YrNjVhl(9r`#{VNR$Qr?82yt)>H zZigs}QX|MRpOELHs=_f1b&El>k$!MgQh|j~1sZuMY|iDTb_->EQ9%QyZz=sdzy%JJ z#uH*%@d2obV3h7-Ye6x~7qspLlF329ILnGc2Jnx4ySct-XRqp0TM}Rvd+sTWT4n%} zF@Mp8U~gljXuZ!C{^$x`5u&g?aZA8HOM*)BT;E=1z-S0)1v&)@AOc0hXKnyBW|Smu3aqpu zE4Q>d0MA8FSfww|&v6u-$P|3~f%kd#rGR=2egryF8emX5AwL1YmU8e-SPf=0egl0x zkuTxP64bg2kyICT8vxvRpmhI;A8mH0EJt1X@*ued2SwgvJpg(VC5o3ZTzDp?iTE#g zj|HXBd-D`mgf8}#oVz?M6(6MJFF{}XM>~-xbq_iRSqnsAtV{u%4xh@dT(YG>aLXiM z7XW71KfUjH(l1A4+wOY*w1Tvil+_!gcLQeKrc1axQ&i530CxipN`PNwJ0RrcFN0?$ zgl1Nii2~}t!G$6 z-_L^SD_0k(*8#f&)d*0CkS7^=ZX`^AZ3WbBAj4b^z}Z26F?1w1IfM;!_`bOdCIZ6& z*B_9uDI|Ew`OW-n?zEYV)X-&^+hu)-8&s6Rz)aWl{m#SBGlh&SIWUmeT_}*avYGw{ zK0T#N2E3`pfP@mm8&E5PdbwIeeR=Z1L^2$39DG!f4+ROE#dsUY(5?u{^^Y+WCc1Bd zuX2~{{RYn8Z@KKh^_H7-$g|-D%mS!KWst|++o%L}Io$>;+#UC!Kk^mu|Ncbnt`uhL z0(n)kW&jMf7@Ps2dh}qL&NmoJyRNqW@O6wPV8XNEfayC{b~8VzsE8!+0N|PcFqq^Y zyCQ2jlWqA{$cK4q#G1iCGwO~+BH_S_NerAxwR6SR(TQI{EL*2WE_^YfL`H?MSw4KH zQ0fE|&8#@{mN#MZhg{;QwjY08vtzRVIwlw`_<(ksQCuwr9DqWo%G0#C zr1m}lPI$4-0~Y%OfKpGFxoZrRO*kmO<33O<0CefKdp$TX&~iDi!I4sY>-?_N0dP&z z2H{Y|Es|YbfU68Ww;omaH3DIO0bmbakaAe1+2p%uAnRJLwz&b*m{eBTAxAFqJ_^!V z`RW?X@q+-oje#(;BIFxzUI(MX94LMDY7xv@))qjGsBn(@pDlpDCl>08)Bymfk$C`p zqeM~Qy!RW?WzGOKL+BFp%J@3tC{_!RjW<|6ptLL=a+sT3*I;jB(sU@;a<1GOw*~;F zwAUwfErF<8FbPHhy;eUNf-a6GAKb5hQqxs_J79rB zyU7%EeJ`SapA;Kk^)$XM{k02vTs#z7ZZnxbGiRZ_<@&hn9qIy;088!*x5Y2_+EGGD ze(lAMdy9VEyg0CE6yk0;q7X|dz-S8x`>j(tH$ci^0zVQEavyP*lImH1d62mVG)NX0 z7!xR3aXZl8<8w>ac@tU=cA5nOQ+FjZHImiL*Q@!w-!b3K6P$W*@VLe;zUw##kX0RL z_{T@6CaPe+pU+$uX=Q}!OR1Tzz!6$qeC6xP_Rj9`U6H)0!#bq5kR959yzB=n z4xuR4j%nMd2Wn+bdS=UM({3Ot^2jk$g>mn9kieUPoM`SjWyjA}C4bC&8?P6`x$=n! z2FlQxv%C(fJNJI%7*3iCfZ6d~1U1AoN@|S}H6};_ysJt&8g~RvZrcoyiKBx6d|0>- z;Gk?cT0_a#L*?M1EbA{^*c&WROdjxh%Wv)y)Ok_DpkU%u!`=}rr9c8i4kgSeBijDD zfZ~+}bam`1evAkcQggo=iHh37*vZg|Ms>zE5jWszc)7<8stQv8Oj6x?wQ7SQCVTTF z&S8KB6i(zoLuX5gP9atL$M_-dNX~|Hk`!u^(s_Spvp~;;6E(;JWowx51Bm`#Ei0z6zB$ z>Psd)&o{9)hc`dGY~BI5mV^RoxO=f@_Bcozw9QUMok}AH);Cd()(s*AZ$u4Hy=MF@ zv=O;S#E7Kz_lN~l^)b5pypeH_3fGnzzR&`+&Z7@m)%L6~87T)|S zqY=FBxg0BhcM405Q$`SDkq<*JH)IdDa1n?mSf~R>J>^njQzc#U`T*Yf5p2Hg78z>_ z{(K8-?xp4oRIi_?`P}5C2wjZWWM4U`<{$Bf`5IZ|H6j-@vUW!1 z#=1Aso>rfOvLz$LW)6R*wM>ET=mYj)K(~HImpz~xEyiKu6XepFtlmL8kM=&w@n$j* zM@m;pmXkMv>t!|PZYLEKm%dSv1<7Uu&Ks>Hw=zwaPb-ruS^EKwM;I*k9&89B8K{)P zay6;tDGA`K;BLrXj-$%8v9-lM0z^T&JuCRc&r_enDmKVpqf%u4H|-|m^^}rc3?BWD zR2MY&m&K#ntF{8qDrm|h#R=ZSn!F~dR{Eci5Ue()1X{Y>wvQ*9%BYAcckuNxTXbT< zarP&C$AP0Q;QIw#EOzKZ+Agr%uy&P>9mDz^w`qJR;c$P++}PG*+8w~$7!(+XxMO+& z+*g?Uru*P3wSZwo_ZNkfQ}V9-a431S$QItuSjd+qu&KFI=FPx`Ce%T@%N6akXp0aj zIczD&Jqb)i?Eo&9_!}(Um1}5padzlV{*g&9!{T!v_fD@{!f9OdYscZ5QF%5)kl9 z`y78}7#P2M7Wo_0m)vE4dML3LJ-iPsNk4}RqFPioy~$kzi-rG%vh`P)gu=w2&jQ{- z0pVW2Zp-BgS2rs;E&QxCivKNa?|`1dk0c__~>Rh2VvI^^C{ zfSv5e;)le{lpoy}iuYvniV0}F!wdnGIRcyrFUw`Eo;wv}b}_rxK!Okzr#n(l$=k+6DhO zu&o<>5bM67uJf%ujdj}|ZD4MScV~P3*&@V`VvvA;s4l{k7|DepBLZPir8$8HRp6fE zh~X1PRw8k62&m}YU0#&CVC{EcG}$v5xOf@SW`{S`w7NOn6YP{P_QNw>l1t^5OMOZI zjU?mq$DLMB0VyiT?8hv^_QOMT*ZdtL(f#`S3)3U!J5mx-oX3Y#Kp=Q!E&0$k0oCZ? zzJ3@-ji3WH#|tDrwENVjO2zh^QumX0>UcXr0-YNfR=``>+w>u_7`Xt)o=6fygb3!! zQUW1D>Qk%9&XKc=^V~??LMDR`^}N8O$9qQmpLeTNUXW0aW6c!9G){w+oSU4N<4GO72YE zEJ=|2!cQo#AZd!tvg$oJ+_FbFUniieo~;@NmRHl;m}zD-`)1ahzMi^=GWhBGd&1pW zl`ezlenaEmPYGj4ASUfz^uGMQYamX|=;cqsq#m@1>0&if)LLiHE_2_x^yUUG8NsGXqM0i0Se!|DD9qt^aT_D&t%ceJ)=5mn}J5gau^;Eo>t8`$#WRa zRMD(ZTDD(ssdWN`mV$f-{@Y9b$BdiPFpV}4>;l#09GRl<1{YDr;T-?qzRrpGyKtF$ zn75YdOslAOZfWS~OZ?bdLu3*?mKM>Z*CS^~7MCD}i_Cts+FU;g7de$xQzMP84a<$8 z^m)g_o;_Ag*#e@0yyt|`Jdqw5??5-jB#8W+M;Q90yZ<^>WL!aIGv^a?b$FTfXj8|0!s&Q*%`m8?&_^(iR=`K_TaeNAfZyg`{o{h%ika+T7`!$2Nf?vrr% zS-8LSg_>Gk)TOW{?^t%K?KHMtG4wMumM%R|b}jYu=n!A*EejR?anNXShX-@gDwwkC zKo>1DgLG@cMH+?AeCL|xTfT|J`A%WDU!&vOc55w_=a(AdWLI`GS%I-lZcMFSD? zV(#0@2ew_5d0w!zWD+yl+rr+&Z$O|aSfW9kOUvj|_vN{3rt!<)^GYJCqh+TCnqBAB zB{U_!jV#3AQv^z9(qxeC=%vd~6WiZ@^n^9%sa}Y`aYa+@|N9uYmM5?-Ar3p+U2pXlF(ib*(D2G#PkUOo_vF(>bg z97v^YF{4Adi&r~EeanMFJF((KR*s0UmUTTwPIn0+ZcC`H_O6a@AfQe2HCyMd#f?4x zI3NgkPJspjMx9(w@4reap9ySD`S|h1S{5qWO;$-l`wO+GQ$zD+VIZEC?$%VWp!i3! zP!>~3rURnri~hxA!bY#N%O)19L_*0!Cq2js?X_rkD1MwAd-nD4fmMq+Jt2j_Ier+y zi#~icT|%KC{O}XWxN^}otaudd^!g$hYZ(}9YRow5G zac?~#VPUTDNHO?Yh3ed`THwphu&_Dqmz;P=U3wCW$W-u_cv9b%*16??Z~0EsQbM;y|<>R`?$;kY8mqtlpOJjkeb#CCs# zM{qs}T*vxt)bAx4s4JD&e7wDHC0l=M;L@w@FBj;er;rjj!bp*$JFoH2lI~qh73b8) zKfC^vmE4&587A8y&sdhTbs&{>Ak(9@nX1~mIedTrS=QabASfeT(3TBbzq$>#GWT4) zt5FAnrLN&P9~CK}wKD2(^ruT+L>R>XkH3a}SFN%WLsJQ|sb1g8F+cTI$;&iq5Ucy# zqKkdznm-nNEdvot9Y}6kZwAStv1_39lvz%wUuRbsX>?l7UIu-(p8e)f4MLq6>$~eV z$mo)mlG%FRyF;UpY}eTrPxp=jEPf)H?FPb={)}ezcb@^8wRa)(akzUIm+DzmQm<1f zd*rH1^y^~VA<+eqmTw>7AE+rfZVBNZ!-5H#h+h_ZjY1MAsPQa_TDlq%D(*? zHBc!9L`oVIltz>;5d;N6q@<-mN~BwmZWRfEK~X^@q&uVrBn6c2&S7BakbPd>&))mX z``-We`LaLl;~4$G;UP2E{Ng;#c|G z|I;*_G=A(+x-I5TS*C@LxKBdnJhv1xpAPFpbo|_xl`l8y0qW9mj1ZGY0ZumMXX5C) z9&Y$)|9QYBB;6%rrknGy(~QT$qw<`;jUaxjm5*5>U>ULY>6x`0*0_XpGPJ_6th~VcAFOyU@U>B@#UEmZQq&zY>@} z63ZBBiYC3Mw&(-hEisrEYJ&F*3k|neUlMEo^tsmdq>pnS%{DjNRh#ITZH&v->2hWQ zEmJt$k+{Z8J;aR0qvT`6di2cr3|eX^=Hs}Cx!2xoyb9*krHd?~B5*sqpWqB&4V^yM zi=dU1d)I7rKq>J8bk!@@RuD9@9gvfwv~GK4z!hg0q#}afYU*4c z?e%4yWdFI7c57y4?tp&RkD{J`=M^b+3-4>eH?+qVJ-bK(BU zsageLMGyKE>QJ3Ix}V{j8gq1WD8GwRnk+`;A0#vVJ>Pr*`&SGhR zloa3fhRZ~sa1vqU zq-j}w=$i}QQb|Nfb`e=~_MKD^clc~R8b>m`4Yv(A>KbCjFQNM6L$b*5XhpI0+aTMr@nDD=0)b56IG&t9=pCPuJd ztD>(*ZzZWiJ+6C8$;X;MZhl#O&ICE0NnTw^kU_@T{kCOz5K|SQuulhRzTJclkN;o) zBlM@VCyBc32V$Wco%J4kc0cb=i?&@Gd*L{8lLENL%WESW-dFwvD~u_xe_`B`Wyu%U z&Dy(leT|{LRBrlbMj(R^gq1YNl0S&;vEGIenTo|8m%jI}HW|}2u$<89#;jUoRUy~bqz1?-)aDv+Afy)aB;9YW7z&97MCwi5DO6Fo*8}B$MW6sD~ z*-A=LWx_jg;;j2U+1u)_x_Q@M|4%d|F%uFoK{@GpqE4%)I{F0}VBsW$Bsf5 ze!u%hBKzi^@D_&oJ7U%!>ZB;l>g5ZwbD^>J4toRT>uB2ei!~D0JEv||Y@EEQ^No|( z{0Q{TTGY&EZQgeAXW| zfb@R|Dbv3DL;zafR>|~(yqG!wh4l68}#sO`6<6=gzK>) z^@0|%)}DiCyxMzySh;DMovIlar>b3Ygex(tOzZkGv<&)%?$>oXRPY{38J52D0Wc%R zJ%V(pZH2(J1jFy!$JW>1I;A^sxBqLSiQ@RCxkP;_`=wlPvzY|@`ND-;TC`HaX|+fO zP5XFj+t3fe9W&H=kn?M@Rc6zC$>mt}-wri&n$aw2nI!XT!}`(EcqNfuFdks`7$_>Q zg2l1uBXP)4a13ALz4W@{7HQugSA$2bzEvD{6=z>sTVNi|?)NDzZn4E<>jhtXG~TC% zp&C@)dLaW%E+AFx2c9(}>#@+%*sgp}?MN%}<6x|LYr#tE>3@aR@v#bv&3>e2#>?gg z@>FiPw#{EY5a&i$T{g&SUrbjVMmkiXwQQd^ITWI(us4Du8^jkT{C2mjpIc5D4vNJW zpS*W-NWEKD(D~)A!~O4dedIIRv(`-wX^)Q;6buk5+)Mc zk$%B*e9LGswsq))kyjKD>b93naqmIj3HHZ0#MdzKiPWen@G6zKG=5#dRlH3WzumA}ZPV7^LBuuxaff-ZW+4|Gnxf#!r@AHdmvXT%Z zx93`aJ}ZhebMFOhbjG)P8_+{`X1DaaIZf8J{Q6_!QrKk4mdh^g@hF_EMhNsA?K;;3 zbhBq!ydGyL;Wv(hkdf8x$glF1?UHuqtsAm6yzcewU>zg&Vfu?N1yapg2&@`t3aShR zm03~_c<+LjZ>8u3#jhyrD)+|i`vG3(*6}aWPHiQZHr`LIyYYU}o>Rcoft-t*MN$H{ zJoEdFq;4^GlmnyDdY*>OzC4z{>n@3);VpsMdEAb5a9t60Gz#?u_bw&Ch&E$m%WAuv ze#$|0C|ziotmY{F99KRqnP4i4-3SIlGzNoi)@!>D=Vzn3GE(L_L_6m#wg5xZhvtsp zT8T)uP4a%RF&O{klwb8NxUl=-v`EvLk#x{?l34Zb09+0Tn25Xo9)Z!SJ$uAW-N&_i zbyK^=!f|7(pH2_CK|@{iqJ01 zikliIJ3Jc&Qd%TQBIU5*a>%U<#@4-u1XAE-QyV#plLF;oL8LPP6cz~()wFTDVtWMH z6#oBBK*+)I=@Tc8kB65oWB+eMnw6AuRrGR$$LyOw6|a53$M=`Uli}?#IC&ahhG~=I zL+H)hw>{QmuQ+{TrN0=%g3l{gp+KZS@IW-cc;V#C;k=k{s{8!PsD$TG_52vtQ!>@l z)z#d^e7jO@8*|iAhyjz5>|gttEwWEo*s#FBe!T%(JUDgp1`@QR&fvY--HNC+KtQ!S zk${*jgik_Mr%!y0q{K8N4Z4F=oRd{PDjNxz=2yuY2N8|_9+2PG<_Eje(OSqfPb)Io z#WSyVoSg!70RJcu!a9?OFl<`FF$h-vl)Z>+KmUchnx%+%CMZJ;5+}p03T9IQ)8UWe z|66flW;5b{7?j~0td(WHYWeg1ZD+IJggX_4mQ3C7 zPIW~<5W|5C>dicD_W`m?3mL%Yu}$+^8AdrlsusakcD%EWpGRjkqy@1AJ9dh&qiPT# z3w9h*lK5BPy@yzhgBJsJ4Kj0vg%LgepnMa(#c{c9sbicJGyM*0F@#B6NBOQdQDvw) zq#l@=HGWS{xjSqv)?Ajnbo0`$1#0=Zt&yFy`+BfE=;^5SAiRNECP{SoS;&Ds=bvp)oT$9mi$s0 z4({h7Y-8`yZ>&I>9_0*tZ1dOGzXX)|f(CDCq^ywq0TBke4CuBiw4*=s^_zj|9{cG& z*r=(6v3|9lZNB*Qtq{1mCGfO$F6lNNK|gR^y!4AfM}Uw3`t$67^RKCxbo*KNEA-QD znk|J0pYV!yTKZ{9vM#kyxyycWG5s(G;(I8Tj^Hh)|K=WrtfK}K14O`QwC_^XkEBAx zH96|BqN#2ATMrTMH0Qm8DNsa2S%rKvgMoYlrGsFp!w;H0JPtWUuIObX-|n^K!GLo& ziCc*`d>56mgElAVxQ;=W@S%RBo!^&TyY>L!g9dS<#f_npzISvEA^l6k)mbN{H>Z82 z@V?GTPqr4xm(NpI4mSsdC3b)~3$;pk*)g;y6o2GBJle&jxuYCK{_6v3zCW#2SGZOv zlKfZm5Y-yp<$O&vLF?jTt+Vc=L038AZn0u*<%`70+;JQ7m4ezkAfKD-{$B~MAWdk8MW5$@lBsIcbY=$jI1=?zrC35yzle0ozm0xSMm|PSy9J_|F3aJ?I>3|aOObF!(x^>Fg&CP;o-RtgmI9^n zO%61-vg$-pIDgiY_@b>O^B@>7DZ)F&^qM)Cie;`wAH|-5E7Evn^J9Ufk%zbfyJCQ81?CxyaMH^mLb zH#c~5HCdN*+`yrUVm-KtXp7o}yQ>dd;4wrQhcv3QAY;#F&$`dCt9-27A~x7+SyKIH zQN=fG%WPenHI9(5&?IEGVZg%KMi!eQX{~FpWw&g*_UQm*X{nVD$y7H1Uw&l7bFJ|1 za62@Hw299!Afup&vXVmL!Um4VkB`Q~jz${=v{AQMckP;!?RE+iEqVEOHzs&w6nxMuy(i6Uittj%Xl-aR>ZC6zn0#;)EMd~&4I^NiBd0mODIBWHY_ztdah&``^kJyP4i=% z$J17ilQ)e>r;5dqt0N0t#Jlla=S)o7vrnmRQiB%Ps1rR}>=Cqy$`JUyDv zV5DGY_J`I|h6F>d*V^7{7v!luRy?)NlsaD?=fRrZKxByGE4rp4PBqnWIcWRklRUBW zB$a)Pq_#JWGt06q*YOMpxR2HG&5V~^+;-WHf3cS7-x(??BqDo6V(TuWG?YRh_oFuM z){sG^XGE4pzsJe2E zcu)S?z@~Ua+Bn-4t>dqoaGLk4vF)ax*Bz?*mh)4vj7_n@;i(|+4qIL6?{78{g-$lK zvv&QX?Ku3^F1HQw6pO!4$_3aol40}exVhilv_Tn9Db?5YO!fvSKTIL9EMVZ(?6r#S ziTD2T{`Yokf~grl8}c-&E!UGIa1ZY$P9#~}&LZ+(*5tMoSRChedu5?lT41A?)a>c| z5oNyWHQd*0o^5*wfLXY&{P&;YX{Wl;^^O}(vF=h{8u1XCGJ z))u$bp9*#siGC~M*zG)^y>^r&nd8{)qY_1)b2ut<5H+q-1IIDFu)&e3qCWwPbY zc!gE1Q7y_LjRLb6j~7PyQxAfXUa^KdwhwXdcIqlM7QT_N$Xm5F=Pjol-7Z;v=>2b} zC#=%vGnfW{lJn9ENQ+baO3xH_qep)Yt5ZBwya4e+=JSd$66Fo*CT0VnpZ8@`6FYT*+XYpZNA?2bow^^PK0rZME0_03I2# z^{FOA5G$h@9Y0hhUJH7nuZJy#5gG=PkpZ7~QvYcFaxL3Ih&GKrH-n;sn_jzEo+%eu zI?8C_s}z0-yP2>*HyJlIf2a?G|M5Rlr2gfc`Rp zwOPc+WX&NZPX9GHWS82@U3inoyfPSW(byN<{p0qk^u|VyX_wV(!nTdsTLR|m85EeD zUxh1rWrz`Wx8i4gwVXhnMRD!uiKP4=8=u!cZ-dJ~lWE88J;9zX(K{w3*0tl#{;h+hsENXt<`Vm$ZUxNeLygGEbyo@3ad1)E!(cx!rm$0#Gjge5 z{Hdp$X|kk=Me`}n7^lJcf=%t0ysD;=XB-xt;|Xd+q;eE1#iM-QFazw1|M&vaOK+x;9#V`lNP zeeM|3Zprde=syRkg*`2M&z}aCX`Q|m;ciT=bFUA)+i6+OkwV{a^Ks7Z{%ppFso=%K zVQf=6L96P$z1E=~<1^uR4qf2craaiTmbN?g$oKc1f4%ml@gk(V#cYY9jIM{c?y9Hea;Z|UL>ZHcA7H7uYdJBb1@b8tM z{X>%wRvy|$Sd;0wMF0Axo98E+rBGJ~Sq}W-a!E<+$j?(9Tx~H-dvC)+3;gY6JK3;l zD-dRzhFIwbEz4)$a9J66$Ve`5b8|(Mfy`8$WC6JM>1Wj0VxAVm|bgP406!#o1;7&}lcFBh5a5I)f>}VIx`zhns z4D+K0w_qFmo`0o2LwslM)({7SPh@6(7d(H*$~j8ThLWw2jR@@=?yeaw!Wr#6C2U9i zJM5)SUAKut$w2)S4KFU6 zrcP+D2pH08o8cA#OHJ&9@i}|Ks!AMPiqA>bgTTv6W4X2EN()0P0*YedUXBvl%ej9y zNp@7VRkFgFl_KW-O%TG;p+kQqNjclQ{5{|M3~h9~gl``u&32X}MzC}i*P>ks#n-Sx zc0)nho3C{$&y4E{bX^knT(`SY?b~QZPw>fk@mEdtjGfbP=KfbbGSZX(_PWOMa67k> zkwEV}?sy`XEbAKC!Z04psgTUeeVAlHSowEU(`U##J?~tws_K^!f?lb4^AF=#=kd$o zQJ5Uz&$bNqs%rj3y?PuvUp2wPK()H-ixuHzSiJZkrKPaF>cwxfgF>npG2ZrT;?AJv zc6fP?#AQrTUtwCJumbSJa*iXI3{TSKz35I-(CK-VWD%0RIp^i#HRhi`1EsVm@1@0y zsPm6uoFkd)tO#$mYom}OdC9-}G1th)n~_vg!et)oa+i}U4YR!6 z{Hk?bN1aosLg!ILA3w+GaG;A{dbVf#(esMC{$WH%9SmK-or?M?*;BQk63$hiaQWA^ zH*cE5h>CT*+?icpui%5%XwUq#VF1mn$8d-+)SXO4gE8aCqb?2S&)_;0${xgZbhwDH z7Sp(d>qw}m3?(v7K`ZKHIUoh!9=(Z(gFygQeUAeM;*%pxMAwVzSU#qB z`WaegS^3B<>JkK}?9kB{VEsi(0jKV7&!r!+ru>OkK-Ym3wC@41Eam0tT^9_nD{P6T zuSc9HcOh=!_e>$!f0e-u3Fnoa`i`&s2|l&R$Y>d?+7Vl*edBCLHt6b-11KWN#oPGM zeFbaYYn~Wrjd_%&&Lr9aihVtzi&M-@!_D~OR0g)i~q+XA5VN zI*B;Azs{BX7Lo9*mJ6Jfcqs`7)lpGkq}-+U zeLq+cnRoK;PV@CISo49RKhXFPz}m^fQ#(IN_9`z;i;R!m#@aLpTrls_9bCS*MzTf} zHumaLbv$9BD>k0$vyg_zHodl5;=+}GJ2v1@v4pr7*RhLUrDP=qOP+Y7Om5LHKTNq# zecTKqEn@2YUXXTPF<7|Xw`7R*WFbfmLIE6iyv$6 zF?F_(hpnsZ!eIX0laJeXYsC&vJHyD6GZGsu$U*0+65r`5>N3XarXg;8W-WghA;~&D zdx;#zlD;It$U;_+!wXVMzZ1uLGmI~j!>@IC&PEv*=^RrB%p+sZO<%1}9u|_35yB@=%asRK)ke35z^>9d$~$6g&_ zmbp+{mO^B%X3E$Fj0TO%#EJF0t&AtndcRlL9q8on_~zQ_8AI&NzLwg}B{<<3*T59D|VtH@^)>K(W^(MnYI@E$}8!-Zk2;%eLP%H3dwPQ-)Vce#2#Lo8Iw> zMI|>SpWB*?!>HY&T@0Yf!tTkkSNu`rkLq?{{DzK&J)-Gs(JS?p8Hw_s{8w&klfQF- z+F3b!2OIK*)z(7xp%&V8h}X6>PI&cr{@0NGK;nxshJ2gKvQo|E?PPDru@GI$ykQ#j zIM1-w=QE9`{a2$uN=#y?J zyL3`?mGbP}Et+0Zj*;uGsY*sPaecqvY_L|>hcJp78h|pSC%W+t86|h=I+a1nwkTdd z+ioGwl6CW3Sq578j+CiGhQ#V_JRsZu0MrptVOuHeVlvnhG&~_9gaJkm2_;F zMPsRzu6^9u+}k}l&-%$Qv1{k_+D+8-ihCrVz?|y-8r1h^ccAr4u3Z{lPlU-J6PX|=sFHfF5aB*+w%*uE>$gxvZ<;g;9q{0y~ z%?RSu686^88>BHm$Fasi-;>TzxQ%cZBGxW$X7gU1x2t+njJMQn9AWzAj4Cg~^0>z` zcPZpe2XAX?T1@4P>GAr1UXeOn{_*km&5j6%oVdYO>Ui$TLBTg28Qs&$5e|O@Rvh#` z`%avH25g>X(bE0#2D}7CvJe5r=Up4(>D#hzznpWtgcHFr8(w^3kSkv{M!v<#@zR1B zFE4@?`*C$=TeQ?Mf^+K8rLo+3vLT{mc2HY9RIhM5?Z+5?=BYOOT%69M_jNS%*1W&-N4dnQ8mU>8-@z#cK#7|U)MAZK~ekCgRekBD^gOmyZ z4lTTz(|A0!ha0<@&#Oqj!Jy8#U)CRtUYfT~3MYDc5@yvss^90nab@Q$Sv1vGFToFa zfxMiAPS!X%08J8XEINCywDOzkUbwU&)6Z4`OVmUquU_HOwNorVsr|(3Tunrr1f7w_ zaOfUZU-s@K3)888d8I&o+o|inraVgXmh%)jfgjB9Nx3CYF`6xAEUn`eLoB;kRSc9V zAYx?W2GjYjJ|pcn?) zK>>Z{l$$3#6kfd|#56Y=>480Ykot`r9@##FA2fUQIZ!Xzfm`4OLxp_KGWdO?P!KU( zfCG`$we@<&H5MoDkcJ%=@G7R*|rIO0S!0_|rcU_)Xr4Xv`N$zfeH~JF@g(9+}-KhZ|bZ zyG9v)<$@=kja`yioc0K$GtHVO7@ggLVzUfs<_(Cu0^oG85buk^50UP=nCDXg!iq|m z49fgae|6UmKmKC4bm~>6I@i={=dWe|Sp@%!PY9p?yX;+Q|FzJSprz-s?@P%Bpg*ktlq{vmzTY9; z1>>pFfqavfLSqio=yDJ>H=d^x{>jX>3mKR*$n58sn)Yv5JW+)wn+x3-5ZpPy!u7?5 zjn#eqV)>uS%#z5DfSj!iL?uJuA>%libphz1xA1TG>K!Mbzs7(trl2JDqY{9A@7Q54 zEdVcjiE3wKD-PsirF&ruN@S#d28wWDF+B6ijO69c0l28T1SLno>A9!xGqgvv zeP;dt|Lgx(Pe4?90uat%WY~KYAW(0iXA|Eq{F0XY&p{{ci62{i$ipG`U)ClF%CQ53 zpuwp=NBiZly~7of@PWoXb|7a{!Y>cCO?t09Gx*cMQfL6`a0VZ?4aKPV9q8%H?ti`* z1*3NNg}{OkU4|Lk<8fTGD`~Cu#DDC&*eGmtWcK1l*kBJ#F9oA_cELcVMukKquBu~kDw+( z#1H}-6H1yd7Ez$oXsGfB()(T{fnV-Zwj=P{odq%Fl^qc5Rw6m=>7clIFbeZ1jM2m8 zxI#=vhJFbvMX(+)24Kv@&civ#6rceuNLfqxF-x@O`aMNJ5NnoQq71KpNV zkO~$yFd0=o?*fv)fRDcYCMk13rG5*ph^7_lL_z`WfVp;scv^i44Xt+uvJ)`Ueg5bz zhi&n1P0W{%QA^!J2oeF89L90{U~FduuD{WbX08@SF!^2sgYL7>!^;4+8%09eXfwXg z;q#px_G(S;pi?(R{K6g+2a@ieliIzlS|CZ=saH~WmNsA?(O=quAbGX0KP@c$@15*b zN`S1?G}by-GMd1De)hk6GDNL7U$Id*(YChE}5=J zq!*RlALWCyuk6~PuCY`ZH3XG|p+c1+8+qYGrJDCDD7l~49*nL%*Jka!6Eb3_3$ySe zKo+aHmVm4}?f~dhodkx-RoGgowBz*tYjE%P(}Okz1EPRVZby)NI)O^Xjq3I&C@QA! zM$s)!ybJ5;RXThA^2`O1nHZ)D<%aNWvaml>RJARUJQuxKl{0*_^c>_c?!8I^k+i_g z*y&v!Aa-rUoTGPoh^=`y*YpS8)zZQ_n3HmbF5UIr0sMxAl5ro;;4ggEh^k=};IsJi zeGa^Aa82%v(Cz<#JjORk<#^-ek97!5{gg#hM__$mdrz{C>8<|rlsDb~9`-yB|I3qNBsA_s8ksnH>MDu7dx7z(i(XWP zR#(_4@}{o41ImU!byZwz%9)zCmHeY~+BbbrnPNb*!`UbT5*a*)=amwEf*iYdA6K`q zgkS2zfr#D-NiYa$u4E5a!@dijr13&jjuvl0%4bE-5fR=B*5sQ_4k zO&#DcoBvq6fBJ{0HGcN0csNvu%l9P$-^4B7I(Z|_M79^~($reaC%*gH0k~Mq)j-)b z1T=T0Cv@Up>kFN~Saje2I6_v%8dd{kmC4}Xb0c?Qtx`B^;x7ADuHHXRC8PNCXxGfl-MpHtz59;MeRC5}Vv&;~jU;kwyv}czOFt zBQ>^l%zt^Ax~5(INkI10Fz|Yvt0!gz%BpE)@Z5}bKalPOQ6Wbr4N(deI;jUOM8F}7DdJMDi zeE1ne`os^#R|ekjTh+h#F<;LT&`!MsY<=I}oVX({`(0ZLJ2=a#rJ z>k9gUI96H+2vr6Ab&f6mhUE(P_L4lz$kdr_#Hvw_4pQj5buCmA5o3W7KzF9F7ra5D zc>pltXYz<8MS0K(umtK4k-*Soi z>4o^uIN*2R3)X@e+~@N(TtJk6;0UQg!pA2>#+F=`GBYX= z46p2B3_9IGzu~Y@$+R2fvcE-Oz>t@BpY1;n(>wH^tpH!if7J_@YLR{CTtSNb_s`%I zTYe-|)s6^anCaGB!+C4mlpNt2D+m9tTMW@4A6{X-Fk<;J(pXpwX_G+DHTt!_=d^e# z%aA8HU*7Si1n(NAce+6ESL%!JgOk`9-eO?9D;nOcgJ_GfY7jzsUfY4IhwHD;?I^fM zCswz?me~~o)BKabp2Xi0?-i?*p6^rbI-#+r>!J}c>)`lAd};{p@sY{=vN)Ik(XA6> z9f7k}Lf2%PMmetJZV2+!t&>cA2by+Kb%8dpt*6yP0k07x)DSof)QJ#<;OwIW0_Ip9Ij^-oMfa|*SVtN>{QQU@&6J$7SI``~;Dqx>f8g0fH@oHBeP|ODya0h7 z*G7`SU8>^#;ZrN@gg2N*l|jG6hVQyQk-RDpCs-MnSnOvrs&D`W((i8G4x40|Yc{Al z?x>O^3Nu~0VZ>A~B=1LbNsIGjei9BeQA>01z;2cg+Z1+;AomyP-Q!MlLm!%|$~>Az zAbshu;3br3Z1_L!1zVn@foX&bkN8NY|gw0MrbNU4wz3FQ!THXq4&fWWqj*lH0o z!A^`rte~xti=E*>`ZSJG*M@BF1_K%l&`&l`o!uvx=5aLUzH_rHp_zrjr)(a;V&#wY zaUI-|o#9sc38&?O5uO)Bo!+fD={N)+5cTVVfeEOm?yH0!!>s-`MoxXj}8xeH2fC^14DyXkAa zscx7V2D8X{U6dogaHrs~jnOf5@≀PueYR6PXa&+5lPn4Dt7#CSr*g<{B9Q4Eati zG5hgOe58Yywx7jk^VDg#?HQ2+ScA`35ci-DUR8Di26+RY$M*Pg499#pb{WLo@;qVK z=1u`3f%EaM@5}-Mmr58*+9{For#)Ew<;F@fPfx!1V2O3|lRu`n&-Y93A%e-rn~nAC zbM+pzV|B%jUHo(E=v?vTzC#R4#B_g)pj*&;FGl@l%F_d7it@ zH3JjTx~hR!P(N)m`-r3n?xz>S(0-e|hFKAQLM!7Zk@Nw~+701|em)EDqt#{E81@vW zN2H;jCszmN)i7|(eQOY~<8I3;{VY!xc&#TOmJ(%0M#jnnsEZHO=4bLBUba8LFCa^r zrKy)`49Iljdl0!#1B4~4cglL7|mYIl?(`fUXsV*pT_BxSbdxKMf%sbs|v z$HYlUbZJW%n+h)pVG#lYEYfNKl>+mxBnhrs50BCE?MWP;ICjYrB%%FWHB2pXbZoj38r2uAsY8jm&d1hwg#s;Lw;~ z)}?0BBMyqR7&eNptfHSJC_~vy(yJ}m=~Jzu5hcT8;@BLP>61s|U8HUTu9JaMU8LbS zrH4h=G7{apTaCnT?}oY_WP^920fxkP_YOXk(WQ@eNTd$=LMnO#i8aqrn(}v%_oslk z2razS;z(!wxW+ifB7&Lga%OP?y3<-6YimO1DC%g@NBUEM;R$%crQDf`$R`c{6K4_9 z?0!M|J4$EUor`|@op%(g%KklW#btd?eF=xmiKK(3!ZT=}Y2Yl0f&wwQ<<=4p}b!Z$0Zzk|o9{fc3p zSpmqvq&t)${-iVr1Xrgv0fe}Tw%9gKT(cSP!O8^91}H2EET-xl0D83p`yWEovvqY# zmQ`_{A>D&PJd7;KCY zVF<{~BG`IImY2TOGMu5@XAmMEVK;jOJ<=D^GbH0h-+n34nH!BHAyKq+J*WrbDhA*J zmv_~=EzZT%j9Ii{n0t1bEY9V1SevC<(Y->K&0B3*-P|m9hX~@r>L2snK9CP+sYX{` z5BkZ$S%3dbSu=yDjWF+(?b=6c?=~HVOsdC})EsOzZEW{?qsgAX8x%e>j>r=!=}O#i z9XQjD`jb^}k{qf-oEE=DP;6@BS!#FRLaF2&Gmp&bl@{uxMJte#`A1oO{^%PC}*sMBE*C*#$ zEij*HyL@J0=d|!@H`Rv1LQQ&I?(L<_bRMO9MMy?wJmDJd%)vzbD6wR*H#!$CT_*Wh zAbrbRF)&$E1$8EY6>Fd(#c$FsVBba=G;cU}yAZK;bNkqglNyV)HTdiJY00W>?P73+ zan6SPv}1ccMQii0c>h}+fd7A2WEej}Kcsvxxt`<`OZXFqV(+QARXGmAQumN*+x1Ib z6yni8G45w?tPOoK$-g6tCXFjrCa77*@7RswahsN$$QeS36cG9Act?Gd$mnWq&v27X zn%i)ZEHr3lk zH(up-#fuG9G3=j4!B5iUaSlCiP`JD2q*;^a#oYUtGsgU5L{l6Fo6vbI`BAMk9#-$> zD!Lea*DIe2Z1IxwI#i6=qB~F(Tx`sF^O%elK(|LSDg^V$2*tfmamJyQ$J5?UR%bt zcCS!IM0=XSJvxeCinrzmo7FPEbK$mPN?UuGL#NBIt=4*dw_7VfIP^G{8r0#`59gJi ze=Wyap{R^W8uBcQn)U38Ew|$Onfr09#(e%(A#`${Ce>BDQs$G@Zq3hlU9x{htr|4S z9*_Dt4zX2RU`bDtS5lUYy!40^&k=9Ub@jqB#5cG@dGP&E!A=-HAb#o<2R1T##p@TteFegC89UQS>qBr z7$a2O=cv9k9Wua_O9J@3F@#S3B2!E~*(1`#izcutT+wxp`Y2w@#NOv;@ip7Quxg-c zDzHUEb+IsOE4Y9=InN0-=V4?#e?#cA`J~NJeG#>s=T7+dDR*(A3^cXb{G;5+mvQND z9sI=~+4(SA1zODgqE^fCLX|J&$69q48X7XDE>FI{`5)lnjdae=Q1R6M-0!b_|NQ8G z_cytKpUzrw=$qg*<$LQIcHdZHJg&9lO!eCuT(@P~J#V1?U|V&}GhKD6Qab?$&{syB z(Nd@`1z}x$`cT9j9~li!Ab?{I3 z6q+<>UWs=hVm(u+1(kJp;}rifIVk#ppvyv#i~;q80~kAD3mRVAXzxvf`3CJsU3$QyvzFGn2Qdp$A=mE9=fRFm7H_-y-A5$|L;JVkVcyjyh<|e zl}!)-a^yu-$Vbs>Yp{zi)SqkfkvsXV%Eh;kVVL{PCMSVcXni=E`)g~P(?=W&PUI-q zCvY+{dEWn5PdW4QB-|aI%#}EzZ!!)(uM%}Z&e)r#zc2oio}osUX4*}1G7*n+|NhA? zs)%Fi?6M%1<$z%Op&TliV2;6&`zecs1Hk$%R6P?eA^^1|XP3i_!_V92L@+|=qxmex zEoxh`wZ+H*XillCrYt19aL$w{sdY@``k8aM5dE3S;qXR!$CGiZ!OTC8r^@?k(j5T5 zZ?=$`(xqWX{04T58EbCTQQ5+%`g2Y}8}~RJ2#QNP_sp{|=YFh+LT&r^t-7qZt)}(z zzO8G@e_N3E_T<;LTpm4h-@xjhxLfzX+ZzA;oSyX`@;hquGQ~&|{wIG5@{G@0%RF_Z zJAI3!)=%)2ANdJSaSF%=vaz+2-_@-!F9|8BI``ulhcOCJfhxOhA^&~^jY}3YZ6TeP zm=jbFj6HzfZtd&^y2s8nJ4^IgXC`6VGO z!=4Q1>m~3!fUS8;3vL0I(mmEP5u8B(Ybqg;1sMK5%ek^KragTskcXWD@6+rkn4|Gf zWKbku^rt0ba6A>xRMq_R83sfs7n^fPA2#z+7BVT7HZc#Xk;btcnjB^}TZ-Y!PDbZ< zsU&`8!Q7}5s`nm>quC*xbZDjKzanEEksp))CGHk9?H!p2isX{BRTfZ4atJjxf0t*?|bl$-OhWU4^7j-Ky5Z=Fz47qmQ=8Z zs&KW%Gu;{SR^E<{qRWs`UJLAZ=l!m~WMq3y%!T;^qA+FbDa>nZJj5FiIH|jTkw`G& z8^zDos)R6wa7t&sbZy2C!Wy_82+|fUpc8o(AE-E1`TWvpst$ehheTUW6FL@qwDXF+ z??F-$c-L2``!y;4owP*eEM8KVDyAKub&|oRL@k#*dFk`C3&q7|G)WgHX;HL6CvUKb zqn>qOysW)@hanQGwIqv&$4%ie6kXn2jrG~z3XT!y{&w6-MtIIb;U6LiJT2{t0k%q} zEVvK;OxEI&wi*-X%dy}M2-itEmT;%F=#I$0`;|bhtsb`b?S2_F1p<+|<>OlD`FB(w z6#glqBp>|c)SCWVPHi~r?;bdjL9xP9=em?B!2PYyr;pV#r)aBjQk(3?(K>6EI+M0^Q#`Kjy)L#_1wLIb~VP~J(HxW$`N?3ZnMgV#38C?s9!VMJMUMPf_X zc0M5CfhG z^8DbDE+dNfm5WW9E>ixH_#`7Bx3{bAkFlj&)W*@n<&TN>Jv33MHzsb3)h5YspBG}; zRqlNqPw=+atI$AQtt-z;bl5(?bLiXR8~pu60lr37af2MSS3E3t@fOWfX6*X!>09z5 zrqtMXZ3!=*B#8v_vJYrcVKKIbj(Pi3wnkCx27p}&EoEcN7e-L{DuKx(BpAg$rDuff zxD!h6oRr&9YEJFqHVmD%N?iAo&a2GJ%?Xfa6b`(oFkOWcDMDs88|ep<@&xU3i#-xZ z%f(e}-ZQSnGw#D5*gc+>g)0I+iO*2e+0L+Nd8iBAxwdXZQ(4s*`{h%2$qp`h zcU5ldz*)Y9u$(~U29H{LjlL9lD`)6N|INZCn!P{YOJ>?Qq>ah zHZZkkOvNo_^ZlmSg_V6eResYxK!f#eL<>dXg!iDV5#l8~4A^pyn&M8e3Eu>py;){7Ee5XK?nkV(z|&8spB&gSVeb_XeiWw3 zlfQmT@KBA6u0QAr%`08jAo*!9NEb?e&3-rcZ9KtqYxi80E};)*6$&ho--@Gup7&#l z>qk8zv*IY?Y$cx@LS}Q)&Yiz}sp=_$cFO(8s#ha(O$=W9-ptHEUEWsv)@>zrzt&i~UirC-M3+FPK=2b76NoqA zLiaeNkMU|@uLi+!&CgYzzy7wWb)VMCqxBKLxvFQL0}JP_VBK|RGfWD^4Ju}xmxra- z84e|-t6pRMsjHM6W~-plaorT*65B3*w1a4Rxbqt?GLLh;A>AD}bSueVbP1lQe9NDU za_l|x+|2NbLMrd>(-+?NuA05V4C@UnBu6RG=Zm6`f;rL2t^S`k2WJ5e3k$!29a2ec z0KA6?fKV#m>>KH<)LoZn>A(>nA2qmZ9+h+KUg6T_6JU(1W;I@q8c znY#ENyQpe%PU9KA&9e}in}M5oER1X9hDuJ!(9^(m*-z8kkdkqUa_*NnGx;DDdS2qpBjm6AqP1)*9jhg%wFLwd%TH?yvRhHp4GSVC2>v1BBU>6W-FvtDQrw}-qV7V*M zy%e5tbs7$fafDA1JuTCH>SbEEwX=a2n6V&M5tj?*InTO1?9y3MmE_#D(;BtrmiZ9L zM2NXi=UQk&7qKKFv{jb6N~GPnO6k?>x($X650xqw(o6AcGO1VN_hNbP4fubJC1NP{ z-7ZXRVxs(WDe?!us`5{|kZi zPK-c(>MJ$3+|*TWB}%p+$MF_Io{OgfdGme7Ub@DA1q}%i|5&(TMPvLK(8)-yA66A1 z?hg@N&r2(~3)^qFXY>(^A}9aYuZt`Bb!1VjZyNd-Yl8cAts zq{KiP0VyR#V3A69DBTJQDhMLo9V*?O5|WEtG{1Yg_kQ1ZeBU`||2%(v;~Qgd2ReYY z)|}6Lp8LM;D>6})WVk*yt5HI}PMqP~pUB4Q(a)NKc8%iGLWNjD9`9H7zT{uRQGB(h7zrH{&K8e1liL6xwrPXBijr^jCr{!knR$=>M>2Hd`aJ7aJXv$Y z2K+=(Z8y1oFl&Fb=}*3HM@R$QDu2XRSB~4I(FWowO&<1_jRB>d{2MIyoyOl`Ik}W)TC6^fhXIqZ>)HZLy~ICS@>{y;lj88x3&>Gs5Ub7xC;sqf16( zTT@4|ja^^fwYua!ULn5|rG|U%Ak|yLbahay=v2ObwwEneL1Y5vbAoJd!T7iGdC~MH zXR=n!pNZ||5n7q{7=pKwy9JGIR2x6#mJ1PG?Ian8jDy}E3EF&BuNl&>QBE&OCs$=v zAR~QJo#KM+A7pMn(sNCz*OlfrHwXJTKL^cq=_@1@o~*iZtq-vX2{8v)A}H>W!~F5) zDnM6F*ZshtAnF^Ziob2+M+?RMnqab@hjgz$x*pax#aa)=D16V$9Ym<`-A)F@I1enl z#b(H6?>D@25)e{(Yv)B4`e0^w>86mtUc(8#yr18v?OF-$zWqh<^K`y;$M!saVXd z^JDox@jQQ7Q2dxIQ^T+5QjNq81*Yi)Ls(GV;x;sj8um#@SvbA1tPy7_yAfW5s1P{u z@aKB=jHzqpVvWu@LJ3%QEj>0>eVsa_?g?6!%JRaumJN+$XHJXsqgLmgbjc66nw-@R zz~+(|wP?A@NquR}Cg2^lZG}x&T#@ERas`y_xPl|@$}Kj@tm9L$Wx&<^w@0e69x zZL3^6>b)|qy4)8R;8KkOVfGG>=@YOL>5u0tXPlnAs951)(#_|b==^mI4(U;d9~or` z>X|lU=NwENFwq((`-|4 z0z=8pL9sQc`4Y8DZa$&0>f4IW6|Ul10lr4rJ!0P&+e+CE`IMq^$}M!#_9w_&XGbL! zm0K+Od=C|D3E~-r_%KT~-NFzX)rxBoo#3A{dm!ogQN$7GG!tiIB+4_o(?6@&sjiZ3 zDJ(YTlC_uBc;WhSD%gluObEBR<(qQewgJfgH@NhkjmJJ&UOa6+_|sJ}#fQ~o_gy;&f>0TaH8uuQkTe=>!&5PRpf&3= zGpTsZ^()=JJ$_}Dq$nkK^77g@%l31Li)23qll5E46HxA^2OfT8mfDeuqOQ<&E_V`$ z9iBUQJuCvU72-H#=4%C!)ZF7HjR}xe+Yy6MQ;nzmk-^QF2(WANAX`U`59{1h{kPo;B1ov(v zFL{181nLBBmJ(XjV&L-?J*li`FkF@+)^6d-i*P5UK0zSaCbFS;X9SK$5*#-t^LTuu zcN&EqJ=ulDGX^o~tfxJY#eP+APySxLZ|T+f4ZVw*D%LX0&p<~jxO$)GhX8;YO>T?8 zOSpgJfCkt@sdoE3lC?_!w)tuxI^`h>|#f z|6)#RzY2qQ#CUSFk;?kgdPYSO1eo48u7IK2{VA2%00pL`d=_Qr4rUB&Qgu$&)wBfP z($AT+;QFWJW_9FskNo`3Ci%HA`QrDCAQOiXTRBI7zXpwca0vNN5&5H|7WJT0Hj0;Z zxI@c1N4p~i&kW_))HnH`@NRV9h;jGDi{Vc(Wy5>e*$YV_6lvOVWM92qYKpye;hehP zQj#HpJCGXltE0PGKjVbAkvw`ih~kc-Oz$Y|j+H}jS}2#-W!ZfsYA-Wcj(j>=-+h;; z{ZP8Yvi&M8*Ty0cxA0PpJTbU;Ym9Nn9gxM5th_d@hVR*J z&vEG4jzC!dptd|Blps1i&Jt!iySl)}xo`9;>gDOmJWOPRj=BE3DlSJ6&^S+S!jP~g zcc3jR%9d`JtOB!Dd&9QY8$Z<4*N0TAIk0W?`YF3njl#3a5q9zi zWOP>}l^<{!!HXsuF4oZ3eg$6DC@p;n)Hjz?$?Cr^^JYiTco#x-|BOhBPEY1_2*$K< z0L;llPB_=}F@-`{mci`X@SQ1UUhEqN-lhye$9 z*4}&+=BJJQ(*GH8eLA&?HasGp+Sp>Ku^Ad4ykav&)HCm(IP7uRspImeBwrw)3#W#~ z(#N6I6Suz7#MpCHc0V4DSN<(5RqCGSKzy=?yhH=^XY*<7S~HRI3}1;LcY}UEITh(? z6IacL0A%3%`BSW=3qk6a*0bJicrMSn1xoA@jmc0I$oe$>NIA_xoQBYxtiZSU^wy)S z`ZB(;fVH-k0nhxm;rv+>KbXWP5`U2RA_!_vJlqdkv~SWA#xLeaBL{ywis!(>)fq zxH&9R-?gn1`{z%X=XqM!YJCuHzr1PhLTc!75_7zmQ*|y#gxtENR0^#;)*5OXOd>)P zN1lws!qyiH;6SZlE)AkyVt^MKfb`!oSN zxshgb6AzJFD=D3tiZzKV&vWkNwX7D&l9Ji@?=>WEc&R&ES%s8JvK=(yCiW5L7=e>T zO<+{q=}P>xl&)EB((9eFyX)8+w1*9q2i5kuuW1X^vB!Tz9F5klAqwkRmKEXTPA3&( z1JdWh9XVh0=_fDoWRo#&R-|%P!PXkq9-V_op^*PNSbnt$yNbW5@ETskn+PC0A(K3r zy9P#DXVhTfWi|C%xI1}Tig+NgVQTY{qD-P~!r~#;&uDUs@UsHjWYG3N11W)cv+Dx* zbf2$xnkP$S-meib+|hLyWC)b8W5tYDJDjfkdfv7b%E!&|kuocOpsrlG&Lr!(dORKB zEO%VhaXc)=>+_k?Lo05gEUt34yPN)U`ZtLZDTAnq9vcPo`5WZ<$|La! z=W0+^vhU;hNIk9`@z7GzJ=sW4Qr2E9R-5E@$`$l+Z^H`IiUxzKvBSZ3cT$`%nYk}0 zERUgTkCR5{vBNgsIe*H^;R9BcPW?PG+kBM#fNVvWZX}hvtIgckWypao<(Z<3Br0}` zZOnWnvIh9eu}%~a)vf({UDteXz()aT5GT zY+&qZ{Y_r9O*;;FiTZXo|7bOAp);Dq*5_?@9$ zNqD4ZU|qf@i(Yv`UDVBs=SZAyo!=>IZiBuZw1dap4ywA3Q-Tu30KR}(BHaq=xSnJe z5aAfsd`e!k+vxLwg00z;P{o`}CMV8W`{`@}ycR3;M2!KB?G-GFmhvCx<#b!o{_-W@ zCz=2H^NbeyUVx+Ow?;IcE9kg<4_9`49vDkE4j`b8$k%?Brg{~Ws!U=+0f-B5YiK8z zuHJc)@sdfhA&cvr8fEg2HTPTM($d)Pr24|EG=Yke&AP{|D^1(MbC zFk$&9k){nNmLbMVVQF~t>(Wd0cFMtgCr_Q3;G#^{?}x@5rBisfuiuPwmev*OJ3<24 zZ|n5QYiBtt26sIKNg+H0hB+7g_&#Z_AkLQL)=KlLwE494T{?2=OO{ddypGt_n-{&y zKX7l;Eh$%wWUMWZv~$cFj>v9~>P81fQ&f>ReerG5O+LFWa;&A*)-e5So5B;d)5#gz z53&d`VFs&&II`tO<*Yn8gIE^{OsP$i-<>tu)J)b~&x$I&s${|@-$XVfWN-NLVvtU$ zBD%GJSGduZqn(ZI(RV5)2cX}fx5B{9F7d5BMUZkV$u5@k5Qdm&SkQzb_u37tSxb%?=8zdG=tu$S@tE3hc$vN0TNMvIga@6V>u~aTw>JUPLvYn%z zBo=+LnE=EyVOLT5VZE;W16_l5orAM?cvIfand$#ki91vM+F7^$FZn0`0Y0CXnD+vo z6Egj0AQH^f20^lm&d!T@l1?J5B?ZPfdb~39L;@3$C6lywII60_Xc7ccvxpJ?#Es(T z$46%`dUY(p9QtfZL`K^WsM~5QMN*N6qmXu8~+F z{VmbB?f9bt{422;NgaK}xYLK%S>Jw4lA1GGdlu0A*q6ct&qyZDajvbuxPnhYLw>mF zsxXFV@@IaxigsQ&h$96>^6bVbtSN?f%%3HG(3BUD?XuEGP5N;4U6J?^@A74IYBzcP zTEbfTST2Baas5P!bb2OwtsHps+1kElJi4DfclH2Y`)isfL6=H zy)D+(^eCs7C5eTNqDE`yXZRnt_9Z!Y_ceuHrrIO7tVmw8%y&2bnLsh!9N{20dLxC~ z5G-0(Uz#ecPy|(y>&M+4zV?d4sQ0nRSnmf6v<8>-zdTesX(#1y;(q4Lv;JK+D+95& zqw7lw3CmxdLO59lcrFG}{mc<@iDBoOAdqsc!TPQ(-=SL`ne%tynec0}uulJ*^wf+0 zVFEDEj|Js+*f8|WhDWHlrp4?(xv$keIj1H^6LN;o_Ed3yz24^iKZ${gzex<#AvW{) zgIWOanxSXsK!;+Bw9nmhi}ka3iAY5UlGoOxrS?+bDD6cywWV|3V?qRi5>$9xv&oQv zNSguedKt*y3a=)o4%=M&minUlvq4?$gOjIIpPV8j=c*nB;xJz~^BrtP6D(KTlVJ<4 zXET-vE|c)!>L&bp^Ah7szo@*Yf0xR8(SsBZ{dEUca>dU}h@*)BWMQVa_Xo5R4}c5q zC`^32N4_3q0VdIUIDso}w&$Ak3r`|V?YMiR_~(J_c(Nq9H+EmKn8~a z=^U^9r@y6Ecjp%V(}BffOzKxtq5Qvjzri%(kRX)9`K6i8>Ts*y`pqe!0tzf7WJhu8 z3qWUOh!0a-sy&FcU*NgU;fcTsSOI9%E<)*gKwVvt#T1;7m@x69;tvFi<5g9N|9HI6 z1Ezrgkf(1_|5^)=S$^~M&HigG{nz3-iSA!#x-r}TuYcdPBI|LZ{i(|T7vFbb=|vAprnkBUJJ+;3Y;ef?yG>)D zyzB(+kA?2~F7g1tC84gvJwrZW0wY0G*5!Y%$@#Ot_JLlt|K-h$)gwJv)IS~yp%xYD zVY#Th_2uz){K5ffW}o_9dMckqc;F8DyauD;L6|>`0T1EBw+-Lg-bA3OZNhl#}!GMtenJn z*kHs2ypWZ`Q3vgp*JwM28v|Y~undtvAwo71PAf$h1SG2(UAPl#0}c=v&w?o%KWsZ! zSKfLsdf5R`2%+*tka5)_oA+ucU1Y}JduFxttzS$STL52h7p@p9>5hwzsab_)kNV90p>zux*f_P89i(_6$M?rJbR z82z7st+N(;8M!R;|8jJG9Ygd>fT@gM8Pv@DKU-zIzWdh}_CYx9sm$va@ParGoi#th z>yC!sLyN*7xEQ?Pnh^QOWYg2V8P4ZFkATD}7{sLGX`R*`_X+<-x63+UVI|;#!hdfb zyq4_zt8;-V*$8Ek>3LUN%DvtP_;3q$k`^terKcaDM}@Bf1#bt5qbUP&7h`QPd^HNy zojM0ncUwP{cEy6rKI=&7oS8zpV;*nlEiGlO5inOF))It`-x6ffIiu(_x=NW zV95s6@%%s-D)Mp%h+zUK)N)5Msm0yP%O-uPMnFBQ>i6QpB(pg&&EaN-c&lg=)-m9e z#ZZR~-)D)s!mA7T?dWuv_zLob2skWhAdU}Zzbpn##rNa1!69-4D5jJu46QH%rrCxJ z?BUxSCugMyMSsACVuIMWmBKu|o&9q)mioP3e%2jXY{08>1BwK06Y26@w1e|D z2VhlD#+qGR3n@~Hp@%TVt8Il%V+9NaJf>+Ym_s23bSnNfnc zRzP_r$i<}SJ#Gr`wYfqbeF(i)F(@~`ih@jMat<*%XfbH4U~Ja{hsUrIwKQ3uMTFEa ziZF7eEk`g&O^U9JU;-Q)iEAIWL#hcTfj3U>E4QeGXluz zAYfithsj{cO|MfvG(&d^#~6RSUG0!Hb9uf~M}wH?(5xfO#8t#+071*Dr(scNUfZ$C zugExz#40hJRZbL(EdZMXAO1w&A}^PCebps9>z{S-iOtRWMb%8SPEB)T5_0F^W)e>G z7%@$+scTza92$a;xeQ9;=RW*pfNd5-)Yr9Ex)mN(uD-6Z<|hclV>#Mg2#iHyIjsGJ zZj%N3;2^V>ec1mg_rz+KfH>{97MRPwEF63m8T`-pqu3A`Qr&=3im_4?!67m$na!~% z(X7FM4nQi!!0KUQ#<|V=>jk^?34WIm`wPThf?!&BgV>m-sPj2F=X!AND<2ZXq9-=* zi+Qu3ElJvVI~;6-^poJJ3(i}V9!bk5l;jTgsaU4nW`L`;;Or_5qS*#Z|~tnUmW{X$7ZCHVdl@mq|-3S_F+4 zNlUAZBSg~{&U}MlSAaDtKc^h_HkZequ0(Ds`jU)${sRqzP2$FhXDT2_6A&s2uiCo1 zolAUG)|=f@T-dL(AE6Qur5sHi-I)Um2f>!-EgmD*v$DlJR*&WiHeLUgo4>$Qy7cQL z)_wQ8f^)jt60dXcD%%C8&mg{6KlE@sHND@UZ26_?L*&oWsyxO^B=XNN??y@Yg9IuI zkt{o#@k5qVHNP zJB*yz%TB&T)Wpuohr8|19U#T;ArWS#VHLJZE09Ib)3HdKIaQy)^}gGDRaL%f>C5+0 z!~#W!vpltV?l6f zr~8KYTN<}bHGdxNhw+4-7T(tNwDcA5v)%KbRb5`6gHL7}BZx&bNSlwq6-KTsKctnO z!_3F80WaSP+dbcMk0Xd;*k{?tjpl(Tma~ynN-A ztVRf})`&@hWi8ePQpQbhHGcbMo;|AtoLJuc5DW4kO9(cUb_8T%&X|OBI}r$uH>=|l zs&VOt-c=do=fV+KKNDhFpOHKlM=*a9+6Ki52e4@ffBVgBHF#BX(w=4K2n63$v!BYv znx@WWv*+YIU1sxsXrP$PO>AtHVj#I#D0WJN$RJyBYe0?O$fsl-RDxxdyfmmMgg9p@P0_BAt&Rs(J>ix zire+w*Zhu3e@){CoX4CfCELFS4q$kZ_zOGv&g#t1dMoFD*7kz;nblub3M;~|4`g27 z#Bx(ZhlJyYy+bn3dVA^o_W|Pf^pmGUkNL~p;VG}6>)@AS_B9K%Bl4r8t0j7w1omjr z5Dk91^7+9ujo%k^s1Tg~*kL*Tch+ zS5%s$1X8bIuaX-oi`bcns$^i9b*b^2wxBqdL9ym!@&x^+M*11QU=Fr)GEsiQEx6rgR*V zOm61+gll-aKGUw1?*WnG^v_G3m!mI66Z`r{Y@1_Fsb=COuT2G_&k&~NU(Tkr?mS^= z1zZnxq7SqZby8w_Icwx9WesSs;WJPn0%aAIAEI1~fdhVu#n=WNEFy$_k(0$AEw$ndxW2 zkOpgXQ}+!!xl%J98LCa(zd=3!>UxD=O~w8H%cf$lZP;ZG^0C$o72tPB5S~X*l?0Lv z_@po;qf&7dt+JR`OL+UbU4EWpa(U@+Wb?!beFTSwl+&{^(xjIQ_0H(58EyuW$uyv0(o(b_vXC54=G}l=^$`v^ zy$^kvYOuaZoH2{u0cAIm4;!V-KSCEg=0?*8; z60x#Ai?Qf%p_h#W580WmDju>WuZrq7+6=GN&IXdj-7m&P{1D67qQ6#brhd0k8lG@o zb}sKk0mc3XK2_QjeUTSlmCqI?HuP%7gx5TJ1_r)lC2_;OhUa6@^Wli`?3emH;Q^$ zI>zej5Z&m`;cB$b^x7h>lA!l>nsmte2B5T|Am$sv1EWjAIx#cGmYFOy&k5&`qeI!J zWeT5nnpR+@Kk~O0o6f0Kk`*;B#Svy*e#!VrAfTLCI9aj$_?3)LZd0(S$#>zL6}?B4 z(?2=&EG#m7*{4&IRIA>Jeb7wV2$F?UepO~_&Gop!gWO6O*!50>K+?|f|*?Ixjg$!U-QVTS%dw)PzNAz6MQUrXI&$@ zJpL2^r(N=~vkc|CKlQpuLmCkLry`N@`kB&8|Ar*~3$)53;05xn^(9}hNlu*9^~Bq} zh8zr*o_x{*jO3D!%zg2K(f8`TCVIN)*4Omt*quh`1`2q`rftutI^KCnW)AKm2fU>= z;uo=K>DnmiSV%s<;xv5Ua|Z-l@8e~C4)5hJRdlI0WJo%C_c}!f?v=-ke5C*I2NFGy z$~LX_%>BNHrC>8S!oG|zCaB@sy7|!e-4gtCK)u3uEDsUIhIpq`3vE}4!9J^v^{)g{ zW~L)u+etBnai8;*O~_nOVRN|_-gBB|ARjbxRY!*~4=jXK_h6TsQ-9{-f6K@35T?|u za7;(-k&54Q`0Y!0)YdQd&USKNw|8kzrmlLBOW8LwJ{sv-JgQ~)fx}0N$7|G{c0TE? z(N8?B3r&FV=VT$rZ^fmer8_@uf@i`mqAH?TdapUOnz#K6Sn&9W58BM9HDvuU3&I?V1>H0@hF6D;HoD9E%r!tR%~L-@8tOfnA+b2| zK;ZJXusijeFEhKTwZ34B<j88%hD&ja|+vM|b^}~Qu z&ig_7Hka%(;?gMMFVKxQ7*cZj2X3wDiH;&PgG<7CM88@$qFJAKD==6JT+@^OiNpii zEXhP#feo_1t-H$UeQ?M7uz{8PxeA;-Zg6S^o0pqDaYU-?X^RTBPS`;g52ie-2V7S3 zCq65$CXvOKAbA1GqFX)p&4=73WY$&?i-$qy8m(eeFqRA7NcJ>R)3bpzi5BoAJT_Vt zss6;cek6{^{Q8dcz1z|?fq4EnR9RvyblYQP1G!lhhWZyTKG5yw$j)3G67K5{t$5+a zK9F1GS$aBpKc&4~<;d=7M1*Sy6=1lL z>t`B6FE2(12m}0Orr#bij=a&^RqqMauTVA^cx*frMVE555!mP0FZMCmcBw<+k5e9E zMb!%KaKRpnfO$lcR#+5oty^Z{ni^FkP_f>!v;9EQb7Kka8o&Czh3H)*87=_}ABTM@Rm@>7I)8cR6aDGABz`CG3S`4?&zs7L zfaws`B1J#L&C$=)o1@paf)2RG`w+{o#?zL%H!?Cf(0= zc-|g2FTy@`(bty9?as*3+no269dZL-)zl)(4^uD3Q)OERSH`W$!o^+5xv^hBn76l( zN%CmvEmhqPE^Aj&F}C5ct7vM<>6|2u{QCRCyY*}7S-~mgYI=>5=0@@~s#X8$EO-Pw zTH3YKFC`~CWxP=P{5N*{AG5Q6&%Pu^@g9jHIvT4CS&ATu>mIk!AroKh=GsE&+`-yQ zg?{A2-3-}bma`Hg0rEUKPPP}Y?$tlh&~T_1@^|2>FA)IDCV=RIZ6;ZXkL1lFDReu5 z?sTmX4Z{Uj#DV4133~?8)0Ll0hvZu>tWcd^^sfTGzjT6Bjez7xvDtugmc8LM2f^7` zqcd1Ht@V0-^yj&Mz{RtvxOmZ3yFIzl*?IeGiN3ckz~X@KSM$V$(VydZagL2Xw6g7jT3QtdcVwf*&N)dZxP?RdTPt}#Zb_`n?|xeC*_#yMr&Gt=o_vm z1ro&cRFRUFxnG(Y+t|>1mF(4!oWq%JMUqlqPwV~rI7~Y^KTwi27!ZsZ3>7@-Hxt5PtKiKu@^@NmB~{rGoCNPKECks;xgG!8gibFN=ACm584Bh;25%;)h{G}8C>w7+sz92WE7+R;S1NqyGH;{jiu^!wh{Sb{ zS&_`0Q;QJ5HrMRSe84%UJk&%WqmEZ2**+~6iYX1k6Ihu{5PWtH&z{(*@vN;Vmh@_? zP^D6XlvVCChU_b6}7nAh~MGZh`0td@{U^Xxb5l-v9Ae;S;jbCW=hH0I?#*ux&MWa~6 z6GA`hTsPSKwhFoqzXy!EQKGyvlrjXF$>@a!uvHe~3gs@v%0hK$MW{F&S6q#m)naiBIDf(gjnt76FT zZ9&}Hqv46y7k^C{s2xACpW8$oRM{dSTw0AqQ157&uOj+J&t;=uM-QS2`P*XB;`M*6 zQB+U5B}V^z0L{q=7qhDF%9ijVed(pvAMbXgsn^%^FHHuWt8Aal!~@Y%3M+MgOiKRC zz7%n&K1{&N@!8t6=j!LA59#_!=UpRCkO-7>4H0yA1Bkds>d2M*ypsAp%g(G8VnTd1 zTdc%JXNGC?URUAX;TG%Po|ar2#LdoNGbnxDHRB)kh!ubBqk5*YyMYp?PhhwBfBi;5 zeHIu-ZRcs9l!>?MB)avxdwW`5f$;4)6ffxC?Il;5I3F_xk4?|LV>yE3@CJL z2>+1(dmnZMv~nt58!@lrVqYtM6uu(ZkESD({D7$iZ%p_C*2e=s^a|L)JL>u0aNw-p z_ z6S~_LRDof>Oy(L9O}6ZtT$dL7oec%+`GHthJ(s?=B#z=76`Rn;E{~1f_VUUja*;NuAb9`_Nmd`-U*QCds}e|}eLB&9 zELHT<)rPo4otxg90iot-z%&OqQ!^bgidfO@uOJV)?Y#dfwh70+Nuiw0>aZ-@`K@mn0h@&v>a^Hc%_+SI8{C0C(VGyTL`PhX| zs|N19rz?ZtFwJhduJ0<5cCZ;hy3(Klm6Eh{ij zFGc&|lO0i(&8G&Pp=&Shl|+ZkiwCrW)!HhfW%wLo7V0#^Nw?D|CGM$zhFFZm=Of>- zy)Rrl;m16+ysqPl8d}=t8%=MhQu#e}2Cb9Y9c0{MD6Zfg-KQe$Q%Hb1oTW@%-XL)S z`T`}-qvmift*NK)4h;osCSlSB5=b7^v`t9^2j-o|%p!~x4Vm4(bZxG@h{~8dw=#Np z}(%p=Pb1R?#4EzJ7Fv0w2~otn&AN00>4^7^LN$jiyK^KY0O00<+;t~%Vu zIO;{=OEnjF-D1s+WnnvlInWtNYK!@fHzp&+wpKR|9uU-E0KhRuw1r%nMN19uvN~cB z$qz^3a~bS$|9~~>P};zy?u;<)>`fZ#4`843Gj;mICBo=8lbsIWq{o5h9)(wVcm%29 zUL=KAgIR%ryaThul$+>_l&L-EE(>|zv??L>Tt!UaXAzt0pGYiyTbgZJ@M&zNM8VDg zUWL^2HJT!s9hqEnWMO?{wRXvjFSh8kw*#Ok%Qsl5sNdg&xvH_3fGZovPGk2MvTiHD zV^6IfMa7d%zy{&hl$=rNXDkYu@5JUPE=FZ~We&V)Kc~4#>h#{k?wBfm*ymO+i&;1#t(Sm-&w-f{B-#-Qifb@SDwFh2y`!YP`=KfDZ!ZAh zXhxlEA1Ho8r11iaT(O4?Xk;}5@hS($^?3-`^TQM5?<~jgmZJn)uO89*U78Z9h8rzgpEno@&)+zZ?J-6R)%U zHjqvBEPS%mpK7_MaM)@Q$QYsBouz-Z2rXKF)@Glu$IbuA+xa%+|p(FYAL4}-TRjA_wcoLPus6}fZ);a0g z)Zi%A9^8s`f8{s^ZB4wx@{mmOi$nLLepQQyqAMOE7pi?DXb&pie2)5DJR!X49BQ@? z$2T{SDQu?&z8@wts=C9awo^7flge3K{)p? zU_flR4b$=mVvKJ)Lj5d9KptUyijaD#u=@xh12I@8iho9z`s~ib| zJp2}z4=*|(=J#ilCy?&RPjALN$UH3~SS(xt58)0EwmhQVqp|=^S@t1@I9(~uuusG2 zY*jq-4o6p`4F0gsEU7D*CDYCqoZ1C?>y=9n27DRae!iBkng{a=F`!QeYd-YA(FhJ! z;78?Rpaw8ciF+-R64Wrvx8Q$Fd3qSBx5huF>u32ut1(`iTOX36I`J}PdV+v%hEdUb zY%`*MB+?RKcP{_R+_!>j2L=Cf59iuA|Etn^^xKtIwUWx~_Y(zoEu9fcs&eIluhKi!w-~2KZ>#b}EM7?1Ft~npT%vA|i_k`RUTTa-W* zKsYVnF0&-^9qQv124mUk78*&e@?5$jUn)8t?|}nDprvcDst@DkVDnmwFTZ9yB5ow;1N``p%+b&AhB z4|S&zjlH-?-{b=Thb z(M(Uqn87_5dX)blM~|Tl6*hr=-9(C9^-}gVM(vJJ=ZJ~nh>pLh@h$Ox?xip=|NXu6 zy$?iFU!jv&jT1bp@T&T2)2FD3;S924ncL5Rsuk@oA8_{`lrz>TZrj|*A`tm5yXfx( zEf(<mvQ3S6_I*clcz_W z;2ih2mx7Lok)6>s+(D~y?V#4aQbmF)(nP7N#!D!gai{H@z^4#`jV$oFkr$rC8K2~) zXJ<;Xo1)#>UbgOX_kOn(6uFP&yAD}di4Vyz+8Ef@2rN@#8Sll?*KHJ}_($5|_A2fZy zE&I0P=AtF?kLDtFe^vB$N%%8YvGT}IV1GbGHzurket1bvBE#1o;!Xw%>* zMkoN+qIfb_ly`xRj$34rk)kOCGcIU7RSEeNZ7!u`+Km`F>3}(_@^!{RGJV&{Hcg#- z0|ieW*a5H+4~TNR6QQa80ycHUwC@!wAcU&i4n!vy%_P!1ZKe&Sn2U5KaXvWLU9HHq zMQpudo5n#%#oyx8qzlnKBPN_XdY}o{)eTuC$-b*sTw4=FQnxI#;1YW-LIl!LI38d= zSiiAlhg?;zGuI0y^j=L^d`5<|g0?J{SM-*-7b-BpA+c1eUt`5rmBwo99L@5*lseGK z8+Dd2@hmFS8!EJGEZRXiatYlOh`G>OAai^j1RS!KIF`cH-qXGhj5!bF zgS_O9;F0ZIrX+i_w^=MUm{J=5NGW{c`x$?y=|=lADK<}Wn`#S!z#RbPE89b<^%9`x zCjEUew&hZjvM}v-2P}1z)SM!Y!r?VbhOLMI0iYC-W>fL5vJ3JIx=9~6;4y=}t?7_EB&gv=E2d3DO*Cg>1Bq#cz#uqnw z{@x1xt6NmBEKWKO5%1YPA9DET=Y-_X&etx5c!mj!E?j;Bois6+v!a&G6F z22oXQ5KQ%FXPV#5i5O!f zJ*ws|6IS7glc(qdKXrG-@>|B=3|F8;k;oDiLBtOI>CUdM_l|-QXC{2FK#gfdT&Dg> zD~g@6JOc_Qu&H@6N8y4b-!$ocy&-3D3?yqIE2JR*90 za4>YnvAUQ;_|=II92S@&xMEwnOYIjK>xfTR9!gU$2c$DCWOZ03$?Bqg8-*mn3=d^f(2&?zdX%^wSNZ9c(1W-7 zn{)An1-fMpR@b$@}IJ)dV(bScp#f<(cT1+kxA&{18}^kb;Xzi z3kUDYUQ?#9@0|VWiDHRYL-(;ww6GLBSL3!H-a`*2|1q|)d;L`O_QjAv>Q{gKYlP9# z_v@goc{w2*@=wX33o=(0;~+V7ONi$ibk(o3fs>xi>TaCuRSlCj3j`d>>y)L6LRB^K zh|;aXCOhP4$l)jLubr12p*1>#WJ{bnl6_1MGCw6e|Ek_%=Y17YFK;MmT=z zkPM(xw5a2wL%x@$v*HaxSpS;jGtwiso*jY-y8n^1uZR658C+^~b9mBR|8x2LzcUk` z!cMu96b*d-->fnJbUpZQ{w%>qsv1R&--em~3x>+y5+Wjxkzcov0kjgoyGQ(&gUdhv zQ3B>e0EwNC{{4mVpX`bM$JbW`e(h)Yis&TSf6Dvaq6^<@fxKVmB#N1TO%DFc3mcvw z(O0*c@BQ20@4v3$pI>-r1|y0sD_~ZM!olz)4;;PP4CONFi2wdZGxJ~9Ito;7zXcSI z4+d6SR~?$b;$8_Yk@7otpJpEttshZRQYsA>T8`@X;$Il>czXBf#%yd|{*(S}iCeHq zvs}I1zNe>&Z(601e-eghmT4!gdp|~LLUI$O4=Y^ShqLr(*b!qXcuaU%Tw&PS3XR$* zv(5>+aOsB#9)N%g6hhD5QwUh;+_~V>+K3JC#4FV1XsJDqV zBFx-K(L*4I#w7gc;=OV0J`kqZel3FSnBQCkMKUC@g0`t7H}1;UL(S>Tp|8WC})sWeWk!5sb>$!Ll|^aTP#{%t6o% zlXNFv#3DBD%qTxT+Mh)x3x-3$PHsU904+qxmPj%cMkF<^&>7D{f}1UgHL1R9+8BthoJq&JC<6(IzbRj{c2gd{In4d$90V!X8H)ij5Nlj zZ-LuXE`M-Y)x|{b7%l+wvBO)3jE^>gWcf1Ga+3Z@?^pkQ@R^ zZ!Ek|JFR+a{b%n&%(Q~gY_@J$JS6w^aosck!ClUMhdfsya7Xq_u<=31Di|r7C&mDQ zCqs?Y2}rh@+p<2{*Iy`DDt%NuUmkIR8p1MMta%`{wI|XPvxc`k2Cg%U_3H=`rUV+P zyPD>8OA0TZJOcIiEs>p6&((Bl0tV93I4p<{d>&7tD$+UQi$a1BvsmV|!lpldE61lR zimaRgf-f(^n-Q+nltH)dB-%Pt8$C@^!bXayNk^@c-z^L*bFpFM$H?@WfWRM<4Tr7Y z&HLcy&6!0`Wf*uh;U&H|Al2@*z{$x)s3bm<8aq^MgxL2m$QzDs#tuRq&A1 ze`WHQMWCWrNf59~npb<8HPV|_Or|5!*#AB8(~CdTzO27@aDhRUl4;#p0baCn78JxWQB{I8uzq1?vUfhNp5wF^nu zMWmaj*UU7rDT(oNMDZ)BCIhenPgkaSA89ZPg$8Bxk1TF2kWDv14COUq{7OY9vrkUH z&QaEo-#wk#qhB0LKhvmAr7ol2IcMJI?&LtG(VJ{`cn2Jug|<->Pt44?5cQ-cu(vaZ zOC*+3CEpS%s3+_6mRUrA1oUDUwVc;Tl zduy1;xu7AZGJo9l&ME}(b zb?Mhver+UQfA=IGro%@+%>zI7Yzr6^mXsjEyr*j1N!a7cE~P+6(W-2XD+MWxg79-a z8JzK5yJV;B1HfNeAQ#;TQJ7cWV13RD@ zZ{Z94hK-iCKqw2kf^SefF?6b2iHOdwm3giHt6-P`f%k6}XVyXVXh=hd1CGpa)H0%9 z_OupL4Vw(%U-|mY67PuE5&Du-s&)uNg91|WkkhX9vg3#Wz|_-*Qw(2RFe^2B$3;7^ z*9cl`qNEQ%ebNeC&{oPPSq6yNMPB`R#bSB*BxyImC68)Z@efJ*Z>nR~1JpWv;MevzZGDp$@jCvA~J_9+Kvp@r*P!{QJTPY|$MhdP&b&q_UskVrT>k(b}Inm7y zS^G*eH#xTd!`@qlRr&sFpNgm;DBayicZVV^A)<66EiJH!1xh#44HAM#H%Pa%G}5pL zk?vT4bKU;;-p`(yXZD`oemnC@4-XYsYu(rNjr07R5O6XTg6>_@;DdW;jiM4rKA6?0 z$#~pB2Fl!tGCY;XEOZmhK}0R|+{UxOE$%<^JRwZahQ6~pFsRXP{#!DL`J9{(|IIl? zm0?b#{RW5Wa2~uwX^G=pN1)vmISi)=1hLek=0N<1?ki*P3dYfI>?6jrS!x4j*XWTQFV2n9XWji}r-1A2n?0c&n ztD?~&>I4c(kBhYpcEE7f_(o>NVutY2JN&4#-Z=b8LjW3h2~UUc)`6LD;}XebSkpmo z2dtO&<`l^i@NZB=@m#fp`{A3Z=C*{bG|5Z4nIuKFC@?DiX+^h>nrQ|bTm+A%dd_QI z3$Tjga|X?7{jre6F~fuwdpBLRWhRtnDR}R*k11QL%XgPUaLqS}v~jB~e(_Y$$Zd|L z+}Qh07xhkItVC^!rCMx<*VgxsA`0bCpPLJdjtEYK17pGu6-+9LxrqF}cshI0r!CjO zPfXhU^64KE!5P*Wv+x7Hg=K_BZaQ^wHX<74{#E-AIL79PNQpIDQ@Qy~Et{p=w33?B z9aR$6aJ+~}Fap+$=VWw(HIs{;lJ(aGa|`)c#eO+-;vALexw|-)r|f)^>6rv0ff+DmWgVvU^b=z}Ct|;U!bOLA{|js1^ru6=L-k2jJ`A6^Qd_ z{+aBEZ_9QjFqi+br+&AdXdYBY`j>0XXd1R;axivU}d{Gp7pS z5uBc;wLtFJ)SNZzdO6WaUQ8 zey03Ioe$7ZDCJQ0L)~BBKb<>)W6J?lx^nGO2EQVyBp1j*DN$0?$R_(f{Y_)iGp=_a zO_*;cJn7*`1rZxq__>EP0(q9`ZF8{?0D3yTk3s^8s^)UH4bE{@{Ss%XCe z!NE{Q0ukpl$k>x)Vs!jY6O;rl_eI<1c(>-j8MF?(*UI9jevd@HySFQQMn7K}?+0Q{ zIkTmJTAu@|y8;N5laMPMDH?%J7&nFYN&`44Rv(gOdSC5hZ*sL|11;}?@-Bl2rQSiF z-Vk;Iy>_(CV1Cd(Ml`w-2QUCs0y8}0 z^iLddx`BsITV;Q>W7PWyEdVdp9nB3njRPc6ZQCg6grsN)|EQsJ41hMUbM0IT$=ARh?vdkgJJ&L2STubBt zaa=Fmf#W0X%Mj;anetq2=4F{JQ7Z_pxelCz#v>t*V^N3fOt%dePLmz^5zoS1eao@o z@8%wXM4L)bg!cH&dqlhXhTIO3#%Fi%3bb#h-ZzJzba@;{tCCZWR;|6 zB0D`eF=zCo5srayXIwE+l7A|{&9oWlJ|@7c#;}|*^{?JtHP+`#3+t`;sdx0iW54xEk08=ca-Mu0R5$T{A&&FxkY-Cshk$U zjhmUpVaEAb?%qyS7DW%0CztN^O!39S?Z5gvkZZ6ErKPizHhY9Hj!)Ja1;zzm=y8}t zgvYfxm=dvSGMKJZ!3q9jmH)pTeNdw)KmFI_Rr#sD)leKNtT)iju#+s92iwA*6VF{? zvup9-&g$m|qBGjO8Q{8BPUO%}qegeMv2-kdn9(DJgJ$p*T=V=JCsSda*Ee8wX^?wJ zJB#rcN9sU|@PODrqDem0X&IfA(>UuOd%ES^+_2Lb#(`k4VNSDp&?d-9k0W{R1#=Ah zLTR6iR&k(nU(x{9WB7j(d?}gwla$g&^Fj7i zC6@aO)yp4hYv^fQe!16K!h3R#E`RK7|&mu4Q6XQQx=?m z6DjhWxt45-#2}_O6Oq^Kap0BG+Pksg1D?`-qX>CS1O{reZ6B`J7$J4ID(_H1Eq#{y zhzMfLF4WMFNIvzHWcW)w>B2*}ZXyG!-L5MwKn`*TE(|7r#3!XxFSmTt9lu+v&X@qe7>;6sVI|GH(C2hjh3Ob2uBC#*?FmHHV?T{W=%8i^y z9z9!pI;&SeKoNy+o0&|^4d5G^dL;xi1Y)e}_YtudE2b}8zskUwDEvLDrjCof^%P*j ztfLY@v7LF}l>1V!xp@UiT*F-whVdh;2CtgXOLI(R+*)j<{x#AQsAWX<7Pfo%{oD+8 zInO;XOi8Dilk!6uigFiTUWxH58P8c?u^O?_Rcbu8ePsvHJ zIx@F@ftKf_ZC8SJ>-pV@NQCtS5Cj%E(bzBIF6>>fk?{VIbQ&gzWCCi6QQ3vddaBi% zSu(`!OX^G8KLlJY?3>=D@?>&w1nWcZ@FC%KFHcb*6Q1+8n@k>WUnLB;AcY!M-I8^x zvs(+g?xWtI#h6Q_QL&iofCX-F=tb!{i}if@ywrepmTPJs3A9S767d4P7?+Rlz{OnJ zqi|xo1KfM0at*5t=_5RJps8bp!vDKb%EiEJs61)k_0L2u9-Jh0G%YnHKLW7^N!E;z z$e$j4PR6XoRWJPrYGjwa+q_>kWPuim<57#ot2IIX=|uB~AZ+?c9LMIYskr>d3{*p!i^l_74=gT(Be{0tB4UIA9u;2K-7f_$j) zgxIz=JK`Slkagx!kWT8!E7H&Q;#rK0Sa)vvl23RDKbzjgS<9B46_SAYZ?Mi-5&@N1 z1+y}%ET&-n8qf+0&)5YpG0Yb43(s`BSJM89+0i)Gd1e(3kmK~&>S7)c*6CI%rA8oBR4xnH#R$!H&U|m<4 zArH{zcJw27CitRu#k}kA;iRAUD@IW@ddkluBDV3vWV;h7CzM1x_A*~4b}74R4UL0G z%Ta>wu||f}l)nfQQI9ctsM&rB2Qtdn`2!cn8`KLmJ$Rsc_PrTRWH%seQJGyv=mE62 z#Pqe!hu2jRTLCqUe5~u?HTGp~_a2Tf{|G&1ueQ!C77}Km>#<_W=lk7nX}|rZT=v=( z#>O_w`M$17p0583hQ_!qPr^RZe~JRGmGCo!WQ6<2&04v2Uq*t&j_I`Bi~>tUHemrT zXlnu7vRP#&#QfngjfVdubE(s9_ij2+op;+V6CZ=FB{;Ol#h57~o?O>UOs()zB`<>l z(W_Wwi6p18`Ppm6@bd1_8-+Y*Yp_?E~|NNd}@Dj{**0}UyepO^H4(8)qI znA$G*UPK*PSp?UjqSA?-k%*NA-u|!PPOV7)&Z7BwmUTyWo4!04!)pjM>@hdd8%7yq zrpt9d(K|*?VT-2XzH+njblxqRRS`LCbNQEtj)p@gK_kORhpmhHH{^W46l9qirQTb5 zLcTYug6z?n$XDN-mVC>3)m$~7HKM6~+u4u6O0MnnIgOfuno(J+%hp(>)V0y`eoAB_ zK3@&WeIKP}j+a608{Doh(`Lgguq1Zl9;;`^g@y;n=UTQ96XdF3tYz3F&T8bZu;~8# z7U|#T`~R0ci#)@N-Fku9{U>0z!Xjatl#ZsgS2+?^`6B59@mR}?N`oy@8g#=lUDd^i z8oH7Lig^-6_M8w%7Xo~s*lHq@rgmfonB&-O$R1ZLAv&? zKrT{kP?@s>>e)v!M3a>karV_1?x-5t?*5$m#cpRYzn1&m3@Vtk&tHmh+$vjmLRaE= z@LrV_{{c<7Qsp|KQ+t<(-P$Cuq~8jj*HV`7K;c= zh*@C@2$-VTz#B22vsSZMv6?hVuaUra=wyPwS^L1;o#|O3x^=s3n`3ZZ7VF|uN26?!0Fe=1Dw$Ky_IH~HMNGZKN`^Qp7=H9RO{ za(ni7yUqQqB&XQ{ZCTt5P6XZjxh0dH9G3x0H-T1i51jlv@ETxa9gc7A$L&nRUa>&=r zRMo4LmGwQtYBay=KAyZ4we_S3D=PZ0SCrD!(N6$KfNCK$z-hOqn7Uxj+!pVHc3`W> zRuMuXc_82E;_bVw$>RC)pNWBgjXV8dC6rWdFs2xJ0sNQFnbeH?AMR6fL5hc7SB)Y! zt}}Osgkm|4u_jM9!ofc`dw)nJSR)QXELkTV`k8NdGN7ex}e{!1W zhh6&cw63vJ)nE*}X^zPY0~TEVG0U%%u$s!@f%)6TR7 z%&ue|OeJ8GcFLS~^j3z$?ivK~1P`g=w{d7i*ObSi>3uvw`z6t`T^n@L7Fs<3hL)Rx z^{Tocyt*i!)7CIp&Qa@=oz|WONBFl2 zpizxyuUxDLW#-tjTjiiY*bvD{=wh zMYdMywmHCwN0<;5@Q%mAuC3ypO5K_|18bGovb8_Hmi9$V9;Qs5b+-~O3df5yEqlU5 zB7c^WCP8qq?cKqjDla|)--xg^(*jtfbykcJsZDW}p#Q#YE+ZXyb1O%(4j4Sc6| zN8EJOmLGRGoN46R7raJZ0TThS=w>H@63d9ZE8M`-z&RnL+ zoG1j#x2rDz@T_~Q;3i!3cJI+r`^HM@bAay}DIbGu|`E1DX|*bTAaCS;l6{MJ5kV7R`) zuHKhtvGCXkpY7jWdjH#o^M&BQxf5m!)VkS2o}7=ealCp8+q#?FSXQ;rpcooyG#KUw zOzUG=&w^rhil|kpGg(}hv!>U(R*_i>N^` z4%-m${D4Y}-^r{H_z|1tojO`GP8?ko6Wktc3FjeA?o-Rja#OjM$0vfNtq(rnX1_+o zUBf(B1~YOpnR=kUq+4z}sY_%olQr6tNprmYo(NqA-JEUzaB8YN{EPCppB`nL$#L(Q ziQC?RCYYtK))J0oc%vDY6>$s(>SU)b|II9Dr-k)$Dmnr*6p)pa;!`u5~Ng#fH6R z(UhcE{$vhv#G42ixISkO)7&Ka8GHO`nDL*Fu0zkb`45`7jb}Wh+zRJ7dCK|i01zW+ zd8TXS%u{Bzj*HWOOe`k}IK=S>R!#dB^fX@W559TC=<>>hreQzr9Nv%K+yRGQ6)m1$ zn`m6+O;Z9pz2^0o;zPU!ON(p&ru~bLrK!gHrBzR!vA1xROa7EAAcaDfOQQquxYNbem-{EQIe=r^!DX*40Q z&tuFFKvL5s|mCv#k$g!!6WGaA*iry`tV zINQ!DD;pW-x&0@k9#~9`->bWCvMvy4APix)P`d<}H6MKSx{tHV5;FLSjA1r&HXr0nNKUCQw>NxdBOaqLno*D=zE&sK3&zOSU zjXZ6m?vse>;>-S1;AzbSlg^TKHaE<*n%69EpDCfqm6ZP2kJ}Ash1H$dQu$gpKZrIz z!S|x8Fn3DfWQ{Fp+&F`|+q|||*{q1PI0hikZfgAF_PweD(u1RLxzMWN`0%G4HEiU5 zlNHU*+s%@pJ_G@_V08g!YRMh5>pczO2DIsh(H2coFzJ z;`>h1o6=I4A{Cow@FxG{o$e3j;>}`rLSZK(J=;x3sk~nCNg6I8#{=t(FYjuN`&N zE1nH0!<0#2-6490!?t3}IM~ImyiZY+9uM2Z+B^H6V@XEDX)(QC&TccR;q@nb3rsh} zOb<+#iYolGcXA!y2)DTv*IUF_Ys@}tgCdSifvgTAu_}|9R3geqY^7zl1I|9|YRyl` zGRip_Dzoqo0t$QvDJ=hRcS&0Y$~xK1?}IE58PyJ&q%xCcH$bY-;ucWIgwVd)OAe9G znr1vU=rx`x&aL=GgTYdw>G&gHMkb}PMdgg6Nu&0y^%UDOW!K)P zFwjKHJNW%Opr~ZO+^4#Tw>-Dd;GwwASOyP?F+ffE^FK$f` ze2hE#%QA1Z3Ag%*;5D?D5;|NXZ<;?pXwC;Bvr9Zl!cQep#N4z5FN?R7UdjTRwfbs+ zH_&W^Gp2VUG(;&M&qxH>>ZK$aFun>0Sa1UVzn|sUIx1dnH9u#fNzp|2Z9}b7F}Me_ z_W-l^Oz|q8z0&N0{vF5C2;oJv;gviK7~++CV3tQ<-QbRC6noNoO~|lM20q zMKF9dXz%cN5q8Q@OfL#-9N9t|~4M+xuWw_+FGmy zqSi&MI7<{KjoOEL7YoiatE3HsF&&Amsc>)6Cl3Bcn~qA*RB^O~R|cdmp0OPyq2+&I?WGxGD;+&xW_xe01&g z9ujkI$@|KiOwvQEHKN-Ywsiwmw2@u%hM(c2Ku2BGLhyzE3b<}IMXTPkljoGCDs+|m z8cf|>2tm#({K3$aYl(RCX+7^0Rlcvp`6xMTM z+_Dl)3^sah5qziPXRB-@syfSGbV;PQ|9OHg4b}SmNK?Uq_viR=UVnoWx6yTMdJ0SiV0;iduY@= z9^D@tEd|l1uQF>0xEUEOm{_FOa)zH*i0w$T_s}Vr^?^Fe32Kbak@tQx^dy>vw|G&M z(0jl1@c!duN^^?QgX4-~|MF#lu}nRYZKm;7)R^}Hb$Qwx#--3H%?lH9Dy>1Gl7t=q z;g(7O;t~*hr>IzxJBeX?$Y1c8CZEy6ObQO&7 z>=?}vn_kpSTpc!Mr(JkFNddYIW+MKXZgF4EXAEaV-aY$i^z-?W035CM?Q~1nTkuSm zb(bMTphNL|yG;c*)G4>vm*%QTIhlt+#9Q=d_g%p?tuLeABZ;L3E&rOEl^(Jf{&#aT zx_`~h-hv1bQt^OcLe%!edSJYCX*cQYI%s(@P5PjqNU-!*K_PlHK7VdQcroILWfj{Zs!<=>N<510M5-tPi* zIQ%S$CnY*gLmk}A(KfFa6<8Zfl2>EQzzLm)>xFbee#2OVi9RLgTv8@$p#o6ek@^C# z9D&aLqUx)MTl5=3{o9FfT9wHhCynFIog32cxL(fU=XDb`1TytV0Tz2CxdCTzbu1fx zFXO~dhfM2k$LhCC?L7F}r&AUh&>=slH8z!4g^sf9LfNv2F{~YpOu*o5?R(na!5T-KTUyejg(%AM z^KHJT_g+Y06~f$)1RPg7e+96b%+?Wo{Xs|0$&N4~J3ZihyTh~tuh>l_@`1%1Lyqn9 zQ$DO9`an4?G1Wju2`Sjb*BpFIw9!1}c8s(HITW ztqU|chmqF=Elf!5Rjm%X?{9=J*4?5${uQz@2unxrA9hT{g9T=E_F`~5Her@Plwx$U zK7TnGd*HGAHHi7tO1N|nmZEfcE5hQC4`VFKlaRxsIKW+?c1iTDUrgs5uxh=g$6oSc z=mP(llaN|oi~`}obs>&dhj(eyX=q6SFh+L8KG(+@wptL0O@ZAdgMymA%ms7xRgWn2 z2DA%H2UI1yhbxez&F*umip1}#tL!V!ANb<;9f8waQ1KKD7sL8e)}v$7Ek(gsn~+5k zZ9*U2sb~8Xq2<6>6DF(I-g~EP81RFhFte~u84C7oN4-~+ahJ9@3@*)CO{G6n?9Z1^ ze`-0Hn|QAIxV^Dmf!hkNE7))c5*S>8ls0KdcpUX%tA}?@P~sjK3U5qrKKC-vZr5D_ zr)n6WnpEM%Np2?!CHz?0*4|Hb^@+}hDsXx>=g<8R=-`fN5nsbrNkg`2>FU-quY>l= zKGE{dJwt^ijJw|)v%W|&UM9d6U&VQjfc~L;G^o4hPSr-nogJn%c8iH{g!NCAI97H3 zS(Y7LK%wYB=jDo8baPN$PCg=QSp+3Yn<)_JsZoaCflHFByj-IcH>k1J(jXNq>QLTU zPDLsV3+#?$e4|KU@TQpZZLk@v8`WA0OWaYwMHNu9MR%5vV#NG4L5SHr3F&DmDAFiia(V-&?@76qzqUzIb5vF zTp$apSa)xxy0AR+y&#B3$SyZwKT2%5>Y7eWQ`0*vHyN-@zsrg%7}qlkp{k%vkjf=r z3{vFblo#;RuS4@@;8(5I1|N$E_~YL>q+11Z0oqT?F+@QW;{eD_3MX(*f)aZnvw+$h zkhzRctKO5_s@5u7V1}lrRz`+f{?4AJllv!c3v2u=?8#U!MMmx)fsrY$cE$4CNUbHODeTK$fU~vGT*#% zgNwNv00Pf1m!dfWkqKnTWCzWlqW7&@Sx@UctKQzF?pBcvo2FB$qs=n`W}#b^0ZbV}o`dC}P$QyI2(z(f#$#J%Od*x9l* zfTBls11Q<|-O?S?9Vi;X-OtM8^st%6frNdWSB|( zMxx3(bKcVq9I93t`Ysd9FlbWK2*%Pjbt+aJ?OPKM1S1H7qz`taNh$$v;Tw=LUM)=9 zf4EDyU&vU5&_G+B`OdY&oUQ*0^k&P%&scRV+N-{52R^nfsRcMnxsCpyfEM8RC@PoQ zWd0sGJOHSXIWD5Yoz($qPu_kI_=r&DVI}4f-KkRVWt{nzS5XH4OqErfF6Lh0j))Kp zCuoxU>9kP1(Puf&skIkx4)VQ&eTQl$bS`TZ7uNNK8ob?0)8$ppE3>pi3XL}aI#S1RB@}qbW^`Pow>MbA;sX?V{GHc|WbaDLXN$mc7UAO_s>FE%%I| zTmm2Bzypc1?5fw{@SVhr@bve;Yn)5Ji<=4;x{_=5yJqXv$J7vP>Jn2q7=}Cg^wdY{ z!t7QM=%PP+rh8x75p~z-9gP!c&6bkYmq(~_{?&Q(2%Ds>B4v;a+-}WqZ{wNNw-pLG zrwcuW6MNth+$+Hv&7m+F$TZVaZ|2N@WHxVje%x*ov2m+x?IuDZxh7$QXW`fVm0?{e z0ry=Z_{^ZNca7no(^=pud`NhMcq@ILzz<=DNhA@4HVYDzwMJUPbln`&F{NNIy~Hor3zop13BsdkziMCO zYje}%quA}>@qOga4+RK#sb|>?G9_s44<6)B2xhvT+eo_EK|CGbBsAQXd+l{-GG8pT zKKq8h*e1;Da?<-n^ne=S7&}?42?JtUvRd?ICf}cmm?ILtaX&&Qlevnm6E=yKbPBra z>6U_3_a7%}2&*{?8TaPn5bs)z6o7Gnd30x{OuF;dg8Ddc?N;FR+s4%7!qMJVx z?l>FJFtxvyu8b$8l|*eOUOUas%)KUQpcXOXA=L<3B0CT^ap4rg7?auVMrE~^>5G)N zT5A0uQBcu>Hk6EwQ`_j$jnRzQWGIFvh}|BpDl_;2um8?SbnW}?oX}9}>l}v)@S2B} zNc|?Wn~`2P$2v&~II zZ)OinA>{98odZR6ViJ99bJDHV;_q7D^V?2ZrBi^|axpgXZ>izste<}pF|L3-$sFh< zB=_V;)algVt<^Ev0#+?PftNGYv()vjV}-RNV}&zM_gSG`UYvX+`dWBEvJnnxECaD9 zPdSQdMS#6e2drAhPNhxI%v{RzWlMJrkeM=(-Up`eBPXVvA1TgPdH^9~HY`eLvY3sq z82yrO2FVU}C!O=EuJQj{+2Ow#zLjMRHiz(08++&wP3cV2DjWD!!(zF><5P@j@2>A`gem%rT!^f$Z{5e@rxLmvd(_K3_nC5*R3`} z&d?^gC9X%Dyf}6NE4NRxl!B$*qth6@(8dZ}Nk+unVNaF3e55g8RFA~bdl3FxTu+Fd z0GBe39OG&wgW@MvG*Nr>ejU18u3wOa*f+!l$)2wPTi59i7`LKGX9qJYWxY@jjJb2$ zqJR#opJOS?2li6#Q=f2T;s<7!^fNY@CX6PsK&wu}f%XB6!44R^RXyQJ`jN4uE`@R+ zT2zz*uF}$b-8l@lDPa?zMieHJsoNXk5rRnk`pN0c-doxyp)kjeN;=<6#fRK!XT*b3 zm|tuh?fdjLs#wuvo9;_=h6j_fmIK-Iu)cGZs4;~%xI~_#9_jfl-0@-99F4qGK!KIz zZpRa^Ffi88Yl9j*PJ_Xi>l3Ahwc~D<#gXFZCyJ-HV&8y)S_Yosr7djWk$Ax6zRoo` zD3YZi_oDD#9F*^rH>KI<`#nhlt6Vcit#qHSpPxX7{W2kYhu4>^+2BLGsGxDZc8PQ_ z@va|}aig7QhvyA<5BZpUnyjR3OCT}HUNsaw{YJ!XciT<*T4q|2qJ7M4+LiV+Z}3LTuTUxBG8Q!&mh{KuJNiXEvR`;e*r1ONrieinLW|nFyD&9+CJ1>?gZd zwEi39BQ*%_^qX*Q@)etK8$Zq;oyC^$v(1qf#6_~ihofFC;hiu{Zz}Jjs^MjSnbZ8p zo`|EaT!n6z@GhxB8PN~KIKvgo{%B$cyp%mxiAKasj1zl}JN}Z9*$A9W75)}-)-zQv zapvtaIB9rW-PzNkWPz-no`*g-psGuG2|JUpHcd^ zv^VbcL{^y>zoX6~l{{rqx0&|Nd7LtP-h9nP50g;20t0w*Bv|VPC(_t70Swo5J&`j{ zMzGJ0e`7}}eJ9h$@^p`(#3UmEQWQ(+pL6y`YmD`;X1g61`{0i>hCBrg_m|GEs^#J9 z8BLGFJzsKqVKJE}^oKR~`ryz>46)Zz&HhTgCQ@my3!YmZBF4^XIx#eMzTMVhU4Osf zo6Jn^{zAdy9!Sx=m5Sb;lzC1X2{%H_cAe)EpZ4++nzZN~hvlksLMti_jz!sATg|%v zrf1*-W^9OLD0oJq=3Oav+n|va_1AboEZz%^!+KM!0HV#tCo*Zi=R6#kX9s=PhbHlf zvoMoqRf?p*(mQaq%|lCpnvBMd(|fu(mQNe4QeW}v+e1!0$cpu09!Nm!LAzn@as0~| zJA$v8rs}W}ctm$mL(q;3`G+X78TaCa@M&qd)){P5+A@f0gE7yK`8UE5a(sNOy6nG2 zGtQQ}ErtsOGxQT$F&EVHl(-FjuB$~Yz;vJt?^6wck(jKymsW@JTKWcO5cLf54^WUG6!GnsQwRgD*S5#qmjUcl7h~*qnV^^%0<2 ze`u;IX>~7)mNF0LLkn0vn?>b-Ljqmd8~0we3}+u}>H!s*xZnEQOdygCH-il2Q?lFz zp8?(~p4?g)F>Wg6>t;M-Hbh{so-E&5Ej7EnWuS~z5rT`j8qsi~YUgiTK=%?usq16p*V9!@LqEGFyRD&aTobP<|El8^=H|ykUnzfL8!Xk;2}@%i{gzCMNuI$Q(5aulNUWAf`f2(?)P74*AW8lkg6h zgt41r`=0GBE&@!8d7h*!^qKs(d1F5#m&@;0N5FQO3c&&*dA%O<-3 zSS#f6j%c?b`0?Y1k@w{$QzH4443Mze#8-_121`-^nxz;IM*2WnP~& zIqv`u?T>+a)`rHvc#}GtTDy5AuouCty?9bRoZ;_nLHIAe^Rs_`)&k}d-Ul!eU4#t$ zA@!g|pUneN86mUyT8c{m-XQ?2`XLx|AXIoTT8>hi^r=l`>wlPsyg*x$1o#sgZ&E@a zS*|IgYQ`LM?SDpvlr$bHI$v()H(08QpTuo0GiHf^o!+vHVi*9863GSqh6{v_1kB z`a%(i7zvs6GRippxmUP2gG(&zl9SVq1YXdVWgU#w-ffECoFmLZrDqi1c*GEpM#vmkK@?KAC|x1#L8LJ-e+vM7pyPah z?CbYph-k1c7)o$X1EKujQISo4$yIOw-b7b!U}>M|R3J2SE&Z97TpUsO^TURGutyC*g){7G zhb)PzBGZzRQ84g;O;sFI%D%ai-?-hseRJ^ZU;2fp-9Nqsj0owlA2@VJQSEigR!-9l zRRlrPY*8Bg`^;@_Yx(Z3_>W%$5J*ql67o;wmkrzuyZd0E6AJif;=}%jb_J*sm%r%z zhz8H;(NQ%3e#QOOHs1$F{H#cfe$JN03&56`_YZ^Ol_ME?6I~b((GHCY9N_aJ_#bOmkY<(OEcH@x^d;&duP0feZ!OSl zH0()0me7Vq796i0jMoZC@ZDS%0TWcI+mYaFO!ZD+TzPHS zfS-GfhM~=k(z<#vACS^Ho6p<5z%y9_6g6jp5GRT4iG>u29E?80fg)00a%33n-hhaIkxOHM&?A%GTXY%M%Tt7X%gvSiIq=1`JQ~`z)w`kNY|ckr>>^t$+ZTuJVW!G};dIWU8q>W!5fhxMF`SLgP@UKIOJb)Zh_}m7tjxgN9639qN z2Y`&}jRD{jX%eC;cnxK=6xYnKl+TR}2@}dw(d5@A8hG@&x4cPLjpYRUfA3i2nwAiw zJro0Rgg^WBHEShspQhH>&R!}rv^YRNfj%)xA%rbr54wOr7J1-?Tn9TjZahXMhYi~R z0u3$@fu3Nh6=T%i*BOF02@#7c3uyNLz z{lXCPj~#&vmQ0!+%E{IS+X%=J=s=Nv6l|$8PDsuR1k!2g>cV5ty;e85dcJ`UCcV zjvJ9%cHmxpx6=m=v48&ow6K+-+uI=Rn8}Uf$~!JoAlOSo$BF@Jy;2~P3IzWuvDF1@ zzd^>-w=r7lbxRFE1|4~Oie_B-tg0S3NCN>g}Q)?sqc7PJl@-GJrgy8WjUIIZC zH$?NnSbSSKIDmq|_Jdhvc_nqIL-}BBlzb|RDc!_ zx%Y5~cM8S!UGWYe#yHqYEjGg+PTk+C`T%a&=B-pq=P$A2;+JMKlVI0EPw3a2wiVO- z!88Rx4>31KYiJ*ESjcQCEeMo=@%G38+V$zY+oCOC>$;rv5Ti#^4p`<}`t*??(7VyN zKKVc!Te2|6<}bX*Bh`E}3E;IEZv>k?4(*xns&WmDX7`y5$jW!J2-_tGmw7UuRm>Kh z{1#|ZUAKW4u>lurvYFiB1~56VzCyU-Ii8()a7|GLRJOX50Rd;c{{_Ks)*UgnI*EF7 z5>+0?yaf;c=UvmAbM{mP8>bMiR3$+oPvfHb3p9Okqm97 zNBoI*pIY{FEhf~*`~C^7a@@~aFshPSn{nyBH*WD3Y(OJ-P2o4k&%z_>r*duAzvXad zH$i#k%K0kkbIn$NLQli2HZ|}T^nC5Rv71XARGoq7vJR;|)CQD5yVC}spef1R0xNWc z+`R3B{*H8RD4cLRv=Wq-4cnJ17gb=)-jVhe z*MREayg-MbC8?naodH~%G%dfAAFwuWh>c3^KMwhd>wdD+9e%>RS$iXf(oTiS3H9e* z>boump*>yFYq$uZ#xtdr2nx|jJ;3I*O9Tai*z0YGGE9mpK8+(sjuR3O8;SgNXBHGU zY0T(q7JumvwW=|{?%u{Td%_m?1}y<%8FhY9m`!Ebh7cetKAqHPU%3s4>C7KJ-mh4frCFGE^c=I$Oya2}0e+WA~>8K&=xJbu*EgYixp1h(E{+^I{t z#SI3MRr>npARKB%n%InvU{0$*9{s826;L4@tt?>BdBNs%A1{w<&Y(!%Ztpp1acBYh zg)~@eP?ygzkW9;81zM6HP_4Arb!{o{Ei~!l`QV9<^h81nSX1&MCRMKT5~ph;#c0LeS05j;iePXO7)XJxMI#D5I;t@1DNv z&n`!0>OUu3bDUAbbc=sB6v;qh;R>ynnRNl|iP#It*Vq3sL;L-QihABp^;hUOTZ z6-33nGBb7Ae-8>|NB5aNjZK2pvtOFY=Qx5hioZLc?9C;%$6v1v8&(H!>HT7y zL=E6}G5ArFP=@-V(2nRoc_EFC67zbFNsV59|3mhdI_9Tb*fLLWP|+2=2L5<$x&Ka| ztwo+T&5Ju*m=9lgnSX0=x@JjlzAjXM%e+aCot1(w@MzNw1;8k0)d^kJH-^2| zd9BiAseF&qnT|1nr!}VQa>z7_JV)R-uD|f!VoU!hnAEW;CQKj9>zNrKEk-GbP*#-j zXahpj4p0`73g%d)W!nf|1~Yi^x{^$xT?dMkx#KEnyOHD^%h5;e>s#2;42qam4~b>D zk6{`5`NS~WOng%GBF%S2jW{F)9 zsp)+)#fIs^krB+;6*y=Ijq2;@sS?yHzrS^@Q_U|8dclB-;C^uLfElFF(#37GP~XT_ zZg-jNsu{2r!X#KG^W{xNIYKScvZ(aXS-4CfY9XrqS|@n0FlrSk0fKZ!^}3N2cILG% zrgsR)a4S(t`oT0tNoYr6TWJJt}G(&CIX! zmH7v@d%G)C8iMQx_$We?UvMP!%!_%S9abbvl$AUflE=Zplf3>hBu*uC@gqd5-R<2+ zA1%h*`BoGg6PAx}j*5(*qQ1n?UGfVMU{iW_Q-S(q*NO-=WaB;{FE>1qJtm zviFLTIW4Qv^VIK*4^;0up=c0ISQGDRF?D|xgNL5Brf{s@*||e1=(!VUWQKUpYZ_2R z6JVT-+0HoGH4#I(9EL`PeIEbr_U$`iS;x=WD0zmM?J0i-@Uch7S#Y&h&}i6hs(&P5 zCZk^{>XL33d^{f$SK)8Jjy8j~RlssA*&T5@+lX~}Y|180>)(?tKqzcw^ZZ=&C?9gNuWiyCYfPv*;4gUqDmrD}XeEh-6X zwuT&C&=*}U3n$%#^a`1L~y*;7}}0yw>BhK@)}b|-Mb z-_cr~bT=3?FUeorOvx+`V~E2ID(}|&OxVGnG4G#il@!L(GnPFIt$9y zo!im#?-*UYMm`czrL-Dac~l?C@0=At7|Qgdj3Wn+Mkd#6uy%?yLI3A|(CVi4e6FU2 zca6XOp^5i>IkvtrRRY0FYWPn(BXx{99oc#2F4CClqz57C%9!pZ=!;cYTX>gDn?~9c z>3-FL^$WPoBzV7WvxGYzTd`eKT1oXh@b_T*mY@J0=N+aZ$zz5|FM*Gr@>!q8c?x{S z$7$XwVRz}VPIpIXItEEukq+6FtlwBF}MF+1`%B(UDRb$x?ikn(xvBW-WN_JyO= z_y}$B^|6IAr{|7F;!66Rm~RB@=-q5&Pr|;}2zW{E6)^3kqHS>_?idd^RD=>N(9yim zHC{l#u|9N$6S(~jziaxA>G`L%`CD&`#&=4=8zrDL>&B+C*cRic{?aY7a_ye8L;r&# z3Xj{q1bgZ#!VGuI_p*d|41Tz@5zXrgKH<6f!B9bl{k0@4SO4^x0ZVSZadUsOU!hwI z+Tt;mx8D!9yM3_}!$JqYzyfqCd$L)hD?NOxxprS-I1ry;(q!Q^iJvySDtLczkNi?a zUgYg>3-QmHF3-r!}wsEV&(|Z8yK) z`xK_A{0K%xdyCCIU2tCw1^pTIIa0!XPmD{!w(_p)HUW^EsRTT2UR=(*nbG=l&rSB? zLZnV?k^D!{g#D8-0HM5~LZ!g|o+tL<)dJ%j@bOK$I+7I1!`%Xwr5Eszgeb1BHbI}x zh?PZgL<751I{(Xq=oHK|vPnbHH~Giu)|iYe=j*}Hax^QTEO57|oV;OE#nQa`2<7Pc z+%t@>U81Bx&FpsCZ?qjywrleKYS` zO+2GVty#`@ey8P1*j2?ywvGGExP{q?U5HY8va zNy#lXYUclxHipO(_K?A|@ZH2>+gHm&CcAIFDPj*SWJ%Fry%|^Q^{N{uYKf}#yJigA z;(8hqUIp=k?PbOCihf*-WX^+DMfqj8%KOG|bc{oCIfcgtq~eC+6dx+XzWAfNe|0#bDnYDoX+u|{KA2ReQ&K>ziRi9kc!2~-V`zB7|NIK zQh@akd6TiAW&H>jDls#{SWJXe&n*|?{~{V&usg(VRKL16MJ*cnzK?LrM85Fm=z8$= zZfjOda;Y5T`?`929P7kXp{lWE;l3+*E|K*li=yvZI%djTIKy!d#( z)G&QH&mGB+x_TaHUj-_GoLwoQ`;U6|kgiPENgzN8Xy~oylGkO`$(b~Lz^-N2k-rW7 zTyR0@h@yKsLls=KBl7|^uQ24`!z9wuR{4jF2N^a^PuRWQ=%2>miSXX=82MG z_g0_M(@9+QRX!Q6Yn`rH#_jO=v2~|y1rM4OD;>%IaH0SEvj3co`B|afe95=;5rdne zwtJ&_;@3}fePXj#8e38y3&*1(R==iuRID`pfRD*}xHPqyUB8Q?a}$?S7M8AmWi?cx zb^fEXO%ywe5^fnszr%W$K~|FW6{SI5jI1zZs(^^Q@TEoV190cjQI3nmEXUGah-8k| zwB!^9$LzFhm|&#QK7h0|6PkAmUi*(MMX^~@sq&*WFS@?c?P`>=X=h0i8XvM|naEHc zk23R3v=W|ol1^=r6@I16AbUgI4_1e<8(J?LEM-^@?=Z?1GSSo-r=DzwpNw)O1M|CV zG7FT~PLmG{NwK$hzKmz+ANmq*Ro=a~l@tiC=dFz7&o z8WtJIP^oh$5P&zTP~!R*!9ul_XU}M9a^E$r+p48Tp*g9!sB)^8bsm$&w*eu<;R8d3 z8J2}!e0X4|@g)|iBe(`QzY4Yy_VhU%xps~Sm4W?kTa>M5(yyCF95W!-Izl|*St6NSU_$!OF_?j8n-b{q6Opk=G9 z0DAcX%WHsRU6Qi!g5I3IDt}b-n9Kfovw`Vx1N~?WXkvE+-uR@Agcp-mY`J{|(^fg1 zF*kd^qk5y0%5^1c+GCt<+-}|&i`?s=x(0z>H%_e#jD>0ho9bA%RRohedxR5zTVdIHE5V`(H)?^p=FrQ~-T-aR77mZm>OZwUh59W9!<$upJJXxh z^b7o!t(#~Iq>Z%!ix$VWGX(*<%1UTXov&AGy`4TJ1&$-48BW|S+0o}}>wxj7LwaTO zb(!|E@ZiS!ABVrYmm2UMT|*vTXa3qTtXMaipAIeG@(Q^OCPL-8Z~>fi{}FY7+ArB2 zlf`RF@MviIIea$U`LpCI_a&{YMM53(3_ zllZ~(KWVOrdT6jg{FB6Jd9Dds3faE>iFtOATTEvi!nXo(@=9Cl1LzsJ{K%ZU2d4ep z-r(<^)%cdT&<7;Xx7^THu}+FRJI3ZQn% zPy#?8Ic|DBBxhJVxwEbdXzmL3a{w>+3O_K%913g#3wtu7H1Qy6+9;xLU4wYCeWC~) zA22o0={tcfL|a;xKeG|y<5gv5lkG{F^)v{A(gzE8)!o5dXy(_jRYRT-2=NDa9PpHs zT{`Cc6gE2)ch9`=iYU+yAnNxERY^m=v+`kzLgz-~Ad`9N`o)+Qfhy2te6$WtN1D1c ziea)ooY@wJt$E8t(n~N*M%G0|KlMEC%B~N)1%A@8*b$dVmbsKuNP+1r3BRL-EYC_U zp(-3!WeGq$Q5I1KPuJ&shd-c75y`XfF1igJ1-PEI{VExJ^_kZskhKgV);-KJMELDD zaV0>cn%?LBin-c28H?&?ufW6Cg@a4dP$qPTj%|3)|8hhmBhJN}C&7#2( zW0A8X#t9%DOAFy+YNyYwU@H)U50o`wYnuY7gjE~Y@+#*PF!9Bp__jeh&!rq*RqtG} z(Ee%A@M~Wu(FeTucO43TQFqDl?h@ND;V10|v}(T*fSIGgrX{TH*$Vp~n^l7_e9r^+Kd9lDD#M5XN0P*}3o&9I-*HAVTKu{gNSI8Dp4q>G3qZze4g&Skbd2 zH8|{98&_tJdgxoPd6Kb`nnKmA`iQ!u)qcA8F1!`YLW6Hd(`!6_w>jOmM@|=lUnu;9 zem3&whP5rFjSP$=JDDFnSOzx!SULHUzMi*w)1B{L zOU}_%%U36!$CqsFG6l)Iuj+uH?MeSCC8pVNyIdO3-WX<)r4v|$Itv& zRF5aGe%&*IU;i|c5eS>1sx|iJ*#G>n1HW!ts@9?=)zmKz%8^JU+pr$9Cr@(r2!p;I z;KbK{+@~MX9mhf5MP)FhLUb4j`EoM2kC&A>k}vECncMV%rXfTD>PdA67W0;ryy~pY zSGDlbtVDaSXx+_memV3Kwy^i?BM1&oqIs+s^zKjr&#=umYG z&TYrN@pLs70PZ1Vql{(IRw51JEGZHn4uERmF%oMj0EkwZS2-?puqC0^A;3~j0K#VR zqk#0D2Fl6$Z~VHJ4Wsw`blPt`C)@~S8B~P{-b_UdjfbVC?*S)imRQsY?2ZQfI#?p} z-3qM7biimsthb#2G#*=@=2Hw-86oOkT>-7$0zY3qZyc|f;F0K?;8o}lRe{Vc|DIMV zttW~uq};itb`y8&=$#v$%d-UAQ#_Z*vHC`#h4J)h*c}6}C(@Lp`ax zC{BDkE)qS1c$?KXoV1kFi@cs?HFi+S9(k2^=ec*wK%G>^^@@<1@B^OBCP1a31n^x9c-sLDgI3G4NvxLC+mg`Q~4mYNAg3bw4Pl?r=F$#$Wg9V zE`HsFp1+lJwNnIwLUO$78cg<>c%04k-s*+*X#z4T)w@}CG_62BToiZ zDV6m!6l}udY+FexE%9dmjI;X{#9IQ{LeQzBRVa@3RTr~3@jw;EAZ}whUB{+I0oXvb zVOKv)aPqvqz9*RO@9~z{saojhVz#l>W9HlKFKc&Z1W*@PS{ic0aOfAR$BN1c?NRxn zuFtgJ(p_8Twa?9v|0j^?e|ypt$sb$X)(mdA4uKy%nuzWS)fra4{q@lpGoX~8<#i8x z6P9{Dk-75*`WqRUMfk+qz+SiX*fcjob|Lm$Z*B9>8bkB%f3caM&xJi6Hu%-k*V;F0 z*rCK4WO}_JpoyaJ)XQ4dr2&PThbrbM()4pbeqA6$1AhJWM*y4|fsA&HbWnvzQ=T=T z8N?~v7EsT6-Pe$18M-R4f53}3_#xiGdQlHOB6I@cB}vyR<%@C4G71&r!^?yb7`zay zF1#CP`08;Z3NKM~IHPi=SLI4VZpPaZOv;LUu(cy{a{n~n24^WM>T7&p`xr%C^_`;M z`TIiQ&ACuh*)t!TUoqjTvF_^K}HvlCP~-!S6fFE${EfItSjQHkt%+AXk1GT#V25QsEcMNTgnCe)ro9_9Y5C?xU~a`JK`+YWSl-~8{|c%U_&j|&lzj8tg%FSah0ed< z68SlO0ua;| zCF7S~(v8N;Gx}?*RV>YzoKuxmp4kO^J1?uNFCu*_R_SZ$tg>fpkDmhD=2wIIj}nm^ z3b|r`hiCM|{lfg#Skd0rmwCUdnlrKZ876r7T$$dEydP_+?R5=I;t!m4M%2BC^V&_l z3Y@LXSrq)X_^eF@kHJk%v}fr*-6jA2Gc0-(<9cWQ1y}Zg(-J9K6sZ3>RlpxHx~FCm zMPBC9tR49H6Tlrl_5Loftx-*r=rRrSgUX(@V#MJa6<9?}J@Ej{6KcG;iis;3+0d6| zF-_?F!v^R)wa_}oRbVIo5WP7}h3dWDZvxpKs8aw7hGwG^-rY`*_HrZCK-bX&eG;p% zcU0^+SXfc_E%$x>O2C5e{-U^B0&qi0RDnZ!q0#5BvHc6A3t}?8@~Mkl-%JafT0vAF zhhjf~WERdbU?0<(PKgh|rJ3k<3gWZyti9 zhaS&qZbl}%F=bI496VU=+WE>oEC-B@GVGEp@sp|;N~1{DZBjt17oD5ad(uR<(^qG` z8uMifQF}>r8DlVo=g-<0d4KxtS%yZoi7kQt&?Gl{XY*(*N}AI8LgLJ)J7+Wb*9{1Z zNhl~I{a_Ktbm{<^b40ADOK+D7I9$j@^XBzlS&X$XT|g2SJq{w1U-}&=IIi92ANAnk zO2K8XH|>}UQvjh1;W`mpk480eBq;}8t#$~j_DU0Mb4lH&UM$A9DF z8In7s4^l#$f2V5x@6k5m`ds+?10Wg&kJj228;QBTmn1O9T&GcK-MDSNn!By-C2*v9 z!uZ23g?ocuc^Yw(XsO7r8pw67j*?5~HszeEb{+rW1>^ipm+lRRhN{Vs51~EX5$s~t zhQ?L7m&wbz+V+bB&Q}Z#>as4l0_k`VX$WIvM0Yh^o{|q=DxY?Kq6Q+Q z+h6h9l|5kFHlI3nDjNk)fKs^f^m5h^z1IO)8r-dnxloO>Ge0xz zDmx(a>Kk8!q?@;uEvU*%lHAg&@6gtR0Y|sT^ zy31^;{*l$S=QFz=YL6s^rs;*x8%)!%&#wVow*8iZ_``%d%N%9 zLtn0Tg1{uVJN3Um{I3_lYk5(xm&uD515A}pc1Z3+Rz;a^)Ql%M1QxP7(w+B?unXD7 zVlpjIA3>=%K7~E3gf0p(%#0w@if-8_}P=_|tNgPo1Ux(rJPxL%~)+iS0r@a?m`v&>27n;QH8} zR+gZ|V=hHEoGfF+%l&h&$e*PY(^7fV({-D(Pw3KuiQgRRd_wK8Y6=_Ax;i{?2fV3B zVZ(yRwZ|^w`o0brqbqHb`AgwtTas~oFGAotPlHnVaF%|_RSifX>KI9X@X<38DJYZt zQW$8SjEJ=@H+=Dw&1$Bbp!;(GKcCU}f*7+n3s;W15ykcu=K(aYpg7XZkehFbZ|+O2 z#O8Y(=h}vhx~!>4&)x&V*{(ZP7dAw&Nd~v|K4Y=^e!f(OT0s7=e1pg{JMJv|)S41| z)0vQCERrnJY~cB!Nl}4@JsY>za)cMh&7KYagK2XZ^Pg7oTY>Jzq6X`@PtT`VM#J651{gAbqs#4_0 zs(n;)(v`!4RurmSbgOCZ24|gz~L28k)TXro0JSX&y-L& zmR^qyk1r*2Vcq168rg7$_Pc~v9oj{DS#vYQ7 zN1jqEwdlQ>=E*_y#HtJFEa%2iT?O6_)>c3`jkW13%aYebWR$l^wGCH#m32ilj^v|X z7qcGX;28J|Z_G?4AH7O8ZTd_X<0wtAi34>D9h~z^`Lc|^9tviHRamENFw9+(u+T@mH>*Y02Lz-=@9|R}y}j^*7@(XmJ{bzlsc4Pj2jZ?Pg~^ z{V2~*_32o}Je-+ySfi;+Bd_EoCCdYo`yVnrwEnzDpYtj;Gi({g__Nsby|oX&?!3JQ zkecalsW&UrWv;1=abiUH20l0%{$kS%0o*X5mNEOH<5FADrtYbKF(*nydhbb67Q{^C zgES{1;mc2iwH#vM*t(|_9KXn(3H?xAeHe&n;gVJIu8CxbBJUbAHeeNx#Z#mTe;2O< z$R}m#g*7=hTE$?u_u`>?JI%Ap1>wF_PUjVME?Tx`=N4Aks)l-91OF%$^tlgOQjO8r zcVPu4`QjI#{~kVO)v@$Y8Ec6_ zH5d9(Zl<1VakXjUk?D6$?*@AD9oN9Rz%LFb!^K;dA}2}NKmAK7`4*}nDYp(|l$EZv zjtV30|3&#E`6W2@W>Or`FLA48g;ciU;gXwRjwolzGtDGSb}(JJ2vha7~nUZxPE zWL+3mVr=TVwfiD0g&)0-1Aw}QFfCTh)DF1jrLoFiKE67D^p8e7)Gv77;;YcLAO+WYAvkvje_~Y1z?x6{yKeq{|@CZWtB#5OTE>58&bjy zmeP)siXE$fAj^i(AOPK{o*f1eEPj;*J&u<{wyx+<4^Llnid;-w6%Y&@apnL^%%EOB zB(slQsKm0uWc6FswaR7$-N&%8*P3UUEJ#E*=cz-M<)hUrV|2wMUP#4B=nJKNgDp+r zi!TAC-(^3pXmH(srW()u=r%zi{QgUM*{1cCT1gXq!47wH zEyOd%Mx(rMIDTp4FD!_kxWArC%)DMt8N;qFCY)D*`G}zP39a@D_YwQzAx9dmFnc}7 zV=8*1`MorMtrXGs&S+FFSX><_GRPDiQj(P&wU+>VLKcjl@36W`k3JVuqNw}jTS&%5 zmQn4?HpU3hpAV*5vX}(f**}5g%o|-7CDI&p4h9PiqAn!XAc+gDfVj}8;hULkfc{8( z6KP&{9pwPGT?KED@@ZPA5TEzL3=l0?ku+Rb$GnwyYfX*zSnrF%*1pT!G;!P+lRtIo zfnUc+W0zh=;E*Oqg>&woUFT;Jvxi6!5DJIO~rtHI4G3IVv*!;2e{;ph&9lP3;EsCVGm$kiduC84^ zAM{XUv@h?MLl=%Cjd~}bARSP4IGhyy7o$Ru0&0NAkm~8PX)hdV+9I5~oj;Hu9Mom$ zLn@+7S!SA-onhnzVpdp4qZg={uKpF^8Sp{ksV^|k+1q{3VhVt*tvs~oePE)HUrQO) z^7>f?Kq66LRzKCMbbts()X#0ba?J$ztz#bCEorYVyF^ljfV8G_+WzMpAgF)a%nF&O zrHwm7dYbzH#x*mL3O=j2i{MU zB%dwy_80o2>ZaI3a-8zA-;Wq!vSk&nBl0R&_$zGdkI&PsoVt${LVxZ&HEWGGu|y<0Ob5TRK8wGz`PAo^lC4k*rISvOUn zJ@Z8pBD(>YU#Y_2$=eF3#Z&a$jrHWjx^5t_t7A8D?#g7`C{liqle=3NSn|u+6HuGN z^}Pu-uAJe3oc$F#+9*kC`Oph8xuR4a$b0wqdRkx zv(E10Wt0}W58U~DA58QQEOL$G>ixdBH>w^k&#?f~O{IIqx^VzoR>y^{S{=~C4CZLa z4tWlp~qB#A&;3cK4-cx$`NG zK^wL7zKg}l8XxND?|VT=N5SGw?6&3zU2dk7GVsqbReEdVbA)e=kT2lt)|B*k_fK-6 zP1Io@mFZv_juG5oZ5ZY8Mi z*F?E+?!)v~Gs^(XT~hkgh1y&tynw6oL3~A~daY8^*m{2YXNBI2PwkRfKX==};-&cG zpsyDe`AU+L4rzM$Wsco96RYF9(?<71$3ZsbaP@ZQ*}&hqjJ9oj}A!dKnjiXF&pU>o*0$CJ^EI@wSQbhJCLvS;%Ng z0dZUww%MF&Pus%Ct4omH7vOzy$NxUceQF}iCXiW?ElNG`FcrDLn~m^&5C>G0_bBrw zULwP~92C?F6NsjGL(^YUZD3R~ht4PClPr?To(X})aw87^7F6~QNi;T9Ok9&zs^Rm{ zk9SiDK2R+&Gj|hqD}%^e?NMgIK$Z5!GMUdGtfE9@su6%ECCai`UP5U{?$AM_s)@pA zM|(}n95xNB7Jpx}93fjYyI9#0KdAb_?Rp=g`Y{vkX)yR2#&jSlCQ8n?{jsUs?PE%u< zoQb_4?Lq|#Ze{j-4Mysc0Ee{_5-FB>A7tOkrP1cfUai&M=1hv;^2JPVCPm&QT;T%Z z@+l^?M;io)Xz35eybTQbNt$Efm18bT?w-CgNj>Vlbk$rPNO;i?#6Bde&$rVgwq+92 zibX$V(l6U*Pq3!yV%!GsXLJLYS8($TyM zUB4&mfDEl!>OuhZ-OO-~{uY>d)`Gh2YPw8TRc2{OoRZQvs>T_6ay-`3kBDan5IWse zS-Vt8gFDZKi%A0Q&wK9bv#EojYDtjv%^Lra@<{z}3GUZ~$GMLx7wefSxQ}O1z6Yth zn=U!ga^)UYd%ggkFHhrXqw31YTHdM;s*^qiIdac zSA#X;e}U@Nx~xm*II^e(54`C>ys_J}nwyKw0ged}cKwLzi35$>9iQiS@eI%Z#O_Kz zXM2VF;R$7$={MWfN6i|JULtgDPl+Xhcc45}W1`S64_l;KB#6}0Y0ygyzlg78zZ5L; zvKjUNX$clk&1VI2Gv{zQ{x9_r7ggCP6<xeL^7FlBNk7r@h)Y2 zM}lZ@b5v%ZTJeHOHL*+jBUc|VKoMRhI(EZegvR9jjdz{naa>EoemhK zo*jTepxLANXi)aFgz<-!=XQoi+6$IV>SeA{+Uc&VX+=4zVllR_Ph=<5W8-qEJRKsc z+%tR0)SNs8=O=l>VeyR`4c?og9PG_n68KW*1OE zCTLUmM7ggWe}aB^Q;UK1LLjj}&U8S0yn7g1$Kk+&!)l~7qZj^*Uvce`A%dl_8UGDs z`xJ|s55Xa4V$0jmCsST}Lqq2#>Fa$Kdc}!oU9YmwwjQe2Nc@^j;fzhJ^}pFwUU-X4SkEe)?WlEqtP2r|g=jg9 zs4QUWo{3>4Igz=?c3@rVg-Ib%MR+eTQ)IC*vS;X^adX1h^#GKD*W{mB7OGudQ49h4 zy(ANga-a~0(o|d5Hstx|JBjpTn%1=yDM1821wz7;UOi;Fh@w|Hs#ye4N>ueEgbc`A=K$rWj0!WNpixxB2jq>5mD}D<(2LOF9 zXV|PTJ{LI=0*cAV48ag?UyDJRZ+kQ7b&@SQy9Tq^$ zIW~yAf_J|MyLc?!^G>ydZpR$OTu^qXKmA|!9RH$+CB=0FuTDkV_^nKqI5m zlgB+c1*yW69v4H&nXi$aFGZh{$e3r5DMZ@t%WSXevX^{A0lUd&&i(Yh&|Z!Ohz?u; zs>VPm%3RIa5%f9dpB0HT>^zVsFblx>#{iFDW!`8pTM{)7=um9{!9Z0Kxkb?jSaUwv z9F4*Z1glht!y#?E)Cu+CYePOzI_(vPy0e(n0q-wwU^l?EF|#(>CvYhDp&rbejevSK zlq`m0kO!SW%2VT-vV@Ma8zdL`15MWGB8c~1 zE&z0q(uzNVJPZ7|(Z6jCcP0RBiHSkTir&PSM5?l_-sJn$`0nV z=+S=kxeTcD9jPDBP@^j5y>?rvSmoA$O#?bevbRg|j7KwX0h|~OqV8+*&swNH8k8NZ zUi^Fj-~2)SX(t#*hZfnY^XxYhG*#Fx1$+s5=Y&uwp0GzIvup_=1C!S-u*Mq2b3B3H zI}>53({JQpprl30Xx>9E%rfpIyJz26E@5Z0i*!Lg;};px0^@(BzFlK*9rvFRW8`Wt z(KHquBLQot+|MG&cV5PcpYmag(|;lB0nf_p-*5eppQ}rV$bD2~kk>nBEc_FI;6@Bv+WFgGm|YbyX|Az=?%)3WWS=|1`+ue#Rq&70ZTWw{yAUx3 zFU=L(t8w%>iS~->|Kbbkp-(P*rqJiE-;?x>{Yz}8H%_$&Otrm{Bq2cT+ugSY(+ws# ztcL}R$;8e7`b+;7=IPl$&$g{SNj-o9)E77fFd}8y`d_iRAYfwaoi|#^1_wu^4>AqZ zh5CAWKj>zGi#jE;P!Mr@#<~3Uydfn2_<8$5t~PaV1I9qFB_sy`wvbn`5D_^Kuza2r z0}I?OeZYn`v!j&30kU(Gs~^IE|9t=EfhM3cKSG8q$5>EZXdwlWRujI!0f!&yXf@yr zoN2H)yV=FL+J8FVAboH}-0?Q}9Jj{bD3^!7#arnDemLAj&i@9?di)swB5!o^0njPk zwcbqPlkEv$GnMmo4#hn)L}{jvO%c_j4J{4VI?>ToJHEftxKQ?B%E4|W-gKw*Jq^9U zu^XU98aNM3NNQ-Wi-St0cs7#nG4kbnRp_+R1}r(s0T`D_FUYQW8h#Wsn_e{}y_qb( zC@^@r2@ver2W`N0mADuDwp^!(rr{DclTD!)g0bM7d3pcibLIsuYI=*30ZBZ6U=Q(} z%whNq^4VGdJF*3&p9!XWGoF-}BIpz>cW7D`u21K1fw{O5%MOL>7GB+1%Tt{910d4t zh8?)NM74olg`7y+exLv}X^(1KMf!JN|st}l{YCvbIm zfj~Xa5>*HI7^VTHsx%%KzR?CJ+SuB$n?it8wkq?g0&h5Q z6>uLtc7NTJM)`w*3e;`ub)R75HNQ@-dpSAQ2n+=HfBrFN+DAgGNT;M{m4s?q&!#^v z1q&uvrgfx<=}AdfaSeDjfVeWljvy#{fjRT_Arv`Ck8`pe?vYZex8 z-^rT}z+I3%hw(q{Ij~Srkd$kI5Vy>D6Aa{sLABg(5fQV8{d*gH7mH$&pv7U3oE5kS zb|wMI=--zCG2eTX+qK6e& z!O(meM&@s1V3Pp(gZemlzN`<$9fb#1Dl$J8dJ#e%K?fzj=*_qS;8<3|9R#bRWZ_km z&>%^rUH}FCIU}y+6S0TQm|R2!oMf%zKnJ$uo_{N}@2`mJHw$O*J>pX`N)LIl_e;Z( zrEAlSIMK399c~=0;^S_IZ3;M{_)g*xmp#@V1VH?p<#!Icf#~+RuQL#bnrps?1?06(1A9R596F-X#bIGp8o_gt7x{iHZ z8xjqiFj(=zs#(QH915q7r0jSu^R6P3uV`67U)EGsh5T#?r~hH~eT0gNBYd@I1L(nR zxD#&u6g!JvyCxcIV93A%W>$`J-9VqB?*gdLUc2tQuFvpC>)L`z#~e@`{0NXyNN2z( zk)+^>2hi#}CYjcw;1D;SN+&KQSmlSmg4;Ga9e+ofNunV(XvAgCZhD>S2tt7PFK!ns zBp!2THTzQBGR6<0&k3Ta(R>_nUPMml<3P({*!wN-bIZa4m_GC7#QyaRkyQ33-P?I8Hc*M+x|FmA4Md+4f(0c}W;#;@`zA%uITTtAgs$es)A%bPw4JyK? z?DrFZAaB92Inv0TOXxpoEVuKQ}Z8bh=iL&pdB;Z|}Fa*GiKMzCQe2 zblK1#5(nP(#o*B5m!Hp_<3!FG1z|BRg+YL0KI715jmYx`c z5_!l&LbpKle^aBe z6wa(5?Fk)k={}5hmpR%4Zl|wJIze6TSWW#isSWtO(i~&(REpj6)WCl$osu=Q-Hl41 zb;1YXpI^ACMN_SKuyF3@3e~fGuID-56 z0pgb+&^#^x_X15g2%%q^YZE#tWCx`aH}`{bZ!+L;Wy`^tJOCqh@z7N0Fn&3Y8yE;d zz`Kzw)Vc{QGsux+HaP0vADsd=f^3{s)p{eCJV|f4W+`xTxxllcKZS@g+Tn5ufBP>1j9Q4BR zZ7?YeE}n7>hIsUAoUjThb;Jm9^gVxbJCeItI6@&1@=B16uOGKzFRdQ(7_8>&IlndU41}L z9ax^qlRqLsc+Y^J5uJZe2XLjSO^}ytw;kA}Lv*heiKh;%2lanK=8zTrBjBbf4U~bWN1HLD&=UEdaO8PMJ+U_ky z1{%!gw{r-eBb&$2P2Lzg(|F^Ucg6{oPGDAhm%EOvFE&8(^wMdxt|OAc7r2uNLp=b} z5L_{kg#;;@Z)(9yOwdUYsadW=|FO2THue#1% z>U;n~6HoG;y33ujZmn-4@&6 zvU>7xtI9u(TvHYVL?G{z^!bc(AF`*|k3U}p-x>q4j_eskp6bibBCF-KaykyTN}Gl+ zt#5a3Y>}?b@B7F}Gtk&jTNSfy?e4^hHdq%RyNW5*P^PNaTzI22M}qcvJAg)TF}@n3 z@jm+w9%d4)^|xFH6MJ#{07O69niS+>8aVYvV=G;r1HUD|>!89u9`W7#3@hJ3$OdPo zqG#`BbvJi@{f&zzNq=JW^!Q4=ZU6Bf;BggVM_cv4`I*%t&NVgFgnlUt7r-wDU5u+< z@9UI4kSL>Z!9%OIEiNu`X5yhNyHob1i=|jjPlq+4%I;f;!^$A?V_N_gz*t~k`;_M9 z2+u}ur=8Rkk+Bv6;ZvG5!$uGz`kLo}>RstYf`+Ej7eXu0xb|g~CfR;r)4M{>eVjQhH$nzbJycNPx(42RzRP2k5l*{545huQZq4ShIKnfbvf(9FgIP`Beb6+ zIW2zzHwc0Z|f$n%F+DRMo$|KJBBA{%$5U3Tdu$O26{~ z=^^=GWfLsWXm9p~njVnb^Q@fca4}BVckS?6inY0NZLw8vMO=Q5!ye0DMULE^fBq4E z1GZ705U$`drfqy(_6f?_2VSNIwDSdOfZE&g91km3v*9#HuzW`QaF@26dLiv>tnQ># zx}pOUX@x8GVHMy|F{|V=XV4zsMT9-I+hNKTXu0Gm*JPGJMZyGknle}XtG>Cb749Yg zJrFH<019D%L$~Z25?}K=Mo>1V3MkcLqg4ilZbE0?vh3q2)kesT=;lK)xxk?Fa^AN< zy=37BQbc99T#RVD&y28)n(P2uNOZ?vf#p4A18a<{)iBs+R!hKiVU5ZK@0!VwuQMkxz( zc$=`snLsqg)k|bYS}k9e`>eDAL-8VdSv#bQzSp;A=taVBU?NX^nu`ln^|7qUC@n zr5i@`)#=Pbt+EQ}$ozpcgQR;G&n7xApxsU%k(7)`p49~+Pcxd3DqEEzt670N`q+Z_ zDYyI6w4!)|4glL+2w=|ha~}6xM$@VCPxaf=F3IEE-3B&PTpiP{TzE=S)hP_5VK)l( zYGz`T10@xsFgN8gnMk2wJv)uhM&J3bR3-5*p6$rRe>4-jPZi~*34=lQ3=-du#Kx3VC z%&}XWpF^RhhL#a>^oA=-tbdo5=rGj=)Q3sW=awtAUg5tXHxrKxH#`&DJv;O7uMZj zHj&_eK@*ezs5y3m!y3>8g^ZY=VHprp*8b(lbFJ}9ON{HwTcAp_!wNhw41OHA%oOHZ zij#cS%rMNW4Vz#q=@(m%C#CB`s%HmsD2Q@kpY=23S>F(_?cU?r0i*qGymS{du8`-x z5In%^4u+#MEo_kpuda}*qs>y<9AX3$3NqL)WGqYO>z1|pA`vko*X#J59Rb^kXBKsRYvSmcNLbKx)#G&=4jMscfB z!kVBaMyhce`9FkPxxf@eo);%lM>V`k?$Chv7~#U6Fgw`zN~0Ibp@$u*OXt83P00-Y zgnQ_|Tx6kkGpw`)@prErzJ81`C3&V9Yn2QvdCI0GXz5ti^xr(B7O)ex%hBk`ITpJ!v`#mxu7Y9rIe5Izh zP}3w9eOO`X4zkzNRKRaA_?cw*n|N~tG8#~vWiP_j$)ED2tkg&nVHL?>r%kdzTEwmT z4)2JyGsM`o(}25M#BJ$_kU0h`d#C#sq6d0mL76h=Hh+(@U$1g3$B>n~5azg*v4t>1 z;6kdrHnfA{w`3^8wy7jFvePibabiNYAGgP~p*&;I(2FPMV83RtZld0I(C+RvLz-IA zX5#xi>#F#H%f)CRB*HDRmcM4P)EXQ}D&=r5YDMkkS!Q3cExx|sh{q)MLgGg_%9y;? zaHuVM_BHT%4Bq5(ky7=w0I#!)Z7Cn!Qc+Oc`=yga@CJYS?#FIbB4|m%KXaOj_MUHz z4s1S>h3IFvt7Fpd+}36Dw=t@#4vjczBOVNyRP`3_qYaiv^Lg!NjuL5p*V)~6jiqxd z#vA-D@SE`-e63tbDl|9us}fFirrie|2BCenzDs&im1Co?RBCq}oq5$(twQ zsvaOjWoOt~XfWNj4;Txnn+9(vVX0W{Xt!lN2QYyVP3a`d8!--L=Z5?bR-Lf6TN26w%*;;x=F5!dZ`N0meGYhINE83V>j%wYR$ zyVQBqij?rh0K#dV^ZNRHH96GN*}YyFMNf7D7o-a){MNYIn77&|00O!7jeBQ@u?z;< zFZAiWN*;MtVNS4A26}JR{0y!-=4+eaeGjIbKGr~}lQMa8>POkQs>7E<=7CU3Ipn4YmJn zl4ga;7|tlOrc|AR|SQS^WrBlF^fr3>V=q0ub>-7 zoRrxmSUi?K*4z1E{el&gDvd69qmlGM)*8SPQ#G#8mPENEGp~y5n)H^{7LLZ5gbmQAaDv<#ct-NO$y%-4Zd-$Go?}zloe?)y zs~|dNhZX;Yk}@o`#`2cZt?!j$=$zezF>>levDlh?p3iy@xPFO*4X{IhzXf88U|uFZ zoo&7>RHG}z@H!_KdF`(Eo~8c|@Z)>Q!jV-a9>f}vDecTx2g+BNd#U_^Uwu^M@#`jb zH1$Fw=@owje9>b-GS}i;_I4%cr?Ju$s-U(5hb8hYOpfXwEN}P}pDbvyJkL6^LGnr` z7oRUQm~gO`!!N94@li@H>?{-Zu7{NsGmc0!)dh=wiI9`odzdRxu7_y{j=d(Ro8a-H z@ar{Qm1Tc2`LPynDVz?zKnC z+*o*k?75UOjMg$-Vci*NJKirJBL~@KZY?V$q)A1a|FJ|sO7)bLhN|#6=)6Az<#cBd%VnDiuuScut@CwGx0In~mep)bB!0!`~G1M?{2u6{+C;giHs@&0qn-*iitfPi#&w{-Z8>9d~o?RS5!^)BD<*#GuF55&VcuX$bL8si-2 zc@99L+IVsIk0hBhE&(s|SsVWOcl@)x=U3?1rn<9%%USCX291DwKcj#bS=!dSO-3_u zc0V0&PRF5Hmfu4dEJ?nq3LpB`C6+T)o@@Ao7;LYb110YQkTWXm>QFJZ+T0ne!v20@ zXw)>q#(ouDCV*R*hPOJoz7@iprOq4Lo5>9S3Wb!YgD!*lz8s67xA4+h;s(2DRScce z@d4iy0gDSbO|v1&MI&>TX0Gm_fy(*rTM9nTk>2?`x88ge>^ae&gs<)%NR}LBTJq5A zr#;f(t3lwgIq=ZEdGw=;QC7W6FHstgz}k{Z(8+-tN&>md_M0)Q4vbijS$T69`twIT zm`nA)Hhnr_UV-oX*}Wvm44;o_z;(h@d+@^ZRk2V0gEu z52AUl?ajAB^NZ3ft*tb&&7i!w-iLc6l?rtO_2P!yeUe~#K^LVD{{1&AbX`Rd^Pti; zYs5PTg+KY;{Cd=7Z8b}ro?^hEG8Xgfu)U5S?0W@z)<9X{5 z69rrbkp{w#n`94G?Yjv%G)D3>1%kt$7n*86eR{_N&PMxv`6B~LtEIZ2Z@odj1^ zfYnPt{k#{$0;|EuY?o$Ew=C`|n&vv<6%TeopBv1lhk+<2pf=4F7h*udg$}yaDlPm2 z7eKX^eVJo+?cK#TM|^BP zvdo2C`e|?aF46tGd1aTI<6Ql^go_lEwo^gkY%aQ^5@;%W?DNXR2?W9=Nm*!c`aYer zMnqLdpmiAr0N71y*wZ-p(l?9dB|B}4pc&YRmtB-v-v-#$!pNsHWg%{iJ=iq>K3{3Q ztxj`%%{$AmnoIX|V<1Qbx3npBu|vu*8AzokbyB;>s=6ii&FIt_(5I?QA^UIDHgI8 zsQ}E`6MXBt)-_nz8G?;spw4PJTy$T{*py`Ot`-wF{pxGmd5I}YwVI1e?h94C`UaK> z9x9*zN+I6plciULs8K`5r_Py@7oSHnEBEfpF7G@Aw^mCU&RdQ1ysY0K(W-y!>{jc? z)@k_8wZKpcV8YR>>sQHjkqgUo}QevQt?Ka1yg{*Wh-5b%%>is%*MtSAtBSc86;uA4KeXLWATP zwimOs4T16!Wx3e=DWk48moPq^ zZBi+P4B7cT%PSPQmn-7&GI5po!()tpdI6NBQU&KDv3YO|j|QUv`p{V-0W8F*Gg0DQDbc_ zjmKJQVc46_`0KW**rP`GV{%e!SB>{rv3>WV1c{`+GV=zBG`+Re6_?gGs!*VD;EF%L zj^6)x!;y*LD0lZx?;V>(Y$9c6ldg2W_VP9gTfw9{8kR(fOz?+4F(gd(FdN(t}u{(^2-@TZ@>{J#G7wJkqE-vSIssF{# z+^WIsWX^q<0WV&j+b7zXr25Itf^MW;*Z65(9aa(5Ss-~y@n;z`Sy2n8=WN|#Pis#d ztAmYir00K>pe@iqf;Mxx1fgUDoOiq;Z++ecH>Rx zd@jYqIpem=Pfh0)R>TaMi2NCW@4@qxs2(q%~j!MS#vjs(Obw65c$5*qZONCEqBY9>Tj_M z3qP*Vtbeq;Vq;6&QwRRKwjZhga^F~7-jns$ku}scn_Ddicz$$tGvb!yh<0&Nn(@L| zZ0l>gIB5BwLO`?6l@rfy6|OH8B`pcRpx8w$Atp%bat+zdM;FOcY>#36#r23fO)Zgz z+`B09xJ)6{OsFY3@(S`^-^RqX0bz>~S^vZD^8TDFg%w*F)kR3tN1jqR)n^=tz7GE@UpFjw1nGwyceASE)RZrn3N&Oz zM=xNagFfky`j|5w)n!I#-_NJ#&v_Nq%q%)YEa-@LTmQm4_1^E!MwLGK%WgEwnhetO z!c!tYi8gjmps*e9_tKT$9@!8b40!u_I&^LjHy{RUl=F6yx|j8~Yo3xDT4sR4d?I&Z6?XTs0O3wQW2}p%vyyI+;=El++^%`!~uIpFvxTecD8#b}UP8Vfwnl zR^FV6qIhf=OAqlgJPJ!=OR3#VSNjyBdlUF+qpW=@8=vd*-By8H&%sM5Bf~3hUME*^ zhAI!0Wf9HlMSlp*H|HyOElr=6WCf4%a3WV0zY-=Inn=99(BT(zmH}yxWd=H0fi-iu zySdd0AR6q_yDL^E9WVR9p+_Wpna(&fVMQ6Ok-~l7Njhkwgx=^zgHbPW15r4nwh1V1M@=pk^a@Jw&Cnijx~A`E zOrPOV+`QK5m%%p34y#d{ddDb=UY{+qrmj1F|<5w80*0|C&$@Dos`Qz7O& zsVXEUCpi4U=%~0biW=>-UHmD(E?L>yY)fz?0*|NvYPWYuzqCfA#yh)cR*^#9)Ud1e zdUx1MiZb^?DwmFKMAeHs^aybGxvlc@rq+d;i$+A~^zS->i{(cF#UD;aT<36lJm^*H zO;>={fg?#-|6eGJ|6-(o0WpwGxO`JmIM3l{_nZ(snwRa(q`}1X(%tv$UWgAyTr(ZT zmpoX~=>lk(S>nrO;;PUQ$*Q8L-JxS$<4}&qhSYGHn3OD2@UF6@+%*8( z1&a$L)m)3WqOhKvojPZ0Oy@;!MI2MDwb+rwrrXtR&q=#*x0OTIl6AWF98u59(l;O8 zT}(E&D@S`6Xnwt_mgtJ=$LeJtKhPIEP;RE;Pxd$9SyoeGEZ3L--eHcRdV*i+yiIx1 zsI=0uj^4fnm*G?F#3KV>NKEZ?O5MmO>Nef|qEZO>f-U`4VVM={;Hb&alA}CIigQ?| zJnMctuSB=%jhHpeR3r&`zYf z3c{*>d4jCrxtOSNZqWm=c1}caHpVYC{!39xy=>vo?FE!AgV}L!%dXmf`n`+cE7%CA=(KOS> zbSrax!uu&sCwm6iY>B6RutwS4`8OzCSU0PmNg!eF>~b3MkNiwE1luJ`pRQ=T8?@YR z)f)zK;oWDl%pcmq$oqBVM2Lq>>t7oOGv+a&+=+&kB9XyPDyy%Yf$jJ4*tB;p8F+G; ztR|<4&Z4?Y-d-?dWuto8NYgZ7u2J%KQ--*v|7+4DrncEra4! zylQdkcJs;l(=-K`G;ODIFi70!C~I0g#}Q^&O3~0i!9~*z8urGsd#|#7*1Bkq;VL6m z0p!l)z>X!|%Cri-+T)zo-j*L#=r+AAJx9mCp&zQMy%xP=?UW=ZmArXqb|m5Yv7SgkIe! zHgnku#+01PD{n?vwr-6ua}1ctN|p3sO0JPnpH-D>V8ZfD+Ot zbAYhyY>qBvkCKibbyC**9hm$Syn&3Ja>0Alx%q79n}Tqdy0rN{F*&aH=n#ZO4kR!MUkISX)nU{=T(sp2JHrC)kLv_G@1n ze7K-cyI_yEIMCs3`-oGB&Wz@3t)=t2ucjzh&RZ(CSHXu-W%E}4Eir2(;eABnRh5(R>iCx?OQk75hH$Vc?puPH-hyZftPhg zi57c>(h1J)XA{xboT2$H$~d6Z2>a=dIe)l3W;FuG9o9p=kybeU-gn@;UO zIf@GKqN1>K^K4ihELcqZA5F~MEH6QVQ$8m;EW zD7r=Uf$-L-YeXo*XVbcoC6J?mzD0Yc->O%=26$JL0&8z@Yj3w;vmlIlA17cptMx(Z zYb+bsGejNCWWaWfyoI@{)&XQT) znF7lREbuUO0{oMwx-Um(@~*c=dZ!zk=ubT65_25U*?XGtHyWSkQir{sq}uDClHuQa z(#orzFTFXFXTMs`l`QpaKU-LWNm$@(cblMNtG zXsi&`zx4@htN~vUa;lCi4FObH8s=~B5T`eu33!1Jg%}T3Tqtop(rxBKc8MgiKp@Hc zbg1fK<2uvz_RlD~2BC@$f!ez*_Vv%st%jhLKhmG4S!vK8;5*2?393E1^1Kyt&k=q1 z^*oTBVp?+d-z2mWJ?uDTs~-iGo5@->$Tmc6$d&b9nO(iGh_jg+3LME!fr24LWmOe| z)U{_;2BjMBE}@o?X@>*T2(@N2_IXzlWpCO=$ty4#@#8LIN=NMu{mireB=X*;{g`1+ z7J)cH<~ZFixg1-!<5*;*XT!rGI>Jyx-^yE4?uN}7{uhl}zL2-7nYi0%{%EEhr--rP z#N-bdy@EK&7ZKknY{6z*9}XRT@xD^8OZc%Ie`)UVZH9E92zFrEqGi(7*u4F3s$m{g z`s|vGJbkpu{U1n&T)qEN=u$rX!M}{}{`#n>=hGO%7^Ur*aR&|RvI{}jn&5oWJ6Z|W z8^&Fx4tcYuXluLgj$fsqy6|*LX@qzpxnz;Z<$|a|BeOXExM~fFI!*Rk4nMP=o7qAx zjK~!0q%)_XVv6UFQpjpomeY9b;6)usAIhFJPTg)vtJj4~ZA*i96-{?h+LKw=Onmfu z;AI-EAGCO$wdX8p`v!}iow2_DGQ^%vo!M4qc$w%WCEfVPaE$?8&k{!u=td>bo7=uN zNYLGjr*_C?5|UWPbEfIN;C?UDQ(Tcw8U0Xw$WTiBq+a!dfU#pOrVzEEWquSCvh2{252II;D>^9Pi)#r4z zO5cbcErsIT*T%WagL7t_k3P1TNk#Q`)x_1Pua@!;dZ;i8hqJ$^ovgxgv5N@759-jY z<#jN<{dH1Oruzh5Mn6k;#yx_hm?zX8BGur=S z@nbfb(>i`p3~i@pKV-B>{KK)8m~4?M+mjGob7lkh{ck4!L1Xrf#NN>9D@V4aEz@ z=eaHL73LE%2~cI`;CXIsmIZWtCle;=>B_kn5egnboGO&H6rGAa!sIJqm)b0XrezN8 z@TI0ONzxrfwsSH1$%7w;ElFQaf2FOw3>G9gj}wR_8acj;v8HGnD)`5lV(U`@(lwk7 z{t=>#`^t>IHJlpTl$~5*sCkR9uQ6gFDRGauu;`Slni;05X*Vol1Vl6fZ&fV=7Gm0D z2U9qFddz8rX!PhlUQV46M48}9y;u51cD?HJ-c-}OM7{g;#i$Wm-3Z1xJo#QK4Bo+YQ;Wg5^byH{gf+54Jd{t zQxC~1R_?|dcB`wh$9(Q(8IRkpw_6d%>%mT!(w7(xiQzfbc`N0iuDh*=G>>fx=Dj7I z38u9sR*Nhwa|h*C?97=CWoU98#FUW$+F+ag|UR1PLVom(W-%hBSH z?qLx3H-7b{**Yk@3L}_`Te!Z!FrKT=PcljC7L#OGiB6N^>;)^&>^3zWS;@zO=?r&d zwTAC98yj@_>4lu4U|?2ytDo7*S58Y-uyChVLq_gVe1KeRvUq*u$}^3KtT|L*x=BER_@J2 zu`>GKJZ=Le`_{^<`!-|4><9khbWS?sPfq;cmSIFmDxLRnnr&`z%`VfqK*9u7WNP&P zO!-6E2jn3H_8PF?y=yEX6Bcq7oA@@qo1u6<*Z|q*)%W8l6QN@9$g(5LYYC)k z12S!=wq;CAB|MbcC+BA32^t@TP<7&)JfJA~WHT%vazst9ofC}PkB675n;QS+^&#Rw z5kjOOd}Y!2?X$y+T%UaTmXA^dkCiK25zgnQ7d<>nla`n zHZEG+b&TT)TfdlNR@6dfR)&wAZp`BPwe}SSc9J2ddJMFlu{Bs~KuD52Z<{yrz1tm` zah58E=7iML-dtMPGcW3b=N;=1GT}LLi?8@w5oOZYuIf%b9OCgxOV3U8o$?fX&hq^X ziWE@Dv$~3F_4-SrTGIn6@x8?RAuMTb@;@Xj$DmIyV9KjkW_6X9>nB8Zuc%}nPEYH1 zJ>nPS#R3+ep3UFQ4%2ar*l9)d<_q`ol(|-oIb(txvK;$*-n8~dTi)!GdwSL+L9L`> zgYUdW$-+y$eKSJafIN0Y`ujQHf28?bO%*-iE3MT1WDiirdEN7;b>6FQirXGtPso4K z7jk;jsaub3#vUg2h)Hb~EGgC1e$Hr_6CQ(reNJli$_m({ zi61qtexfX2_;B@;smNo6Z#oX>S--=dG51g&7o=cElj>Hq8iBodsI`oZ(#n@A0q zPI6pd>~EJe&)b5DeUFNYT zC@yY_nz|2}_tB0yKJVjf{XlYoxjXt|{L6o6Ts5hVcrW0Mi3a_0`;e;krbar8)4P=B zyR@(MEM-coeAs%@V081AL6zNZSW#gxld^RZUIo+<+b_VqeoH}u5OKN0fs8T3e16pA zDMg+$J!LG91?iQP0;O@f0w|1Ic%?&kYUX3o;&6Tm===X?_8?*u7u^^uK{AK zw-V3j7mmAwmxWis#_vh-3q)y)%w>ng>c9v4q^o{wt@Bt22Scw25qMhz@Y%c`<)x$u zhvh!iy)Wx_J?v=%n7#n5bqsk^z6c357RMVU|iFNP9UvK)q{qe&!4BOQ* zdnojVdPjkct^f4^_e7t8 zciJ{wX-YdQ!_u16Us~-kLIqsg4v6JWVG^@o*xsnj%_Od}`J<=)7w>igLyxf0elO$}XajfJ$f|4}^NW=KIsm_akw=_wkZpAO>TVmY z2=~8vkxTcfS7W$bK#=NT_wRO_@vjej?!j8jeUBIa?nQj=jqsUaj^5w8uqFHf8y}HX znrtui)3X|lR+MJ|j!Cc8^iDbVc|X*`MkWJ!IWjT4{h-J~k(n07^T{Sl^C3#hB~VMC zt(OOi%hXG)^MSuMs*-0A6n2+m3HEayG<@3XK9w7tzxdmgdRE1Vd~M$of3kaQ;%TXG zSxHO#mCh(+sBnmX8+!DJ;9h&god!Ks$WtF~O&1>@9Sj1RA{U%)Hd-{NE6nxe!*zLS~0B%J$ zs!dpgS^-l_m!AIj-}~7~_|zMGi*kRoC(hq}1GmN?P=$1%#TF^?c4@dV=&H%wxA^0{ zg$6)1+A~WQt}Cw4c#>-)ceN=6fuvL!>ka^vr8vP?qMaRR*TQIl{6X8FPu7iG4DpjZZ%@LSqh!$g{V-= z-yfk(reCKg+{?#Q=%)PV)ha(eIPr7pXCb;s}B~ulr#M(9U zLY!VLqjURh)O!CD0@h($3GJUmwp9$NXDdU+J-Pa_HjZS**>C(P_zE6p<%?JCfN`mg z7==|x=?EnF9f%bCjQRoSue4$QS6a&*lL2eRupn`|k8NEoL4Lf~VNf76kyz)-dmnYazd_-DMTpC9S65NYjuO?_#F6 z5!MaPIfnLN2$OERIpfzH+x+|RP8#ql$c9n>Nl=Ws^affkeZUtp%uvZkkJoq(e*YxD zoYO#=iyX9Q9t&eI_$uJv?yEu2&hOR%l>7tFTO+3@DvtM2WE@5zn>&lW?fW~cn!#cU zsfs|w489rDc)N&2H_g;L#(8g=L>2P7;r4IwB8w)=c3Q*^aX>$@1|B?b0n!;XHsr@X zfKEehsDet9$Av4}a57)rjhxIwt;RJzT8OG(7mT*uXmEgP4Z zb}OLPlU8V*rYl3_+_{kvq?9VVPQZxE0GqE*^Jokzr(G?+sX!66A28~Ngt1drsuXh6 zLFk36eP4Cj;RA)>aJp=qfT0Ao>u>kGLBg;7!~xgff1Yg&CSkd`m~o_=3>FjsblxW? z#j5v?K^hIbqndoh>P2{j_DBwtLgz88ZyyvQd?ef8u{!`x0ON<{_B#a-6f5a6YDdcL zwtQ-gjEs!I{3RPIi*9!-Ae-r)F4JoX+XjVa!#HH1dAYnJC02{vW|1jysNTs67((PM zMD;)eLeJTN|eSTyOMi+}ZjZt_z%w*~_07UW{*H2R*Z^a3stLB5tz zf{2zTjBQAuR}YmdE5H~+$)N%ejy@or$A+?Vs3{bu$i|sE9&G0W*^Hke{OWD~V0aJ{imK68=WK&Sq#M5_P<$9JdK z!Gq=w@vJ8{J#jeE8f4{JVMT%uJ*j@19(>^bmCLAj{7G~-k;4?O+5rqz2T%@ui36ZG zY4B|{URCb{D~oBC7vXeRGNjjcN1(8bo;D?-smc|tk3RsJafW846Pvj955x_u0JsYo2G>novYXFdvjR1e zVSOKpl!fZW{q96DToP8)5||r0t4pXyv*ZfGb;Ah`TT0(o?;zQR_mN&`Ib1#h@2~zg z_q#_({VN~#{*(N5gyBB*B?rO1sdqgerNV=^%i$6(0MpRYY{0SxJ#fer2&iJ&pRAPw zv$zjL{90%)M6~06zs^bdL^%Bmp8Su}QJm&#`TU{hD)jhOF^rVkVP!7wm0Ej*{+ zM?ws2KmiQfVM>D7tn8f|&@G z$1OPI+}~i3=;UFOCYo2k==(L2L->4y*VEF2AIjx#N}e8t?NA_b=_eozbtb{@)rHNJ zhfKRaKP8WyiC{MjJ^}$f$Cj%N+^Bby&sIV^+u_kn2RPMqr-cs#o*ps3;1g(Y1TF0X z@FA&1Zk6BylffQnZHJbi@z4I3?CS4Y>YLYJ(ed;jAOBVGG)YkygnbU7-2malpgyjj z#KCuPhO3wJ*_RXHRv@1&fCD~CBL5QXA(mTml57(-8AY|)7+_7STyL1Ax&G6Yj z^r2h1Qy5{Pv4IBL9_cvTm*h zpeL~ZO?7$_iyi7Z1nwX!6-&*MAh;&E#(J6G?#GLVbQ59k`C6Mk?}9@QE(wS2hVCMy zDJtmCZck}<5sL0II2>3lb3@2lo=XfceH2Bv9X6-B0_2N4IA}#ed#lB>lziabpcWf+ zRcrvVkvp3|;f1&1n+}3r!VoB*>0i}*_uW6qNzLBT zK1v!JJfD7g3jDhAp!N&Rj^MM&#JPO)3mEqjk_b5NTcSD=?n^`(#qMr5ZWOU-aMilI zEOsP{4FUybAaDtBE9(arfu#*(Z}z}RIWsK?5SQ`y)W>WA>Ao$^uOdq!+D3C&wSP~U z@6Sy^jEUMLZP8Q?r2fBu6=~OB`IG|fALfj-r$-T5qB_8!{tZa}jKG@MWW%)x26Y~W zVYV(oqQ&H$wJnj4IXbO0cM;+a?6;l_)!u^*B)$0dL1-IT1PI(>0xlR4wqU*Ku z8G6a7UF*ed`j5J0*FobIocU3pYixT89#(Orkyq`&yn17})1q2NA5|5mCn984wpA#1 zv=CcH21@J-{q|Us8V{UY0IB+5ifd3r7}oE@ce2DUgeC2ds$XfJdqFN{Z{X3%9@0*i zL}PxnHC$-c94&&=oG2DhfLv5ht)OyO9j$O&RLzjGfs--lhD{jly#HgqC*i)Y-E86?9fruu&(HkzcDFjh#58o<8 zLn7Z6Twqx7fu3Ls9&hIn6hU*Xpx6@X#5m zwqY>t#19-I6HS;iU=8eF-l}6@Ydxpnwe)JKKK0x1n*EFb0TZpd|KzgJz+$JtI6BzL z(o-%Ia9RBpSzJl(T@Du67>jT@<2K(N`5WG;#f2<@tzuUj)tjj<@v5f@oHtEiwoRQeOvx2JgtHCGcX*w8fx673{3$1Dj?9 zFt*2HMhU;Ko{2C0h4B*pNnQcS^zZKPUqAi781HYR$qCH=qZn_X&@+HzIbTkRgK#4U z>_Qs>Uy2S2e)cau6ieB!bTUZjPXGmBYS%BID>MYoU4?HsppF?(&tGA}_V{hV`uakrvX4Hw^dw0>K%+NwA;9 zpgD;-N`rIw`#6Xv{wvn=hhO=Vx`G7b3MO0*uW2s-wjw=&aT1BHLY)LRTviFlqyOcR zfrbZCxgiYz!a2Ig6K?_m;|_e#wS{Ef$#D?cl^1(5qD(~$ul!mRcCRmxmyUH78g)0r z;qLfQM(1%)hj15QTIqIwiImxQZ83a|t~~#5&UyZ?T$JSPpA^Rs=V8sRJd0FX16&M+ zlo6#f$o6<6S6q_b|ec&(hR|TA_b+BLXHm;*ZD~Y zK?mfUrZmxu_ygzTBXwA0Bq>R6vNV}0@P6gH@Uh+`%iPm(S{tj%1e&mIGLpbamp4fl zI7YU^L@q1ndqp;lev~3XmSJmkbX29lxL+8ikNE_H1uE7KOQV^Y)e0hCxohP=QJ{u&1 zgOF@bNCLX}^xX$OOQfbWso0w_{{{_r6k@8>o;F_$s2fr-zlb^kjDc(;VrgZ(7YJnW zkK_wimsI>7ai=WzI3{TC4&*G1a@#=-{tS8>_l+Dn-hkrJeV!C75;+j=q>rhL=@IDf zvt4loxH;6r#tz_OL1z>UTyN{j(iB9J=n0F}D}2`JF_xVY$KNvsRVvN@d0;*;LDOq5 zrd#2Ea-6$rp$W#7E)wjrx-wik2--%eb3tD+6|*$xwXiCrUa;>=0E!Otdj^4CsNU%h zDA`xQC9in4N>%OPi;<6uCK0@?fc)P)<`wlLRt&5P=Bs;}l{211YIgMy` z{msYz2Hie*P{&~P?(vDc#+scaWDwO#?(~7y*d59FYz`Y7K4x@J#?9Zl&Y}D zLDQ+VyLEoHJZ~?vgrha8vzf>t&ZEZ$Ed@|V^x{jtwo`ANR&2Ob9`rkf!Wdnl%2VgH52xyFBRq)4X`)ll8-fn^l z)dX@q8yq`m`8`Y!=TRPxlsl}aU<<_Fk??oPOit6h6mO`_(3L1eK`!w ziQt8qi@?eSKnfWIA#qIT2(r%8%9(sK0WKVXW1~o)SrZ37`XeX6S z0XRd_JEB_xPgtic-<@v;SZkAk%`r4A2awDXi9AgROr-)TXF8N}$<7Yj^IeQHp(^)I zVTe=}V(K8hfW>f7)_w;t{W%y$Wawnl(jQj9hf)KF2{Y_70GVhYVfr9QPx%(fovr-l z^cG|i2;yp7vKV_y$Ah(aDp=-wveQp+!;R`+y)Lg{#8IJPH%}k_6UvB}wsk6#m4K@D z0Boqzo#sb62|l-#YMN=QRumf12Wroy43F<3bXFg^`ZS z9et(H#xntI%3}KO@?!w}msVdnKox0qu7Zqrq~_oW(dYIu4)bAGi9+C3l-wfsP;|9d z($LxME-dl188qSI$|Or{%f8s!uwd4DA1TVB;`HK`H`lYZYKD{!8U&BE!1%v{EEh5R zO$Q8D3qMD5(QQV>k1LcO)lOPiB3o)XPmm(DnTliN8(mvSfF=9>X4UWk0XV7*540*q zqH65LENY6X7+fBnV@( zf){{j_koF@-}B7jWC@S;B6jN!czrw78_Y6~6?`sc^A!eX=3y zy`*s_swcnYBX$M-hC&(1afw^i4eb3k!JiI{4i{Zw6sxl#&h&Igy*=MfzyHvJz;YQ9 zjR?o&y9-eWXDuJitmdc~E$luzE9vaXcFON( zZumT82rPOme9*0+%Ibga^e90W5(+F_B>Zf#57`T>RwY?d5AxWmY86D{qjx+PoCt zrI4gr!!neU?71wFsvStDS9>z@>}8_(EKLk|K4+?v(d6aOw;J+)Cl4*S(lBa4(5nfU zeLfoXHckDdp@ro~3$=`Mi&sAQi9~u%>E2SQ9-nEA>byPgr(&=-q(12xSas6Su~f%I!kO#aEf*s;vTG?o#om_75e!h_g7K)OOSD z!!y}PYvsOSm()vFDf&%Ov_RWGC_(4>eqEame*|zr{(DpKTm`+xySh$JxW0* zG9X!KtIkf>XwfdJ&xlTM_&oZ~6vB@s@f;D`t$s*um+M1Wq9hHL)g#ALcbcGmGAVtT zpj7fv3EV<_=aWctUm8WZMWTmp%+{rpoR#I7zSL{#-m;L!a?O6RkYGHGUm0q{(v4o5 zvX;+imSFo7)K-)T-GX!p0;(b zq`cpAmzXzScCvmHcYopaiux+u_O^m6N9Olgv{Tw%pK7XtO67db?D>HBG1bZL_LfLy zy(^kg8Qvr0l0WER~9%E6$2H)&<0x10dBr%D>Tpl7vphLpw> zd2(+uQM;6tZ)iFL${%~PB?~PwyITD6^yqkb&o>@6V=<8 zwwREmv>4rE>iy}6JcYZJIbP55=Y71mcC+BlU94WoI;q-BKNZ8wq1hm#yXW1PnZ(vI zcr>+lN6PI>t-hHRbf|o`S4PFD$*rlc3``8F&To1RBw7i{Y`RpCe?WC8KL5dz;?$cv z2Lp)IBGCTGTpvv>pZfi&nIU2K{+ zru7QreyzjRo}ui|wC5wu`L5myZ6Ws#n9Oc8Dmd@ULfs>pphiNe?9cLv4jp+pB_Q3r z=URqMP--s2{;Vqb>f+k^@n!6z3HDf3x{-~JmCN35P_(z~r0IzLYalLHhEK^4ija7_ zPV9;g5k27fi8yC-J3)S!< zr!SX-sEg<{dS|mZlnZ22IhmyCUT+Dl-$Fm9oDE=UtREjC#EwGI=E(c)e^6mVzr51> zsp73@_==j2Nbh16BY{%4+vGI@oqFkANXt;PQnBU(;$tKYO`FhU?KT+NL(`7iNtDUZ zRvD91VWW-e#DudVfh>`)P=pa{xA2MEOxKE=!>{=vv!eG^)HFxXSm|>BxbioQ9_|Xr zA8=%f0C}Ok&Pptb*@zZ3YM!_8Kzor}0NqU5U@O}l8c9f_ zA4NNE*h;KwJf7JffTAEu79bq79ZzUIeM^5>@nvMCBiSK8feD^>4ehw~PzdDkEEg3u z?cMVV~KM0t#suZo3kL#x3__=pjV%8n|ZO@) z!?Ac0>1;p+H=d`xEWJhajl^i3A~wSc!_+j(uWnnuSv~K+-Pio#Rcz>()v_nRy_8+E zAgRFo_xbVTf${4TsI48d%Qt=k6Y5Gz$5HA*V}R6fuZq59<~k=(F}P)RMCO{+RUNKq z9eW4_xRrJ5cbpN?Gs2mizw{ui>@hfnyai{%9qcn)0o zl!^T3`QPk4URyqmBIvd?e=8a`V%zcXT5Ryx_mog21~kF^y9P0AYe!OV{Z6%OyN?GT zQD9oE8}OhdRSBqkO6k&NEaFpdpkJv3 z(_JbEy}BDV)@#w)tSP5OBopjn=KZZqNzz3tUku|;aiIFO-ECU)kKJe9u#@<3bcyym zZN6F9p5)Ak&bx^%!e98pA>|`0BMbSvrdCRXcdu6HHY>3M41$JriK;@;s)}KP_sQ5N z>Z)@etF+he1d$Xh9LpU7m``#3dt!`UCeN{x#JLJ)iq-LayZFq3r>u%3J4W4)4S5K# zrMy-TYIaimOPpyJH|P_lBo{Yb%qYr#0XODTvpB8qDp*Sz%HMf)dZu`Dhq7HlONB(t z0OpeJC)iXLKgNfyj(VH92c6=HZHW+yk{1^{7~amcoYl(PJjlsJiSt%63HMSdm&raT zwGfR%ZkPxg5FOJk?`S9TNWuW6Z`w+J(RBN>C)F0pz>sRYkk zt{hN1JeQCPzrZ|eo21e%tfdNk12lXM@%R+DbGX z_@~JeZ?M+t>?3VcCfaD+{BgSZYMcut?e8Gs&U))QM*o8+PHg?FQ87VcZK@{tZ#E4( zKZf#Zp5v=KwhOm!wav0FCWw$@ewL*s_@+d6+v2oX&uav=?#@a&N3Q|sBQdtKngn7> z#rMF4cu@D9bo9@kN0mSIgVwtCz^_!PEB_iBT5_?PmL~dWyRg#g7@-6nZ-iHJJMS{1 z*-gL#A@cmfaA_gX>;&FgAB$fz4dQOu1J*DKqCq+c4@wkDbnnrP6DFyAiN(6NQmL0hKRip zUx27c0R)hG^N!mShcE=S{C>jy+0o}wCM*Q3^@g-9J=S2hP_n68>W~1o3SSahPx+hc zmUo>k)#;Ewoh;!%$`t zV@IpMqDwD0dFl*z+X;aSB2h*vk-7K`V1p`PtvuVAO7ePa;)fO1PjSGmjmlP3E% z(rOB3Sk#3Qpa7D>(mBvf4A>ZffFyC<7k%ao!xHCz@ysT3!igai%kVa(b^{I6NIlRUTXk>tQhIf6OT+vGS&x8%cHtKhmxTtDnQ7jqI*)UqwOj0 zh$9a#rFktru}QG_^59MNu*&$M+~!ZRyFd%nifkvF2vgGbF3RfMxIdxOTX>z%&WTwf z!KpWTsL*UQc8^`fQ(BGhybn+Z5Jll>yP-?0G&_*hN+R>AQUaEXyTRX zBhqBTy|cKKOVxEko1&dKK!IMDZM)U+{9M-%bxJYKKEZ=%jpxOgI{X0y(AlY%7j(5;6h@I;J^p{lFI2k z&PCg+Wer3ttHpCDs-8+`=hMn`$z1$D8=s;JiZBv1p*nF}jBW0^lMqYPV%|aWoQ1$J zD)Z@Py4nwV96p3a?Of{x%YWC>>8R6jF)kwkN3o#!dRnddNG_mD%6W!$F&^#S-R~J4 zD9Ha7FznuVGt{p7{PhIP$-3GnF8#$=xLUy`(l1kGBQFQzD>At_?3zR*gwS8&^eWG{j#kRPFxVU1Aay>vQ}Q?i|yqd^~y z5Ps%FaG4jo)EdR@fIHK#=;oGyw-YUiVS(LR-nC1?{o(^*Ko)Q~5So=r?(9!=|F8GAzwgrxLeAmVS4Ecbp);0zdXU%! zBDe{E9pFO0eW~@HekPdJZy@m6`CLGBZJoJCD?5M}`Bje$m*WR13MM)#`O7s88>qCr zb`IN8@d?jt*SgY8A2H1XTD*x|CVek-NKJ6XZ#+x{=0Pxv)VePFUjBsLF*ytL7glf3 zZ@0|!nm=;CxUceJ8|QCmiH`5A>;uG?tz&Aejx zS;j@tuyhx1zMYw6EpX0}Cp%}p1Sk>mmcye|ojNCadz~@=yFyx9QlXTKcCt2<9yp&w zQ=i^{Uhl$=-d*9Np`)1MXEe>-G#oc3PdF0J5MS4wgofe)p6{Sa?$i;;8!W@d8TfRu z=g}}R+{!<#IQF#MFk|+h>R}+NRgp1~94H!R;L2HWP16Jc%Uw0I#jG#w(w>MELEF`5T{^IWf6e=;6$R_wsG$ zF4eTpQ4MH^icse5bn3?pjmO*$T8|~9S5pim+UfT;A1l>c&v6;nPKlPVt+kafvK|Z$Z zS5gZ(S}MY5mRddsvrfe$a=%qK>$=eeyfy7{xe;;t7$Tjc9W`4```~%S+S`mo?&?N~ z%GCn@8K#{6$y1!kY5sn+uG{v8`#*pF-}pzE68{woYuY1V`}-m8IouEQ3|Z~1=qy%u zKe2&|-t;D!pI`5`If647feC3~vrX%oF5Y|D*Cn_{sr?Ar)HBP@IR0y&*@)a3aqiLM z5;DT`T`!|auXsNokNZ?T6W$8S8;H4@zlva{KO-B{=fxAd2 zCr!t$mA(WFj01(Lj*N1I?ks-T3n(5A(1{f@vh!K%N*jMdDfc0wQH;mwaWe;QIPiPc zvVqqWIb)5BMwVW7M8Iw}`bZ7=0nO@5-e?cQNx@>qZ)!0?CMFv9y1o}^^-s9orZSpTHJ=J z-aIAW&IfSzn2`F#&-5PR*iDwDMZtz=B5Rl(v{=G5=Eg74tXP z?}`OB?Nz z_ArduspX6MZjz%LnB@@qgbd#{In_L86m_1zQ58;8G5gofnrqQ7U_P@3}Qaib(T`7bGnRDjP zTh^>oV#6Fxfz2%?%KHcL6{n%5~<(e!mr83D4ynj0*UVlJ@b^(L>H&cS= ze4hMIXDa?*XUf-!0RQiA$17}~~U#4?B86>iWb(uzFF59`s z78x<^pB_z~S-rV`d>zvx){2*jlNF3Wul(n9eMmjMP5%$CUCD3*hrf-(q9aLTLN3?!^Pw8yOi zAM|~vSo+?lo|?Kba)H{_AMP&+XJlsDs`b)u%BSJ7^=G+Ts}8Ha-)ct=l9L+oWb!T;A?t9#PnDWT7EyH+ANh57foq1mvCY6@;KDfC8 zojYK;-<4>QvMl={#OyR|67#XKSVkQmI?ppRcjIC8IKEi~{yN0$Men_a1n2mMo}E`u z6W4OIgo)SM#v)S{It4oAFpMnCsnaHO^i3P#?@H-f4g78rw@3`Ukem5! zkHU?bIo@Q{rDF)g&=RQMt?1f<5-OJg{d;k9Nh1bHP|djhTsTzm`ce+M{T)S$faJc2 zMgx$$l;Zi&zi#?TVI2#&!#vs6xmYN?f3?hgN99q1hTGNfzl-SHh8B7ld?N(B&@d%x zKA^pwaP3t~{<3t2Ix0Q#yP;{k6Oahm0@StLD|xIaW{x%dvu`Xse^ULG(M7~>P_N7R z8ViDeCe@cKD!3giyW{5=)9|49hvcQ;#zJ1Ry_kK;nZ{V@MjgTcngva{V-2CzGR(~V zdY1)A4}>*%)Jmz%VmLdSJUe{%Y~pWiipQzV@Q~MXbo}ee7_C*T57%!|~HoAL%&mAn6uS}Lc%!l6pol&;R zYGrmnH1O_TmwuAS+a)KpgWFD>7<}8PP_i7{nw;?O_lnIY7tCMicBQwwu6}RR{&yq8 zC!xRKuPFqdp~2JTuv zo|km@hJeBUws$En zxLHoPa6kNS?#uu5D$hJ=ln31`n_43*5;&R{(t}cSzypRM$auQWR$yp6ElAvlkROW4 z&kzJ@XjnGwV4(WLdsr-UP_3aRq&0{tzNeVzlwya-*qXs({C(3>XBS4Tzlp45-9Hei zC?(wI?V{GabuDh?`0^G_I*-99mElC(VG(34P2WumZVvm9fkRf3+_-R@{Rm?% zzY`6G!1Abd@N%#aykzWy5!_k8*3!p2_xP74_U4v8K&f?K>AlVs#{Y<&KM(XObN41b z{r8E;e;*efUM$DzK{XxjldtW^0!gLWL04_BYdGVIM_*$@Z<`{yM1_xcn_l~47a)_; zdtP*R(LlWHJx~%{;R$LCggCM_1uUDnqL6gUztM8F3c`}FpfJ^>%STIpw?HDmA(Z#- zhW?4#B3UlIwSa6UEjm(%^ox`>e@mojQ>!j)fIwFutxT1!2|Lc&(8?CDT0KI77|n)G z`5h|zX58REjgg21;!Xio4Drgf3}#%Zmk7CxoJ3?xflo7p%-&s|=+dc`N(*SB zNCE<$9Lb#I+1`q&N{qlti9~|$p+cL|B$NSZFTtB<8zG$mySGOt$6P>mVnvl!a)JF@ zFbG?VSo2+p^zw7y-}_~8pxl~W<}@J%G_FKvT3q9Cgg9p?OQkbR$qVndNz@w#VTX3D zc`cGZg(3Bt<)gP(3aB2qf~lKrzB%A<6DAjqGJ;O4FO`H3zVKQMbi61=N-Sc{^j8Zo zC#|>%pf^NRIf6Tv@=-|mk3~J?@6LRZ{%Hv;#E%}(S+Ku^-vzXM$yJxHCL|FlaUVjW z{ou|l6e&hpkP9Fk2{1hIS1Fs=V zK#p;hAC9k4gS`%{i5m0x>;T)7be0EQQpZ#!3D{8$BZ!fu8%%`r%`c5g9>K&tc8{m_ zyF_;opZmVe!eD$}xqjDP<^1_hBfD57hci>*cYQi`jRaCdFlAbrFEQ=&me5zQu}zP+ z3%m*3mae4Z9f;Lx8=DN{Fs=m{kE{z(T3;UAF`cjg_ojs5VZCM|m6>4H?C5jtP`gMM(0lYM*1l{UEsueTzXw;TlG zf#gRQopQ*fv?7b%epRZ1fr_}d-qw~W-F7j;?jgBJ%@1``5UY75SDX$BMm)Slq>xG8 zzIvby7(UIQgHF%yAbwYQs-t!fs?6p>q3XhseF+HLP}4ksum$n*Y=eiK4C1AX%=vw&M4TE;}hf z?3tN{FH?fW>rBd61ppl=5EuVi1g~iNL&R0b zhJGBc>PVT$@GhEE7!bVaxDU*?K=+!*_Cpyl_*$Yg=D1@1`VF&d?f}0+9Rm1Yd}$KS zJ2AJ9_3y;{P?#$-jcSk}Zp{Jk4SlOvkE@LM%q-#=sW0FZK#Tvz9@P7bqS>X^$M>|N zw=t)UMI{kCNQSXsm?nsI2D=32*s0f=Hd~LUU6@vPtLpPPEr0FRPx3$uju{`Movsv+ z$^I};x4jpqNTiRyYPQp{l>hx}KHzW(C||%yKh|Q3p zp9nK?tw^Q&i*%8{D%fL)+*vH?|8*5DU8koAi5LtgT0GjfOOpD!!8$uS6*k>`j(R?9 zMCjAKa`@<@G`nEb{kV0@pTzwLjSe;2EAKVO^udT5jUI*dyETOy9K+`w_DQ;t= z;+Eoeafq{m(&d_{ng|yfP3nJ#{a*Vf{INm_|1&F8#{xE;bkv->CUm#sK}_Fph4d5-^}w-M2#U+es;_KEO54V$)<>>Yg)lDw}4(r6AuX<7e++;fH^_) zTy(Lub>2cVx8PVoBd3dH*w~2RnSF7o*aP3WG)Zz8axAxu6=@%VyRQ{lL*EP&` z|M_ta^!@lbI{%JJ#@kZhi0lS$T%yj7*S zZj`Xa8=snvTTAUS=|BLe@4Q(-JYH#M$ehmcT$+cvLKaRnrPta~e)iEwi=R}^(xKMh zt35^KYDSX!J?r`lm$sq>pBD``1nu#*m=ntPnz6NNkwlvDTAPlO3%+`pQxMs|FeeEhC<#gU24Z9NypU zs+%h|e`m3Q*+q5Cx}$Fk*?LDdxbh&XgRthx{|=FUn1k%Oq0c`GQT&B1d+8WS+$NnJ zw;&`K#t)EDeZk7aDx;Aa3A5?jpBp>T*@s|A5>yGrZiV(e_pzlT32kyrqX{Zpreh@Y z2_qCobMjcVLVK`*Y8Y%1bB*#Ihuf`1@8i_Ez#6?IuFs4?3`{fANZ@Ov)H*4;O6ILu zzrHgqI$653-9gOT-SEOKiPT|5cU_zjQagS0} z`|^(j1S@*Rnvb79MtRpWYMeJ`XWW zblm4&>=~ErqBM*1L3!NPM$a_#pmEc<@Ndw-w|eO6#Yh2>T zzf)S@-2WXM{6{F8+kd?l!@af7P9zc)Bl-+7#k(+s9ECWyw&96hv_1W1qL2%k#Szq@ zE?F}&)ps~pc-UaV#}ntbBe-tbi@lv129D}s7%?H{HCt_yoFgbui{UmN@P&l9O9^B# z8aJH()6QlH|1k~n{}+cW&(EDWUW;hFNl;N%z<1;1 z=?OGD`oE{#3|3rnDX>DMrhG~C{C&qBxa}4pQ)R@6&QZM`ffU2Jw=cs{JIa9*7Ba|b z?)|Sk8mrHrjN9#hmT~(F%NI#wFnKa_y!n=)@_89XtF0X_U^EHOZDrQiFxt4kG@+R@*P+Lp zST_&-yyHW7tQ9Og;VRB#Z<%Cs?74jvtDpW)=HUPfEEByf~irNuC(#&jLrQqx60s>XwNbiph05XI<*k~jK-~@jhtO(9g~|nCnBn z6SH+qc>h~L==tC4(n0|F&Ab1Yh?=){+=3i~#5k(qJ)c(dj`InHotmDD3Bt;-!?9~3 zi|_yNbP0n!SYDY6#^7Z2)fvaFkHx8)HTvlt;w3o$c`bH!H1IzY!juEKhN*JKET$QumA#m@8A1EcLaDUQka4tY?YF+l967iqLI3ZwXwz}#Xp@BU8+I_MoW;^jzo)T=?qcKsAW8mUifg-9i z&^#K*j1@JGc2`c!-h=@lC^%b`46bvwQS+=E9V*;T zW89nkUf176O(1G1ZwW9hW>sbUnG4b>z1QdxT-<6n{jV7-+`Y3K{j6X6#4wO;uUkd(}QWf$WPk!B5TH(C$Pdf0lClEe?c3@?J*6UYxV*NR88xk&$4EhL^~nRDCg;T^SPH}W%&BZJ4J zr9z{2q7{PPs+a%Kk3a@>iOmnjfuS2Og6R({!KK<}#qGU@?&)Wt^A4)?saE?I=Qo)(`n2PTjvnS zfbI}%Ff{}hdG1lK;y$HD%v5EK;nwf)&tDLnG(hM`{^1AYJR2^x44#*2i#XO&NT?<7 z8PsDtv9lPXu|e1wL8!2>Vo*XGaPjfVHeh%tgch+K$>PPR60<`-^l{b)FxidlZ(tH` zWFc2FZ1TD}3Pev!c=?yAs%bW*{s-P$yvh8KhPhbZu@+LwyD&)5%G0YJ>xOO2Gugdq z&x5hN4i_0KF`^azGKG4rm5IOSM zYex1ul8jy&%+t@=ZLi2ZU1VW=1VSKtt5>(i0~Fw8$)YNq89gNnlM#G+{?|iV+p_;yb?kt z(mhz(0nhYLEoQjk+YY6OE!NZM7*b&1Md)JhK(IdxXwh0AVXAnRw~V=PT=;`rhwr@TbJ;;vr@ z2;SDduA+83JNt!1h+IPZ<>P2=t3^Hn#2CFgEVq<(8vTP?BYMZUlh^fa|0F*8Ru-?s z+;7ban7`DJWl9x`I<_ymXm;N|6qN4fXI9^n2A{XWUeL&N!px-G+5>ISdB?ef5~G0Y zuzY&qhdK}4{7=^r7}zDz3xCylVAS5)wg#oj(}BWwoBUvgqRNqoy|!Z#33Z3MD7~Wo z-7+|^x*rl-UH4XXQEN&(wZE+8x#A(LZj@Z>)+n>wl$=>odMdCyKCt*PuzxLKDH zJXw?8-iz1a#hL6stb~;SUp zmR??NzYu$Rj;%+tcaeG@#U{7U9K*0bAaaNPe$(w8?!CF#7)HneI?)# zeJ~u${s@&_=#%cNl;-j;{#=EFe~%dD+=&OCp=&6Gj6~LSi!Cwtq%?Mezm+gy6``3jAE=K%qIu)iv&b`$(=o{K9~J;TN}hr{ zDpVb}l8#dDenF(OV7u9B-vd_0b9v1cBRYFXfFZ!SuPxI!RE{N2%K%ks_9S==x+n~` zDgGU8wYrn%QB@n!@qQ6B3vYjFClyKH)u^5UzW#SCvuz9?=K)vtfw=wWRr+$eAS6Zj zUOzXPxF*XsZ&7#>?&`-a<*WJ}V;x$3?bU-{dv*Z`FkD0+x@R71F$}^MxPLo$v8*->0}7 z?dB-8?-lWlTqWGAwf-k9itH5_$Vvu;n9{qVg2_* zeU;!NozQgK86bZ^7*H!2OgbIef1eL3P}ZkGe%VFo0UC6Q(Q_?4>hGtti8CEV_Kzej z`}Si@~7FceasiU?groQN`stMKG7(-{_d3B2sr$8p${zD15XUHAg^f_eb*9(<` z+jDJq(Mc`8S@iH0Bs%F)SZy>J^IkdUXHpNu5eA}XB3{kO4wxAGVsqVwtPLMeKtid^ zQFiI;HT7XLi;8-9;$X7P9l%p0E1dvz}n-jF2>XrbS|zxE*!e~=L?{Z7Yz$iS~@?&~qo zTLeO57C-?}aO;<$ke^&s7qt zKMka%?M6g}vX1ZfT_F+Lv+xD8k9cwDH^SHNg+8g3sBeNe^s@5Z=PBK7F^y6wYpC5; zE<%Q@N9v9e-YJ}}iHA*`sLFwTH}Rb#>S9{dUjyRaN%u#u;|k9Rk+^K=Q609$m$MB2ZZ1hWYSP2pX_uIJA1m!MJAY%x{)3VW?Q2W50fDi-JP}E; zG65?+XC6rp-Pjl8za5kgj(0k<4n`LO_|E?{&HklhB)^ps7Q{L`C?4lNvqgvJb?s=| z@#g0|f%iOly>1FizIjR(=p^;00l9aUkBWG!zi^!iX0BDMnT>u9QM4W9^|J`QmN2rG zhwwAm%S%inwI~<*GN^fCBn)%%Kj?TFC=rB+Bo{ep7HM?}iwRV4e|nPMCN+n-N2mA6uID>rZJtk8*JU08ML%&Vj4 z7QKpiuCzGHY#{3~x%gAm<8awRRHrP@@#Aq*HQD6Rhq_N^Cm(J-q?4h)fnP>1K^}j0 zm_1s!dbnD+=j4@czgxH9Qr$J|mRG#1Wl_7QWpQn?+m$bxH2uxqQkh~bZo!>yhWm*I z)U#`oexGZR*&4fk?L>xngb`&Mzy3X2$A(uwI*k7!v1XXW`5e?CE=EFa?Ath%x{x>2 zWy1O}iNIFA{KLl3vIgn2)d=fx&FhjS5$$KkD?gIowBwy*(sjC@v`6_`JTECJ5GtK2 z>%hL~lzr;R)o0W-C;VgWjHyNbLZRa~$DyjBqNVSH^6^D$5)N1DJxZ)ShhrJc$(Dl- zgiF^ywu=y^Rwk}izp5zf&7qg0J%_sWKm2;_jI}snL3@?z{+<2Mh3`ah=gwgqJ5DkJ zsFVAHUpyhPs**Cx*B1MhEOLunX_8$>{nnLUXI78o>*6G*VM7QRaCJVq#-EnyYD3sq zEPtaq^RbO!+zo%mTlGI2YWA1C@z`yqn+tPm<8=3M9DRvu%|)-k^x5SaxvdfJ zfNP|F=o4PHEqAt>Xz>*_FW^j0MFcE5zrDXt_|j4T%#|#@@xwN03^4YRT5NQ;l3KQh_|r@t zds}ZgCK`VDQCg%xk++53SIZJKS;gO>D=ke1c=4OD=8Kk4Aa3Lz0T18H1Vh%cDwQShgc zx3%DQew?m&v+@+itg@gat+;}}v++{Ma>ZHq@ufS+&{}jqxRSu2%=9d>ZvSUK0Yjw# zH&2-(EgD4|S~$8tdkCt-^T7?=-KHRt(e4b|yv@1xN{@W+?sk6gd%m6C8a`ZHc`xqr zaw>8Mbb55>xun1Ou}F?^_g)tAh~&1xMn)5-^VBwN&B08PHtg%IrnF^tm9f+=Ca`Cq zH$?((@1vvmj8GhPf@KAO=_|-WJ7DDe%BL z!;he8XdUEt$zZ1D)D89Ei&7t97YE)5e4(?Dr?wgO)e+U_6q9Xl>?YYk#ype`KSXmU z_cs;?Lf$Fv!hXBBS?~{{xN&dmZW`J?7km4m6^n1oA3ODNs%%s5t#8&AVB;k$;vWL_ z)4E$wI4XCc-9LX8F7nci{dj>x9O0W*jV*kveO~ZtE+);J;Jeo~2^Fl>V922UFlaEk ze6C#uRp6y+y2OTqf%V2^Jg_gxmlBldSAqgpO;cb6mjOz>z+=lYFV@Q@VB><37-V^y zoQ3cuD=ld$qwC&W99?;)|3e&~g0Coxv?cg2^*8iMTwU%f51T_M7~2L-$O|D!PRKQL zP?Y&Dk6?9_2mXHH+%I0*mr|HJ!wDj^vNAH>7Jnb~zWMo8m4#lY>~+EDrBAx~1fep3 zw;q3$tbXkIx94*q;^(U3K)V~$c)c4JfXEq!jaqz}ADL(+i5S)OTvAEH(yg4fscGLv zA-wJlETg}gsd=~ce^S4F1v=b=5ayDXkV?Oa;iXBcdCOHV|2a@*o(U1bC1b=s$Qy=(1`7=Nqb>O zJ(#XU&4s0|t$QYX^_*`-no<12+PBk*=P)Mm8zYYo2cygEQ6yoz)-}E15myG?$F4c8 zjtz&p-3fn>!dlu^C36Fmb!GVXVUlP9^lDFs*^1B?((Ao)907V~CpQ%VNyb(0KryQ? z5$9>oE~*jUHujw{gY(@i&NXsQYwytZWTQV8o)>Y^zU!=b zWk26h(0z5t78=UjYF`s%LEPol1n=%&u>-Z9(}`EQ)#y#;vu>0q-ST?>W)oe|>uS}S zrl?}JG11_xU)uBB8~6+(Jj`aMWuYSeSC%*o1QTEflQ-Iddd%yS()6%2zN0zxp4Iw| z9<&|u4&mngU(HbbySE>%4eA;{!&$qI>=Yx3?Y3{9KkS&BqOU?7xwQKqZX`HilU|7Y z3-{gs`4^q!t~MjAQoPU&A}Ee_fF(*RgMjK2ec|N!B{ww-M)F1q%6Gn-n0^qva@(w%QO6fH4m6ihRyOg zlcYg?0YSRWUU{>9gPeK~f8oC|m1zmDEiA#)S+mjg#mQUb zox48Pc`NzTMUxK zbo)+ZUey&`pYtKhV>`Ry9y4D|zbs@-c)@_5K`~=`;_}{{>er_|pNiye;5#k$HsQ8- zgx_wQV%GcV=6puhPzy1tHzMa0@VbmQ13C7aHT<|Z2>Uj!n1u{J8wP8C;L6)0IS=+a zQZ&@5BRr=9Q7hH&YOM>fXtBJF;wLBH>HnC)p8QbdBO`B4iU$MoXKq(P*XI}pINukY zayxR}v=~=?9muatVe3#|Z#;nSmc-Uzw!R)8qUXHzmcr2auQjH3ukkk@3Q@p;; zn;xa(CA4tfBG)f_oRWsauW5MNhuu_g^YRV8$mI-`@oB0)4*g1qGpS-ss`x+Mymaq~ zUY9vdK!n%vxrWt8n!mbx*Viw-QNMTNr5XLS3u$7afoSrz-We%Lji1*7*LBh+?w*|7 zcJ}`87x6sq)oI9WI8K~;&*a0kpt=g{O6UspD!2)x^g-_*a9e>_Otus2a-5~Ns5D0i8o?o}$J0eLTslAIoqv0P44C}ba7%~0#+FDdK zJ!?OY=!ImxHd`4>sK46ukVMpLvxx_+J1n|A-XjywIa+C+q&9gm(?cMZ%~{9qvv@t@ zBAe`bf|474^t5%BDT|^G29Gi2Fz7P3w~>ml5oOixBk3EBoVm1$D_clv6gmBtZ<^qwki(TYIWRt8IRvAlTV`j3FT_)pbY>w>=%FCIk0 zkT&v2z>9Kc4RhH;VKBhiQ~P2h6Q+2s)_X0(Qx7#5onaqtR<=e!b@XuC4OS=*pT2M1 z5yzQ4ouzXhKd*oAx2SxmkU?3R7{ZW0?%nLYpu$p5RI?68XlT91Q!5?sfb^ z(HK3>KPUThVjMErCj**v=T)pxxPV7@zOhHbAboUD5|IoIaLrDidTo$z6I&Z5|Awt{x zDf}CQ(zi=&fx+v1pGCF~=832z%cggaAlLY0#-YKzWHeQ?#=ZOk37N`UJpOu1lGQv? z4mb7?f-i?E5<^l;A)fIe$+;EQFl3`~LK-p!Cs6vt)9#4-5JZuLkaDGb_s`d@F7m9y zT#YU@?V%~{hDVn;`098w*U3f0I!59kdfytOF$S&ss|LYkNwHWhAMWBtGWl#uX=>jN`O> z{9?K>UCz%O7HzKDT>16ceEyZ}6) zkIM@SpB#3j?JTshWX9U>U9hx2*X4bX{wylf;CO%wr>g%OZq-T6(q11hsudzfQa>I~ zZ3dXz-w|}CIN0XJL`_CnRQ+--Keg_cx3e{y$+fIdPxHu8c5EpwqwBDK(u}b&CP?*A z*lStHSo#iT)p3`tf1Tx{t6LHuQ=sG%zuSAMcD1U6De8>Pk&=0~80X}Qk$j04qBiAx zAUGr@JLmZ8gnjij*VUN`k+$vf^MmfZm~%q_L)6uO6J)a%%GK|GUH8Msso%ZqI%Pk6 zk64}?2Fei{r!R7@{&u#k5&K+MAa}DnKab#{Um8E*bDfFPvZQU&7eXH^U42!@@{$fx z9&4Z|-nz-fFTkFe{7W9X_kQ19{z!MX(1*q$yPn&D{kc$SB_SLFC za{Ihr5xv>G1#9j^bDZaZge7Y?n*b+wUER&Bjpn4Cg5Uc=uM#q+CmtTXuD!OJXG8rf zETqh@w}@2TqdoQIc&&0b+i(r-kIjbY`&L%$-8u$W?&8Y9B0F6j1{ZGp|EWxY3g$h- zYlpRB0!CY0*+MjH5O&0^XF^Vu@El4tIJAFSuX9d%bwr!TiL6%DA=hW}q24ZL)wlV* zFpY=xW`6P26C2y(mRXmk{EH8W(LB|wLjdBor<6?G33q)`B;aV5o@H?P!jqm1E ziQ<^Ky!rZX?d~{^`Q5N{Sgjd6%qcBlJrr4F961ur?JnUZw;!mnh78KEJlCprbzGi4 z@V3U>zRTyq`I;mC(&^Azx`NjFiqhf3qpksW0+kZ)HTO}Ar@C^F+~2K{lBn*zY#`y# zi>GO;Z}bx*J@nsAK=YkzBw1i!+rMh0ON=v#fU5XwSB&SOWrc75(O)zWZ25{Gpf$Kqz&fZ``CR%o3X2dO(YeEjvIq6mIrIbof!c) znGf+MDi`c6T_Db?qy0lTvh}Wj0nq{h=3H0ugvHUp6;jSm-#f(x%u1GiVQ6BW}UNu(SV6>RbD!_M@$K3qfdA4?qA7RId^hLyIpF% z^F{7UGZH?JvC5T<{rUm#^6>w2k&D#74^OdECd@1Za3&A9pI@c8ch337lh;j1Tj$$! zo#f(~yTKCN;A1KcECs9AuDOXeTx&fI3x#SIZeXiPrUGiu_x;DnK@zx-XFnXfHaxa> zDdXVbY=%ip+LU&?dN{@J>vO)>&8AhgmT<$q**+J>U+Klf`+ejXxpcY4BV6o#%;VZs zQ56AkAuau_;f?$m?yGNNq%Zkyce`)i!+79@U!NcYu)_|G*W))-6w%l5j=@zBE>Rcv zHBD*3Oqlt+b5H+CpNr0JcREK33){6xh(p@%_`JIXpT_KaYqyZEStT10+k7$qI$`y< z-M3n7wlt4kzEXZuit;i<8MJzHs= z?-mst#O=n})5Y}surzOw*uVX@UFR-G0uzblOF-63oO+ap5}LZz{3W1Y$6sY@G2vO` z+293!3mtO#RlGv6OEs9pIL^?+=xtIbIHUL34faY-xwX^0tsm6DsJNnvEA0#S1Fs67 z7yG?@&Z7gH_T_r}dubnC_a$9E*pTy_#lCLEQX$^;P5GoOV6KnvH~9PkxJYZX-*D?O zY>atx$t`8KL)pe#(go;ot@kU&G_|@5o1wRUe=&BY{t%||AZf|)X|;;O@gUSz&(U7XH~*4RQc3qq@qrH- z?{Zf#L+*7%4A)Y*FVz=QX{6*ueNkCYsGg!&XsERkJzk*5bvbn=sY*LCJK2#x(h|mC zw^4wIWnrXZ==7z5*W&c}K*RAucP7Mr*=6@kE;d?FgvP$~y#nV8S;AH3Iz2)qbRqwT zs}WgM7|SfLM^oU9Tvm5chAwBzR)zJ1?PB_ImnLI5_qpaI%KtA%OZw5R-w7peV;Ta#aBaPjh}Dn`|JJPV&0o$0;6V8o3t;<6;6^UP4d$np z9%MjOrHKqADFy-H$0hQjE44(j-4d+%r_%G4Oz>TL?4Z)v=-hQO+n1iy47!&oh<3%ofxmLDj z0C*vRbfo&&tJ`Y9j0#*S#9SgDM(yBKFu@KOU($jgHoTqJ{kgiMb}Z_-I>rUC`;G(? zFxadQMrJ!Os>tm8?oV|;*nC`UuG-!(Sq}Msw0S=>g~PNjN#McjCqTU8KvcL7-IkSG z0ocggnDks=Z6&Evupu@X-xbS+HkQ2ik|E>)8+RFj@^!-`5L@!Q+14I6r_uS{^M zC6~7fS5iXh@;A;lo5W(>l!W9nQZ8?W8nEuRgQbV4IE!>TqR3*ft0@WAavJ(@JkESf zFX|?$U*Eg-!nB3y;@e#->?7|jgT@%Xmw=-*thzJmNNY|MKPmR%<5PoC!A-FP0c%hl zOD)qSXBnGED@kwr3&FBHJ7Cxc9oSCZ2znLZiT~)RQGl=rjLpLy1fknCbEA48jIX#R zSWj4+oO20jHwl8ZpUopXYuG@ZC=@ll2neE*CB!zL3N{+g$CbG!1Sk8jq)0ZP`$e!^ zE0Z6-CH2samdq6z)-2eF&6k>l5t@nrg#QXegA%i%Iam)e%+)2YoNuYLbvH%j0E{Zh zaZS;tqf3K#Wr{wU9v}RvKudx~K=~m%e=285-MTRl9HPgP(V<+k&@bgG{`rX_w$@{-sk?_`y9_0-#_0N{^5Y3 zd+)W^n!h=(dBu@4`M0g7P9}}+M9X^Q4tK_Vw@dpC49BA%sAZjAdYW;~q@#QVtS#O% zJJ;i^?0o}J@jN8nWrLBaxylvuU`O-n)S>+dE{&w@C^6|4(`uEfrh!nqJuv&>x`X?W zf$Gu3(*iniIvZJrq*-wmixVw;18`;t0*R~^36Wff=b{6&>@U6*cTD&)4E5nt&Z5SnzgO#2=0 z=TF(<6sznWvmR2|pxhp_krW=0obqGqXZv|e)_eZKDqMFyweR-51V@10cEnH;NgCHT zho=W!QYt^J4aApX9l17fat|TQTAyuVq@3_z#z+gaiBQb!Z*!t0Fo%a=r*B&c-kXNl z+}EKZTsvgpB|Bo7zTQp`ti@#?P7cL*uit+ij?goHPzG|8AiFVEmLk! zSIo6sU~kbLcczS3Onv%9_^jFk2T2!sw@)IiHi@6Jbn^5anLZuN@yRYu8MAdURXBB9 zTagn77Z~liq7?^`UR8FLPnxXu6{AmzFF8s%GW#cT!6Cdz zl;P&v_`VNu$2d-Fzy@j-UqM9`h{8ndyqbG-QB}~c-2MM299TXSF z?5oxk5M{L5x3~C`tn_|c_jUZT&+$FELnhE?1*x&}EiZlzR_iM5WiKO^xXCwYcRFQw z>_;N-FFyG1|2)ShZmQV;1`qzE*kbXuV-446KTU?+nHCo)?%8?4C@v3Y1Rz zW#4i!`QQ`H;~KHgu>z74`sq=bbEzN@)@zAjNu>^BJ6LP3YK6=8q-|ah=EMXjmT72ErXeVwRH5R5wwEat zR92|2Db{izoxQk3!m*<^9(mGEm|}AGV>z7ndB?elLZWHH;_HT&{oz9Vv?UAAh;OG?=2y9CYq`nQ;ahr%bu+e zn_r+uii#}j^4%q=jj!Cj8wa^G7fP6Alg*}XO7kzzB|#(G%M#o2qyT*pun_kfu9cL* z=(_GeC*2p}wAFSPOPW%jXRtBMIj!N3^aF3zTvnfCZdpkE?`GeB0hh@qyk@JkQ4he{ zD8dZuc-+Zr;fgBVMZ9a(V0(M7ZE}zi*BJe3i@ZS{ee#APpKL&5R;m+Li?GP6`{8N) zU`ko+gU#-+pNKRyBk91`okf1Op`&E?=Lf<{E__x520C}kW#(eYntF5 zRO92|38qZ1#7Xa_jYUGtvFeArtZ9ck6VeP5VIBusOKhYngo*{20eW2VaMHsPqA+!3 zBH>9!y0NW^ysII`;oIcq4BxYiceVNv{$Yj%S}g=4b84OJr0g5zv-sXaz)zIxC2@ur?JdXm6<<;ySMBvN|8l1#>p z1$2L%ugj}Q8<+eq{-#p>SP5d%`%&)$ynZSFf|Or3n)3%s?9%n$Y0@?b$xl}BMhWd% zoU6_=6CirJ`l65Cd~d zJ!$0Io*61;9yt0fn}c^60>`-zW!Wk4_|dJJ);s!m_(rvgX@OhUug}6hxBUTDqvkuO zZjA-?NR4h1m#gX-6+FS^+J;@-t1fj< zR!DjDDUA)TUmyw6xLs2=f4;*iqD_1!5XBu^e?#)qc3ITE_NGLX9odkmY~Qq3Q+cUf z|BxSri$%Av&SYf{sLU|D<5R(%kmG3+(Oe8I z(yVjNG}D`^aCQ`yYjD06QPe0YYp3MAG(NYtRx#czr@ejfRD$<`=8rM92AwNU>qU0E zo>lysen(Lo@X)UmLm8{zx>2G@_iZ}F+F^v0l2P>ZOf886@w8a&%lJ;`F=5TUq(xu3 zT8iLBf()Sp;&&BY6yAMX9ZmOb<;tJuV%lUuP zw(~mRx~x{8*%4e8Ygm`?!sXY=MIFrR0X)P%kazRV^_Et$B9!b?#hqhCPFf5Zm()-K ziYOeX1QZ!NrBC4bd{z|0WElFOp5nzBx#f(Adfo)-=9~b}_8g65l7Y$IStJ!=32gqj z`0jj_2IZPlj4lX$a(NnGUkg~2Gt)?u!CrT|_bav;rKC{JW@So=L+m#YdhGZdSt}(D zo@pvJmpI2P3PAQlHv7pUC*AC#e`J6R4#cJ zc>jvt4JzBAz@wP&rCc2}(Jkjhky|WxKORyDvV^rJfMeT}XdYkvy&~4#tp?WQ~{pp?P?K|L7EI zyAuF_>`t-{E*$ECY~p&ir+$y5byrstrTy{NsOe;$OViw)x-q$$bJ zHB!n?JdZow8ta+S4Q8`c=jWdXwHvbBesL2Q)x-+DY~Mrv>O|}5wR7UHmdd^|ovrqn z);PtKwKh~Nl2Q67&n;!5%2LB}1!0+Jc@SYg=(*0FLT=Nx6F%zkX8(MYC|t*%8uPk= zP5=7DtP=hQrV9Ztl*5LuSx(>hf%SX41v#!A4{-37?ts7lcd%yYg` zY66}XeMI7v+EqE1!Jlk=-*(JPH0TkhFytaGo}tHm#CPj$Mc@Rc46^xjq^iM>;Uf%* zT**S0E66IZ3*%y|DL6dmI@5E^8bbw5(2o$F;|w@Zmzbsad;uXay~!hf*eAW)JVquo zjm_4#y4gVE2OfhuxxJ5K5+SA#71|zg)&r4H&-rY|F@o{6 zD3ZtKzy{gM;OIXHC1>J>$L^!M=ZZRR>RB9P`h@eFE<$x#cU3W-Cm2KjH_Lw2zn1-% z(ixL9a8DP0q3LFGYoy5b+L(0(%H!n(?yC)%jB2|D32$=XYoc4nZ%} zV~Ldz3Ff`|ZjN&q0d1&ym9yyWm}1Rz={C@i@QdI58h*KWFmz+6crarxjUp{@HLY-_ zq&JX&)Di%P^UDv@ozubjs>XHfnard5*~<_5n=LziMmkns>uY0KR6{5KnKpHaD%^YS zD#r7=b?D5aW5o79@j=fj#OC`m-Un8n2o$gjKtv8qz=3RD1|>EewEQ|F^Re;A3l~tP z-lO+Axni^JX$A_-f&`4K^=7-C2|+;P(_zY%|JJl2&9CU_H6Zc^sBzT)9nBo z9?ONEoUNxZz&D%2E`4q@_!1r1pJXEubw+an!fp#qWb5fsU^S~Ji=&K;8m62)^^4}B zJi^H1n8&*lbE@&5PmO?VqTe%!%p0*r*MF`zuG}aDK(c^N^rLXve?Qj1+h9NQ*GZ)L z<5QvGKb~3vX)psF#I&dUpY0(>WSmH96QsoilK=Vjt#OfCQuO7Ym(hPi`||I+VddpSL&Pn5%|*S+|p2e13vx$AP{X-0SjAT(+XJdQuN7 z3NBDpmfsrD8*Z%j+Q^3TwZ*{t?}JR#wJ-WVZw?8j-}i%p)*n9Rj@R+Gz)g4;)R{Rq zUTM0vvUq;?wRfu7O!_(hrE%5`9@&ra>a0&ZGd?|EqTT_g39FTn%3||o63B9lfV^=f z#8HO&4Ho<#xBylBB(k1KGZB_x&ZbBFue z$>0a_5vY;eaCA(oq+P*?u>9vulE@x_bTz6s{`~Ua#QK7tP#ZA7pKKQ)r?o3&s1Er^ z&|$VgdTG-f_xdM%K1YHIuOQwWvPW(EBRZ2V!lTV}62s=rLmZs)w${LFk58 zQiM6C?K{Enpb{*zdS2E6IQ$))N6D{lfNTC`NOn`2b|p^(AE*%!3qw(VYknKCegFyj zoCW|z4f8I^)!GKx;uB@lIyakg z7uW|V_b=nrnqncgs2ySq#ckVNA+zYc1G{}DE;p_ruy-U55vL)7-ZL`R6#`f&x2Uy3i0ruyOu;6lJ6+X(hn8H~e^+RYKdjIrS0mw+KUGUV z4h{3z{kLO!ny%FDVaW>_7rgbawY3wUvOq`b1`V9VUB1VfEbj2K!=3<%sdx;and+UR ze=&a@WUCR|(ZOP{fB;nEmOVqYknU?O4%Z`l&WYQ*h{Cl>acQ{1#Udd2Ct#u#&dhTV zVZTsTM9qDLQdIpzBZbTrMBX0gs$LsX2Doak->v%Xw;9nBOjCB@!@duxeL%0#61gOP zwxa*djn?~@`wO9i8NKfn)_QLofEQLt$23DAqWhJdS+wy+`8Mu*Tso;ThWIxv!3Jd= zsFsg+C9XdbNRj;89ZK-KK>WD)hdoTyB`V&M32%6yi$QbVK{OUGN$AvgDf}hrx9~@= z_rck~L3Ld!RGIR^*T{Gd{g84OBFwFw3ocVCwtz&xptuFu=iUJqWzrQV@*vL#l)A(u z=tE!R@iwaRC{-K`k3N(YH400%E$se)85UC+o#{v}zkTJI+$c$>c%A9!EvzrNd|X@| ztH}WepsfM+vD9L)eg9y&Ei7;*Q8{XLuo zcg|85gcqFYlw63f)6G^;F-4N<_G14I@y+Dh&?Eg9+9%M4*r6>saqQ1;PlXo*<4l}s zr&W4Grfv?ohdr-@l|k7a%B%5)Gi+r>Cz0&ib%>4Xb@YVL@JM|lOX32g%R(HB4MQ}kyYI+6xuA*TI?_W{rflF!+6D-4y`azeZN z2-4JtmctH?HVgbKmw~0Jz+M)d4r!Lic5lf2@c8616y>~Bg4+#^Le)}TPsKHo1a6P&Xc_)9J`?1JH9NyTeb}63V1qA3&8}*4_tS}$uJ%TYX85!x=uY^r7DcS3B2d=_?)CA#*r?O5{42?t1yk&VK{`drO zeqmbzkH$l~v!J|i0vfoZYdx4>5VU5}o$zU_+5xQ}fx`)l+?ay-a>d4?Og4+C;1??} zGC8*$xKhot9W{iI=C!Uu7S|co6DuB_E;-Oum0inRnNNj%B!3c3i{@8?X}Kn>pNwEq z3eMjrrSml5-n%T1MgDO7b$r4p?ElMWVZ5%+2XyQ&++}7{EG&1hlV>umuf7g+LXQ}| zzY|T%bvI3rV=t(G7GZ4%jZg>9^lHj{cG%}f!XEUC&iCZ&mtF=VZ+q3mU$q}WpPu{jJdsP~G0F)+?m(r0-TeOe`%*{vzJ@A8bv1nfrOBUd+^?I+F-sB@}tyz;FKMbp= zgfrC9K-ZZWwfHtpukny8xEaOp?yS*=uf*N4(m!~IUy5rc18e1@POr*Y-__6aVkoZT zXF&=f_v6|lqS@$WFc%u~qyE0~syRCm*{u);2yrJ_^6mVBSu`*C-jz6n|7{45pNFWr zG)8j0uZx&_vms;Hv#EkQs zS&Slk`TgbcXIH80DQjCjKa(oC5p|lq=I4G^&(6L2?On1dGbK}yLnhhLF76IAU>b0! zL@pC|@|mieC=H_g!>%fvDHFr{d($HN*I3EBCbswv!=npzJdG1CG~O(-X2Ez)=% zvax%sRjYDUD@Qjl<)N4k5m`6oi{vgZBOgr`?F1ZW?Y49zrpk*vL4}0v8pI3sHLAoB z=>|E|;ToRBQ@R!IJ4tmC*Mat~(vA#x>Af+o`LOaM38gxHjhxl}+e0DQUvJfIO_qqA zhOo!-2&u%YR~y(bjzMb4xpqO9CBBg>5g#q^GFn|6>zM*=(4nDPbQzgESD$`&r6BQ7 z$lnM15SsQAQ$}dV&==%e{z{5RC*a&s*_g9(6jj!Nrd?YNbj+hOo}sR^&R8~XU?oI z+o9aDj4~Zlm~p!f=VMXx@?etJ`A%l26+D)bu9rDZFo<~JoBM^=VxS3Foz&l6O9t!c zZ2N2MIjL1%rUqOe*w6osgdfNDdjzTc(-9=;3~u>| z>%$SCKa^>rXdCd{cGqW?C1gKs!2sxWGjw|fydqwG9jEuqGJ2ca&Bgosj3IdtholQ8vN|ZJ~Hu^~QJ9u1a8 z@>bWNRXFW# ziI*s%lS4h%5fr~mS~WL@h}pXI?zihbrg*1((!A03tpu#QP`yHVoUiBy02#c2B({i^ zXJ_kz{&9lA0k&ChomO;M0mo|sg7J%_0d+&c#5CW5R#TFi!Yc-|YBcrH;&D{@J8L(8 zwx~DQ=Xo@4!U1XyK;9CyYCjQ>?86cyPO;2n+zCV`J$|2lYz3FfY6W+Fk8kBM-#y?3 zQ2!)d)_p43qVMxCIJf_hJz$WPq3aCJ-@@3d))59^(^Lk1J=)cXH^a) z>i2b_ciu){VB^!Q0Xv^OETaPoPg0g{8(1QJ>!2S-p&conM*34xzzu7+xT{?C;Nv&> zeqeVvgzs@=gkmg!N||st|Iyu~Iz3{7X{=^4+Ninm2}#Ex$@4BH{Mc#IlhuLBKgYo0 z&GhEbG9t1UMPp4f#}P$iAs6yFS_+EsVqWDiPb##tTY!wu6iyim7znj|$~oAT8C?{nTa`faW}eK6Z+yCHp2n?~I!M(Ye!gA{fEEg}rRIHo@U-%H6){|@UhhOj0 zsU12~user@nGu!kZ?8HnlCF+n*IDiiur=6@v)-TQP-J{^atNnghw^huNg?F)T9$a1 z1v-Vha&(4}GfQa^k}0j##5*EqE7+mP!jAgGfT%VEq&jMd~9(FyuEX{$ef41uw5mlZ5)zM?55${v4;Sal& z4-{BY=p>mCXwaab_^BqrxMEk;$yhG@sEygr?-h|%aiWmPSghvluAA89hYIir?MJD6 zz@Es<2!d6lT{#8S3NVt>uE*L-TsAmIUL+}NdOYMkDicU?-*i}%bkWtJh^=rjoY#Y! z6LmfLRjbiE;E72^WN20!N3Y~T`-lRJkFQ=P>SG!Hh?H=NxBo&tLbx81HHKt5jn_)l zY9vE5>|!~kpaNg}SDMWbOoC{8$JhF~PhwpqZ5%dXXek>2{Yr6-gH2qTX;&%&7YfOX zgxdStaIqx$8MQ$R8_RYdDd$A=tn0=bG-@JOI22Yu-j&w^JA}OFj7%u`cgKd*p8C54 zIytbV9DN?PmkOGJd*=9h@6 zN&3=6YzS(-@jgTPq`l-$j*< z89(TfUKB7$1yc4{WO(CSB+8sekbg#Cv(_t-s5_4^|?d64`v%QT5k&_c18ZW;DyV>^%Y+wQFhzOVCl)uRzi=OHyu-_caR$ z7!se6{R6yx^UL@B@x~wkdkR|CdsFwL!*-6c6EusB8z-&g+Yj0pu$B}BBTpE(8Lp&D ze~YXx9bNF7cf;~ggkm<{*;f1=VdK?AAj`E2znGLL|5V+}QD}<6f;Z*RRbp8=f3 zx3j}9aiVHK(-s$5D-DMT?Pw;*a*^bM6K8Q^;XS4lXIw?OPX#h%zLevL;(~iZ?Icm* zH-0IpNjqZU66>h+S^^#gQ|5Z~F~nBY3NkxAjE)W=6tGCiE-~PeWbKP+(=@5A0gD{q z&->l{zK0;|JZkJXvM>AJ=?aOSZQ4P-&!V(gVA>O?We#X#1aDMqR>j}N*l`@c=fJ@~ z-2^5v;-c_Y05L6-LzyW>F_r*ucX{G0106T-%`fMsION7)yes-)59@l(`jiNsWoXrF zyNjT+6NTeS_s&ax6jQ^#Fj=M!`s3$jpMr92+!@35=ppqdjmqbP(-aL5luJ~3gj9nE z_*)<9Af@8WST@I2i^{Q5WEDaZsO=f9ZHIv_yOR2N*lwmRb1y)M;|(M0e<}9%=8}N)1gZ9%r%SX?k9RS@eO{;GDE7 zHd-2khwj$OXI0kvG>-6mzsgO8bK*Ck$Gho-BX9{tB=!jGVZ?TAB$uqXge!qv^~ZjX zmXF$9sP@|5pO>z!co0E~4gIxJwR+dNo%)KFL_Uu+p)IbVhNj%E<>F)wSgf4<#Pwe{ z4~Y2guRXQZ|3%M!f|j-o+3VqlB=B5If&!HNb@gSc<0J5@9S=2f|90z)xe@-`9fm~& z*-#i+7=}bibAmLY#`_SAcrb6i2>lxe-%?M`!*?=G0nz&^gX&aoQ2b$a0Dt|ETH+4PRfmhXcKBeHr%`s*C2@NxC% zlQRuH#I?}nNjbq5#_iPb^X{?jBnlVN;7-LVz(BtPN3R?MT-!wCWXj*4(j~H51%J$m ze8*w>AE!`LcId*cmSS2TPA8%c4z(~a{nrDTodBR`%5}lrMm!emzd;RwsIonfr|eV> zY$DDB?53d@?{y$TS@*9|D(!)(;772fuxH?wiDD2@YEKqg?NQ15KHTq9u%bx$jh80l z8%L-PSQVY5D{b=n9Zz^qFw@sWi+l~8a*S<`^9lpGAl5kFxU{kM(S-L-C_8h)iMP51 zD-^BI?$OLz`5o-61-j7Fr40l|u)qdB&Gb6O5+Jnk0E-N{`!lN^lO4+{s88Jnm61iS zf)tcoG$+PT&``0i!%@L%0SS!5M+#uc8Mzt5ir@d0C(? zn#;JzJVX|1YvA5qk|x$@$X&h0$4oT%CyG007gkw(z@>ZhZtv@x8^|8fk%`}LzrHpl z`#Ectr2POpC{Pm+L*x}P=oS_rm!kdGhe^^=4u!Bn34;z*>>(TigJrL+6r~>4!M)uv zRBD&E{T*=!EL&FmlsoG^q|P9FPPv}EYZj{&-9}nl&(az+eI1Xqgj_s4yw^)Fl>Sa# z!EA4ThSw~kr!j{tD@Ze}j+qJLAE9dZb^7qfZ7fhD7N?F6o#FNq0Ks|L1qZv={sRn? zq_y#cG3lkLhjB_*z|1VuB{=IdCk3I?WJ-2i-pr{T zHO6^6#cMm5;zOXq!B}!l8>1p zE{d(si@A5U2o}wbKWG!cR@B1MiuU0a!T5YKGQt#{BeEI&P|6~IZ$0oC5eP6t!Ms z40dvFzZYl)Ku10VC#8Pl9>?#f)!c6~g|p;qJoujg0I9COac&9VuQ)(obrMb(BzcT# zTM)W2=+X;6If3%>w_hL_uM$r;`6XM<$T-}DeP<5E8pBU~B!P|6drKfebt7KrCpkkYvfTh%+Y4|G+!OkWhk)K@2hSdDol(P{Y zF9qn&>Yw{$l90{IN^fLmZj};)fwwB}NLT_><@sTa zz~SVsg7fk)A~6HDlEKigb#xcq$J|I`LdP&&z1tL;%>hZP^ zeWJ`tMb_CmXe1b|0;WyC%Y^pUl$6Jqm$fY{3ttnR%OcZ|qWTeT(JbNw!%hzbCV7u= z8QLqpZxvA}p%7VS^Z7VhB)gpn(={tqhC%01}4l z;8rjQ+oNn?uG?<&-?Ys4C7)x=oB;^nbB5E;FVW4;F~V|iE2*7?`j$dAeeLwepHeyn z#%H0iEcHcV&ZuX<$?yrGJ3|$KyYwT;L^>XQleIF~b9v|%kY+hSXdDl_%9gS&!}f{4 z;T#IMgTH}}$4q~?wiP7K<`A~&W}n;Kg{-;4%(ZiEjH z@`B<<&hUzHMCE@69{$&r=p$H${^s;|p*qHwh)001A6WN1-KB+56t4Cg@UIe%9RB+S z{nt+l2Y)Z&3H}dFef}3R?Jw>^=Sij8g{A@1+VAgNMc9kb3bcl}g!~Ql{2!VG_QweO zFWvrE7fLOOzlg?F_GvtQf&cygim-=Ce}6^AnSaPB1rfwQd=3BC z>|OT2dMNmoz^S-?^X6%w>O6+_Mm^h7_-}RV--IXo+TTZ1{GWCTTmeM5U~2DgiSPxA zfD8W!g51>pzj`GQYdkRf?>__@`3&BdZs?rZ(ZpcL|LM}Q2Z$>C#p}14I9)_?dV=Qp z#PBPO`+xgyhOA1?h3sl(Y}=k`yYf)CUIu_;eJXZ1L6^#t?CKim-TD_*?6 z#3)9Dn$+(UaOH3SX+LS@c?jJN>HyFa&9?xudhoYDjjtcaM>5K^=nxSUC^ALP#RR}p z$3!21=+a1Z-&|MayZO4%4{l1NO&1gy77@-Fv>K~hgHYC%Yl293yb0!z-K<~*G#qKq=WLw+U2Y`K z{w@JANq;zyCF7qWg02DQWfXx4a3Dp!)-4VANow6>&I6$J2>9B%5M0yWO@>(OdqHeh zM|ScMEEPV2v8;Ks1s)+8QJ(*8lAo=QO>1DX269nX;>HHh9EtHqYkh$N>~}NBUq&5RR%3Qk0bI zeMkol`RD<~G8y2nK(bz#yi7A9aWtXP3pj@Q)>DC`I_BM8Z}A zAUPSi7A_>ACMY@L9E4=pA=0Zspym1O&Lq16hT4AP+6Ai+&l5g#ozi!&9WjIbGzAS6 ztH*#@v1J>z?g@f%3Ig4W&uwfe${hR{exYSskPPXO<^VXIk%7qR@jA9O7&toi>U%+_-wRm}4%&Y#j%9x32M z4dbj&EHXvzdJfb##gRk6!UxC@yU6qFA32r9l%FC-7@)XNnob}a8IkqbXLX!|z!M~O zsX5jSpGt~stP=D(N_)2Ot^`GWRh1U@<*){{Fl0Ys3_WE?e0L)*jhF6n>!&t?^wic<(d7RWDOA zB~p*4%Y4TxQh4Vl0I9c~x>Z$Gb!_fKtjkA`Tz!X4QDKHO!YdjC%2V#gop8<=_(73S z4+6?&ef3ls`u>DFfKz03uZb=1K$+fjGs^&~}%q)H*EIi6Y}Y8GM@U2ws^ zwkGxD5oVkTn4ZZ<14}1pXtVgBczeKtGN9j***`_m@?o(l@W|h9lD`b1NX=k z+%Q8(D88(Ad$=qCwY-GY29T?}!)RdqHbe^0CFO-V{bVVjDyaeH%MFBWkU9tcXMzZQ z?B0*BZGA_8L|x|J>CCCIoB5LQr2s?hj%e!gQYammrztv(5D?j`$SQyN5Qy53ARE2| zF0exvZKp1{mJocJ)TRsEzBiM3YGbaee0dWj{CVYeWxf0<5j{b{}qe8=wlGrj#<#}mnwnJ_z|K>ze+74f?TYucF73eAc8 zS)m0?2T(!Fe3xO7fUwR7%ffu)@?nu#Ru|&C%g(#ga{lAJsNQw=UATjXJYwx=s*R`h z!xu&O{Ot8mM(T!V#mtK-Ia#KpKh=_3ht(mMANj z*b!+_H%e9(>i|^>(qY;)b;;FM%!VEq!-!~hV9`Qin}&fNdyA|z zo>P73R$7pt(FdDCqs-5c>V5u<*@yVWn#7f7UA}3v0bH`Lp-AH;fXrji{fMoz3)#j5 zO*DIhH+-B31f~=&Na<`72M{Znh){vIVuES6l7Ai7%>TdnFQG* z>gV~9BQqaGw$_1NpotHfi>R4Zle{-qMTb8tr3r* z^kmKC`PIi^toJ`gHW%&!c>Xb*iqoE~T1lztx!O@-riB;QTgBad>Z`kK+ei%Npebg?S=Hw%|=08JlU;B|`GCJKER8uNYT=P|AMv z+$WRF*u#xyM<kgVLiO+*dvwRu)}L8qc?9D~<8YUuJ2=6&Zp@h_3xo zEUho@+=WlB4y#hEKVRGn-5|QQ2_iDGt4aAanevEs!$aQW;;J=%yktutNP~7Tjw}hv zjy0P)gU~t|={@4N3A%s9=HaU}*GMb9BJ<|!Z|GD;QKO-Z+~)W^PlB(?0=Xy%MdLsh z`fIIIW;HmbIlLA9+<2puWwJV7uc)DgBiad7U~xc3qP@X5ea@d*hTBC!h3O81b@x~U zH}xA&+pm+^cG?(FNFOXKxtEPt)Ubz z;Y$NqgBMZDT4}s+$L3IAwR2tU8WjykCRzWpLT{-HEw2wzF>?1IqB3kuKC5697`c53 zzQUC0Dw_iqv4gxgQt;yc#>%Yz6f1*HAs|{COOC@Ji>sL?B{K7x zJq@ASZ$1qtLT3aI+#+Yi=jhf6!a9Nkv3y^FnS_IaOeq&(ASL7o_{LLLpK4U*Yt5M+>UgBWbHSnKS4n zF_QCEU$(U(?(s6&e&ftz-G_r#=M$$jL^6f1O}glik1_9`dKG#QO})W3cARID=E%=JXjA~7_s*jvp)y>(EL=7g@+vCxDFH!s1aWd-l0^I zWAStuiciBE0?`PQ8n)2h5cC%6w3p4YrMd@hJuMxLdzLwsOZdMitj zDBmw(M1NP=C!`mrty%CG5T(a#1AMyB)HQF7<$D+C8~#YfV~OF+PUou{WxY@r#eIC0 zCe+i$4SxJVY&Cf(>QUhB?seN$zf@cBQ%N_(5n+~f%(}YMV19*l0GQG@BGpIP=Wi%` ztC}dMe|=xx5<*-%X~Z}kd9s?KG2y(df`y@yoN$yc!uH_SxEIkzjiTNo6hxUfPTx!P zw2}9fTLhPG^Q-7RisBZjU>E)26SXPFy7umd%-g{)aBU!xB&}6fXrhhYq`rQW?+P~0 z9V24uk9Jod?{hisDAEFOlhAHTHnWf?IqnSc^huAoaVyb;Rbg|2^G&W+W zb#rC{{zS@neu2v+OZ{A_?nj0%4o84>H@M{3JKK9_z4BRi!4sR1Tg*|55B<~CWmT3^ zEa~o4j%my>5flxUvT8ho;8+}geeqSz2-!(J`9l`QZxvg_SB>OMliKc-;2Q!Cmo zonLgj{oMn#;1n~gTib5Urto=z7dqYOODr3aC1h&2e)bABy-R9x?(@IF2wpHU0xjyy z|KaoEJLe$#ls0Ey%>2?xn1s(z3*(lY;*>7(pA}oq(R1}sWn6uhpV3m4H98nxVwAG> z)S)qo9&?KGddVcB`?}20vhiHQsro8CN8VGai4#xQ#to~JUaWmMXMR3et&$NZQEfPf zN}Y~TDa%{Qe;t+NEOc2@W1mqU+(fu!&8yHbsHz?O=sAFepDMJ8Zfj~4 z(^G}!Du=2qq&d;8JwzTirlKG4%?u<9nPgDMPWM`n&*l+p^JI%OSdhDFa0jv{AJRE_x!TxJDO+0vC38K?NQEr$(ZbJePXwP2_6=+}~5 z1wO+vdh=c)tO+;P`^Y)9_!~@8W_rh>vH2gveo7OKiiKmHQHnb2V{1J#~w2M z-fxsfT6bw7&v?<0srwfYghtUB9=6@wpM!a-qUA#Oc^tCTej0usPtLryH*3P={A_Mp zIa^H0HJLsiPjO?rYssf_p$3K!JNFbuocmPmO>2bYht&P{GY`Bu$F-8m zXaoSiv7nFk{j8!~F0@WG7BnlPSU?_?`noq*eahtdCwvQt5kDBHUr zTFR#ZVif|P-{C&3#emC{HDRD?g4%sk4_VHvE($l%Q>1b1xnD|9Y52{R1B|$8SMhKz zr|f1jW{ZzmH9n#x-3WP#xW1xHS?>Aozq4wE^wUyqO84k*0!6k&aqmc4Pt}Xis4eLsh+Anolgep~hv*KbM z_S)@&fLoN;C`Y|(or&dNi0O*uZ`+C~y0&;nwr0OsKfa>H4EJKn?%XGO7S6m#hWO*$ zO~FsbUuNy84EW{H63R(YEDN>cX++`JFhT70Qb$N6 zeV+PN{T^5MH|`BR=z;&}zkX%ZSuf7PTwwuZ`Sht`y86t|!{(^rXz5{$%?u2L(&gYpkv|C(}Z^BDCB zX`DHN<~4h1B{nR@nfjbRE?$fbTolj$Y(bFhsSw^&um5si{2LGdpFdRK_A zjIj|CpTgU+0hjjx0B!~0GXj4_EaPPk#BxjU{&@dWO+`R$-lBKn{ZBagV{XDc*2R5q zl*rVwDV$286U|3AeY-?Ydb&m%dt5A&!?rK?iH3!WDuNwWv20a(bMhsE#mpd@Qz;4X zpl{1|!Qtz$CLDC&to|!9$_=M*5s7DGSRL^=OtFZGN3zIsL^AxWuoD;$89kw^UteBj z5=l5NU@?7oJ7~E_-cv1{PtBAIP*#mgH>jCf400LP5+TNCdB|K=()w1^TATpF#~5uT z`q>m76S*w!GDE!*(`+(g+vk~D7vFp$M^iny@zRbcIp6C;MN1shsSVj= zuc(S}tf*B6-)Y9{ypPXRhNFKi*8K8Z9+%!9++W&AbNeCtZEpYmW?D^u^|&|r@Ye0| z3txVM0we^%8?^7^&c7OVC{KSl?dNPVB?04ugc9T4BU+o5tgH<%wCd9<^1JhaSJ_!% z--btxEz`+*uJ`0|}qk-5DaRQ)Pv{wN7RAl@dm93S|6f>4gZ z*BQFoZSC`QOpX;Vij)+3!8O$l9Jil3Mi?O+%K^oBaL&{kN4WMxD@ktxvJv7W5fqO zi@mvRYJI_*smiQbSU$AHr`cB@SYC}2nK6vReRz2Y->1m9--z*3LLbuy89%W9y#g@D zNYOJMMw4I0kL_|rH1mkYzrhqf%+O-Z(FZGlWc$arbVPKp4nO+xQWHM=k+bVRJgE3d zeEG?AE<~}^3b!O5MurLX?fg-Nh28DmKG zw9YeFL|*L9k8khjxo`8fg1V=yDAQlp!-tvfy4f4wmx*%`=>3BW12BBKu9(Rh9aN`S zzj3|L8sbo7QZ1ZoG5}zJ{mFASD77jJ{&q?5;q_?szzg;!M2!8SH-E9_Sap^#z5N7W znIi(y(6i=0j5;fCf@yagh*%FjOt;pVrTpYLCI)k*W@3I~DVI-ePQB7Ig3R_HynT0O z3)LY63YR8{n?2 zG`}o`6LBuiApT=qjPA*q8VknNdnUdVM6}|2e@a>8bSf(M_|0c$_sB!McZYNZF`iGK zpS|0CM1hjscS-s>eo-g9ejwQ(cOvxw*r}1TC^`eyJYID#r&e z`qAZutyHTDqbNm%5a3gvFFs}=UxkIn9Uijl!FGzMG_(}dM~j*pOpAvyk+BcYWQCt( zMSsB}+y{rtB&~$zSOD#-u0Ppc&<)?3jE1KoB+zLQGbn6*!rT~pm95<5{>4vIAwSmS zblaKfXRqd-<3PnP-L_7rZT^4Q`^u;)*REYfP(lO*1f)YkkPeYjQY1yCq*DY55m~?j zlx|c|8UzGI7bUH9Dz!i)rI7`Qbf;%N?!Djrj`4lx{mwpr&l!WUhXc37TK99$Ij?!e zcA*JooW72~-q>k92f)^k6+W4f;=;gTtcIT;Dw_YB0G1bs)Cs&~b%h6hS0Y>aORxc! zGIl=LEolm;H#H}+2&+lFU!3oEHA0a#5myghehApEqS8(zqn+QB*7kS%8HlSDR_t^P%=Ljr_G(ThDaekTWs;5}+-vR> zfuU;sxc19H2}gVh+R?sOq}XG9C(@Nz4w(Y

>Z-)E<`tz9m^ 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 y1`z`tqk>H|X0CTfkEAM{S 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
k@S88eDdXuCaBU>e!p`7(6BCr1I{ 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

+$x~fG0K@#^g^Q{NX<{HQ$|o z-aY={lqg_oWKI6CbEbo~L~B`bK4PbqpcoS+nG-UkLtvQ5-daja(k8AQoyJz2&QlK)>>PGP2BwpXRU!g!BF^ujHSmr* zx=QM^0_MO#N$TOgdw{3O;r3I`gu$$g`oHvb6o`McNm@8kbR zpTIi)KOxQc7zetg^N@ux-;1^${^Zzr)*9vHrq_qD>BYk)foPM?2$P|kzu`1H z+`9ht+|g$Ln6+kQ_({ZGUP0-1h@C@;c;C(|3*Q&Z2OJC3LX@ue7TTlU(460!gY%=iC6lL&@3W9MW=e*Um|YjsIvkt#>Q!UQ6JR z1Mc9<2}|n{BinfavYH&_Nee9W7EGWG+4hGZ%^kzid#K@(OOe^?ktXRB$Tg9C+0oS_ zh+BV~ge4Mur8F`SD(!dR3U@Fm2AH^#)f3DP2gFWPOLXN*i`vsDV7v-%z*&r9EAM)D zApFN{-X8N8#u==vdOc)F!1~+Ogji{AmoMjDC{td%g?%=Q;)^xgK zi5`=<4>*jv#~e0-sf;1%szrLK-ZyWL^*2E(oI2q#k)$Izayj=}R(8pv5Ola)JARzI z7bend-2jHu*fR&?@16mpu;dz@FH%FN@e1~JUY5=2HG_fB=p;k==dvR*8&cacrJY=S z`|UAs;yb4h-br-#y}9i?Ub-5T`eL)Hsauv)?=aPK_$QmTUtLnkuTC+eS)g*kZm2PM zf876xoq_R{r1FTt?I&$FPp`gvP5-{DfB#nhAHRX)&DS)SFhFT}`AWh0p?Y6AJ`Ax`=%Qz!m|*=an1*Sn*26b^D8P)|Pjl z!MwGoTgzRiN=}MOruDn{BIQmQhlTFzg^boaVxsC%VDm_GIt{Vtp3T*R8Jj%Y= zyu9es&RgTj2bI{V1#wX;r?ecjJnB7yK+evUV0zZWC01ApGKoeDUBEJ3&HA0`8Fz+sF59AGCMx%6PxsB{c69jvQbb6K?t}Fs7?=v$#8%Zr62_ z1)VW`sh91tQwou)jpSwUlgd3{WX#kwdo7G+)z59Vj}X9lcGnR=EX7_MA6E_|8!)Fo z!Auhg(J-EtwQkCy)GPf+;GH=rm`5^OxW$_Xh7Kd(aB5LjiXi#=@1`_{N;H<_;p``| z9_*Ue9VpLQFgM;q*C9ty5z9GHggM+(IGLUDd&~T;kN4xYA68?sKMtFp*Dbv7IMGpu zG)9F0oLm|Qw}t3;Q=iuk(95S}OxB~ZlhoP|@3Z9x)zkKbkWI(mgJ6|?8;Qx9+6!ar zfiZ~*3;Zj`NsnHmMqKA?!FauOM>TVh!Ea_gjZBMIonrwz}0vh$+YrPWL#&EbhRKwSDS zW>VsQ@K-s18lGJ26Ip1`-y{dLlb0hz@ti2Q>5a+JG5EnZt$6&R=;gs5~7)c#-q- zu^*iO+Y9mT^SzXRSHpPEHj=5lyux9uoqWpDF#MeV=E?HmR|B=YDORqN5`To+$F~K# z97WLf-Oqm0^t5)#hMp;Wj$QQfQ>04BQy9O`WZMXh_5L{8FY;v|>Txz80qVFrQ}w~e z^x(@Jd+mAM4g?IbHWKJ!EqnRtH~o$IN<}wTW@`CRH^?b%{0#LF{kfuK=iLhfj*C$J z#r>&tA7L!CI$F$gSt^0cjx@FYqJ@X4s3;%v61vhR(k>^nO2m|GC#QpDeI` zW+*{H?ZL8(uKddKRGYiNeT_8z`;V93dDj2!@LwKpUtNW3ea|M&(4UD&nPEA4F7~{X zoWA$L^Qeq+r7-O)qLiNZ^;`F?@==F*r?Th3ZN&k} z;R*^$p$c4-MQq>x=V#OZTLE~2PYtso+gD`JLr19teoFfZ01uh)7a5m(>WAqC{1DZm z@I+-wO}m>yX-2SNfxQXR5ix#f@O4?H3<=}L^aI+Ab9{gqkon2%!Ts( z-lybbAwY8(WdgIlv_N9=V?IRZ405k^G;SQPm4A&co(+9_%;mxMVdc~If!~Kr8jdB7 zezJWUjB%#?d3L}LR%7ssG}W;kTV_Zjqmzr6nRrS~Ulm6{xyoA71mfPmoe zF;E8j$X%e!=o3HzC?|lZbliF5@Apn|gJmP*(qKO2qf=1|_AXD~9;4WqV{-iyS{!$6 zP8>x(d$;&`x0KSD=6ft|ZByFe`9G%35B};5x85!3-mRog#BBU)Yk z7?2G9rmDQ8w9Y~-IT)?`aRsv33G*lYIm%vY)XfIRCp}XQ;h2u+*GTL_fF+k3nz-=x z*jd%iGuWg|3uEkXQ#mWbb)ha$dl`tJbsyRlHjc`!FUqmiT%Kh=sW3-AV#d=hN(7dx z!a`#}u#Wq!?(DW^d~Fvmw%9G*r%>lV$l-uvCR85Cn+=4@9lh(}H{tmVq5Ce{M|XCS z+ZJo_-a?LWZ62nZnr2mu+w9OilQ zS>5~WQ};f5pZ)w_JTK1wb9h763NF{Z*1E6zUf2D*eqR8No9s)B>0%bSwRO4QA9N?Z z{NU=6SCo42(fd6I{aUZ=SzSH1mMoqFq9}Yk;~xgX|K0qbcm$W`Gm9k2HWpfMK>BSORc2i zOz!)^L*9x_xZ=IviiLr1<7$p{f>j+SmL&~kKi4m&T+$zzU%NnuyY9CV%PUdpY^ypS zlKH%Ich1v!=YhxRPiBX)cClFG%j)#hR4*z$5MllRA_bEKOmS6Iv%y}6FOH4}Tcp(; z_$V0h4cF)CaIkca`*L`8Xb<0w1tt@^F;ZJxvqGw*c@n0#osn7M=O)fH`9|p4_spA$ z9ThY)m87v|!DnTCXJkmxRrcKtFg{#T;gNEcfmi>a+=m7OLs4-jtonlHgx->;x?D(R zn^2t!N;Jk{{SRUCuhtD|iamrgL6{dfgI#jly5P|s{Q@(?`{<{5O#6N-zM-RtDBYPi zQ=x|Uc}NpO&_i*&>;4DtDI3)#edqU1@&>jc(-C_zVe#X&N5g%?53@V z-59Gb$L)-s?ddA4xgc8YwYd$Cn4v1SIZZwkZACza?$f#!o-DWr>O~s$6qF9cLf14( zEvK_4A)eP%sf04^9nOFEy0elxC(kg9DayD>cp=`}Pyw_0vKEwszt-PEx@rV<$}(YaIZuq#8Dj!_QR zda`1gP|I|e2^i~NGro-)dSGig_9|PHNL2oTSPm!wdfG3|rF~p|W5nBOjyAS5D}cJ& z?#19OF8h5JY&COo6GH0O5B_mD=B&NZ`$6SHy(+Wnq~qWliEXqEZ1DJ&UZlbK2uE`92fwKOq_ zfIEsHhBOzUEtjv`kw_RbeX2ThS^4JnN${!0btW4CPMirH{WwT9JWzAEOfMagVLbh&}bx!e( z4yqC=C)s1lg%X)Jjb~tlJyfu7)I5F31aL3Oq^u(5$;C+tW5FBf?Qz*TI#1~64o3Q> zMKjtrn%KeH;NcFIwSo3HN5_p}?ySY{qysWjJiw@ZY5uk6%a`pf#4mJ8~Q_QGkI!_Ox-S~OGEJ{9EBH~pE~Ut z?PAZrYI#YIWWQXn4-o_dwYvm0({oQz^|&{&cZ*|ect)M&Rf|Vey>A#%DW}*=Rao0F z4Tdx(-SCURE91SJY}w!+UAWkzviRb0Qo3rok>)>A36Da z5(S`20jX%?oD&;*pN{_O`T+;y3F!|PJkt%Cj<7Ztb;eu0A{siPF=)IO_31*msGT9>y14-`u^an8ci}sUIk4P)UKDXtf7mK|Q<@5)kGhyXX)j7Wh5Xql~eATvop8R5Y>S=5=4l<+|V?OUU? z*Z~0`gokceKF<0!ji7LO4%T|o#mmpkq&F0)bG;WmkGr&bDbSUsZMEPi;uGk%)>AT} z8H?xmCa6H8!5HcAoU+!r>X7O9DBEgRs0L~J7AM8By-_k&eN_b!O!s1^GFsBUMAExK zprBCy$laLq2tdnT-ZQqm6(_iJL+neNP#ZG#aCR=WFbH@mT)b5!oknW)r(8yM9gEB4 z3q1d58zl;+%zc$3%e8fN<$gxHjj>!Q6|H-Kg8>-0ZD2tbx!PWPVDGRG|jz z&ZDPz3j6Fv!&_X$aJzOGtgG(xjos0h3$;|r%6{;omaJtvXY26L>;CaoO6T;>{ncy6&{nq>pb4^u-#vJoRQ zdPDf)q})sl0A%!hxH%cLbUErAUA@JBjQHmLvFHB~=-!hs{qw!*dX?qU<0yIESkTSb zlrJPy{}emW&slH3JG}hEQQqA=_F{~0aV*hPImjR4xY=nGm0r-71G5YIqJAT&C+y$uAWa!5-OsrwwNCQr}XY* z!~TL+)PJU~`>)0RJOq95?2uT}XeJ7rbV?iR6O)k+eYY9!em>zayYQTO5I35Wdu?=L zFCkDI!YFd>T+#VB9Tp;xutAjB_-}Vd?~VDHr$#$!41B_NN?CuZw+uv-$tX|pcvdRQ zPN~HY=|VD$W#*OOz`wE1mTcfE>GS#9o3TqQM_X9ny!X%B6#v$SFw8RDWMq2LM!QEg zvsvkDC;r*gyN$NIz^EEaL zGdev1%u?6-!z<;G&V(#a7%Ro??wFZugL6uTC2w46eSTdC;-gr)bW9CP&ZdHm6Ciia4LZ%Bdf<5Yf`>azr)Zzu8$3282 zBx`cOa#Q@=yyA2y@O0j)3TuaeftDp9rVg;rRAkk>uqHqlqEGas!b zsPaS3=g{=n*2(_2;1Wt2+AZ64^Esuby|eFbpbmD+1tX z5oNL+;=t|ji2KA-tNZI4EJ?@Dr{INW#&!9UjT={{BMeN>(=N2R;KRnvfTat=NTY_! zpZokn-um4KM@(^_Bx^Ig!)8t1;H^gTp@Ac$rD%jCx05+pAZI?e%9}2%Y zmq1M>K$XtHBx_Iee8(bClNR(S+~({YA%ZaGHBMP|AE1XHyjK)GTGP)BFI#Y_j}_|& z2f85sS{@bP0Yt>IikM_z9Wr1y`tO?icN^D76}Q1_h663H4arbxPunsiXAz~FB&Qs^ z?0_U`l1+{zpf3Gg(82ap#T>6eGjcN8Q*)}N`$3&|9O>M-N5V5*qjjZkiiEb-l?|#m z^3Bf@c+?3`-#r@oL!~g|+MOZUi^H$Tgc3Iro_v9(nzxor0$jj|@}!OMH}OZ{z>?G) zzo51hYwdiTJu}OQAlZS}q}w>2U+A68t=ihmJ#!zKcP_cyu<)9Se$H5PWeVc-FRYYC zJGm}DBs2!$=+C|ir)4~8|CsYj3-nA>`;UP_-h8u%?-b7t-&Sts=`;p(*30q%m&4Gu zaa{6fg6Di}LTbqQ?tzeiuE9zGPn*`gk9oL0ZwZ9UDvspmi+SJ89!CKF8>|M^6p5mk zD=(P2Zz><-2#5V?F>Z~&z_~Ls^BwZiRcFzsCC^;vd1%``AZM7)+^e%}iG&#;30bDBMaGwagfDWdIfy zw(V|H`-k-;vuazLOtOc^ZExYwi>7u)oT{48z#pK~I#V;bX2oO`GYm*qLL53<`P|Iz zgugttT3p6&WUmGGfO-qi7$gb1fq`_V3PY4lE2c!dG8}7&;6l|Vh{MrZX@7f7lq&zp zMZVUraKfYt9>|~A?G+9wRxS=8Exbf0PuvWMG4vMY8MSiss8WOFfkb1#Z=XWc`lHNf zt*eXmdk~;M6~d61lI~psefE>{WUj82#1re;w8VD{&`Zv}>klmWk2g^$zvqRYsBk#x zvT5!wcmDCh{B3(7Mj`yYtUmG3`KZ{@iTu;@w$E2Oa|p-B?e*CmJ|rHj!M?Lp(sg}i zD`RMQpmk#LjXyWB1^!fOm3U-W^L6(1!G-?um5ntj^%wLZ&iD%v>s*}ye|8xc=#;uD z|MN7{4vvBLFMp61UTHv5KdPB=DIHU1cNPn0hFXY!j1KXC9UcDm#Lb!AT#*0yZ=(Ye zm_oO#riQn41^sHPWy%m?m)cuLO~z!3IhtkH3SgbB)NdEsF0!*3NJd$cYAIKgMt3w` zo9QsS8p-Qik5=;4Z~MFfp&GiBJvW!gO8|L(-J#2Hus7;3Hme;lY*}aqPy%LezG@fS zI|BzM(Jo_{mc(9_CFG)0>t6b}8FQp1tnTnAUD-lbr|ng?my;{4C!v-5st~E)=N-Le z*{S6IXrj_(^w`Hx4Zs7^DRnd_(K`66ox|5vTV5n^I^pcG3hC#AD?b@`zb7_ zGXXz+kfzc0bW>KoDf;tJ@cLK`P<``9Pg?~l5TdV^c!mA++~a)Hgl1pe20*~%-RLuH zu??PkNIU&i`}CQ}Ri~(E%6Z<60ab|V4FO29nI!S`2bA-FdvN~AZ|Kp_EF}w!2}I$R zU`Nufl;VsB-2BbL2QzH~=F-pMR9mMDc4rTJ#S28yUZble3p=cULi&6pFBGiy zrYddhEUd$ZCMhy8C@#}r7BKuU5b?0cR>1p%jjCWqAPEfX8fC8mHJ z6dhBCeX+P4Pn~hKMW-_qLBdEQ8@D5$xXZ?-rT^qK|9;m;NrG>;3_K3Jnhs^YMUvjp zMm%nJYQ~Jg11|RQrG^bU+!%C@rrmL^~ zQTvORRJA2Yo@>dT){Sy2gqklo7pOFZDUnrj64%r%{>(-6sMkRjH79fcxy4&C?z0z; zF_Lx4ON2)^Tyo_D&?3!m54-p+j7UtWYgxmNr6AdZ@B|yOtdE(Q`GxhSEQFpo0#K;C zCk&ppYSD93YN|^hKWv%bcUcV)$)K$;Rv_IDwTKW=L`)lWACY3QxTmvIDHDFuJ1N?7 z_&{wia!i6w2>f|=@6@>)H}nDZB+ZqS8*1~YZUOH@Hmin92!GiA41mPC)P3BVjEx;_ z?RnYUh@}prhngDoe)Jve@3M()bXX%77v_bPx$dJFFsT;Kx3_RVZXbCiHO1sK*W2bk zDi+AK9*h7IPwk;5x=j&vbUDX>BAg+abw`b~PT;IZ#e>E|&|sBdC zZdk-A;gbSjiun)V9m{aD`sm`BE!~&;%$RocCA*YyS)<}gUv6Ff!RJ~+I}6~2{%~|} z?2z4p4gB2X8V@D zj0OH|{?dANoCdM~XI6jgh0wT3nV%|f>Yvh=;%g0MGIJi>&3Gg0MJoW(%?8wrPFc^fxqIe*`+?dUBL&}#@QPcLheV`5!Q$|c!&6NUHiE`vM3pzf6;xJfH#E5w@7(~4QHiZLg}${6mHBb>|bEsl8%6?sK>kHHd+AGX5&~@tlJS7Stdcv1tYO4HMZDpT#-IZ2_{G_J) zC$B(;j56)@d@~-520dHsxpiyauqX}Ab7+N0MbhjgA$6#13Wc7w7#km-+Ty0Tblow4 zlUd|5l#Qb%duUKnWQ!?j7@^QudhOuSZ-UN~DNjXd$&u)})^-vIcdwXOblXihKc8Z_ z&`P)LS@pdi0hnDt!k~}7kzR{RSMaGOAu`ij4s+w+Zv2FW8}w2%k@C2Tn$$rx1h z64NIfANZY?q+@F}I(akZX$nr23cWxR)#v5Lpb9(9uLW>+E~JOcEIjse#!kK75VaPJ zrR>Pj&H=3Pa)r7rbgy(TVv<~xH8O?#Yz-~ka2<#9xwc%pK2Cs*@xJp#m~GtcuNQt- zJpok|_QiQEmR4r<#)-SWcMyoKWcW$`+yE$(GwyJx(*^0Rs+J%(9+#Tg~euLc64 z+Q`6<8j;w-qtlV;EuXxclWo_|kL>QCS43V#j?~KIoEssX;d?Z08|Oj?!-L|NR@$K} z;vyWqaR&hfx(1oYH#XEv_MwOjX+T!k zUKgFcNX;r<45KaDt)n*TcEcMFD-8x1BmDrQrz+HD@Mf^2gk=g z!aBC#O{!<*KKzh~%L~b2qFbeS4*Tm4aM1EgqxNr3j`#UR_@8Xe?Tb6@(mt^0C*fz8 zinvn!bR^Gh-4alXGaV-=k?RObHeoclr!u2mA4T2NU>x= zHzehT6eihE2nN5(#(U?3Bs)A@uAaKt7mE+r@S13qf=O}g+ISu+st+y0k1w@)Z+~I_ z8$V;hAh2ge#1=B?O@gZ1jh zR1ed*t71;@*Z=%5@6Gzk$GMHjqHnwowLQEhq&A1LQIj+eS zkscfKimabS$X8_N(?dpcS@amb1N*G(svci@O_W53;I!M{iiK7leuSI#YYD7B`DzUg zh(F4gegU+%UMrHv<{uF=?&g=E&f@Pu?&rc?7*@#jdQLYU@ZInANJ@{4*mYplw!0LZ zrwF7i*s54#4+^$snx zS>K8d^2BRO`4qrH%sB^e`mk8=rAsV#8CEQ8Rg@$r39YMKguW%goJ?@dz1tpJ0YrpC zP9HNbKa?Q1<`I>_e`3H)tuQ)XzbOv4GnWayUVCQU<`$o}shjSXm79sU;DG9?!|`g@ z!p{W;ib~~8e_)pQof)_kFyRT@7JqvPu8t#Rxt7MF2J>eS_g8p{b~nq68paD_wRE2(;K+TG)Qs?f8##xsl=A+Nzy0 zhkgpv({j0LeI?py#tK)Qw2BC!v2=k|YV(W^#^poPW18@O-Ku)|n056_n`gFsj`YL+ zYGuPXETjivvD`ibaz5w{Ui+lmv=}#u+HWuUy>?;k+pLxyv zz)f+T&SpgxiRQan?IF5+gkzMikp0=x#{S$f%=at9m#V}aBf56Z$=!mKz34{e5)Tbk zCzTFgPT(ZB)pi=O6w!PHPopg<4Q8zmCbgQe7D9WK@2NR^Mx7f{Xgu)?S=WHX%#h>i zTQg_yCVJz2ue-OJzi#uG&(j(rjo3YG1(C}Y);VQL@j0Ql=c1mhHfmsFr#b$B$B=+h z=1liuGLfbP>lSJ+g4e z?E@?vZZE-y(_+wc@1o?1h_%9p9}VpnI1HImzZ2|fb(68_IerH1#@We$%o(7w>nMUc z9|9bun;}jSCe~|wgG;ldQMWAGkFbyn)SBGd?b3B2I2?~U;@W^;SikbZ2Jf8ghqn>f z#`Z(HrgiESvY*~nGbFKN%=j`8V8Cwd$lIezjUt5{~)CjJDpT~ zYi`qZer-8_UgQwQh$y7?tkxU4km}GdX-*Ta`PUH=70#9pPVE!hTKVU3MNI72AsJ7l zoF@TYr0}7ojd9M0ubT6Jsx^9CzroI^2_`S03$W)GLUKs#S`keYi}EeZ>v7avhL?DqA_`$F(%2GfX?*%hTDrqZg4fYJPE8hu zMaw(z9zbF$6H>PvoYM7SL-1H&n!oRm6s%P_tehXLr0EfN+wuri7p3}3q<8*^fsS`9 zsyTc>#lp`u);Xe}CcKAad`Bwt4XPfoSvqPVhEg^xt$vqgJ@{9Ewe!yZjmYA?XHMhO zfU#M5pr))RT6`eTURG;_PIjl@=dx#{En5NBifKeWA|xd)*2C0omX2iiTlRRiKY!8D zzg}K7A`io7f>7QOy3NO>NHipr=UE5sp_~u8sPEi^DPCf%JrUIE`@u( zWNBtE@0VO2Y%;B*ni`-Oc;d9YV2$c~5=6csAxAHe~Yv&6u1jN6zAW~1XJce3E9 z@u`nVEY=HKhLin7P;V+NVCb>u{TTDUNdy>L5DZ#o(1wuo^sZ;&XDDj=1GuGqxMkpC zVishOiTL`gm!YCw7o7Zn8C%5xF>Ab}-SU9Zq1pk)+KyigpYIx3jU-YWi+{?D&n-noM8@x*HK5Q#Mq2GXvhk?I>={Th zDt!jCMm88zM2|v|bs91=^{-g8$*o_$E2mr5cqEI1M=dfQjFwVa7(0CPY; z70pVLPfgvxA?lZV*gr<{MbWUi)n@~s#ve4Q0`fJ~{?9?Z8ZF*Veh%c78k^^v~i zkkBqzheuJhq@>b!A&Q><=Q1MAJa#F@^#@cOw@B6&bw zt2`mOz=>?=r{JYebnTG!@na@+m7hr>hvEyr>kGG>Qz}Zx&Sc4(NcsWAxGxOLr2VJn zsV5ps;5v%w}-Y!?#pnCyp5x6vek1wXk2=bm{{EZ(B;YCE(Ov z+bzInF#@VRNPW18N~D-wm!3EcX^;$vReFPFRT2Y{1NtSgyYU5lh6GNjOxjJhlNgbV zTFe&V$>va_83!woouNUc%nIW+BZtAvRPdxyu}2P@bIlI4jvqsEIT&fYYhp^&E~qJT zZ+mH~9gJV?ud!W-pGY3l!ofbh7;viuG=>#YOU7&Q3u~fK3vfh69@n8> z={N8*=Jp$f#+7SgD~*Z#&inZnYTRZ=_o^cpVGE8L)o61_o}Ys)4?=Ya2i!_x&jRjF z`nFv?OaJ)~ujhMKI9J#;hv{OfL#-S*3VR_D zy9E_S8eg3V4GQ{K5eV3?7+0YFKB#u4Mcf1nq1J3IW$8^V80$e1nY36kTR%>Tk(9V@ z2?tx(=*apV^C+?UV_5}Ihnhsn8=0M3jM)ns0G3tqRS#y0vUszehUT-H~|K1uX z=s)Ud$fB7y)mt2qql((%%?VzlPtqy`d6nS0 z3r+7@hud5FIn12~%0T}z$;%_K*etryJ~U!!uQ1Ph-e@mCqH{4?segpJ7p+E|{YCrT zu6)D&ig|ukrHRF?Qyn2E4%)9TK6GOjtHZ}@TfyBZcr~DwOfA6P4?t^}hNaQ1VSr1I znjZz|$jW{jZU(2{3#lK~=GnH`LtqW+#Kohc9Knf^hp2;~w%&_V5C-1!>h}FQC}%FE zB48Z29Z{`Rga(2BgZe|>vyezVBK4X~#AW34ZnCuK9sm9I4Fzt5c;>hqJ27w;JD1a>p`tOn5j@eev1J(qyALuWcsN~ zdL=H7#UmyN7m!t>gQYEyR48G?CP-73F!OqnM{*$%@mp5qP`oI+t=C$88&OP-tfJ^A zv*hN$ghV7ZMZ2>4jNC%g(H3uT}NXXt1*44L*;jI-0T4{Uvs^B}>dglC&J#Xc923}0HO-^h%_#iZg|eEU)rO7~ ziD^od27nq-MwN+_BCKuh=GOaB!*qF^Aq8({{>`EK0^Tml}Y8zWTY=e7%!`6Ophib)_)pze8naKT2B*TOYD(SK9 z+)$)CIME^0;HP?R4-_TDKJ~xzFPr)wU%daWraH^#orQqQDmL$!wp>enN3Z|#-yQXT zzyBX_1(fXmX58{OrT(#jKTrGkI}$^gDvH}8juv;i;k{S8&(#|LW!`?2{^wWi(8KqS zgtJjCEK~VXUS;9ryd*ab!)@&>e}I^nA11`Es2B!k9C0Ul_Q5Gf7h4G$nhf>U)Y1y0 z>N*1@A@`#1wjtp|eUpHZP3*WDj*_d04B@3z;CIKN8(nenU3*{P%nbs+8~x0_rDW;CJRXcRA=u?U zh)*wcVOmj2!_>^-@Rlw%kbO)xi%ZoveNz7^H@vr(uMYCRiR|Rnc)9x3)^7PMjJzs` zNZUUE$Vo$lZA5fp+Az7_65DYSXISSx8>75!SJ>Qe4wX5+SjxfPPq~4y6 zU2Xhb7?v=rFzlw60APk`WS=^mGw^rE9!5>2SlDjl8t5=%S!-5A@-y=j!2yTdr$Yl< zZH&VCJ*<^3yrfnfRJe#qH=D;E7rgQd1Gu3R0m6Zpg7SLbFm)|t9*#lm-P z9JNwoGtOR&%4=v=Qi!AUH*T6ev0Lhj8wJb6m7~U;Tz)p10B((yK5%?~C}k?27HYhuxl%S!b7J=K z;B$oGHGyB9ep0)DoBo_{+E$uwLhFhmH3vLcQf6-Q8+k*G^944KoTiW)5{#wQAU0J;nI2@xGRSY8ABjVZ$Vs5@c zl49WC(`2hU9gf6QQsL*zlR24fLZRoIiBWbZ6GA<+HP6J>)jRasVseNtK0Dp>XuE52 zS$2o#n8BJI2wOS_%d&f5MEAEp8yu(Pm0j6SR>{VD<*bD)=4|)f-L?_{g)7agC#LEx zhU(pB2wF$Fp(6H#TNs{P;xw>*dxuKT>`JCoD;(~WT~c3Zn*4?m^k`bdYGUQ!;;eQ? zHbsXfr6?T^#4s8hT)Jc9c41Q&5xuaUxHvNr@Z+g}nQ*OCdI)YyyLe#3i@h0fL-6wS zt(vKw)ZFz0F_(WVe;50IrHFs;T}jBfb7k)otw3M9T-Y&CuH4L;$uB+dli=@Ne!q!! z=g;u>?x&2Hk80V?X{YD;m8yxkKbL9@6sIRyYXv989w6X#G>Cl%z>~!yl)zVC>VYmc z4EV*DeH`g^feHzotn-MNh%}Mk^}31EXtlpzDWU%t7N(>EN6}o;f~5;&qN61 z@lc-Hjg;meS2E%H$b9uoU4Y9eL4KfkX@PHAwbRveBB{+|4xq-!wX3P=_o;a!y&}Jy zjEPb_%j%uqmABYBIdjj|f1G%xz@DIp)~I&si|V;&JATV4C1$&<|E*Xli9iQ$yQdJf zk@buw!Xy2WH9p+e^=v=x_`U>$jd5lnDF@Yq)##K^pnUOV{pc|Ax6TUJ4<-T-uG|t! zKfSreitK4#enF+Fd-hC3ypc7GAz1F>6 ze=#;@+wOJPr_AWWEDAjxX@6M$N$V`pikYv1H8=Fm)GdNL#Ga{kZQp9Sn48YgTQN+O zRE~0f7`Mj?fG`fpf$`O5dg(~#*i=^hA;CVG303sw+BH&$&%?acWca;tHwuxnhvgt& zLa^V}>V%!uX<(gnSN}ULi^mRK8@Gq*XNZT7m5*M(!~l+#&MF}b@b%VU#SQLKs7^-m zG)S`w1Ccc6!j``wI;OorX-}TJa%O6 zEH_LWhQgx?^9{Vz9|HY6C;oP#*|PV_(54eOf@P-jt{FF;9^0>BXX z8%9~}ZZbh}s>dV~qYCEXBD<6Pg*IZK5u|)C zx8G(W9h5!3<^6F|&(iHsIO1oLe$Ifgt11x!-k5vQuPYC|-|T-_-zU`Dah|!Fs-Dpn zQO#RwtN&s0oxb`Ei@ff{35`+KbnjpDR6ce>uD&aU%P}h*A|=r%WMj-C8PIgh3>MNP z11N@BQU-(pX1Za?d}Ozh`JRgL(K>uMYU=2tf>O}(x9rFpOU^ZPo7B1dz=tE9FH#Ng zUJ;o4xeo`aS#L-}*iP#2Ku~l^1%hHV9E1(c_cHuzOpJENM)|Jh5X2=@TRFB?MFYmV zy0ix%lLZj>h47u2_z{oemu{vxu{FY%!<{zNcP>4&FgQHGd!JBgaUoGdTS46-sr4DN z1J{GAX*v<;*4w*o8uyX-1$^;%38(O+ad8?UQ~VO&zge$|_Y2EP0^%B)TrJQA>NIUG zzdu@NQf8HYOS^UF2jYrD#XA{2dfmmSFR?mJ07l~Hr@wAI*o+@*6cYj)u4O<7P-u$d z1Mj~9$p_-HZ^dx?U)q0RQtHAj}#=$FpaR*9(ep!tseYTM-CauEzLAOaf` zzp?~oAYWN_3>(S6IF$T3+Tz8~9@2m&Tua$|bX#vNuf8~OfoHZKSv~~Oog%AtvRmp- zZA9d!&PW_uDgCNdbIxcTjHW>cYy3CIF26G0tyxqNN ztQfaP(GYev*iQ<3@LH*#_Gnk<-t>Dh3b?CqkVZ?{gm6OIy(2`npd&cc^P(lhVS!w4 z*wU`o4!y5y84C1!C|L;S9(hhdfs_TFHbeAC651*1o6TDyx@9Vq4wX#`=BbW89xPK#aM%g0R( zG9ZTQt0Lb=6W)uY!(pwF#O-|nLVeX(Ew0kYmZ^B}#Z45&YifDGGt{=l8gCi4%H`F> z0T1(|W0Glqd6)&Sl2ZS0rJYk3V)GK%xY%GvK+f}kjx1EZW(Jc zdw4L&)+UBTs9GaOyY6B!!fvU>inN)n;WDc?W($TYYNanqZhP6AF{1XbO(2|0Y&t_L-}?qxvN?a^Jm2R!h$mR)m_w58!ff@cmVJf#nG zH}5>JRFuEZJOV@-!9|_q7GQ)woTmU72Qt-ho@~sP#@eng0)!U_CdaeDa+r2uLMsfg zakKQ%kmaY+IeXEazzR1%nqmf43=L zmmGH;Tm2R=w)-=ockXXFJnI9(k&Z<#qDBHi-aKHbK52VO@!d5Ht|*=K9Wu}vruonW z9T$7Kv_H(u)v~j**O~xv!{j|>h1%fMk}(D%f|7*=JsIWE321jRS_zY z8|#FUj?XtXwyt;|oQ>ZzNbTjMnj{>neUQNLrECh6H6N*!r&z8p4_4b^D5|acyh3@hdJtT~5aT?m&UR6&yanl2qxpt<>-2LY~tA4EGQ~l94QnV_hlVTk1 zsE9FNnptP6;Yp?{6jb7j0y)MX9A(rg30U%PJ=*c>f!YL^nd;4E<=4IRJP`|0FpKS; zQ8cE^EmG6btgpA~&PS;jSTuq5GzOIW3I;bDV#SH8ePySTm0qT%uiQUMu1?q}+A-7=QiFyq&{8i4K3+b&M3GdKcd#U;9%+Rp`>b z=O=_4a)baq%zam<>;*V~XaJ}YR&NI>U45irtup#K7qM*jkR#VsdGpzJFwVE!OP^BQ z_a%StWN3KmTp6sjlz$h(K5fO~axNkZ@@`MV-ilQTC-7Q5fsO7u6I~azrUObD1pz0I zLHY7=pWKI-+Ll`z=;Ku@08e=LH19tqGC4#|PHc2fWp2*sr4p;C;&Izhn}+bt4e&R= z4ZmCo9iJUT$Q6=fdYi;PD}MH`n)T=Y|Ax```Tx2&|9PGM|M=Zgjk=M#8zcGD(}r@(?xSh-t|mPiW6JHwof?&iim!L0e#q zk9DK|?%`UV5d~!+!#BC`{VdgDc&NQYyT*j6Z`vq2gZNWC<;~O_9;neRvF+3!d|8go zrliy?B#|i^NsHM4nLAyt;g0l;HrkZqLF-74bNc%@uXN(??i6ZGl_*d}c)!aHGla^0 z*bA2}PCpk0k(@|M5>bLyTo^rlo!2I4?SiOnm)?s$d{~h0UMv5GiD(2*9t8t6Fl4rr zy+auJLUtO)7Q5A@b?d$3CXj6{tc`S77kmAMC`$SELJpU`$THY6<2{{nB}6Zf&Tocq z+V&XFw>tD_cU;KH$r*S*8?&F8uNAt$(_L9LXb5YFCQobArFvb%8EXtH=@21k@?LBC z{sY&zf%Ve1Z2=SJ{|0(^yAwh4o@!qYu!rcucb1yQ#4tHS%r(T6$e~zP{m+GP% zILxv#ri)-`CKuTlvI*1UfTY@;7h7zM7ZXK9`Q*@p*@6~urm3IL?1A|}%@Q&0a`&rO zukyWB4k?->Vcms9fMm)5nau&>Q;Sa=#m3FW!zGxJ#zBUs??v%{=mS;T#@OgwV%EX= zbltryza+8>^^u6%^ANj7oWuS2f&LsIZsjBiG&Yf0#AbGs-`qw(SM-9hed+C6H}KP& zj$TRhQGeu&1b|HH$;!yGP!F7a++^PVoRGc`jW?y6Lb|wB@)4m^qa2!RnG%DU6}f4C zjb?8J>&UHYStpx%#EF;Q`Jx93zN>I!&ZdQZA`&Rm4GvJW5WoJqxNq5I;L=(ElCpTq zjWIyha$-nAHOmz%CA-zjjqmuFeK2U!C~l-xv4g3-6tt$V#UKIWDk5lsLX{TKEv;Z^ zKVXtTh`oUKh?xz1E+%$IAhY-0YFxaz+S2NJa&DG4%77eZ*6FyBS5KuMfV4HpsBC6B zIvdDrE*me{u4gY26>Ph;1K6+XjS$SOv>tX#Gf$s&+7!ZB3t6C~7zB=%BkQyga6K+S z0dasDk-aNhwW>bQojv|KD=yTDhr2g10j{nIQ(y&3N{U1CWmOKBHqrPcL{tN0!GM7w ztak#Yr#EIgA7XNV^W)TZR#t<*TuF%bKPhvhm3k#a#J+CR!pwv_43W01^*bHlA--e^ zDUni}lTG%{0^5VX`eyda*A^)P*&P;j85qTCw_+a`&WO5Fl?0{AAPvzh%gs)IkOFXa z(S$BY5UJ3Zq)K6c%zG&s@X^2ZTKj zF;j`JzO0UnSWWQ>NLBWot2@=pOd!4SoEzL6YX;C9jwO7u0OZPvRY3`DG1-Y}u~#q8 z^m}pn1=Dzv1~0ZQXrrZY?US`+ZNxeYq<egzu>-F8|CrzE%rs5y&RWC45$19p!9} zqggAO+;$`j!*0+7AYN`}$UHk3ksRAP7-_YFflWSoQC+?v;#kK+x$?$2veeex)kuL9 zLL!hV4eR7`tz35x3v6Z+`c5Q9M^!V{4G9^fn-jBK59ii0yLM(^1E65{nt~f@^LnUK z_7lP_222*_9C`W7SP@a$t9y?DDv2re@?P9nU~^vlzUN%m zShuA7k{dguwWHr0Wu`h#PH5&EA1Q9CabK3HX>B*`hX?_kmjkRj!p4~a(0gz2IHjj5V%Zic0;Wy{utf3;c#<>GF%b()kGI`}}+r3Ue%$36F7$*{5f@WK9Hv ze`QH*o_f#!Kv9sN2be)QtAJa7~!j)Q~Vj6*^-EdS! zU7XP3q|k`R<;kiU&2~lH>+E1tt*F!3l5^7GKnb=P&192X@O)NS)cbUG^5$&>NWzho z=GW4p0k0(^I0KgmRXSNHz_?okV5wtQ_a@8mVfAS8J4#BCXi61>~2_j7i2_jJCz` z{cRnaE!X%T-i+U#zfrq~{m{JYehIb8sT?(ep$I$3DtHgGN|3I2-rzoZfISp>s<+bJ zZ8U}K>AS(R2#_g-*;ur5r)S*H?<5wAd!MH5QoQQ`U*%W5N04Xhjv7a*kX~EZ7*KXJ zQF4@PjLGang!M{Wa?-7j<0GH|qWnhA(eTq|`9^s*Qtp2>^Z?_Z$+m>f0l%OCt~_Rr(d3GUOm z$b0l+kJ&vt#gY0Ee!u7BU^Uca$(0fTNQnquH`fXgmygnQ<5O+q>9Hq4aVq#C{+4zx zA3d@K&+Le?=dzlxXR(p36ST=PZepVe z*I~h8rhHHJ<6o+ODz}qs@rCFnS2<0qOlacx^wLNT~@$-^;Ics zdv#gLky68}tqUb5=IFwIB_llnnLT`Qk!Bv~pP!pl8{otB^reT%RcL#%XYoD^bXo~a z8pa1<)rl5gJu!SrrS8+l4^k1L2L*RsZwt&$2@u<{y)B$em`h)yeK&iHoM}SZCNdQ0 z6jq^7Fm_HfGqZ@zUP@YRD^B+1M`?R`KeYVuHukO9Uen`zmtm7~XJIBsW+TmvV0Pef zJLr}6qQD3Vx~7p^*K-PS3N85=KJWc;Y1&6C{L>!Rg@Hdb`l%e*+1-{g?Q&y;FtQ0H zY*&W86l{`M9^|GODmkL?{e*U7V?}LYQmSKR7JUAqT?QQE)o%$yCs7;Pjmdy}Z#2;5 zq|Tk196?~yTKc!Wsv#7b&oD%EMMDdwYsp1*@myh&ATtKXtRSza;SS;N!b#=U`UqBK z%Tx!*oSVQwgOHXP4Y=Na(t6Ln*yE(a7Y7yG| z*ot*+AZ(vI3E5#<$t=NSrn4!;8XBIlzJJv>=Chss7CUo~rGV>^z9!mAY7a0nZHkdt zbAHU4FgOHl1q%^H@0CLuWpyf10?kP0W!gup;wQZPOEm+9!;GiS-LDu$gRGD`G!HA( zwZt*2EP-`x5WiBe|93mC2BQ9M$Wn<_=@;r&fwGR(? z#rD`W&dt5)jnP873vj2WP>udcrptb=gM7Z*P*&xI&ax|jwZmS;g@R&PFK$QCLaW(K z7Pt)TI+K;JVy^3Ec(~+W_A;b#TB03?4!9DDE_KJv4=lQ{2P(^ErtCd($O2&S)aOcB zc69+ar8BQF|5cef#TW|H0lL_OrA1 zTKn1SS>tz!`E8DID>UX$xo;27+_1bRNd4lUOAz3{?|_$eCznhw3@EV{Y9IYcC#lmS2EMM&%&1hTLV;?sKVE%3C|XCvnE6FxfPHdeazmf*{l7B2z}{D4RP z>2mv_AIj|^zo6VcJ2I5nO`Yb&+H`v-R$|Qyhk9G)+`mAT)~q%w(@I@xo6KF;gT~~y zo`q$|Y6tI4k(EvXa$G0n%*O~8(p{QWvqP7GDijO=KuWtHF24@;I}yKn$GxMlT_ZmY zuO3g>DhU>FlI@(IehtrHBVtWBAX%^)B-&Kfm@x5W^!~Z|xP&VA_eDoObmESj%Lf8m z4Gb~_Xjpfu8=cEFP@jpXc{hxV3JCvE`Eg!TN%~ji_Ze0-M{<2_2krz4!^&f{8l-9V zl7Wd+i~SR0o5xUm@i1Y%ttrwZ&1Im^F(Dy=blG!w2uA8*`IQDDX;ij*6w}?@UOzl= zYy~=}TbpU7#h7?6EFaQ& zo6Q??`{i!*8@<3D(SjK1PWGgGv6guPtLbtOq6KIk#zaTPlsaO@b2t0WqTxYrQz=`y6#a8E@rzb&Jt zOvH*vjlH%?IgKiVRk8T62G{SjxWeqka5*qZqY+3ZZ_8Xi0^fQ{3?ScAdw)&%?JFUF zkaYD}WmSy(O&-BSRs^)l?WClAr(yRt7cE$7;T)BaLJ!}@GgVQN0r8{r9E#o-L9W&< zh^MZ(3V{AL1Zo~BMK~J@TC3iTRMIh*YI`jvsiEhEc*iU)JMSP+Pmrh-^H+-lY18Ch zwdZrgOWRVBm!zs9B0nnM`SX))S(E>;v$MObANx4ly#Rc9r+r5vZYME1afiL5ov>3? zQ`GcACM|j~u~MN5WW=>}ea`E~*rgKtXv0gZHLzy0*>(BNlW{;v-=m}`pn9sK$gs10 z;)O?bjWR7jBJzRBxNhsZmX%IRLvz(tVf;ip?O}?`7cW9w&4R$K%!EAhAR{9srhk#b z?NbMwvSw>QyHqf^{mfLg|4`$R>9T=h0XB9LU;D8FVMHrCm2o2PAw^XKNFrAs1GRtr zNnd}(?B}TkCXZ$l2-~m_5v-%T^xSK)2geDyOMBctPaV{etC|u_lXIxH32+N5lt$y! z@dv(_T`2ruRERx*ns$;zTXhZ0UbNG@`J*ScGVgfUN1NBD4DN?@RGc0ssQAzNobq+% zSDD%BNAt?S(K8Fs&=L?xm<~4*1wX9_{)Z2j4yu0A<%_$hb2|+7oX^&ATU(B8@l$D` zjTw1e`ddvS(J_M~VLi1xwW031|5CtDxj=tjk3*ZuR?3j)L2+HWNwPn5uUh6cY#-GhLYc!WC(tUCRni5aK`Dgre*lji4H=A+fVcCR$I zOlL)qR<0n~Vd1lBa#ntUeeEY#j~`F`yUG}Uyu^pMp^-r-eV?d^1LsG_?*B6X0%}y8__)mYuv-9?zdoA`}8)ump zBj=%;E7%->wTEg$zw7=2*U0SVN$8k=epaEkbdVoOzQ8~35aNfHy=fiY9KJLL<7L8i zw)IZP8U3xkn=qoYmJ|Y&D26sCqb;eY2@6kX!Nf*xqN!)EP z5piyAkki1>f@K??1BUiBPkW!Jib78y7-t5F_u7oOP_`w^SKavHYaA%KeJn-d+HqMM zurXsFHSWtbb?JI;Ol)Us zQ+R$+s)IccbJKRTw(GC{d82Nb4Yl&(QC2g^D8Hl=vGy}Shsu}EAPa@YdHjN0}bk72D(nDK80hLNKYzj5@S$;m5SL#Rbs@3psc?YC-zM`lA z&N)HNY{lhglX6z_BULN&0SkOWei-kSjVFaaL06j&uIL>tl36i-#UQkMK1Or2tp;LS z@!_w1sP!E7^vmNdQ zXXeO%TyBg5`g5>CAN zY8^IBq3SBJ4@rcz1=qJ)LIrp2&beui%tv0YB9T*YRy9G63`ar%Z#t0X*DX(BiSv3f zIQ)8R;DjW{;>uxkJm0WV=|O;>%L{rWs~k$g%{ld5kr?o*b)A|Xg^622J05tYRyQqN zao_S7QC%3p%#?;;W|D$et4!Jz72>nY61?-w?}>vz?cNnAAo#JGuWbJ6L2(BPBpa}P zPd>?E>aGp4*m{km96DvXWE#$VxRlcNpzU@Gs%4R~9*XL|kkI`(f#cAM=`zYU3|gAb zzb0t6{Rw$x)|OGOxAWm_iGjCoveENS`uPQ~Hbr&hVq1vaH+T=#A|Mf^8jjE}!cP;F z4O*8!<+DN%v=cy{5nr66RltT`yI|@!_|Ue7&ObnoovlsrDCDtkN9yZ0^t4qf}Ht<_hFsBNK( zAdmCFtm@f26%Ve7i5-3m9=w9|wln6K-S7!v8rofE%Pcx$2I_Q_d2DcJ!pc{?Cqiv@JMO+An>1(p(R2n-N#v*n!}^8k z@fKhkLI?$k_l3gTJp-8&Em_8w3UJ+l0|!Np`Cc@Lv!!)8h$Lip4K`0Qf)u=R%Ej%} z30~fx#dpW7^B{XZu?+$MGTXO@#$F{VKVSrt7`M8;h6|-vA`(v&>QMI#sPvsr8 zRAD?TDLj ze8qjRG*aFGk+3xdznVyMcr7-5OM42Bcgm9vL7 z7!`SPH_0DA9$Q1-;_8U&1$wD{o*2GN=xc*EEk}uI&qj$Ip|U-D50%A8lDDKz#obLS z*4kd%uf6p_aq1on;n3xUG!&+$E$3B)TTUKihPo|a5oS|M>^rEI5a>vnqz$Pj=AZjWyA2f9qf9KT!5{!(wy@{Ult@TC~U9WVUawiU9+kjLWBjZ*m zNPI;EsPF{s%K>XP`jA9=gix1jTB3}K$8Czs<$Fgk9|dRW{=_^KQ{v|s1ZuH80MrEp zfGP)6MS*}f2$V$u2+eiZ8z$A*BZ3t&Sk@rs-F5;Qfe+R&FoiDyQtYx#II^I@j#wMC zQd5SjKzge^fhE?oJu&tMa4m;w)NWk~El)-mo;Tg{&Nmv5Z8!O5Z@vY1+Eu!TU4+hF z*raq%=C9n*gDUvA#2D)o4GiiH|P& zj8#SeaGd9mDHh`q6Uo=~4vyz^aj!E4%|Y`v9c+COTKJ4R#tqO+J6gJ_j3mA>3ShLBBi3v`gK$3#DIyc z8a-#+7BcSfY$ic&MeP8V*x5E%mPWWY+0*r4Vd`ZNMKBgxnbRrCZ{=9jLZZt|$xUr; z#$6@2QuOh@@jI^Y%)(KAOPxbF#+8Bsy1`vJ+nX${T0C+*t=@$~@bVx!*q|jGS@e_* ztJ9Mv_9;)H85ie|0WgjCWCc>f{46B>)qxAC-gl;G|u>nQDK3{HmT z=y5Tn4WTu$=UhYo0_2`4ec7dZUXRlSXkt<5hpj7ZIlHOaM=r&_J_jAdAJ~3~yE*^+M07wp-ZBlI@aa5j?_JgcaPGluv+!d=_)!=)aQNb5_IYOAW2s!XHbT?|P0zksfT{Tqxj^ z@GP}~fLjAr7?#nMq)=s#!u;%P0!NNHbRdtPzk-ZsVmy#|L3Z|_L>(S{X|ks26mfrm zVj~%c9dikV3ocDNA}35sfETIB-XV$Yt{NG7^pawAn_z3>k6z!&FxWH1SOz+z7&$%BDIlodm4`-38}X_62oB- zDUL(9hpK${J#g7{)Rv6J$UQk@mEhVw7trPYq1R$EtMB#88JjkB`UuKOM@0()93W|( z^C<;I7M`G9E|uEb8Bdr<+t#SuUlV3fwL62Qh} zeNOO>J(72>`fMnC|J&c*kH>p>5$gVj)KWHA61b=M1?b64`*g}c{Fsb)-ghFxEQ*|m z&!$90<+3i%w8h4oP$9iM&m(~$nqO>PC_HgAb1!p3$_p zJSiDcph(=z%Fq!kK0w9KWudk}^7*E>8gxdX6?Iq5y`QYffi|7jLcnJ3cSBaRTolR& zO^2)X*0xjRV+BN1>;-`kW7yNP=G1k6;gn0cM}uS^9mUsy=-S%^CVHqmPzJW+e|hQ^ zGN>gKCr$oH(Z4wQzmNOUYI~qiS!^8c~B!kUN)S!uL%7>IeKc)&9O6C-}A9 zoPQk+4-{`GD0<$^aWuS9bsw41R_OzU;kE1q^QQ%4x;)_m+#P6dQ$V%*CcJ6(I$zN{ zL5^gYQgxp~pfl#`M|e!IF=*-Jm=4%4HPJ+!+F|CjR2<%dox2*lU3%D}+q^mU!ZP?g z#YeIIwb&+2)gs@F9+N&rytZE}O?acVafHzm{ZfnE zIhp4Siw6ZEX3=^P;Z-$S>klF=j;l&!VlB{a8&y>&mxDwbVp6d09aR5!a`%4$FF)S@ z2__9xpTd#1<~zY``*^Fv0mA+Q!twQ6i`fN?CM$(Z*aWdSyzlsJPjB@n-HCN3MWPN} zuq$J+wQ2>OSa86@fD80~A{Ku3i>KQ27ct?j<%fDn>Hrx0Ae>^9Z+vG%<5WxWn3MDA z+bSXE%n97|*ZY$G1?>7;lTGvfO0E==}k`o)}df0)Y;XHPauii;NVHpvbG47?N3e zuOj~=uimJe#jD39xto+wuK6=zp4S6`oVNE>xxHv4%f#nWqkhi4o+RlL6YWLu3tWeF zpzsFuJ$n89@6hXoZ_w*w^AmlclJ>HenE1(S`?J0eO#KfnBJXZZo@9@#8r@?z`VM}{ z1IwD_AKVDBsOnZXMGcGgnrv zu}*$8kf`Q{iZl)Rq(kUT_uxvOav||q!3~o3mVqR^C!off{&hSjJ|_FzwrMMFXE(iqS{DNjZVQSuZE zSQB9lVSqKEZWz+>oi%}F)i(JoU+!@~9AV+>u2?uu77=S7y=NBiv&8;=z`rZI_ZQxN zci8_!4*X1c$1i-c-#b3T&yg`*b9_xIugUzw3oqw*EI&VFhOO;)DU{*P6TK+hj#-d| z_;@Pa?Vn@K^@se3H8&MX`*K^+TXkFBkG}@9qUyn{zsH&jS)(+MnSUlErNx%Ozropt zwvnbPWz7jGcc;Q`FZj>TusszUs>1Ctd>wI!j^fq$_-O5p@Gjp_<3?B_>*;l{We~Wo zWJBdYnl&$H8~ayOF5sq!;j1BH%3r+tp18elr)d_w-QK71@BKx)8(xbYb-%nR*|m3> zxA@->HhzvnKb$|D5f{1Nf59Ydilye`(KaJIw`?yJh$DTE1R69-!iTqZ)J%+apCnNz ziAa){SGc7mwzatF4g*XH`@B3hBqwLz34YE^uHFEtw(owKcjnuGpRm}gOU-9Y<@qD7 zvm|40@&m(;P~*qt;R@liXEgou2_ieoU~I>q=Eku{r002l^EsYVEID6Z-o8hS&9OK5 zR}pXFUsde=ulQFV=X{TUW&dCBul_Ijcz=$I67Ju|f^pC5z;dfGQue4em_1`*mfeep zQGdX+`^E%WFgOhxCArEJSiDod_8s&gVl&iNC_ICF-W7->mTI_e0!bxJG!G9`b{7@s z1!n+x#9p59RXbnLNQ#T|N;I8+MTjDB|Cak@c^nSuV>?I;C_#vd;B-&cl}ClIPt%4|9kc;y)RewISGai zpW%DoT5Nu~2&ki*aF5d0VyEKHYfo{W@OYco?JJjy)fe>;1u;P-91M<9RfdiyD`x|r zi+y19^tl(Ih=c}q!gC>8q85PBs&f+A80z<5oPO#pqmj*bwX)}nn^%7Q9`moi?afEz zc>1DEn*66WUHmS=vx-omQ;m(~c09PldK6os95fn_a{<3oX_h~KK5otBQ=24sxvKIG zIR_$7)>ij0=B})WJZF$;AL}T(VN_lO71Yn9)Y(ZJU=BN=`}nEOAxRGdsYj2{2I~BL z;DIL50wXXFcHrWOiSI)TL-z%F)1CH&L35bf2#E)w3mr4yGEH1}exgJb9lslJk^BTaS& zkb;-%P7mMjJ{>y!l%Jwb@=|*t)`PzGTX=gU?h)BK5D%I;5l;4 zCx^uTSd!wG<*J1}}05txwj44H9KY!w?_?lIa%gX?b zx?*3GOqBEqh7A|d8XljVsI08&-Pxe`T5SG~XRqm%WAXqvSjIgN$ZkAEr8}QN?=fEJ zHJiqcIOi)Dz80(S@CNWp#bU0-ME(|Li-{?cdU($53;o71UA!LHn82B^5l~jlS>bZc z-F3k}t?SCFZq84ujs%Ah(iz|LladnYQr2QyhE0WC8shT0g~G&HuwM=M#3t&_fxHR* zMH>ZxPh69tRNN}~IAmt$e5h$7G_D{-r?zM^Eowdv^9sKIq1yqV2=vfZWIAf)a=m-! z60+dd*q9C2xprWnI6CF;s3I@ETwfKBXC|^>o17AuZMpV~wJ5XVk10MEQcjX|;{{@u zynZRsyDQx<<X_Y7wE{O?r}hMOd7W zo7`p~jib!wxTjVX=9_pmWp!@H8Kv6WSQekKxy&3;Q>hO_%MFJ@Kuwd$!l=Cj!o!j}$z(=R0YS}p#^OdOHrDnMsD@;fg zb8$iBK^v4y6_~a8$_k^FiJIdh_8kow1?-quQch=#H~fk3I5Z|chYMj&X5&O0YKF(k zeuFaC2E4~;aD9CQ1wdOddSL^3Eq4CXb<_^fI{Fk&BQXCD#m`gY2*)3+6;%58@rTH8 z>lZKmtb*;axcJToCxuDD>q3qxiMe3cv+jNCW>0j-fVgjROT^8oPCA5x6EY8SMC*`pA_7bh)1SAi(mSr?4eu; zYAoUD7=GGuiV})caNQ8KY@jxl zmf#cd3qbW?U=!>|^T~f?`U6p?`r#F|t88uL`t9{LCdH`l8KdKtE8P_fw_G2Yw>z0|qlLabbzdJY zu3J~g8}xaFHcW57TAwNy|XKRU4(}$ z6>qb=qo{D1f;@a=^bWrd`ltIP&-*8bhy}PvHQzafAZvPHI6EycDcn&Q$p&#Lp7UJL z9Nn3P*KLF929P|6(di~Zx%Dwh2ZPa(e&4`t=?HuT319bFb`Y9%n82f+^R)t?L@kQz zzg^4OxgEF2-R8X((~WReYJso%ZE@5%HfbHN#e8EADZR*DZH*04`r!QobyHVkHQo7j zOW=EVw&<}y-E*4~-Seo#kdL-H2O-T~q; zjMVky>aKgJQW?r>gJTw7E|$=r4eKTKeQzsl+SYrQ8$$>d-KR25wW2t*!Pun&Lcvc-)GdC%jmvjPI|GIJx@k!QKUbK z13H7SC7Ml_^k8G7qDsgk^JDWa(xRI5J0WKlJycZw+FV+91rfgp30eV=ND6GAcIE@N z@e`3ydN~1{bSWQ6mz!|Yvvaou>qdA}3w&tL8b3D&C1g`(W>XBI3J8$t(q!uWgI~=4 zxDFm%okFvZUg+Csyi-p*HYxJ*?XRLVcW@Sp@U*FJwcLIhUZujPb)yuzB0p|qrSn08 zMy>zOiDi>lr4m$Tp0R>Uqyy6oRURBuLabg1n(iCZ7fiG?aT8fln5?gT2a|Z@!#K-U z>q&}1d!7hv;o~Qm2-5tvNBcO-QSDTA0%6H=HYIk7hlypaXuG-}#I$zaCqaWc+nrILomG7; z_K)>U@gGZJwC=O5*J3N(^Sc9g+4Dv}+MN`;-^>qM&aR~RZ}L&?utJ-xa%E2LRSG41 zrNJchRx4nD+}^yunFnA<9=|O*%qc?Ukc5;eT9VAT&H_2hj{?N#sf_1(i`g^Tx8*j2 zzUj+H<&SdB#3Am*mJz+hK3XBzN)ju;GPuoQYP%dH026Sx|^=}Fyam45SvDeC9i|HK-{MWy^d-neq9N3@n z27^S;ZwN4w&RCdU6J7hYkG>m_{k0tXr{n)!37h})X1o9VU2$N~sNjc+z{5YF1ASb2SRa^Lbt|N_v9Y;{Acfe_Esa%=k_&#e`VI<(FGu;dxQC_ zZ}SJg;NOL<^ap3#AA-DaW5zr_7N+tvUo_DRo-_N`FAAXYGyLEVU5ojciqfqjdRdNA^_EQAcF#T!G2eqpuethPa?&b*B zk}n#HCf3v`N*=0VW^4>A1SH?iudRNbguFykZA253H#@9rJNN?Pu)jyW1hoteuDh`~Lhe!Kf4yFA&Q zC;#>P+WmI^yUh6so(!aB)SG=-+C8wWxx^63t}hCPQCMv|i^q^J0#T{n&G%P}QoIso zZ$H`F@~8i_DC`~Xq?agx8G|9wE=TvJx^DCuOwr}*4nq$I)}Had$%k6CtIuqpNZ~fN z%p?hkoy{32=*jUD<$ya!TQUK|kw{gJ1 z^XBQyK?C!qNM1^+xYW}Nh@9K2-8M}==HDtEd-S&8jLn2WblYGsadG)^uSn%RJ1Id9 z!{8&!=QaoEb=dLuqSiwK>F1@%d9NsiQHnpxHUk<2+S+z3l51V|Gisw!)UMpym3zB# zZ&!c#f3Fdt`|RFd*;nTt`GV0t*omHKp(Ygd)R+SO74*(uiptI&Za_%65Y$t|loZdt zEhT^EcsKm?GYtCUp5FVMTX&ta^=xZV_J;t<*@#EKn%sYruW`?#4ZGml9)kSCUXBJy zuVe)0S$lDEg)$~RMGSz<;DIz|>?VK>W(+jCRLL?f>aVg4$T)OuOSLO3DLnc= z6ml&~1CM;(!h}2WC3JYrCMcpi+6r<19%O{ID!s!uCNA;u1pcRR?xOnh=4VXPaSFLX zTnP=)X$DHNnvwDGW8&`*JRXWNU8D{jy4~!!aq)b9vz96R+06P3Iwxen`8FCakDp7pK9)EdvD=tGt+p__Y%wuG?ujY0#@WN}jVU>` z@XB&JM{CHbksuR->_Rg0?(&&ZR>5l|VPfsTpoP+9n4Mw5LVcT_nJ}f+z~b<#8=(e^ zEef*ZK4h^Y6-7!si2X1HUyuv4S+TLHr|TR$r`;&zyeyf>(Yw(mgg9^{`QsD=zt>_^ zl9_+qp4JGHfR?jUd!CwEL?I=-8vRZ*aqpifEit@st3G5>C=_%UQgDj^_I3E;)HB&4 zyeg8Kl;~a-bO=i|@H|&UP!&^jI{StxO8Z!}NuH;5Tfa#hw28CaX54n+_=O8n4bn3_ z0MZR+vo6JYX;Edy3RNYiS5zKI5B=mtiDh5ug&L2%!>z<eFt` zt#z9GuL~UI1rK9L;rCC#k2Xr(DvjG70_6fXHs9Gs4D<rlQtAK#Kwz(SXn>AJ1MXsv?BN!#wy>mIy$k?gq~0>5#d^x(<*G+;AjjK= zmPU1HI@1*Wm@R}gpCErJBqG!3`FM|$ zr0f|I9sm(nl#M-lJ-;4pGR8Y&hJP|9JxnP|q%Cnxmh(0uRJu)H9j1T%BelQyD8yEB znK%-=uhbLzV09o0*(0)S%*Y80^hc2!bXV~cnc_NQ1ypmbZVg2g2|seKz)@~3(utzV z7kE%2RP|i_tZK7OKzDC`EL3?!{)Ar@o#=OEDpac>*uCI^dQBQUwMw}tH9$uS+HSOz z20QcKUs!4p7+VFP_e+GY!nyH%C3go&J9+}s3`Jv9nv_FpPy#7ZRn-IjIh&X2y#KQ! z$EP+&KFiSug)(Ca= z@MmwT*HuKAsO7NkaIRe~`t}!dV>g)mi&^zY8~D2pCTq-9F{;W>(4TIndn+UBS&kTL z2KqUo*@I8jvwM{|*R+F#Q_!mp7`Q2-PoGpIfL3g<6+go@*R;nzu()$jT3!N74G3}e7v008DX+;rm-XgE8>??+m7L9Kb91ce3nE8g=C&) zYikoxl@ik%hIQN>wL^%bsebgm<>V=NB0q#d$5HvFxS^y!HHj{nmp z9?85jxXI2Z(nR{hcaHx0nuC;i;m@d-J}BNY9D`KHFLf*2>Yfv!He;TDcBfq?KrP5WEgETh zw(mlSQ>QMK9e8ru#y+Nh1@2Y3$VQk>Wv{NU4a>Mc-cc74b>~+w?g!C6`L zt3S|raC^3RcKeeq^CvxF>mXZ2s|$D+A>_(TYc4N=h@E9@qNmEja2JK9%($lFSAX`j`G)U-`%XZ_FLE}c4UyPeb=pk zJ(zG?&nJgL6Q;Obt?v#vK`sG#=M~jhnfGG6yi6DLpeyYkn!+tzNl5B-`ht^-6Ho8b zob^Mltlj!d%(dkbxNWy?D+CR01N0q&S8}dT5-g;Ug{tzPph!_=Iy%}Vi0yXUjHRS> zzk>1APW2qPfHL0uye81drL=-FKkoe;?&}b_jf#5sq+W`*;?)pjQ>h=2$$!2Oa*5_Y zBEga8%uS13viikT{+rC4-^AqIi~dJB@cT}wIM_5>xG^u(PO@L3KKlaC=PJ1=+*?4I zhlC$=Jf${!GBi4COS#E=`oqJw=6@U8+Tw6oWG|=A(`PWAqr?3qQBIctk7fkoCLj*2 z*!uc#zQej6(}tZLCz-v?$rR*{=Cg!}mIvyI z1r05EG4^@y7`8DDkJhIc#0vYyt9)PsK?|zk_P7LxrYJgmD1O3bT|LqJSrz|AEq3sO zikQq=Y-;e8DdR>nqhqT^ffVIP)x-iJn&g3`m}W@)N#0B8QFk->dSwN7)IxVSN;7*q zGs>7uG~*-EqV|15`a9{m1E7r#ztSY)gNy|;gs3@*5~Ir0Ub9`;5Z1ohfZWR<;N5 zR~UiCFeh}s=k?_#pk^d@^V+fWSKrh4PT3~KyxQdaaA%ZYv0W;SZ!a3^bC)idfag>m z9c;Si(^J|oIYaHa@u3>w?r-GE@%u|>mS%6FQy&I0}eMao8yVJ*(M?L$;nhO(V@ak!F8ZLoUxM*Wz zCW`U!2+lf8ODy5)!ewnR*(wS!VD!Y%GNvBXX5!AHrVz8q{qKIyjSwQ}4L<*8c=H-e1!EZaCDF88g>=WD}_ zZK=oRG(SmXV0xQKxsh2K+e`M3$hV+DjHbZBD|+E0RQPS$7h|q03>DTUWvJ?Tt>(4| z3izGnjS;-(!#yeAi?6+q5sTuLjWv4FR@X=%vf5ij9CVkaTj2X63g$jFmswrLHqk9F zYHG6|{YJ9Ij)F0>3TWhXrCbh1U~pg0Oj|j**d|9Wkj8CRBY>2s4dy2iN3FFiuJS*s z^h{s{cnp}ACA3I5KTgc|R#I1~C`?m|q?y4$49eM?!@yU-7uyOC`wo!U4CRh2+k$h=Z@i_KQ<+q+sHQdtZG= z|J&+Ci=m@M2)H{A8ReWtaKpT^h*iui_o$O8cu?vgd5wtuEiSL`dHinmZ0vF#QOfU6 zLtcxW>SPqgClT4m!cJ&JV5430@taYOvsfq`A3+bRYWX52%8~lw(A}*7Pp_swhu*$p z<-+h8;nu{aQ~w+P{I26R}sb%s%mKu>RD^ zEcQ}@q;+YGsO?TE*IK_U4dOc7x-@1D)7e4?fjY8$*m~f!EX`A1N>A;Z$;s-G@UORo zH|M)NS04ILr-rSDtk4WE)weWsG?Wv*O7~NdQ{@}@@EHy;t7i4oU_fEM445YMT*Z(N0;zX+@&!gt^VpW1ICUU zeMX!F%G7bm!7}$$e08S1YcyR73WC^=CETtyx3O&eW(fgUKv!vc3H;O5v+pfr_y+Le zWWC?l=SP3`oLuAWVY5+fTIFFfhOc|K!!S=1WV4RgV{3M}>fDv(s9`H{>R?UKRkX-H zrPz}LH!L?@x6ibRmF)+n5Kk9kKQh)ltaD}|Xu)UV;;75B#^($O&%l=}WgnPWK+uEg z^y&bc`i{m?eT|ofcKZ+a*?d!+C8NvPtYUC1$Uc#}w=c?4ewo3%TYLIjrph1Vn%{Np z>DwRqjguumTJ~Sx^LP?7oE6#|`{Wch=7CtR-J7>@IOFD~9BkNY=Y{^hB#9yX${p{6 ziNgsLO(?=%ice7yUL}{fZg#eewpyaK4Kzqx2}ICc>-Cv%to}+}rdM*Z@6o^3phkm8 ztS~MYVn2}(Kc;=NN`rxLoQ3LgZCYVAO(zqU&h4xW48E)&4si4<;!=)nVAJBf_kPf6 zXMQio0cdOA(b9~+1Vy}XldwA+aaLg5wNE?pW$3*+YSaWZAkW8! zlR6*XU+bxJSAj^$C!w#l2L#>7iAv$<)FFb$hvb$A2a;bIWW6Ep&He-J>)Y>zH8d*9 z4lmgGPRqfMe%_XxSSCar50_rlAhk6Mxn|C%;C3e|e0zDpVz{CP6H?h##4br{9Gcg) zYJ~*Y*i02K7kqov_iM2|%TraDJH-OSDs!N#leUTR_OYIxm86|Gdtq{nquf=Aj7&_b<*B~LS_F+&ORJ^6cA-CV9Ud5W;s^!Dw zH{f$lONA2`p3=>nHf2r59GWf%&Rq9xeUeRtRB}IQ61Gu8z1sJ6_7e%g2{Z8tIMGS{ zIk8HiN9ua)-&l)$Q>KW@!==mDDO3=Ori^I`S&n(dQ@F6>4$+y(R6S>=-4LlT;l_aH za{A6djUCNzT6gFm%#A4=(D|jXEo*1L)QHf<_L>R5&Ys-bmz{2 z#6pUqc>pc1?o(U+X$gXX zg!#&*C%(@gANf!qZ@|alv5sUC+hdGZ72P-MMA7OajhQ)9^AoFK^>)Ud6>3c*(Mh-3 zTvI|HKvSM_<8x2J6+ck9kQ!|q?f>#xq|dcCbL}7dQ+CYfFJnMuzRS^rvNy!jQ>@_n z?GV8xhL;-Trew4TxbF(K73mge8#Uh2=3UeV@k`3kG+ryD-*oHH^5v1s&QvOb`Vb}s zg@Hx^pP4JeayH%A`?J*JBhzqt5?Hr&saL3PC5ony%in~Mjvcs-R@V-RX7y5 zkOytR`=LV3?@Ym9HuY;}OwzbjfcZ%hl^`I-d|u{oday?N1b$2=cl_4nHRCdvbrn)v zUJt+t)mzqhYVaBNq2MI55Qz(W*lk)w5#b9H@^pjZo-ucDxvE6%<(U2mEk*4Z?!%;5 z$K}FAFA7;jQMD*PJ52%Bms2q^$W**?+VoPHcs$7)qAJU>AVP^l0+!?=iWHpP?e=^~ zKKAT?SB&LC4;p$_u05|mta5YnT=n?~QaPg8r@xg6lfIgSrLqt(E<_I|E@|(u0tLX;5(**ns? z8l#wOW#~*zJK%s8@6f5^Ygz8)T^1Aj3=?1TfhhGG=N;=ilq;i17mzgzQUf;c1V`6l zJxh+Qs21WQwn(ZJlIjUS?M}cKB`hFBW1c*tjHx2Kx3TKJcr@F0o>0p;}=RGZdnm?O)eKT3>Iy$6nNU+F8kdaO$!P z&9|TKSd*m3b_g4$c+>{(=mw929Huat2gmvR8duKWo*t6x}tZIEvsV&C)K;NJ7)mbw7m28tK zV)mpkHD)JtV=rPKK!%3WkAA~bLvOnjS=Y9=A{^Tix7<>jYvR9nC%o_M8?yJ`@$^Hl zJ6?U(_(F83iv~7EGg1%^T*a{L)GtJaer0qwRX?EB>(w&z2wl$DKAqagnjGaclx`y@F(X?C=T%cRpTbXWE7m;MciXAR3r|97v z^^=guXQV{sR0Irdj3%WkCX8&H_~5@OCFj>aPo300K)zY?VTb~HuT0I9$;&}*bvOx^ zh^kj^Z6aqWbEum|hX&Gd@WA^g74H>y) zv1#nv8sZ0+-$a*|$d7c^2TsHOwxgVEivB{$sN*#A<3ifbI#FESd&iiYS+SzHK7d%n z-fZm-X&0H&q9L5pDe>U9xK1h8?tLXn`UhdroHGEvF8td|_~jhW(NX=swEUr)Ka3su~BN7Hm- z09VRb(2enDI&NI;Cr2AL@;9;mRh+3j*H69{nW@3pX9OG(0i?ZGJ?%kRrWX}{a!Z#h zetKPI8uw-S>Pp;z-k&w)0w&jkw{J{i%XLbjYpUw`g^qT?o;UlYhhmm^&fvrPB=fiu zR2V~~>DK;n^Hfuk9vpIP$qI+dA2co*oXJ0#22~(b_s*~N05K`#OXzXcZcdJe=K%zc zRMdTaTCM=GrD_(*7E?HXO+kKj^)un)BH!(#^m`t#yF-m$wvI(uAxpBpTN3J5g5f`( z<^nyd1&d==h?;Z>CJbogOnFt|p(B02Vq7F(>NXwE(v&MbwgzDuepIjU>CMe@kZp74 za^EReR;V2d(IREVbLb~iVZrwB#L9#TKrF0n`JP-+1yVl++&*m{NyzNNrFcYmoKB@$C&b-u% zwmZx97q!V4&nm{ew{a%mfhLSg`2g_w9@gK|NUU4i>{@4kf8&!V~|J5Mep?{!d{q=qjmI2cOW%SnGZ_>1E#lECEzc7E=nRqkYG z-dfg~(yNSs`cGR#PUjk@l-cIxiH!Nv;TbWF(al#AX>gQ!KE5z9qO-of&A#2sn4_b! zr-z~RK32N@S$PtRQTyec!DsoH3ydO^V*r(D3D~RIOb44L^LBqxa2wR7Yk5<)BBgM6 z;?Bxvp5>F0-{4y#?D_dF{>I zSu{|b>x(pz?ZV9RWvvs^VroUG*?T!?*`&TVd?qo~d3G z)ANZ@pRWTskuk#oDrk2uy3X+7D_)n5;8_mal+^E%xWSJJXrZ>`>A(Cx?7eAJn&;j( zYIk>=-KH_yI3*6T)z&d;3F3fL+c>ldXbmFHHkvqK!~qe-X=i6pFzU8yqA0q92?{92 zC?evJ0X1=qB2IwDSy7zlDev9q>}T!gIcuF~o%h50<*efuT+0RP=JLMo>;M1%ChE#x z0rkg^b*?9)!lRSt{^mq!M+Dz9yO^NT=eNvtrY zVdQ^J%y=Q4o)=uj^5D?qC{On9M?u@FMrU`Fs$>wOK(C4DS5;;@iRafVQlQ z>!soCTa%Aw*sM@N4p!xI)d&x5Ez@Wm+{Ostew5IS7+J*2|6Jn#c>O=bb^fnI-+w%V z@czy8P^$EF6<=RDG~IK|>Kpn&-QdH&u17J0oA^4CnKP5c{QWS73Wv>>aoXk8 z!p4rz*WC&&;yF`g-Qi*esq&`xc3gP+^1K4l9SPK=p(spLi~KSnwYN=2@o(JPlJ5!x z>T?h#$1iqEU{mT)5sJ|Wm>hrd+FuXjuOao@V3JjyVAUjDISR-nty{sX`s+9u(lM!Z zAZ+n%0Rxg2$c`x*M8pt>bhU$C{NQSGKlw8=+a=Cgd~5qdBQ6w!H##s$gCH>vGwj22 zazLGQDqTiRFCbC10k*DCSd6bm1ePG-8UnL7vnqND=@hZH&ci;3uj>Is*Sj8eW6?Xs zC1O7-I{cy#WmK@aLDThTJ$sHH%FM7DYwsF<9!)Q=vUm}@G*m%KI!4peXBs0W_*tKB zVcvhgwtKOLvlC45h28iNIMt?%g2m5`LrA)f^lW4I{!ZPX;vKeevmlq+J2xl`JFkJ_ zcf4&4xGn~sFE_>tH+w`wbPg;PS`p?1optM^i5E|BhGw!X^J6>JvwvqWldb26l@?`) zA6oYY%q{_0tFcX|YvQ2mzMfPT$8J1nKW=lA+xl0_`TmakjhV;lDUrtPXHv^L0dm=( zcH%`un|qu4CL2RyX2o{H;^O#kdaND_p$Mmz(!HQsPX3hPjMr;8qF*`Oj^X|f>r`0D z*8pxsJc<+IQ@`4*np;S)jE}3D;G|*IjJS^EuwG!tHR0w2hVQ9jL9#U^3{-G*TFe!AQzEmqTj~B{9TJBm6xW#4=-W1Ckl6cWlk3 z#7Bi!2RM%&a-!WV%uj}d+t9H2-bx#F4%J>$sdKc^e(U_?sn55%Zy&#*POiv=W(a?$ zGP);iJ44l4?-7JN&2(_+xP?{3c1WpuOikyQ=-oR!onN_6F#bjnaIm#nqC{-n_^hBg zIMA-07me~J?$W+_;&DR}>QfH%Y#b$FT*Pme;5}A*cn61GN~8YjuLIk*I@-|?KWn2e zkK$!Fy%>_{Jx2QD&gO2-pnJX;(eCnZXmv!=f+Vy|Tc|uORWV=$6$9FPq>^xU7Ig0K zewPnE4@)$?(mU1n=XH~@f#=4(PBl;9I7xB1+m6@yZC7YxUI&9kq7iBo-CaGPH7mVP zvUCQeb}igUWOTl3{eGKI5wdq-2$xCFi-q9{zy1JV@y=Zy)$6Md>VcAVmRHp3L~S(s z1FxGKBNB=0Z{p}P{LTr&{2dOm2Qr|WNS13n$u0i6oRsvXq)0Dfp&&o}LPPz^;#R*S z4~NVNmZ^r)j7r>Gy(6}Rg9ELQHiv3@as>IP#J@KxQ$h$~WQU-jx=oZV4RSs z-{CK4eoL@f+y|BWPkVH5Vu-8BS8?58G-6gS0u*4F5YG!%ce(iF&5A)p7khDEl!yG zM&n# z)~9TFhTCYi(xV;{eJTju*mJP8-_|C;*<9O)^jHlUvO;MR1nQQ8Z=dP6*J2*xkV2&m zz102p^*790PK*>BiLa3`BuH%u*v^o{rcTZ$U-Q2BMLaP&7AIXa$gDt{;XcY?p?3Z? zfy8t&x>?z$1Blw*Yf*$alNn*9+Q!d9u&&tOLN&jghWAu6u~7>b8iOs!m^P0W39cu; z=#O$*x?j1pd|n0p>*0@(c2w%C^_f1rJ^e>&cAd9a;PCs}m^cWQ^zfRSopI+39p z@)&X{_{QwwK7I|n9vO5i$d}QxWKlsj@#exd7-V|M7#i51L>cixiI38TZo)Ql=T8sq zNn(cCT5;8}4MoS*sqw(mf9L%~ktppTFI-(K4m~CxV!7lm*jTE8@LerwEtPzf>j4By z+<5cq974hRSqh7UL6{Az@we*zzggEwjP}8fkK6n>yt1U$cIZ)w%88Mve3VP%zz~ig z$Hp*fL3;ML&Q^tm^I$OaeQ~nfRtagZ$ol$t(#^qoM~Wna1$*%MVMxnAGQh6`nepb>MGW+hcVe499Uk zhrsts(~!l@({x;=5M@bTtD#1Wl^~{$cPa~ar^50aSMDDgS)dNhi#CmnZi|YtF~I$% z6);AaE3FLk@(br7ika;izj|X`G1V_j;OzKzv#YQT*%qfeq2~hb@FP5#mapmWC}XWHYBmG6xeuY@ zwcz`}jInlROcuLIT^YuYi^HuTg$(_&Vr)SnFcxD}uvZiSH@?z8neh;HJ2cg_z<$X1 zFwRiFxisJ=j#0GjfNxB2wxXp|vwD-7V)oP9`U4YeZe?4KJv6z7`g_5wcq6E&K7qYl zh_KUrJ>j*7t@yCqjMq7*Q#`>g_h*TnORJPN;yIQ6?L6ee49FPIVS_IdBhP4E9^5m* zaXG2^;8BR@JB}?{uR}8&$KN~j{wQaOgdI1U-TNw{M+9-0dR_|$_f?+MDA=x1UwwBF zxMep8wMIX}+l{FUR&hYXi#K{4`rjg4VH`Yw=1{9%KNaz8(CPj zVNmQC?}Ic`qJJq)Fw(WD|8k=IYU~ht_`za{8ZNAZaveCH+sycY-=c%os3=NXSsyWs2^4w+27tZNr@H_VcmK z9fZa~-gamr>&3L~U|{Pz1Kq&sP8QoT7b9 z=8e;Mj0p;C34YLYp!x(@4uLcO3=4=NImuSTo-f7-q9p~I}Z#S<7)UKZ0d`3`}b7Y9OwIMB}&E5I; zTU{MwI%z75c~?cdtqIAflw^i6%nAZp1|;4pdm?D?s_4SbW^7e}+QUkpE!SJ_NR7iJ zfo2V8`j6*m8mrQ7{_!t+Bi6r{e7WlPQ$`{_;O$bFmj!dyMLyY&vRb_3$g3S){SSq; z*Ay?k#@uM8Pd?;S-{p)#bCcW1mJ+i*SmN}(zkUDBOS%6_WW~TO9-h>SmZpZvH+{0* zlNUl>pPXck>{LAb?Ad|kzrLp2C)q$_ZFU_cm!T6TWU#&|lKGMzl zdVM@oQW3Z-F$xMgMzGK{Lu%#Net!mRKQJ(HcBEiqQ z(O&;3ScN43=eT!dKaQu(+8pKkK2gqMU?j9QlL+=MqkHr81;@g9V#(+(qV(E4V3At ztvTDSKa)bG{T~uEmZ&719t^9Qm6CWpH@VBiz{#B6xMxwCnt!1VQN38#r=NA`>@ftl zIl>~{@x=5^ZDx$0oU@VH#-TT~rc#~o+_B?%alkCILW#+aRWZ&+yU=i{bX}66x ztAg77vtMkB4}lXWqhSoUR0p?9i4}m}%}SyEFe=%Svux+e4q-N|gBu>Tdb$>?kqY*doFkXf9R-?v1C;TC!i8SS)fNXYMrC zQ96QD0wcXix~86m>+m>?K-GA2)`rFiDm9p$dQ>;fLTE6mdQ0c8e?B)F^n7d2XU~vc zMhgxaHd~<9B=d50ZY;|bjbbqL{#c69mt^$Y?k=i?=|M%4f~wp*^yiUo3aj1PsH-Qr z&F3vF{>*vMHdfU4^C0`!Sw17)BWkNlDDZpR?CAHHI-Hp02J5q8*|>VF3;hbxsi}Qe z>;md7YSrud!@qFncRO^$x}BOfpV^3!SzqAai=KS8V&Tc=XMKmtzx#sDMOw!17_H*B z(F@FcU&eZWupyC#&ITGUrS6y|Cz+^jv^?K?v>^C=(hL3+2oeUvcW*g+e;YJ?^VWE| zmP%XKaCnKkhyxQM5vvYyU88*?Mbp>#5071gml_J#&fca0f@&WQXnqL^`)S3j`O~{L ze;V8LFTKmIHz$VE(Q|NY$d?ja%&cp2voBxFN{C-#pi6CT9IScD zH2zB~0$SX=>G|$?E{SaAGi5gHVoSLC{K6&A)?C8Fq;QCY7n1^^aG?h+s04`Pgc;m|pV77C&;W zS}H4f9P&$T{);$y$bkVVl$VozA8W+apfVV&K%OurYm7mrCB$`kSH3PtpJ}f(+|h|x z+j4WbQPtB0OhWlC3x!!~i_mV|Pmf;gCAUU_bnNYKhVP9CT)j>G1(9x;puQn;LQMSW z0Z|j-!=shHnr9I#W7!#Jd&8FPpmXiD*~mloeg$V}32FcLi_RCI;3#~Scf?V|d|gfG zAj?fyTRG`N>rE!gWR+$Vw*CsO@;#Kr#WW;TW3#us)AzYQFtuu%m%0ht6`f>@(8hGm$>XTT0 zuzBT&d36VP?4qIuWfQvAFF1UZWXY?DOcu7;bbC*$JHIUZRY(KB>^sc;kaI5NaSR2Xg5>vHiJ;50o zu~7?#YZh}6qa$rC789qG?z(l+E4njBnK zc60cy<*0YWn8~zn!K)4$m&(MN^)X3P2?>GMJ(Jugn7L*P3l~h@OM0q>!A&-z^h{jg zQo3NJ;~Gg$?A0dRvIly|cMHSM&5ohjhgY0yDg#)7+RVqb25Tf*uuT$g2BC2>L=JlU z%yD$h7Db&eSs2 zjlvca2acKQiD2KC9YU6*bzHyf%O;XRD-vbZaa~(11fwixHJc7qFT9dPQin#@BJRF2 z?t3Hhx)2SD{M1nhio7-3)2K^lv{d2zn%&*t0BHu|Y8V`xaK%SCy~u1)p|X=#S2&vh zXE`!)NTeGS7FEs)VP=&y#3x%(b*PU{(zD#oHp_YoW?24q|XeeP}D87w0RzLLQrqZ zHrR~cXR4JIH2yKRka%j87N%Cu&iO#Ld;GXG zb*!cm8P~c%)AhK}Z^2!n1}$3pI!vGB`v;fh4!(UQ!lTKzr+t>m=&p1bYi7rl06;+2 zM!*eB)|Ibmvb1^y*HgSYgqIhLdZ&6Mo&9q5C`kwNKyWqfh+&C|7x%L>FiRm)j;g= zlO}xt9;-e#k?^vIVNH0v+^^}aOP@cKDYf~|Q``bfT=RkzI%mY?P8zympSAuFt>B38 zzK#}M?LcdxncZ>fk3;4yoYMN;&r9*A5Q57lfw!jpvXEoE|1gU9P*AEG^x@}d|3!vj zX3*bEcFV@^KADM4ndGGQKgZx@rDZ+6^|p$` z@lC&3kK$7Yms-?C^)k5G#8_38-jBn$!|^juLb(T-tKs~1)^euXU%s_z4%$*0MQxRmTM zR>xag`uLnA$cb|CtXJ|jHh~Oq819E0WY3E1BSUS<=B8+fPRqXx9dht77{|L0y07uGazYv%L|J ziuSQa;dFNz(0?WLp1X}~teAjpxi-dMJx;s4u-akVI`HWOLdxENVQq*-UXXM|2{pt# zeYqg3S+lv>YhD>)=Z(%bwey4cF$$@{vL)Gs&=-N0lM&ZD3pUmEq`>$G_+2a4o zt+I&HYR$enS`(1bKZ>gP@&{MzpZ~Ls`%^UDG#2<+>y+5-jJ80B7%1+E}*IEq5rBtP~nRPpC zVloZ3`wT4p-+_CEw~}~1{-UJcCTW!F{tPD%BCn2MB5rT)tYEY|Rs$|8S-sK9NJoHk ze*e4Z)HFic7x5HsJeH2{WQBU)?+(YCI5?szlka=+9(_NC|!uHWl@ z9mH5eU0!M>5QlUac!0+>CV2Ua>GUFCJ9o|F-9uX=*LOXwpkCvkF~%(RVv0MzGj_{p z!QjcNU+dkr6SEtB?*v$GK!2(KWhF$)P-c8yR1215$U$RQf5vd8#;17@qk zOjAi*C1*o-ao26*8#RjeUX2y8+ZP27niZbHdW#R64ZQ~Ic0 zPIIPCX&hLtaok$VB70`*>zbWafO+_R^TZu^1EYXZ5?9rajP5N2fR2#@Wb6M95@-JX z9=W;_sa4NQF+IJxsmV)N@bG?+h1j_?|5 zsY-12WcM*)4h}*j4r!a$4+kNUuD@%0aQZ*W{j=jQmKHQ%pKGd~#bfAH@&-inYMVu+ zCwJ7QrgB)*TU*!KsGz9C9;smKxtq@KPs=1*>Ov4e<;p)1Do>sj2 z3&?4*%IsAApa5J`-Yj{;V|Zl@1?wz_bChuvrG!AOIQbf&YmPYF`5tnH-V%$cbIU=K z*0)b90jIeE*Ofs+Z)_A0(Mgl;kz|Wh%GC}*(Nzs;v%Ebuu#f}yV-h5`G1WZZH7w|+)WaK z!yfc3J06*>%oC>-`@fzzu=8f8W+y>vQY03@KGh_LT3&`;d;lG=|~&4uAjsHQM}- zJ+<|5?WyPYz|VRqA@KQBpZ79sk<#>Wy^Bp;kLE8WIMJbexm7uHuz)EmPPQ=o12r{A z)jtAprq7T#=F-9eizT%!mxTh<;i8~!`8dE{{p!Hl>aDq8KWe*eh8cjua@{uoH$v;+ z;9%`y$EanK`J_tr^C&5eNBI1HbjrrteDg&)NT&KkV3O$cT=7WZO9%a5d*zUH7cB)AtD3OvHRjGk;RiKYZN1uuo_s>1u~Dwvdq*3kyo8_F%$`XgVz^LwWJX zw(j1)L^(&VpSoI$*`a5k$4w}Xy<% zV8f+iG4yjxVdh*>4YINX@lo!vT5HF<-)xN=yegx!|K?MAE21k_GGxRFw{T^H6(*`Z zdGPUVMH{MaV;Cd7uppgG4Nkyb2{J2&+q9?`Gtmjk5uX*bovbcLPre(%ZAA;=KDF@} z$}a0B#&5O(yiGwECP+GaT9Kk$jY9)ssWPbVMZv6sW{$#H%_8twQ`fH6JEa+k>PBj_ z9+6(n4*fC0&X9b-I%Y@U4g>b>ZP@oTZEYPaz5kC4`F=HL^X$aX$R6371@G4(m0(yV;mxXF#E!%j$9e(Ymmt>@IR&-uz z#nz=qbM;)&`R)Fgaa-vWv1A`Pj)K;@!)>TRzqiNDO^bN7P94KLCEW5QH4l_GXfyVR zY&tEGBF&J4EF$?oR%4^&9Wh(mR4cuZ$W~ayX4du@aWR#R890Y!3% zjzd?Riu@RBE7Anyv@rbf^@yG^T4DL)5EEZ+V$VmpvTSF+$pP!clezkBxBIl;+Em$@ z9C4MYVkXnw&DnAu1O`NMNH;xXw4)7!bLELY@WAyfcHEy4C{!+W&#WdY z-iWL`vKowv^XKId6?!Ab1l1^vPTvqI!6fKj@`XLUmzgGmGF$rn$&orZo-MgbG7T9X z)kM>d-85H9+P`en7HrW!4ktlVbJ=bL(;>SPvOHg)v-MY^P7NYm?qI3i%Fu7P&g zFBq{LCkCX4%aCDRPMv}9u>j%(z&}r|hfIU~fVzz=^P?sp9b}6j~cC-P~pNv z+#W?Jf7@YYLil~A+~eb}BO9A>`|zR7=-V@HF7LZoWQ>S3Ww_RDIj>;nkFXyY@V8-EH=YK z7mpeD!$#lm0L#UG*PG(%st_jJF0pt%4_mNMqf& zf1E;3pP#tQ!liTum0mBYQrM|`qRhyPx{c*849Y2fwcx4r^_CL7HSj%g=m6`t)#E~%G~bUSWS6Q; zJ?v7LCbDx}4HsqUC2qD}K%*1~Y7a8&6O}nVv&I8b6c_LrGyeAKN;KjNd@=~NS{L{)9P+!*tUkjpKm3vgVkdoRByA7=4xx#* zPK5T4BEfcsRGVC*@-ZLgPZR1PFv($%-8d$nIqjC8kwRQ%kjhFU$wBqHHqjuE?el-$ z8(2w*EzP{kHTb~V9@OV>a7S77`MHD^_Yd>J(eeGhn?5|-lI^5&86z*n`pl%kTHgA7 zt=liOF4j)h>+Iw?oirw|FH7FnzWi&J!+-W^|I_RLpCbN0t_@pp zNM&rsw5_a+V{#K!SO4gi#MGHz3r3~ga!kI)_47{HX0R%xqD?oYjdU`DSby@n&#--( z&7Y>^cLpNcC|7qxGVOSlM1e(nOKHRFJP;b zQ&dfzMZOGO1BR7bSDw&)tTwpUmH}FqxuJ!PfnoZL(i%Avkh0dAX5%(+ zQWmXxGnAJtuN{~{$kJ4$iTfS_))s8##I0`EmaaGBn#(N!JK{{*8`M0zV^frG4-!Cnz<`{z2LbN&IsawJN;_fYwtdFq6r49^>x%d=JR}w}S^q)8y9@7+ zZHoBQ;CRpA<%*6P3{;q$56oS)2JZR&oBAF-{>56xQ z5*ZYGcv;>~f3O~9nLJ(Pz9EyPGZ^~PjnhALFMgDJzkAA#V*XK1!;D;wL|r$mO?ylj zwoj3%(9*M0&@)mSn`yl-<7?5!<7(??e-M|PhC^=p2x_awd4Y!O@UCcEw006D^xlPz z707aDEWI|r!xlaFtgBXgJOiDf@lj3)A7y@&Yy1YK7H`$=aA;3rWGVjev+WVH;iE9$PTolF{FBcWhXZ9d0&zGf;4T%wHK9v(~*-Jk>)l z{my0z%?PU3r*gBf8h6;MEBaCM_sK};u)=OjM*SKKCIBwG&@t=S9iaM1Ag+}F)=!SlF#8TDuIk@YSJ%t04r&h{{Zcas+|!2B501AQ#-JOmpyG)m<5p~|rV((i>oQ)Bzo0EefAJqxXVB6@d`S)W zfA#5{p1=-2J>v;}>|{c}JIz+l z0!9sB|O zc|+A3JA)gjim2(71?%72SbjUP;w8M4y^4Z^hp5R?>UW=P+f6&Ad6X(GhzWfh3fz`` zb3qA(ZfufxM+(e3T6T~{H7j}-LULBJ-!bG)4TsczlM#Y&9-3?5-#ohGD z9Ol|CBbn3YPfkvMU6>WrNN|ZIjH;dZ4@sJCjd^=imkU)kp1;6Z$NJT{^Ibg}6AlVz zK{n+a_QivgSSkO5Np9->CQx5(4j+ECV|5?k5oLba7Cjo%uns?d`N%Zy&@kI{9tg0Q|e6!D{M3nZW%SOoaeDHqh>Qp`b~AVV~7T z9KWJssuWMfL^LC`t`BS*Dczi$ogP*mYeiSg!()XPEem8sx81*_9)3Nh_fhV)^d!}L z^R{PAM&P(PglznWVihA%YBTGHIqRpVFQ=z(=y%<-KmJFA;zzl9T&jJgDs@uqG=;hn zp_QH|Y_om!M%{WMvWF4cTq)u+-Ch>bOngWfUs^b4)DPlpko{tA#n5ntczAg)=cKF|66~L8U%?UBOOrlpeW0wm! zKro61*P%z_=tWg;QS;|J6ONkndXDb>R-7%N8SBQo8#Cnp9nTG8z!@e{!wTo;X1*{L zk1n2lxuO;unOV!1H;m|MWwf_aQlhrMl3tRm;t=7?0FUZ#H%cZ52-Co=yC2dN*<4YQ z?No_K41H#9_^#O2-Y$caCCiD{e|-BrD_)gOxO2Wl+?Amn*Al1VtORe7n#DY}{_rmgpez?|`a(IQ|g`@FWC+b)LW*K8KgP;3`dvG#2u5)D*^YR6c%Q^Yt=K?h8Fg! zox#u!s-=LDi_HL2SIOrwSI~9WH)^`2sNNj^RUHgQQFU#_BL*=yLq=;RE;lx>^q93_ zl?f!nX0V;XYR%l009MgR0gZkLI&tN8f-C)sheP#iQW|JN?m%$J&yp6_{-I%6A@Eaz zwX^b?z@8?hHrlByX&Cpl_L+vx?YU@zJFO;f!I2x;m$oAv7YjEW$G%ZbHp$8>B{aHr zSpwk37*snJxd?jcZyr|E;Un@+R+IOzm4Q81p)A|ZBefZaHa8fum%s^S`)qp)BBB2+89E?m)>e{bt8z`py$ZiaR6l5w()}kjt6sD$8kkTQ#MVFU9+@I)7uMf;TPK~;nu(Kr6M+_ zfR^2H>CTSa#=Ow;>B1vl~3yq}kc)EoQGq{hU+pL1fc5d6k{s_4y&a}WTK%DI0 zO%!_%e#x^XB#zDtmTBfA0Lmtf6>WDI03PCCil#l z)EQxRO2NFax(nW^8>suoN;HP#VQCeQ8uQBGI=Qdr2PdKgHG19yqM5<> z^(BOLcCquz=EPYktRk$VNTI83bi#CJ?=Yxml)GzU8NrH>+;42iVFv9M+m7aDX3`wp zq%1%~*&nlmTKQcXR(Jr@mv~BN7jE=u)Z+Uat+|1Zm>K0Lc>Sb$4Pxu{!_#&gbRr6ofp9ZQPYI zS4#6ML6|?kgc5Si`m%I+TS8@La@)lOkC@d1(}f1YS!WmZ-+mj(FkccuQ~YB2F~>W{ zW~QE6R^way39fkd5DjzioEX^T8$iGTKC4gZ^TUoC}O zHL@o0vAD>k&e?s{Z@2C$=t+taOzx1)W}2IqG%W1 z{_ZtY$YxWv!OQ;e*NeXG>|}C7Uw~fGy>FaP?>%X1uy0zk=xrBbZlEoZ9o{9_@fQ(T zBBMtd7*vg6`O@tF++mPjz#G?Gg&Pr%?B3&tiUM^`M~Bs81KZw_<|dM;x=dt(Zdf58 z%*PUcEdBQtX27LpndbHd+su}{w6T9`WETbh&otCOV1dB@qg z{NWD2T7q^cWg+5u_lwE_39sSmK1w^5B6J=dNSM>Pw^)9gp$bUzzlx5x??{$B-x|}U zSSVh;9J?p&cC_Ry(6$-cA*DWa_*+h2m)W(xh1KQ1O+N0>RGqJUMX9r{o@%K1^~F?qD)2Cu(YTPHuH;z-$tmszSu<0FNeSv)3%X$`5S5zk_f_}q;Wh*0JWY&5ME0>=%79+-9@$pU8o1A$g_hZW{Uuq)4u)I0ra2RAb(xPb)ZSj>U} z>wMRnd;wT1^G9B`V{84cJe?DRam3d(iS|&2>9fj6G?yCkc=B1&;ni(%CbR6OKP#Mz zckN&`mUlqljls8^lWwP%KNRg0WVxxAx~FGi=%t_ZQ`WLYeKK);D&WzrVNl z6nS>JPt-yM9>7w^{%Pmi<$yPgRB6J`rzNL%JTTQe5f*bEh^2q3*60PEXaX$~qVos; zg@6~exYXLP*2^z4UVoHR4JaR*x3>ByM~_bZCBCvKh*XTr682HU+lFv5 zd)HQ&t3eU|g+8_7g!Ie^{1m;2GRlaB&Ab?)na;m* z+;_+Kr^r=f3}~LfmO?PB<_yBTQ6_GkR?dZT5X|g@Di)gCI8;9Hr;JhZ1IO;ljM{oV z3Lb+5M2a8f2AXQY`ZmU*6cx-kWyQL7H0yKl>B6iq|NQ83&%z0C3*KQZvtPvfdz0VN zllh-B6YuyU2A0Q#7^nVWtnrPd0=x;#i$Pu>ejlIk?o+GRH1&&Y9QK zDg`|MdM^H#-@i3#n`8lAiXMy7(wNnZG2b-xz)IVtMuB_SE_yG%<8o9qB8_aXVu@?8 z#Ipphe-Cd!fp|0h%J7UP?pQO-Rpi4}LR~!mp6YkawPygLQDt^s|44blMk&l_`PEjbM>rv^?DJ#-%HOB&hk z{CKKi7Z;?}Z+!a&eTea^mfi@7i(eZ%rU(h~t|==se_QcB{2G6Xzua0fc`2KixcSRu z%FE%syDSG`+CM+|^{~V!B_V+kwyi=hTwX$T`?@q-9^hNz%+V~?2 z^>pjT;B$S3Hl!-R^%X;}OG#V=7{>5HQx$6k6|{t{Fqy6ji02%67WE}p!M6D1Sx|IP zM$uBH^&3+{qy)W!@pr`GGZft0?KD{_w4RKleK!YZlee8 zF1e}5+Vk2M(&ym*^PH>3skbAOsuBfU2@95aFNpp(}ds^K3*eSQf>t!lcSAJ%M0YbVZ5M)f+eViSTCn`KK?kwwk zmi(!ApNOzRX{cj1FIimesx8V4SjUX9jHszfg42f`%}y@1O&O^-02XKID^QO@R@qB2 zpppR)!N(CLYL}Z{_uhDr1xH3oW)YxPL1p;B(LrVraqObW$dt#j$kUuRZl22u`7m0x zSLgkfMG9JX{C?>AI<%ej?Ef;c(uK$+6aLjj{ojMI6z72$ESG=9VBv$G438HD_L$v7 z2Hf)6%lX4TY@T6lP(3k=679H`g-_zoaV-AA8PDaPdG^>GcgAqbSGrBpZ^a}U)%qrc zvPxpR6OWFf&)kNmw>lLcy|w-4yNcfDx#9PtTMCyJmP=AjZmnm6?;asVzG0IqxqMqD z{)G7Nh%C*=mwab;28E-m9R^wN9?Vt4;NYhXND*=bFrUjbBn|{sezN}Xe_sj}DgJCS z3t+~zviESoMyt^JWKfZxVka{`ZVGb~uvji&J0>-4$7CDzARR%FYnn@gH)O)NnMF7V z0Q{Om{QAZfJI)a7!pQA$Hg1en=m~44n~$Tm#qtCDdu?KOD`@iu>u~9NV3><&bCp!9 z*X&$8bJ9YoS({d?0ARSH93^op2sB5%E$65ZU4cbynCbH*kqSs^)^P*JL}p7QE`iqhTU0&p|8}(pd%>c`3Vu z>~DL(LRR6X;2hKSTG=zbaaQg|ul<0RsuTRvbdmGl6C*>SU0vB3)e%Pt0=?#&KFyBZ z;fSt_6%1m*GJBAku(L@G={oCqP*I%=xHNl)h-{qBDw+fNIDRDlV;j9Nv&HG zx2aAv(L_UVU#E>rlZe(J;sV-ef&mpH?zlCR#Vu;BF$!*tCa9noR|H&Q+!7UuBBBBs z7sL&W`+}Nt_c_lsZO?n=T=Sg&-s^h#>sIszmDU7DaD3zo;n^ zIj}k!8n@YBV!cb6D=U}dPqV`8BC5O_LRtl>nAJ6Eh__f%#_&yyP))U%yIUXGcC0?G zsV0R^y@^^BUdf}1Dq|WZs$BMz;7FKD8zxiNtT>wvWxlTtwqAJ=_`0N^8RF1ggB|9o zV3h9t2v61FPRrj2lYL6 z<&hXVF$Xz)p?r3&VN}LJ+j^wfijr;V`$2B_Juk9ta4Q~<9;wZd33 zHksifTHwG4p#-<_abp{V^?t=gzbS$rz1G=PQHSsaHmFP0$BibdpT;mtv1nCZASNH~ zU3cmh`N=6oRIWjQ95UL_cE#dZl1mH5@Yh8FijdR4$u45)YOX-<^h zY?yeF3O9Dy>II+YNy4#V?Ch~>C%eS5dFIp zGkVH~-f>=?B`dD>CUr5^XOwX|Y2m&lBDYN~hWTbmM&(|$5_BfIho|I2N-YaFHsL5i z_J>Bk+C=1sFI2r<2QFGIF8#pRsVW90DCsJhLQ)r4G313E2hQ~{QQfi=U z4}O+NGH168xF20`z8TxhKdfZ$5B`40!4;r1@@6@f%rk*C4dy3K3r(t!$s|)dd*e96 zI(pfV=AA{O8Dc#dGn%mZ9ZTbZn`Lgq&@ zPE_J2+R4h5ofxLBfpAZsltL!2UNUe+ZML#?y(n;Vwv8(`4l(Bw<#;G=g@0m3d%F6a zS&MUxbLJGt{kVnN%=S)8I*x6yJEgQHn$)VUDX!TMon%~_=J(I9b~54Ul+;L4MWlJp zlShF$JzJc=F6EwmQK^=NR_tF-BX%ZUO_ zHQeE?`;>@hz%Y?1yEl{J+y5eeH%S_=PvRdc*mAEu+jzThB!6)Geh!9-W4h8emoqCE zc07o2w>8v>8>VxcQd>@QinQzO@nObI`xl&B_vS@Zu_!l}_-XF_!<*;FWpfTb$VKV| z6JA7KBoK;UTr#DZY&tw-kr)BNZ_^fWaz-I7g_gO^3X!W<(|~J3%s&-aG1>%a(=EKKs`LS z9g<~`^y$Tm^UZHda#B=|e`E6kZ++b9&;b{9o?k}yCmp`%?z2|QL^KrrI%@Ip^ z`UX-Mer&}zDL8K83E|J)F8a1!OVD<8M`LTqH7Dtd#PNOO4{|7OV%H;X*$%*}n&(v7 z9@Z3%0m_wM|Mppcv)o4p_|G=zoE`1*+4th)7}K+3dm~OaNBdLplh8|ZT0{z2%YuVx zA{EgL;yp=v$&w2Bhn9^CElz{bYZv>L=c4g1Mw4aWNd*>Yq)i=qbqoO+hy94jBRY%t zL~d%}B2V$=w8*On=86OZJvde{s2i{~cXF}0{xHs0>Jw~@nscaXj~7OTOjZ}Vp)F{> zx+kl~dWnWTz@w}lJVq8xYAL-Bd)9W!OessVNu7_MD1^nwjyvCsb~rvJ9!SJfmUUvy zx!Bv(nD}3U-WM}cY9k0e9JBViwMHof>7_rsK`&@FFY+NXs$5n^7S`>pw_L*>cHSuS zhE^sP3`DqJE?V9U3%gLA>u8ry&px$0@y{0&>Qd@n{o-gr?Hx=8 zO%H_~9JsJq)&&`;g3jT(wj{?_YMKgZrO2`TG$(NR|<$i@OA0u7{= z0O298G{PD4M;aSgsy|HIeq!WhR26bU7-LTS^o&|f-8>KxX|^?UNM12iQtWYWb(MF5 zSuL^xG<%EeM~AKxoX5NPH4ppCXJH*a!T9N@9_$CX?;5V3{8hJ>@0XzN0(d!l9Xs#M zf41B>TAT!I4mp?db3e#Mz;DWw`=@#n)404Ux|--0y9;jylooE+bc zx*7faNYo8*gIVtjPuRF*AjkP}4=KFZz2f9hQieyoX47SIND3*9QMHh6Y2QO75V2we zsiG8+W<7>NqVzIC2QC24hCJw}i^ACKIP4cfF0-Ms%G-Sy%Muhc=Vv1$xVB^R^1WJs za`V4#$Kn_K2a~QZm_C;Xm3!p1gQjj1PMv~RIpGE7Iv=(=# zHW+nd7EzPs$H0y=F?13$f&(<~5lb6&0Hf0l?7?4}KFE<*+4pnLWBW&Y1$?+xp{>mU zER3FmBI8Fc=`Syn%TwozH7%-Oa6T^M`0q=}&_BYR=CiT}6ZOMj{TTFFrJY%DW>vyS+JgA(gWzzQy7Wb^IrI(gRe z{TtHKJ9Q`RCh`N*ynGCy+gJSN^2rcIJE*zYs?#{#ZD)=lff*fs5&iA+=i9EKvD=Q4 zul8}`OlByCP^@{bvoFJSXU_JidwRifC@hah@Ecu*L_Z=;8m3!t=2L`1)m*|LfApZk zFlF4Zze>wCJn>ogEZ=jd`SVdPmc#;gae*Z;kEY>ioArk&(V2)HHTX2~Tq%Mwg#YYQbYN`hPY-@*&E=Eo_+x4$w zo(DC4JOQ>~B1cEgid@Qao+Z?c&lpDCTq)#t6!s-Cw;Wn>pJ7Iox*~C)r9}Yrz72c; z4O-CwBa0DNJzL@AUm?GBr7Xb)A-$;78IK|~;G=Yq8vnSuejji9Wzcv-W-(5$gIg0E zpJ5Zx>Wa%tA>@%_I5;4nWf4(U9AX^3{k<6^{e{_7Nc6(jk3Be1-RBpTfIJ-ts1WP- zsK`~bTa20Q-&tfLm?v>*cjkPCn$j8!goMt{*PMo9K>SV`PGTw%7WXIve(cM9DS6(5 zu4X)D`GkpByJOrpYO=KMny3*-wN;yOJ@{*^>pM_f^3>tAC%2v)-Wtchc+x8J0uX++ z@=Uw=s=p~1kpIOWN)Ena*e_aZm=XM8y)F1T9(V2$B#f29a1a9rwgv9NU zxQk?ZV{J7e!wt@dMTdcBDUD?7!v-6#8>*QdxS3a+ZnJVr^v^r2wt|bRTML;D>L3nZ zW1uVPr-!(o{(sfwSmu6rsL-Rr_*TNw1Zx0ox2fN0YXJtKJpsHOg%Le7HaK z-QDq^o;g9Is5d|Y+wyOWAFSL{-+tDkICBs2rO;c-nx~cfPYsw5rU?an&O~Lu-N9oh zfHwB5-mdr_fGEM>fq));#Db`uY8E;P;j3Cc^wQCBPAi*aRxFxc0xyrQ5Rg9GD54)d zwZ&e^2Y}1BN7ug*KOY>*UV&fP4bWULzGLjw5aLBnzvVT$?CksG9g4}TATh+ADP-g1 z^g)HC;;XJv7n{mtrBm3NR|47o+Ezx${V9%BX_2xU*Z1ri+kFE#@86LnYJ5iatLT@! zM)s)<0k*2}x?mpv94N_%wr?WOS%-;;WZEQJJe#K2u`-`B2!Gb|QS=xoL_H)Jy>Z*z zW4oT^-@Mqgt^YnSOF;?nNt!PTOSoZujedmW)#uw+e3YQw37<&|A7EI)gShmq=NDSvtW$Ft!xGPUZFc9 z;^4VvOI0>4AZo?>6EqYb>`beeUKqsXiH)L`>iJ@Mk!U2E3xxqPV-8SnvX%#IpbW!q zNY9R|im}o+Buu)3d*^VBT_iiE1;PdtH(+;$a|R_U=iTCL=uo)CSIGz+8}MD4$JPZu z^tiLGyO0vzW#n0d$>{a7a+QZzl}DA`K)!#54w2p|ThyM` zcqJ$>oM5!J3!4&-ljrHi{*xs0&A>GdE+sF8s82#u2_j$+I-~Gpp~`DDEF^oLHWkA1 zZ62}=pRBHi#2=3cQ13fD8<v!qHYG zUIbJQR7L9mSmas=iQ|>(P?R!5OdGS z+WI(t7Msh#-e&rlM>8!&hm)E?G0eYx)h?rWGry`BRXx!SQM%Ttd&Na|Ef|N3wNa>c9&lSY3_ssPPib$4ocs|Jhvr_Kr(74%r0Bg{ zV*-kstfo%|1x0p&-@e`l<>MK?LNqC==Mb)i6IhyS~N zuDxhC!nd*56${|MB-60>8}4iHD;ZtQ(XgS-_;>~ z5q>CU9dm#1+nUVw=`dMd^FY;Epzgvi;QoRWTHZ=K(cuLp1;|XhQ2k*4hY5t{M6{~d zA49v?pr$ud9G-HUH`VxYG%e_&br9`TOB73XeLtry)KS+lEml z)!Hp~e0rpgZg?jL{;EJ=IYERg?8N`NQf1QVpghe9n(Io-R${g8+CkjOYfc<6P+KDY zijnUj7}NZ+9PO0_SXGHKCv%hrE(Rlnok(~Q?Xaf2q1(NlU4 zyC+KqLZVJ46#`XYXr8<+Dr#k_I`)q=QzngflXAdF-NF`{5aXUQcAB@1sMhYr@N353{@Oj_*zY=vhAd^Mn4(? zn&erB4J@jwH!aZ3j&@cVMxi}-6R!to2~Up{VkNF2mI{r;1#(6x1jd2DV0P?LZf_i7 z8q0R$+%ab98#)fJR?SXfzTO7ap6AKKRDuyCG#MCy^N1+_)i&F-opCsIHW;a@wF!8_ z7zx%9TpM$8Fb90Lxi=4JJ)RaPp8XnsK>&EIjmR;sU=E2G6{z>M0Ds|t))WC@X5;i* zp3hCbqPsbsB?D!v3RZ2$4ZR;s(DNOq1SboAkVTKlyPTp)Kx!qXHWl)khbp0eU?IOE zE;+O~r}X9L`5;z_5u1OaAAO5?^T+-`NBR~IV?AG0J1+hjR}?RBJSg6kJA?eYoCb*} z7$4~u5K$67p}`MBv_V!1EH^q`u1gptfLt^d@Zkix-0U$cdV`2^D0<94`OKYP=kqBt z-7>;&EVTi0Li9SVaWTUc#s^u`&iD7@fMV%sAc0A3A!74CpcO9!IiD`D3lX0E0>DI< z#ZOA~iXh?dDH}z3TTx3mLHPXL_5^EQn45rch6TREbAq0p$Z_-Rr91{K4k;-m8@S|* z2#&EmsFzsrZIS-AaWuD9CVkqmzkGbP%$2X`AxbH9!Vw7hrg}uZS$ zVEV9+=6`kCCg(v*z06fH+CCy$=P7_qgfZ>G_5-f$<*H3`v3i0V_uVAK`Qz1+&2;@M z0`6`6oL!e9+CpeF<3mTV&ys|3bKEh)Dijii_#me&|3U7+U4d%(K~8ifdE7cLU0X7q zDXZWd4EKben?$^gVAYXt-j2<77#M0$yUNIYzaF|&gXbdXKp5Y&9w`R!mf0K;uO{BL zx;XRXfja;(*7=)|&youevQXvqi*pI%toe)v>t+(VC>+*n0f3#UnG42)eYlN~$*jiB zYwP8=_tKSa&W}IyUWDeLbhOBrOeNFX1d<*}C!v?H3Og<^xdiY$0r#uuCx)liE8ZJB zYOOdLZMiH+a7X?~MP7|S!2eK?duHYGR%&_LM$U_~;G?4|6o5QFZK2VOVKB%V9Lu==L)%jZhJ<_TkHz=mbW(9jP8TUv3-qkude<0ipFYZ zol<)uDS0^JScFUbN)gaWMlP*@fX8?xWLdmjrV=ze3{^vzQ}vu^j)mKQH31R zGCd&D*jDT@u_HFAP|H|)B-G_vT`Y{Q>WJ)bNTS{l&_O7oeqPC?5=%d#BrKKQ8Ae1C z?(qboXCnrUhl0yO}BDr+|u=;sO7Zl{vECJ+)IlCGpmkg5;poWA`a_xp1445$?|CJgOwz^67*hXE|W$jzi0^wMwDq=pcI=V{{obj;9i z3RhKkwlA*(JTiKh;ZU0M9OJR+(f6vw$65x9&tX1>0ppl#6?8GTu+R7AiFZ4Nx$A`u@xk^!Re%HYko zYm-EmV_ToLb*cj~64pmQmIg;oH<2h@s7rZ+6Fb0*!Kep{>)g)ir>P+(5$K6iv7Ce@ zco=R?pVI7+N&>x?gl(Dxd5e2fwag)DmIgI_X!lcm~tCdn+_|XfGW8qVQ-A?iJLM^S zoB8zEKp#r`2Ko)%*tswtBok61oYvFeF%cG716m?Ch_z2c{B1Yc#_>Sg;3Y=n^bmEs zQmAh*fHh9+Vq%)8Df>_-(`v7@VaTN>6d}HnbIj-Ta%j2`%DTwNcpRtGJ!AXHw#h)j zRYQ!MAGaK>1ObiE3Q;;tq-Sx>(pr9)Z5Q1w#_i{WBmNVmx*8MqZ7-O1aF=&^b5C1! zZ$~rzQ@rbfe;i+l9(Se}-$P|i4+d&6&SiEfzOubQ4JSX)o|P%N4aOdW|8=N*V@YB8 zVeQATe^qcN)^lM>_Tj(1sX#j_kQN!W^YQrJ=i!BA=}d)fRi^QY)(yTgx>SoS(_?pL zxba_STDy)x5_4I5Dg!zd$pB?t6nDl1e}!T=&N zR@PTL4Lbfq?(x2|>G5}D5$6>mEO1RTAEW{Hv%Q5l^aMCe&_V`k?h|{+zxKKR_TVFV z%W|LYe&0u>RUQ|ABVKVH<3n4PZ1M1sr0O zXaDW_{?8r%`}_q?>bf5)xU6fhzs5|yLLc5ti1}#gU(Y_X#rAeD{jDq|e2QlzNVn*M zg7&}ft26GA)wuml6Zfeo)#8fus)6H5&T>H$4G;nxSbmBEkoe}I`V+Q6-p!DA8GEB< zjeEOZb9eJoQq<^xQU%3A&c(#UAX3jRMqf~Qgw&X#-|_oJMgUM%y}68*)Y0dkj%P7?^n^1N+JbXYB!eyNveM?8rG z!QnjyGTfYf_#k+tD?bwbL9RFH4+g70cZ*QUn7YrWg=1DmBa3B+S!v|Ouj^e5>zODn z%yDDvsbBA=v}bSh{r1#yasIv1sB%S;;oE22FmDo6HTCy2dI7@B0rY8b8BHUoS*0uc{@rvFV1l7Y<|)oSDS6u^37G1iMu|$KNG6#Th)Z{%dfsq$*ZZKiNAUF-%2A>LpVP zZ8dWkx|bw2=R`1LdqzMl89?0z-7Ir|w-Y5-yq)<~xn<~H(30x5htMck!c3p~`gBB} zoBh(RSGvhGddYRG@irOAfh&f=gMnn#vnO4C&9z%DdIF4~?$c#T4UF}zk@WIyp_j0~ zwG~@a?7LDZon2oV#Kvq==vE|Z7({_x1yj+!d-vY+A7>WuKI)I0tSsF;dH@UJSsF?R zl7|2#ZI3y>5ddTIpI>~Jq_jhLYx>LwdqTvy6g+q@ds9Dre$cm~ze_w|0L%<}WGz1l zS*GPjMeH?j2UfNcr2KqYAUc+Fd$BR%f~sd%so^ob;l2DPiy5ISojs}OqR~8{A~fZv z*v}27PJWQPscQE@PEzR0Uh+vzYq|_XfP6Y=D+_?H@3rIqA8w&Ot}8s;Wh}Qdb1NPA zOmXf$vgnv<`|%Te;vLguwId7PRIElhcJ?;>3P?h??Ms*3FKm|g4C`07A?groi-VE* zgMc#oAV-a4zD7RBxV`H5F3v)F@2NCiSN|UZqKz_zgyQFWn#DApYw_Dum?1IrfgR^I z>7$Q#jtVhTb5k9iZ+CW|-jt+!5z(|LPfjH_yUdqt9!90Ot+${8c4}0#d#rD->T0~1 z{IVA)abe#W8s(xwZ<}LIXK&a~-UO;*lRk@0QjY-UnlT94K({~Ab@6+KAh}48v zT&xoiAF8$ z`Ds^stFMeKkCM=J?!fzvK++U|>lw??6U|bpT!Nqj{<**Z_P1{>AKP^4C0xR2PSq36 z1`D2UorA7s{{Vc#J$v)7h2g&r%>SP%Bj-)H{Of%DNSaCLh2^_2sUuuac*=GCs67KG?paO$oH8(X=?m&1O8NG`^&eXA+8Ue1_$d+SRq^B zXKCq~7_C5R^&H0-X8X{!k7F>;6AOLMKxK}6;g{1rPbcMS8%I9%#dB#bD;3Hm#A*FU z&d50Ou1f}?L~HniT=j!1TJQ6&hH#7pVO4~&eDiLNN|Z@JoOCFhM~V((*SfbaFMMmE#c{_+36su)H zi;2+6tRre=G{8n0TIT=(y2;4MI|t3L&QI~_)gi~mV6!5gT~uH62u{Ba+odpDT1cSV z;3*O@x9rKB&FwT_jHPm6UG*^sPjE_E4j81kz`ROZ;Q={5MJHCeG>+WKPXBrY)I_Lx zZ(Py!L9YBYIj}ApV-@ceGEUCVa$*N@lp;`Zcf<_MZw*qJv91jikE!5C`J+5biK2MX zJjTR7_ZJG>fW=tYrjW|le_e5*TC8e@h0?sHxGcEsRX+3j0rP8oM1GDJX>(xPJ}f8d z@!>8E3b)XSJy)9Ru7#=~Ut07o4GT0W>8@^Suv!Y0mv?YR_SJVfrqxzFX(&)1E78#( z(#_w0{3*P4ET>;x3HpdEG5*x<=g3-GL<6p)1!z7alwHN=%1&cMZ=hBl(@&OWOb)naNzJvl>E(-2T7JTEVzB=> z$)a(YU-rh{2w+O)Vo@jzfiV2(oaQkH&A5=Foa(=i^&4DKK+=hnB4d|YZK5s9e*XPY zgRmxrj)E}~5p~EJGH`-UrxaKsrfpBBJy{TJO#A4_=9iw&tAJ5bN?kQ_2z-|6U!~00 zM0At2Eb)bl$x%N(*UG`TWB8rh7S|AdYBlpSEo^%yYaxX{!js<`Klmi+9-`u_gxm zRQkp7*J}mEmtK0cDWeHPTGfjgHZ2D!DStY-BPna>*vhq}4|2M|)yev1ls)|E5_5gRGt+s}+qb)gG1Dkf7t*CoNAp)1LEb&&TK(9==4>mjzZafLmi57U^so1U>TN z#_v`YXZ$=;{orS{OFJ_q`&*ndZe7ZA#OT|?7QYGABS?ztbCA=5MhYTV{lI@GX%!0J zE#xXyLo*I*_Al>LQ1%BFQ^!vQ2r91a+8k# z6@!7JUz&7B+9SO^_6C&3#Vm;FJmK)QuMNuffuC>JQbg<~qiTIUEW?GKJ5e?yTf4{D z(!i6qI@YCN@eLH3PCp&_G(AjHUs)1qIK~9>IGK<80oqkz8kjKhw)4IkC{&>C{I;Ha zbQ3vn;+I%v+{EzCh1N}{bT4Vn-OXzb>^J1V7H4avLF}A$?_3N|k<}OB$}Z@Pm?=J6 zqD6xy(Zf1|6HSwW%zmX1KSaaR1tOBA!`-XMBOM}_o-7e>7b_vJg*$QQR-WujoPv#5 z1Y%B0Rb3K22T9&{sPC?4Te+ANHd}tBz_?OpbkH@(G{jAoSQ+MmMET*nIYy1rd8zp2TLuUKk6~dd+Ztte%VwbR?80!LM?_NGpyCXdFV4%< zd*-nwi92!l<6Z$8?=73yeNi#xMSbF{SraExFhcP4X3hCAA5!%2Xyro^g(S2C71kfPIkO*$W6mD zO_$-2zNoW+hRMyvjI8?x1Y(_Y!gCHS} zZtqSZqZfDfvauDizngrX76FGbvs&InUOxKIwp8Xnd-y5U`98!5kz)u0slxew;mG!L zpqnInJ#j7*qWw%|BKPE>3y^?Cyj-LE+kbGlZKDCxIe?$vYtOSk}%7fzt_=*tWQ5e-BYrsfk^&WLtO0EG+(bXO_fC22Yc8*Vcf3>z%efb_#V_m`mv>QT_ zHn47%`P|<>H5}dE6MrJ$1f$-%IxEndyTVeFaO}y`6n7NL+(}4>7;VOdIU(|7r@Y|` z+aviM2I|ra09*`n@}KvLSRSb4%1;K82rH2@KvXkhuimlEO$&UQ9>Kwy$pmd7hTXbK z{zn7jU8zz=eR3we>WTo{SNg+@!y%gnGP)^Eci#kSoJ*~hIweFtK9mZX36iK41XKI{b(|`4UJv7|HGRW9XNZ1NBvTVg=yB&Rc7< zNz<1`gcl!hZx7$mj>ACRYo3h}>yK^6#dw4}TGY%{Ux=J(1j2!f(R`K6jzA6N;%kKx z>g6f)Zr@4OnUx-=7@v%Us{J?JAAi&LFuyy|Q?j`l2;Hsfp5;Wdm#kY`FJKaln>HOM z9>y82%u6yc$uGTpOMm+BSK;A;W8dE|7pkF$Yh)M^ZG%h}Pj8yy0+WjmkAU1_sE&oc zdC>%~hsZ}?sKpXanVX)gLva}>vK0P@w8xl&&!?Uk9*uTv*a^#2gs`+fPQ@*ipwP@* z1gk%FrZ_~8%0u)Jb+libP)?<^SraQk~ zzTo8yKsLjee(tj1b)Ekwrww`bWW7}UW+zwO17OpNZLe2@^Y(5DPw&epv*g6vKeZS( z)y#MG2wC*dOR~f4d$EfS*+x7i*LQjAM)u)O(F=6nIHu+j;@0$tFZOmyHPVY7+4&>& z#syxg2sft{aD|g`U>0`A`zQ%HSj}d%UM<^7uYS;C9<9_RTrIn^9e8sovLP7W+HLso zojnD{wP#Qv*3r}$CyqUWz9X*dxme~{RljXQsiiq&H5=*I1iB7_D=}X;z| z5zQDJK$ERjFFvPc?d#Lqi;Sd&ckPMg?H#QAy&$&v(hX$Bu0Pjh%*oXa3e5ediKVZ5 zauG9_7^3CT400Yb7b!Gi>uGb{@Vd^sae~ih9K`Q*qnIF zuA?md^okJAZy#J}%Bg-2E*+_%N5|d`RJBwF)%UADSzXAth)~fd36QDg5q@XOh6fdZ zOXap$K|On26Jjg?B9I!+d!tbU`s)72FvWas**Nd}p@8pG7AC6$e5!4|=f4^B_8F!w z($&t_rQr|8n7Bvkj)tfE`*+VZV3)m1it(xF2US|XMRo|`NIa}#4qnzIj^Au||) zMZ$Vt*XuX0`v4n-k3G=GA|W$#STL6f!r`D4f#>FW}T zGwTh7<5K2O*mYb}`@TSVcMpLQ(xIHv@}!}^6@$Oxj|j|G%W#JA6Vt%G4mp8EVA{?kKy2H zAKlOQ?1LeRFjhgZzQrcq;i<1#s^17i0ZXJ1mQ&9$O(;Nbsa;jaBQO-2_K*55p6!Cukl>2(2(& zUbA|g&A#+=SN>-*;&n^#j(z6B!A)nWNcZ6V^wIV_-{(#LJSP+Y#`spXf9!ydZO}AA z+nOl*V!v^Ad-ay1>?wy?aagAcpRw08dhLFiZTW|5=8@P-IH-;kaJl!N_ragYqdV z%|0#1Z_t8zfnVdad6sT-9H!X6t5Z&z?To=^&tW)B^}}%ek$~(*aJAD1xgDkp22t`0Xr=1hByHhx- z3Sf!zmNVBHa3eZxq#2BRut3D4*)N6j6uEtM1rc9-H&-v^>@yWV^REY zj0OQgOe%UC99*vFWxOU89dMJ^?M!@rD(VYP*@>_{0H2%Mcq7mus;a#P6p1v(*EQamD9xxeaf%L?(M)K^BxES7VIZp*g44&$iJ!B5;~ht>H4? z;6oG#Ean%-z8q+2PG3@9U@t=f(qVb@x9*Pz-0;q~wNWY#Hs36a*0>31&tUn0J`e0{ z-D}AGAUD{c2m7%vU@J`hHsmL=?nk(y1m8oWwC|*zHwWRLm>T@uDMEtn+t#saCUSlPrh@uV!J(R{0t z6dGP&=j0<1D@;3_{L|R&bfVDei{U1I`?Zm+0d-Hyw4hmssxps~qKH|JBFnTAIzu3q z7d3#?8{pXFwTdl)k_zI`Hx+3$tn4{OBvPrIgvQ=fHsZ&^4lk==V)p~|L?EdxEOiS zWM5e$k5rWG6W|!)zx@S3O}AaDFF$-TjudJ>qsiA8@QHf#>YKOhTvkJzkSY72INjB% zj#65U?4hqhy)VHF&JORnzxQx-M%h%cCe(oYY(?#wo6qZ2PKd3Bz>6%{Jtsz`8AI92 zBm4SW(m)X6vJF2P(TMRt*0UNYm$KLcXu7Y4Ii$H#i7QO`{l)57^f zK~SJJogAQ7k-RKhj6d6=)_fZu(BU6Zmc&r2K8Zl(dzuD^kO(teh(+K+ z-sZ3KpC!5d_b@9bcj`smrH$pj(+@v|^v6|t*H6^pg-}SO6bb^~{GK2uC%euUcR|zz zMCN7cFCOvVM2BGKC|Q0J(zg|*Dqh_{7Tv&r+byWeD%K9DY0@hxU&Vouo-ek$`P1%ihiC(X1CLsCJ$lNt zHN*xmJC_V%sU(o(2aILe3V;0qrTG$GWp$>jv07`lOkpahXPGj^wOW-fF2}wz;(|O5 zxSBrd&sQ-v5itRu_ejh4-b)PAT-PZq!O@kOp~fKi^hP9X`MaML28RComH&s(H&DR) zpP<&T9zoZXmDK0#q5w7=N~*l@H09k645lFO9ti=`Ms&O2*ZYxTjVnxS+#B=%4Aj2w zdW5ggo8`BcP7k12ihC0mvnK1(0p;U;Cv!rQH=P;5lA8 zc{}p*v7cUYQ`*<)ZVTYbCFcG0u+U}hOMLj9(zn&mY+9T(Y-5LLwinv(_I1f8keQnr z2Cm#T$b?%@Dxq{Blj0(M^1gKYR(pZ77J7%{Q(AjTCK)5?U?`txp=o$?$4m;sqq^WA z-H2xs;bD3)H||1tQM8~jsMUWx!xPIWlR&ou8m(8KRYHGNxwg0dexoRpxqk9`AFC%d zG;-@{N}7*dv@vMRU+ZiNIW@S`(S60>nd?@Vo$CnMH`MVi;_ovK#*eT%L2<`1p^1x^ z^oYx|H>r^YG#gMi4XDv1Mg^`Oi{ig5%6damdR_t-px|f9B8gI zM)ONqa~%Q&^%$OUry}zsI6(TNtN7Lo+{xhR9ZkoUdz(?m zym_GD?Mh@@DY8V=i%Cuy*lgDb zpQa*>si0;&Z%sH$7J|S7j2oZ%rE1H=m^DMQF*XXv9Acx6-EXqS3h-uJQ$b5e)RK@gm*ilTX54O-byH!#kda|BiKE`(>uBGV#kp zJ)pfD%pgr<9KJqrDlT*|Ar_58L~UkHYj#0==b~J9KFCcB9)^|6f_E}h_CLtEovr*! z-Sf0R!rJE&nBYV4yzi%ehpCU<16~zhD~Nk~&~F>;yYnZ=J2UAIQsO4z61%O{2-9ZS zw6+tK8}Lc8s=uWcwW=~c;B!gX94UVT7-?_*9W5(*AQc4OOU~5Y@I6rjd@CTa4q)ZJ zXtS+;>+ruo-R!MMWmJBCRvG4N9%!uw%kw+PuV)$af161lt~Td@g5Jy+^(Tpx!M$=@ z-R#qT+IzNZKYpaQ@Q>dXfLa6b(JR)%)(}jb@+6+*P!)Cc<=*qsfLX5bM43kFJS|K^ z6lS&bTgGm=c)-tMmHpUN{;lj;KG;QoRIS~GRScJQoZF`;rN%A)*O7mQG4pg$>i}SU%X@kb$h0 zK_UC@({MkoQ5<>BP-^Y+iAy(0yVzpB<&?40ZppbG3XKiYa5H|L8k(gT-m_1)vEfow zq1XbAl?I0zb?|lzB3>`+PrBJMSZ9>26zXf&k_7?tu~p85eOotNz`B!3n4!=yWI_ML zWP+;WW)GmJP548=Px^wR@SC@_;YHcRhoyME75qrn-FyIDbac-T^NWc&fTd=IHY61W zamJ1*+q=PXrsk|tY zdj@G3u3*H9YjH6H{84eu)$9oq$i7vYXEcpcm(Ue1py5(PFeSTnz-X1NpvG%?mGQR) zEBC2x;j~5?j#$&se=G(J0V_;U*F=%SYch<1eK?RaRJv{v;Dx!K@WY)=dv}n$Dy^q1 zyeHvMbcY?G`Ap5JQ(~am*^^;YhWagshv@jdVT*z0e(`VcxET3AfxUI*f(Mg21c0PD zZ=&wUHGmxQdt^^hWEnfOi32`!a{1H1{U>1iL{FPy-E2qT{0MaJTx`BLYBBB~6ZpB^ zk;)k_HgEITUIwHYgCTKM40y&|MIigE3j`ih09!TJ=2-th)oS77BdV@FdMD1gZ&#`? zr)N~-=6Jb#&=t~Lw5iygr6~I)isAWOIBa2z=%ZmVWlp>oI7*((3uWLXJ}~vOJzWM* z9|Av&if(VeAnfSB>K7Ja^;z|&I!!?GPaVv((vEARhmrsdI;=~j`~6lemIjB##c5Ih zcOA(XP)CBKJZ9@vkO@GM8*r1PJZ$wwK#W#Ezw@$t<`$ zZi)5Y)62P7VOu0~n+n5;dP$5WatsURv`!$b0htt}2y&VAu1$>_H&Nco)Uhm%y)bbo zcg@1%zeh?rxnJV{%5W0AGySskvLL1qNuW~)1FkP|tr7YY`Z1vz+oL>jDXqsz`^QzB z&=gJ7o4SC&o*222L^+;dOaeYZbsNn(HdIiXm1%A_{ec=L%HytZxV=CASJfoJ%cG zFzUmKJjgG2O+BA2WB}Se^KChh_RD`g>wk0bmp{l^zcCp6gJ$I?yNtPj+9=I;=YfBz z?*uujg8nV%nf)WhyXD?L|C_V@pKt%~^cS!y^xlEk_Ghxcp(K7*wwtv(d$jUj&z~e+ zIBFLka3AqKz)01HQ+Qi8l0FJpM?}^^4>cTX=odDG<=!$`qT)xywdP!-$O!)`oMD>x zpi%IfXQ2p33A#dv?BMQAMjTzjFYFsJfPN5o>jinbQ2?c;pc;=A@f=8LXK zHz5$(GpVEf#>oyBipZEr{OVjAw{ym3oF1^VZ6w=(9WFy$4}K-awv~zP;t83iVbQE- zi>A5-t^tk>u{I1bYk;K$b(tcUXT}fjICfcAceko9sJVX#wwWkzCT{Q>h{*cKm5y#C$Y3|g+8gpbk9Mf#f`(&&66F>ZLeh>Zz?14>t9INAQ`1Qn)K4jOOOJUG}@9R=*2- z%V+iPUX z4<VQmi8*8?E z#Am98B1;bX@-`s78_nbX6mxm3Wnc+Iix`-^=~I%D4Ah>Z#~rU8J|a%!J5=54k=%2( z4(~$LMty2x+#Azl3&Tpnc}`m{x7<3n%s$9{KQT9X#B8#Nt z;d!3>{@vGA(aKCR?2g~E=r_0Q+v@j$ISavHxIYSKHlK8EyU1mS&)&fYnt6K_CZ6LGvjoRRz&}m10V>#V)R=t>4 zs1tMe=MOgJ$*jz|7r@l`&0ZodHh|E&pb`j$`E2ZizWv$mch13yEkVd7&?U8i194-IroAUZQRyELA8d?c^KeE%j{f?cG%aagpk&lqsT?>mi8 zescV7Wy~narAkMV816p;_pkR~qmZLk(}Y~FRGblxMTadyid8pA6z!;sLW>4)pdh|E zCd#X8;03=a$kEf(gN*j)MAibk!9gE)m^-)6-Rt)6UT4xC+S`aVpB+T~YPSMLx$Lqw zo*_d$GtYw^ufr5lHoDr(h`7M%v5o&6Q883g<5-<$uZxh16J0tc0T5O(#w>gZG+X<_C4Z3?6%8HTt34v$5`{ScF&HlK-JYW%|-+ zeL!~?u>u3A=_x>sp?m>ol2c)`g|CmP$a%YOqrDz59HZh`N<&T_Jsmmh^fF8U3EA`p zKB7+FPgJv~MfD$WRsKc4W?WyDAMk~~yH!C4QIxH~osDV@Q?DpOmYd&)j#t%JE==jN zf>QCWHMY~x{Zof67Ya#fE2Z`bFWmq}b>2rjb`9cGXkmp>a?RhGU(+&V(UC-oRro?s z!(A^3xv|GClI;c|GbDJ7_v8rak+(c5k+=D0vDLOd*WpIQIJ?;Rk0TA`aCvHh;g8f5 zXZHcX`D;(0oww|RjjILL#n$R~Pf0xA&aQwIL3+`0gTvYAD2%Hovc&c7*_Jj_BrxEK zadn|Svm7uY7S^wmBg^o>uq=q_BKig>xBn7eeb7YNIfyEMN9BntEoO+hjn;VJCQXgh zG^zd!sFVC+QyM!)O!3cuOI^lb#1D#;ihCd-Kdb^s2JHhBN>rQ_E!EXEmF<=G@L8Hw;9{W<#fMln4>Mk zn1rGucl;fa6wzqEo7R^QWHD?oQ#9(K+9v?>SG>>9J-7Y3S=uFOtVSjWU2 zkBnsNCr4lvCK>@e+9_-G_kAwCux?;v01N^!2}Z!_BHIeg#$`Ym?VqXPHlJC$H@d*i&T@rK%oWKD|-Dsjq}G5Q9SXmsieG9$9yoKIK>?4 zele0bK@IFCW{$+0!1oqRr=U~PWeI4Y+X4JUnNSh*LCg!#f{6lud?8#3dH4R-An8^F zeb57%imw-1Q)rd(MTSsDb)hZx*SY_D@FJSoN4*?=YM4B?e=hmsu4IcF5tq!1ss^Ww2b7J1g_F>0Rez;CvF&U=Ed z=OIp>`230a)vD5L?s8NL7#khX_qvONIx2gOhkDqm2~^_&a1rtXo)7b~Ng^8)B&s3? z!g3JcFaKkVaLxVt#z1*?2?-f2*l3jd0StXu#RwHDB#RS)fMZ{Z0q{6|tftz7Z*u43 zwv5y9q=cAr393TE!c_Ith4pRAsfqf5U3+p(ONN*2{PA+F>bnkx!2AH{`h%(>nhWQK zu)RGfzoKUZYmG-1Ca4Y0DiS?>wz%%xEy#-_|1TUDroTKPeNOu2KzD0CyF7o&GR9xD zlv)o+alMNls`voWzdW*u3ngJ?vKmrWFQ)P)%mNk_4MH{O2oWGt+3x{k@eb1EtGcv} zXABmABl%n6zz&vZ+TXj$vv4;)=ly67T%mevl@3+qE!BidGVAcHTSKcewj-Rt2-U=>Isgu~rhfON8~+i>A7osG;Ht z%m(q$WG}(J-_q?jfY}#1(Ek_DnHETNVillm^q5FX$Q8~?{T)r(E*YyuoY5c(^8wh3 z_b4-jJg--lQ6m}f_aI159>aiAD6c{y^v7f;^ zmpXO+raEnAf*$o_A6YcnIBhaXsK5ZupxkoOqXfKipwh$pat9H0?KtP0m2ZWo=tUQh z8p)IN`iHeqFtDN!A(fQL351#tl%^AK5er)L?HP^k+!*4k8%%l%2+6y1MwF%w>>b?68r9h) zTnvj~XsBb50(bU8WiY^&-r(MDnEkAAd3u$xRpHStsYXZ3d`V=5AC{h0?i=In4)q{k zzDV5nc6YlC^~zY}rs#dsbD9NBE!aOlG+$v$J*g*w0F0t42+=ZVt7kgUb}qBK01y^K zGG`}u>A3paH<>P$f*x`TJOnsA4-WtfpIUcbdgFz)4mM8fs5rIc03N-lc_^UnD@Yn& z9B4FNEMM!lKoFxyl{ zG7;mniyd1i9O{S7u3~qoVDT!#m?X~NJeL(!e_d_cPtQD zutTlAW)2Ea-i_|g$R&m$gjt4<3r?dcaghsJyTg;j(AU2*9fo!OOSvpWk4%rX3f<%L zA2*B2$qw5~xBId}AFdsLwsN)IU{3r(ROvY^`w6k+;+GojeK(S9VC$illtV;ACugaV z_Q4tn7)*rj!WGf`wChECXX?ES@EL}iMEziQIvO(8#hXj|s_{BQ}>Hafpm|@!25O6~+Nkspq#|;l}J8{8Eud3-GM~ zeeUhYRPP*eIgV&x3kLU(esx6T4_|6>l4ssqMVfu6^9E!toD`+9s{p=`q^*C9lzmNX zeO%Y8bC#CY&7-?i_+(rWL@o}xJ43Y=bdYI!cF2_0Oh)};K>p1EktW~k*GNq~Ow`8~ zUyE2N1xUT4aNn}L&?=bwdQOgP`F;Um%^_?q#hjN2WyM0Z#tIOBEAEsa%qohQa0lgqBoC%_T~L zV=P8{P(nmFeXMZeYW8C zOqh0CTc$w+QRxM7`Dtddt7pi{vnD<-m45rSv{cFr+?h8CCKP77X5%>Twu=*Njrc4 zfXM+8zXBg*!p{_o7o+zGRCgiq@J;T4`a;L#&J)Pa6p_ z;AZM5`+F18N<=zTW|dP;S`W{DPfy{;030a!J_P=l{C*-~vRM#omK?Dw`}^FKrGqIC zs-lxBb73v4_CrnD3m2`gLPARd0)84@;a8Od0PLP{mj{S*b(GPS8yDVSYd+V?w^kG_ zjvl=IE$uq9cyQw{d`1;*(T)@kb@mDXfg$;46nh)$7YGZRf$twOcS}#$=r@KO#vEvb z#~?JPee*(a=4;E`z5(C7i+e_k<#-e`uNPM{+9Po7X;@qISG_Hw+yfkhhg!%4+^~kdErQ}&*$KU9n-sSL|qU1F@ zC232D&e*+JF<-)+FDq)&8U%ws6zG-76cC2HWAV6yK0}<3bE$ve@a%VJeAmN*q(^Wp znWXHic&KBv1cYWum5KX9G3U96;e5i=+6{_@KI#Te;Shy@X^yATZF?Ue<_ z44H;&GCo#tzR!nLJ)q!P@?9o&l3ntog#eFty12o`N6Du-CTJL!75c!;4N{#qLuZsf zXrDUu2^Lm*w@!*!PZUE>*5L|k^0=2;&;3LN?z+Scs*LE|XR6kt^UBm^U zU3HM>Ct~M-69QR0X?+o&IO^il=kbq-l9x@{4;iK6vr^;c#9fPJ8QfVk>`%m*h)0@t zs4@#~yu@;hDufN-$@64VugURk$o#^+Cdjpt%IKEM_387rh&T^udnm#JpOU+@kh`>; zRG`ni!dPBZNeG(reNz6*Knq_d+tqTsNKq2R)IIq0i&?7)-gx@=KtS}ko@_tk_|1O7 zB{92~7N4)N#PEQ{FE5z8yRTn8NMMBxx%qZ73+{%7e_$9F`n>;1nqrly*^<)vt zT{uxUhn4D0)vcEG7{ign+6H#K$q+*8yi~Xytmz zNyxD;lXtpIPYB~}Vmjz1I=n?9yR5liqcMt_l0c3|5GfgGZMmMYbTiCW;8>+C_0n)XNZygO9-V>ygCk>a)DHwOX?N8@L@t*aO%^Gd9x&d!#D8 z)n#v#;ni_lg}~ie{90hfgL&c8#Jdp-j+w9$f12Y531 zqZHC^h+n$8b@s)xXVD`O@AmB@1odf&LUZMctLZ1JML(zi&@--OJ=ECLAk#)lY!Zl{Axoh*8sK+b_Y7ZCrc?BwYO*ula3%vZI*VD$C0 zxuWlbK407LrX)!w``*%*$sueUu?U;OFPS#<>{-gxow4s|EPW9o%fK0l z9zLjuxTCuLrH-Bvqo0c7riLVLUh8W0esxm!&XtIO345o(80naWSH^1&0+F@@Pl+eX zmWn4~(B7#WfPz_;lk;=NThqrZxQbEX7pnr;1J1Ee3{00&3-Wfx2VOIrIO7Z-FC$q1 z*`SWnVnn@wOS_Ou`6Vv+*|ctQclN^?dH+UgS3$8;dxU=sInJC+DjkCl7jh=jIRPaw z01y4C&7^_uXBO}oQ~q<&>n+cD4ba?9K{~rK#F~FtUOwl@|J$d3UHxYT;}byVlkGp@ zzjbte5?8Q%!t46$8e@<_e;|b(pSu9krSQzh&1}+V0R@)NKNMI^AG*86=bl=Bc}I!9 z6woDHvki&zGxu?y19G53mAMs6H<_3&FrOnLVy+c#_elSSk3c03iAp(PF~{rz7@l|;DMvj-@~D6he5o}oFM@!`8$ zSy^t;X+EwW4;^UzpI81lShO=^v1a)6WHl8vtL!%n3)p2mv;^*nmml!{mft55C@J zzgY6G!mG=B60c$M8el-OVr1F9oMT0(W$-mxYXyzaPv<|0Pw*QeoFj;{ifNiC{C&|Ikfl-WJFVI{is!q z8kU@X0)igF3|aGK7Sj&tT5pf;&L25$E58*NWUcX~q7bxbtF>W;55D(K09F||WokF!;Baeknm_ZNh~`@+`T$L~nCp*_wsDFDp(*J-5KA--p$b zpcZPkGjJSc?#!n<_bs(sP;jAHXQp|Q&D+A{Tt@O_OOn@@SS)s7Br(0b!?!9INnT_Z zAi&6dn2$4$j1*7Qt(2tVkhSHAKtG;{b;8P0_6a5Q1}~>qV0j!%RYXv$VMv*U5W!+5 z;39L#WEA63AC@`bX8Lgqy2#%8)g%OMYU0o7RSg=&TnjI3M|)kw5u?g-R}wv7P#5ql ziLp$q17>@rpNRi7%ij{)?#6y${aHV)d5tz2^@aR=S&g-o2s>yo za$Ur1)E%5YYo2;F@z>4{R~Nj^$~ZZ9K_wwBOhn8&VHt=+t#uma2CW}7Y>$6Ap^v?s zwy3Nx&Q#h$Y|w4TTee0X*2QRlPo?{=H!troYM1)FOgZ&{;52-pC$$-4*!28Xp!n-u zhZS@oTc9*%Uu2ZzmU_T9IX8Gg;_* z-;A4@Wk72GWUDo}nRAWpD+?x4pziRHR))LFYg{C5woc(aOf~=g!*@Ht3 z-Kj$J@)ml!J4GY4abz)w(gt_4l`RgW6Y6r-`dR4%kEv6QsV0F{A%4$A-4<^W{4e*t zYDZW`oLdO8H!w(A6Pp`7@z?ksjbj;pWnp4{&mKB52TGpt_B1`28TL9ql~=pW0L5qR z&FT;L!6t(*kPU#ro;=Pu*jlWh=M zeI7t&R(Uhrp!9}(Kj;kg9Up@mI8HR!nN+AAMv4O-v2UInlstU*x1`zd z`RQF4i1g$hC<=J#?-oBg_Q#P{M;pn0@8`bq zXRr9hqWE{z>DLn?@YEkiyqnwVdlbh<9EmgUG0%+%c}BE`R3XL7 zP4Ypz%fOI$e2AqwRE;(+w^h5$EOGuL^Y}OA`2@)v-m-HABzm8Hig6DHSP>C+CCjGVZg@ zEuos8l}>-LV?U}^cIN0Fy_NZR_D_s<)wtfgz_0p;El+C5i)xvg&&Zb~qwoB79M-J3DoBKI~`aJ-WFXjEGwmo7)dMXdnMbPTK8@2`*4g z7kuM~uI73EwjVQxEXZYSS8+1yrQ5dNNS;|IrD0|3`amFMG=9f({;}U!*dqsGjX9mj!#x!9?>anzvRbb6vwAP zV;%cpp7t=G0iy`Asko+kjaXe5$aM<{2lsjX@48F&JTmyw;LsbfSuD5=sUSzTnNwI~%SY7{zAB?Ns9B5)} z*--`K&C-L+xR8dAb2+Lz?3Jv%l)VElZcf#OZ70GV;|Dm>Nh>+2s`jUMb0I;5!&qp$ z&^lUx2;6uYAxw-7`Gv%i9W^SBdqj}#V3R-p&w=g_6hnip` zi(XDQz~i&DV^5u9B3@~lDVl8Z+f2t7w$$6y#ep4FR^*~(H!+wMJ7o7U*T3h*IIF;W zj$KSd5CKrcz0{n;?(rm6?$Bvqe%Ffsitf}^-3=vnIJ{(6R18IZX4 z@oKU3!_`TqXo0Ixi@j>&vu!7(}Ktcf69^cQl?Fu5r9)z080Q#?ktkYEFxJs{{9UV-Uq zG=I8vZNKI5^2EN|gn#Dpq~?9cIzp7+U@C7Sw948fdEaY~; z+F*S7g4S%B5iu7uZ05OS;zi`axTU)3Gn|tzxG0 zB5PCso<=FIlUdmf3;B+FP*vN!>3KToZPJNiG`AT6HV^~4l-UE{y*?Bg*#CeNNx zMlt}E$AHb>F%3ARA`cvaV}J8%d%YF+mtM(dN#3W-U#apyG^wT4Cn4*&KOZ>30;A!ITIc!y;Hvj z;>4o%m$`@5!^`bikoSWOk{7>tvZr5k&6-#BiKYVVfo%>nPF7%dA~-&<)N-Yidg_x0 zGz=`_5M$4W(rsvsNh+${=xSL(06dWtE#uU5i5Uc$$0r_x&3ge(>fv0$T6lMp`!*UC z?F}Rqw%m$e=N8d?g^HLo?~eK?7BQ%%x&$6{=!@8;1^u^X3^3u%2kU(=1fg??D1=5O z<8$9*pU0j;1lAEP%BBA{;JEQE!|-UTNBB8Pc4~{MPNQc*og{oho?Gq^_#kRqNoHt- zTr8skn@Pxse9(M50(c`xf)BFg%$ZWIOk>`+>eG0nm-_?DY0hI6tX>q-Q5ViQA%)tGPOBKZ|*bp4?l6K0I(_(SFWc`mLPo=CtA+~IN zeKo%{LUtJY?)?Orf4TO(M?eR^!S@`~R~S^oqjYHDHJ6C;G18;PLWebFXkz+!62n*C zOO(UL$W!IdCaC)Qj{9z5s&2oPEoev1+d_3x07Q1+?9p9Op!*cA>p)zd2_i40z`}0B zwRW2~mWg?KNF<;Y1S}pvyo{T2#u~dJPTNCtFd4*|ff2fU^=@DNqyiY8wg;rlV*;(c zi-q0*H}cfkrhBitbRbAy6a4t(O>Jg59@f)30C&cueRnSE>wlIkK2H+?r!Oaa<0;iu zS_(>d4w`Tq>S;2`uniD2ElN~JCubQ6&v9)6A%!>M{7s>Zg&wr<8S1;Eo?vh37d6Pr zfcBe@9US{p(c4o`_v28=?k^dSYg_^t(Q^Wi{8HnCjTpDGJ<-;lj(* zFyulo&CuZB%>rVQF0_Orpn$&|@cq5*oQWbVi<#!+^53H6#-Epo`r-gD3@nOR41U_T zGN;ndf;`(eG9B2p@$%&Pusd1#cELH@oYcC(gb&POw8&YQq)tt|9Z;B2xkyL!g!Y3^ z4`%lefGAQZCo+F)ksfcEM*zAjnXIl-#`fK2aANe7vYLQ)fXq9LGlC(pv(pTVK7mh) zK_1({et-Dpf0j~!V8^75LrF+kzjcI+ZwSwS7QWrG`nP)6)1QJWd`$$ZgKj~RJOEZ7 zqG#JTZ~>cnU(2yydaFyu>uR^2?iP778fIY+BM-GHzVt798v5DV>tfbL225QxR*p+? zvt3Ew;R-?8NTJ^afOE54JMJ5tGkz{<&4w%`^KnuTWQqEa6{4TX@;uB=k;g9WUn^AU z>Jf_^gv|%XJgM`@yA9KHkBYN?%B2;$f1Ys}Gnm3eB#MbR0O>;n09K(i{UqA4WGFWp z2WCv4Y>~4|(IWpELpx78_Q1l;HZSCTxBtZjusw5K7GGFib-{EqdfY$8F5#1N;6%A` zsY%4+^#-A@L%uJoYF82G-tCB3&x;^cCg66qcwmsfUD30wAG8NcebLXlszyUtWE_iy zeG>Fp>%x4EZk?AIceLhIf|}11X_@=`opJ-a@K`v`Z>Zn0Puh;b1Iy6%>hvphnu3ss zQff>F7ke$G;JUvz&4-AYjFMN{Rs)ZXI(y#m%Bm05da@XeKGlIvx(A}xUk;G{2Q`u7 z4q(Xj=;$Te*~rwP*f=nHY` z<9pRAs=}m``-2)67X~Qt)s0Lq$EgNy^OegXcj7WreE7djO`IrYR0_}J!{SZ5oh&w^ zMztNq6E}&6^6)$7FpF>nqNz4&&y&3|QWb65K zutd6;c^R^P8PYib)bx{k8k%*5-ti+9#g=Xz+R^1j%Te1}VRnS4+O|mHMA2s++hx)b z!%=f`%$>O>x~_6fL}LYM^{}g{c8sV8#!MDh1@?K_&^V)e{gw%Z8Idsp^Y^f0+R>pQ zYwR4qR^OPL-Aycd6t-c4c#)8&Z@LWiFxP&lqD9a<=k*mUXfuBn?I1ewhAZJ~hp zTC*Xc)wetOh9?kLiH1Ud}KPzmqCS zKmd7?9HOnzXW#-bQv5pIgB5x;$N!SIRRh#{Ehh&t?b>b?E=rnlENHuvaA}kr&={)` z&_#M)AH8@nhYj+wEhE+`61^VdYI^zl57+jX($4nF@-~iw!LafL_70Hwt(vLEi@m%z z95A0EUW_6{FyWIPmh0sTL{PKP(ieWRmBckY9o5LRNnnGU?RQ9Z@olMua1MZEm?RtI zH*d%mM}dEfQ-MQH9&&tQ-pfu#LCMqTDp!fBA`&n+nF->V8-4yAE6ZlU?s--kB{^)^j~__8nGmHC8RF;tE|DDR7)!>ho6dg+AphBomRWgtYDSgMoY2 zV!(6^|0apkDE?CF!iXSF1+5AclRnNa7Llny+(pk`F_DiMn86XfM^_nSrnL!-NH&dY z8h^H&k-Q9q`%8#2Bwj_OzuxO)#_0-cCgSDdQn_F|yR9Ay2)|+Z*p$pO^y{JtL?6Bg zcM{Vk%kmc6{f5&^9Rtv?e%-X`vPKsTC&I#?qia|NLnq55z9VCndmAKVmf|wrYF7Se zvvgz)rR&i%3HdC+e($jA8D^;{?XVazk+pj%^VnHCA}zpeorjU^-PnD^;#)tuqa#n=R|w^6XU)?M@i3; z-Uu-65Q6EPVwaO@M5ICE^H|LrK$)U_RS^83>|B?!CedX2(}ciQb#H z*041XU4SFaGsDk+i?Kqu<=>(~Rk7Ue8h>Qy+d?hZNk6t(PCyOn)@?*b(UT}!R#*i9 zdX{^K9AKqnDxz}!VlMs%)31y7boDM)6hD10G*^T7IKWeA z-7xck67P{58LblFLsxmlMcMBC;@?9t{&9GnIv+Mo)-#YTmGomqf$F8!A{q5u&o211 zE881e=n^#oHl>%%*uynC{0dMsB4o6ig)KU1BX~Y{Rm4JQQQb(YvViqC4FRWT z$wxM!-F)*qXv)LRn1j0TEi;&!v6uO`t$dI49 zBEPvBdzyttpV(n5OrLqfZ}5`0hhZx3DOIdRiKD{XaW89{bEfswE60!442^H!nZDM= zXEb9f9xX_qzCj2zSGB1LvmhLWF`FxK7HI9~#8HwwSZAA>56eowoOQc;61)~~F#6SYK4o!RV9__zKh~5xlDnXm>`+S_^|wC=icOqZv+PU0 z#<05dKHx78*dBh%u8+9fK4<;`grH|987S5O4C;49x}fKWX}@OwkT0TdeJ4MaJD%n6 zDrWYNBMI=3{^pKfrw;+ey;**m^{>s*eKb!^d?$G5d6Tr&h>bm(7R!Z^6tF{ZKcyvn#4j;sI|EdiVq`OBU-E zM;$5`%W}f2hV6U;KPYNO;f`1a`n=Df?x(#){g>~GE=YsB3%{HlA8HBOeZ5;0LZw4| zGg$F!A+{R;ZS1{=Zyj(%%g1>0QwAP;m!(@`Ci5SYhkU-w|ArTGCvk3lvMs+645EEr z6r9NAD$Z{`6cHxXF;_X%wF;j;L8`cQ8|Tm#wV{LFgH1l-?j6X?{#ViqR6qHX#QXUU zi&!}q;G_J#T!`s7wTcfOdtV8cCUsAl&%6)cYf7JLthqg~g7dA2taOj8lWeIe^l8{? zGhYeJ&FSTr!ds2jN(3bypsC7E#+pazrrN3;-XZE4q@{@$Sf34zUYkAd{W3^1va$5{ zcei=sSntMQJKG)g1tr^RF;{}1V4Q`PSRRZA@(NS2{Qm2!H|ZWYTUA;LG5}@N3BBL= z%64ZyWj>4l`%&M2u$=$<;O(HzZpAb_qy2=AVb)H)7~X8lyWDs=TG+#eUjRyvyKPYI z-&m#((lZ8GSMGG5!p`#AVuC@B4d}n9IrANT++w_S9F>8oWK=&`2NL!}VaH(F)1!@p zbGc(|l5YF$aHcrWA@&P{lwcmNy{Bxe$504e*(g%GG0dCUcR1Jjs)>G96?G;E)_Txz zPP!x|3HnE+h~$l}!;Tts!>MEOF=AJKW_jJ*U`cKgRt}LjH%(^iE+;ODq!6uZT45{=s|hnL29^oeqAu{$5i~L)W`Isz-}UETJ>0 zL{1RNJwcZ5H>Q}RG)+^CiavabmEZQGuKYkYh0ZoHHkK%>33RUovbv~_Dp`5%WjxD| zmBx+q{10FDe}D7;TYrK7sj=xly_AoQl-D`=24>(L*>3u^hzTj`9M0sNdCj z==u&Po(MRO7+hcC4G5l_NM@&NmK%Z?J}{TK6`nU}yEJ34rpPYqsqXP+@f;~ER6w~& zcXedmb;+cix~wmB7R==tNh|??4KXEQ0i@y)Xgs5{HfKPggrCzm3C1A6KX535Y|!33 zj18M4va$P$bteDfx+29bn(K%^9aowg_|cRaI^!1#9AL=`Y{tt*Wtipn-k`}y1-UJq z=&)EAJZTsaG!tjSKCwEpBJw)ARx!c zi-DD4w`v2P`QqFFqBW20_^PhFB=hHk&tw^+EsU1zd}d1_`(Ay-&1TGU*vu4B#+vJ$ z)VWxs%H85_F17^kJ-`|5q5T=NivK#=ll(9Lhd#Qk-II~#$!=my zjgsm-GfheP)xjtuN)vW?&}$}#+#mc)gHFBM&*_IT09wKL}O>GagP91byRG=fLQ?FZI!e0Y>b@a&>+ zq)fucAyf2dgYkgn<&<;O$(X92)|ifQ8(o^yrnz$@E17|z$C?22(qnd2f&MfxWm*X& zK(mi;`8K3M(j=lKf2_Tz1H2``<}Cd^A!*Gk7%Z)^nkLrgzMFr;Z~=nYO~Bh-m$NaD zk(=F7S-T!aKbLi1@I#X?N3(lp(Z}sr>sc<30Q zQ{sV1yE0M>(C#G~;dw)Ml&J7FJz&=S`PxP;$#YT@(H2!+I&UKI@vl+#DmL&w3Sbx` z4Jd%GTW|)4qH5eeZ+_j$pA8!2(sTFvHL*qUm6R5u{`11M0yPhn?GXLxUr$J(f{nmA z)8dj&xu%qvmJ}i3PV!&BCRd*vZrI9H`ar?zF@4)oARAU&2=#$ldfP;;jx7=_h8`hJ z6FeF@F0FK{WdUT#QH=6Hd8(*P4i$-#r(5^E<_y-R%V6#^i@Wr_)&yWsW6lL}9c=D+ zaV2q(Z!i1u^e`8y@|AQX1{xx^s-1CncDs!}l6w1JZl!;J`YBKDzxQ?0G465)e&)|8 z%qL?j&-SA_cUo@PDor^51^MI1|MioPLm>7Mh<1n3?2YKB9xHPZo3?mh;iCZHp9%82 z)BLi3|HVfP841Bp!}hg(7mipXYX(kPnTEym$b~9Xv~CD>&UxUs)&+$5emK=};;Zv3 z(I%5se`B=YP(F{+k zQkowFw%fQ2-LiUa(hXT8<|r&ione4@4(x@xX>HDMI?}pUGe{bwELW}F_2Er_!U?j9 zy+PCR@Qqrqfax5Vf1AyK^?e3agVtYv^v*043s#92?|~64z&b6Y7K7StmE2n4!35A| znYaYJR&S|M-UUKVIhjmMadvhqgx^XdWVu!-_b)Gew)GTtc>jcj_o2+b?y!5hpk@>O z?jE$x@5RgrFmi3~Eb%zwpV2e-1{9x4hiyx$7mQGH0fdN(t%qy+HNs$tQM$x-uD?8a z(|4)@bhBs9>$FAwuI1h~>|OW-62`1CxX6To6ZB-D$*AY}XBNUm;M0fHgEaYeik)U1 zs|a_Bug)}7k_~-CxT>>Bmz+1qmG;RvA~R<#fo(;w-QK0I@12#%*NRxSFA>?m1392nt)PZoM+NE@-=FO(WFG1&gi&R@l92=mlnl!&JG_;2HN!(p5 z6egkLr0N^}WP6_gqCtvVArg4h;Yhp+coA($sGopdsDd zbik}A=Rg;%Rcua8!w(afc;4Z~yiI_|)BoLd$WQ4ARb3*!#~7n*Yl!GH(aj(U`NE7FKD zV>{zES=o}meW8n+K}pTLS!J>5&Q+4)|D`j$&Q~iEdn;xpg4Jsl;5gudx}SND(Rd%0 zDP#A(HmrL3uUB*PSbTMmfVwPG(xr>g>ioLdh0*aI^0Jt20o@KUYJ$I8a;plE|MH^U zQa<(3+ObnvF&7zFb|S2(;$CW9zHKWV;BUiwTL8l~A-x3ZzK#zh9W@x9qFcDBTD=Vu z&NDOmEIT+5cPw{_MEWaQ`J;_@o6?|)-de)gT&{Av_V$t_B=Yfc0B*69$Rx1L`pqYY z0UseO$SB2opo^;Z`c5(FnA?=`Pku`)T8IXU(A`A_4q|(n_>9g!oUmyT& znkWFjVJ?dP^kJhzju=s#)L3rt-%3>WGDn)1Q<#}38BwM(Le4l0-?L%;ZFt+RdG*F+ z&a;lDE&Y#*I)z$QiFhrb!G^aF$yl_H-Pd`CI^DX^x-663Wjw!JSJ6CJS_^manRzF0 zgsdPWJwQS=1V2HR^pug))K~r|OX&R*|JkB;|A#&U&PZMPV}+Q(%p=A~#!|`D6^gaJVU zHq{7&KmtUG$8n*DUEb5GhzdXDTVuA@N* zBF+l!9Q7lolBSmJ(+fJ2et;U^Bh9hJlXN#D;|%#2{l50ivR0e|my7W@;pyl? zvieOnxR=xHYM?cSa&mOvL_LY9-DvuaIs_5a2{whAIz-`0u*8)6pnQE>4+#~SPHAw} zY`?yWJe{#8=tsn6#1zF($5C5WEj6ATe3mPN_trhchb-5 zT^Cnf2|$Px<7Omu%On>ioOYhh1_8!?5^83eXn4YdCLBXXir#q( z0f9geRDI+u=+%&$4@^buNU^+r3Iw+xMLzan`^{yT;$3QHS&|dlF^HlSr~Q)IKC$I}@YQHs3wdDrQlV`Rp~fIqO_6Felo|MWx|sM_Y9k+&!6(N@F2Ej zXD7XLL$I2Fl5?p0I^d*afK)GRf8~17?)>$6E9ji?#>|8Mf=5gfN&I>UsR%u7lOTrn zlgHkcRmk$=i_SD5BF!J0DmL)s+$d%Vym{thK6|)YlVmennATE)0HItxG;o$HfDXw? zfmQNHXfpa(jIR-!z{;p!>ua`3JdG|1NpC60jao#Nic0c@rcfZ5uV%UM@o{eJ`Xxca zRr;QR)d-M+IMDj?uO@`MK@)|LOa1^qoc5V5}#r>~~|% ze0MO8SS}+=#Vq9XY}OWR`$W%7Eq?v{)5z7f(9wr^9=E6n)SlPi3?Yr8D||0Sp{y&m z9rq>C-9K-O+8EK!T@Er|Yn;D+1RhZ=2vUrW7yG{T9*;oS#FBJ62lxJb8MitKvX0h?6u zuM-~Z#)J0%7hRgx*rc-dVAMtVeW~+H@R31H-Qcokg4WvG$qk7Mq&3%|Hphz9_(su_@2xS2VC5@LG)}Xh%^tHu0=)}BTjn1I?&yPPi zP+9z+o)Lcgf^NM0J`Mo{rEn0jf>gY~B*X+L`XFEH#$Qk9GD=|D`)P_@yFvPq?*#cx$|= zRZ%znM!2@Dl0fYe6(xbX885bbRc~KE;_;fxpL7X)F%eE@R!*=o$`?TcL=#6qnEgkF zgIm_X(rU90hW$lZCRwM}Xpj{CP`A(y0+;Qe-p||%Vx7z-9?*B`wK#}HcABtHR?D;h zd)vx`*ZI%dMaU$5jHZ z;$5=Ux})}Uc3?LnlB6OMpVUY9;xem=A-Ms3e-6%{MA2%Ba{xnR)b9p<0pJRMKQTK} zU*$fp$;{oK!et2>@%45GZ1}}bJhnTmU^|(i_7C|GakmG#_Z4 z{bwK8e|_$Ma1Z=LT6rm{^j7`&NKtXBb=KFMCUHBmj_m7qMYX@oDF^pKxwFiMf5 zn{--W3u<~B62AM`L;6xDB3I?)jPN#Cd`3KvGF2WXhz+vt0i=^9kz(lP4Nh&8W;dT|NV$d%SSO=O zBNXo!Dh}19TM-GmeS(+cTSO$(cSO z+`=yxbNlhxITlR-$9^Z~W&NCfr_Ro4V*Wf!y@On4h=N-`8ova-f`L61-OTc>Eec)4 zP;--&!YABZ?cl4ggd4c>Wq{qv)ea&fYn!sicui%$&Xnsno8iZJat5Nk=eQ-T-sHXT zS7hsCOuaj@)!miD&Ggkt)ybd!$eYpoD@DO#)q->T+ZvCdQN=*L?W&?c%rsPeKO-;> zio`EZhm>~qROG*_6(3y-pR{)tsm~?7;0!T~;_sIl!+Hg1YeU*P8c^K<#NCHVbV~6N z28rZHGIH$@5D@h^dw<3Ljnt8V|58%NtYS`si&UNZ_1b2&>01*(aE z%M#t_8_13*`q;{Z@xo4J&z)<*rDO_A#+)kH1gp0wz9ol7NM;E8+ia0We1Z&~%4FQ$ z0FxM*b>78236fQOo#Jn$ZecIMm+F(o6JQR|Y`Onvs(_{Lxm8ap!kJ_C2p8uS1 zk)l+ew!VJ%7WA}NzoSu)!TM^c0(RfDJ4M*ra5lB9v$u#A5D+jqHQL@@gP^C$K@cnw zKxxYWKC5#-v+MqS!DnwajF4g400LzZmok4UQVO0>mrf!gR1n^sNJfOF`#e+ihIOQh zh|jd2Srz&fQ}dT0AFF*L=$Qiw*kPw{f)E$PKintDCdCkeI)2S(7GEBI{TCI?zdZ;( zfQs`linY&`00O|y@1XzkRsME2{r~gmKlW8Vc_QwN7cT8gsNf6Fg}ArAUG&*kPdJ>j z`Xe~$M>_xjlAxL_L>I|swOp)!C4DTy?vHG^9PdqZLVCI<8Kc*Oi*H->JZGu*D)G*&xBj%m8m z9I923QVozqt{nYJY%v%A@JVH4;B;yEH38HtI&_-E4kgDkJ%TJnc$G@}S9^+$I)jGk zSnpJ}GY_c;Zhp+6k)Xs5sz(8v@Q%Ca2Be4Cq7vc6Zb;aRvHOX(4SA>5eTC!R9Je+~ zbXA0`p?kgWN^>^2&&z-b?Fk%W8~K2Zj93B=|431mVKgHASYSB)3QC-KxgY;{W|Lx! zjH-6kJ$ID?VnHFog)BMLK&rL-YG+bW>lfRui{o6y55$P$hrgnC7lvy)y&*K2p8Fbq zCQdQj)i=;zE0AaE*c7r*Oz{Z&nfmC8@5455Lb^TAQFP+OTp6tD6x;j^mcF_&FWDKl z-`Cun$O8j)l5(-Ptu@nNln*H--(TyntER-v=d!UWuGeB}$UH2O+a5*4#cdGz32wuw z69&J=DLbQrl^4Tiy?aCF%vRSj!cGn&6u@ory)d0rppJzj+k^4P_{X)czdDZg-Y8xg z;ppAVYsj1*j<&{H5n{~enMm>!6qR3(@YgMfarV+IToDRC*p=&k5!$T zstPqNCbD+Hu2(y8&rIP?f~$(5wFp{&3>1O80e;>(BJi^c6_wxuLuq)faJIK`fz>40 z(;f4zmNmB?M$Ob>tcYa|fd=57a-p%1I(6jDCuS4ED=xp-o{Y`f!SR|hC%Tz+E#)1< z4aKb}QKTa^AJ;tOQ;af*39538jv~Y{jpZRWWi`uFWs2%e-$iP~e#0>9Z@u*hP7L>F zJ%M=Gl~uGmIHDJQg|Zp`S{ThL2S;0qu4ryhp-(5kLmUx3()E%Q6KbVkhkAm*kzH)P zGwIy1E};z(x1D3R1~a~}YGt`LJXP(4(D3B=d^K$TVMT*ct>!T}XB1!?_j^UqO${Tq z!zCyL=RS7Mfd=5%fkburv8Ge!ku|0^`iWOuyGk_`4Oof`aEi?=6;Yl7K+yC-peq(q z>8dvI;AQPng&vM|+TCW%H>_upqVJ{^z)EBT$DL?z!Vp^)bhR1bPmY|z<_q3^kj~v+ z*Ba({H3$dt)8U#Q?k8?x1wA}c3=Fmo(ajXYf-MW?pP;JR>O(OSp0eWr%fJt))mdyQ zsJprgftptj@bhxp$+P2^)IMK0{_?50bkEyuQ~@=5Aw%0xQx?=uNh&ZGu^b~2BrFsn z4>op3G3{^l#2c=a^Y1xwGhUZ3u|q^6UopQ_sRPXOJErwsDvr?3%_ne2S|jqj5UZrB zVSsNlN;IvgJvbG&KVfAYsfT1Hw~Ws}K1UH4gV7ltk~E4qq$%lofn=kg zjz`ERih-ia*7#to#AZjcLH($cxX>qLhWYfFnW40q+29bs*?L(_LTf{qwT6Dw_@;B5 z{CTe~imQiCEyy7zVei+L-0)>XYDkMk&Y+(U?<&`s>hfxMvA-($+ul|W4-zy1w`{3tpjN@CIur?Y3aOXDSO>rBNs4k3u{ zD92p1L|;ZsznA(DJ^hLm^Zc`L6?kb&U7t7B!X%{D?CI)Ui4~78DjwCDcK|`)G62U8 zsE=;M0-N7^j!w#cy@w@7WF+mGMT-u*ww1qQyRYntS+YLunAP3~&JP1Wm)qhtPf1gs zHeLMw#z*vKs}FZ-F-Hv*LWPJz5{lI9zw5lr4FLV-PP}8d>6ke%{H3za#DDzupN||Gv^f4E zTrj8^cWogfyWlZD$UlT_YE6l;W}h2LGx4Dy0*abrSi|%1(g(mWAtRpp3ba_*=62P^ zWW{GXF9&NP;@WyLwMOd1^J_oNRJ2QH zwB9OyBt(T+5*Sws4s!KKF|XYz^oblRFm@cbN}3)y)u=RGkVW*Qe%9M!y{z^rzXS8^KZdi{cEZOt03+$fCA z+Ld_U|4vp~T7u>ii4$ofKI8I*Zt?4yE+CMjl~a+i{jVRdawlebpUgjSy{Nia<^*oB zAug{EpPRGf6g2D@1cF?zL%=>WrJMB(xKGm%!>A@+WEPB@0|$;2RhAy}&|TlNa0ab9 zZ}q(^{6dV098cM_XcE_E-KmXEC{KGR4qb)a@uApkL7hxxOr0mFW?P*%keNO^XKcIs z$g9Jo%=MB*!(N`DK?X=r>h{(r?E_hz$K*UiyJ{wt@*<$^wYq+8B`^9i$H7wO9Br()Dq(rl@ zZwkhN;Q%U%p0d7F2?Qz+@Bjjm^eg%K0wX=_3~O-yUh5xgqRvNGVn)@bU(}DUtoe|# z;qduF2VQNIhK8t-SWXDaHFa1Kf*hE}syn5Lifh!ti0C^br{tytQ-IV>6n~^dBW(@l z4sp8X5KBrW;KCM)>!9+kI)n<+nRIxh-=Er)E`OsvngBo5)r*X`H0_@$R^BR!qpX4u z>!i95emPKS^&cK0t3@X@sW96wHj7f~jR@0r8TVLy!?gf{sU}U919EMEt($Zf2PU}p zVnw31N^vXtaCkV+YCWl};+R)IX7&RYS007*7$s@>`sLEJdI8K$Y62yi|Up490J7M3_Y6}W- z9k;`M%BmdLasg0)ecs46*ELfno|ZNO6HNtp5k(vptvMP3RF+m0yUD0s#robQVUGTZ zd!n~B#n}d&Q6E-d;`}h(=F(hy(kaSkgB^b40j;xBx(``F7KKE8&a04Ka!`8MYuDi) zoRx<2(BBLjuX%4Q_%)Zk4ZJJ&Neb}9VKYGjO1skJqVrs znBjL{RY?>KLyu7#R)cP`a$L?Sxqx@-A!8cjzF}z%;VW6=!Gd0VUi;LgC%nr%w5h>) zQPCsE(a_E}YwDlmr-(}S!E@Wo_FMWR_>MaSwI;GxDrw4)s-U%RZdiZ6eQ&!I&Y=oj zJ%0RSvSa_90^wr?Xhvrxdat!+rnyI425%d$^~Xv)mUT$aDul8iF5V5ax?@QQzDA8I za9<%6eL+p{c-y-`-v#^N0(J+jf+~6~tX~>vM6#n9^|6?ee&}d?{dEBkTPph@cVO@O zP9dP}m(!!6MWh01Cy=)ym9NC8NXp$EP4DrhvFQ;@rKH>Ukk(qmS|~V-NO3?C&!#R{ z5Q6fG%dZl;M{Led*u8l%it#(<${7V;^@t3QnZI9cctPUMDXoV45=C=!xR4Yqb{Sw# zyq|UWiC;}yin^k)z4KXWCmY_Cs(F#sAI9xbesXaS!I_wzVKe^8$VgppNFqX;D*o43@PBwkL<}<#hM0^uG z?$tlmPl|MM=Xc~}$1i@Tk0!SzEH+fF2*)dcv1Ae(zXC`yyx~L^X*b;pXpW^r3escwXwt*-Z$VHQx2<`3AdmQ;c zFW`o8W(Mop=P0Q(P!z$mIGA~r$tt-NT+}aZIgc?vjOlnca>_Gq`+Aj!{&nGXMiPxE zavZDbN)I96W>W-4@*s!y^??j|#p{EmQT_`C8P+=xim`vHiSlTm4QHVs=3RS$m!Ox{ zLjnTcU*~w|l;e)#qSzn3umlp%P`5(SvHx#QC zA$8Z!m`Q9}3eZjKTaJ((Uh1rXGcreAkIfc@+tS+twA5c)zL(-ZSyV)k%(mQ@Z-hGq z-S4?+lzhBQFIVQdDbMQHdumpSk+(~y*|ah1hW$Il5c8GNlcGIk4awpWa=Flfm-euV z4lt|u1Hxea8rlz7u6Cca*@|jW8=tK|Bt1j>9yK{AJzkLR+J@NGFH9#8;^Zi*Hz8ct`nYrxkULZyiCc!`i6`@3&_;3K|}Jlb;gy;Kk* znU-Hm`(fj>y~r1+5v!eP9t+*s;`7K9W|S!%C)fyp+fDK zNgepzmX<16s$rc)c>TKX^px~8yUqvPT_I$b{Lm2?Q-C&F3U># z+GS2{9E+}0Qx%V$7fdibs)%#7kNAG%d|VaZlY$T=URrTP8?2B9#zI#0jXtx^t%JBa zRM`;&9LA2g|M;hhhPpB0*aYZR1$fvF96zp3I^V-ev?$Y z;7Ego&b_J0pdE#(ZP2x+;wT8%_EQTafQM3DgcNtJ^q1xKodkpThQmt*{)AV1UYUQ~sJ;e^9SoS;xGzQ`;4Z`Dig1xU%$2PuSsD|WJx8!ERm>X7!dS!=$Cv zd+Un;6MG3C+jTmV&{kv@b3ZzMBl~kbQ-w%UdZEkgQJO37;Xd<*ANK(x2%P>YNNI+UUu)dMj>8hki6Nva z*Q~;xZ?^+lt)>7xz*ycMq<8PvbA6$OXSi0=;z{2=UIAXAFg(bMvyCb(A0e6I)a@FWx9m;vr&sVV0%*QkrjhTZ8kT8j z&Hd^ITu^m?_3z&i((j9BRn-OVTSFW=6)86Tsp!#!*YB??TgNqP%4sB?k$O5PkEgsHy zm*HDYuM+Il&k)9@6diriSnsYy+TTGVc*HPrlcdOw2neGT_Vuy*1A}@-P+EeCb#Ys6 z&TCst(7gHDX2}IaaGV8IK7iIw@z5(UHg@%{fEgrEB|&ukoOE1xl%=dPuv0KM*Bfna zxUeXfZtC9d)}2a-MGR_-8_lChG5xm~&%`MXj!;B+#4#75!<7wxhN4O*rEXV_UwBp(3;K_Wo1os ztzoq@IP!QK+^otQU@nBmxSqYAWz$!kc2`;Z#9gix$NT8f3TV~gE1fTJvjm;RdImzH zIY&l7Cf7q2S-QS6TaO`)R$nf?m%5y)LuTzU%fQhCso{_uM`-6xU5{|Hq7f0Ub_%h_ z4h%F19+iGn?q)PKf3=g`DA=66-bV<<1>fBt&NyOYIy(NOD z+~3kuJrR37)(R9eO*}Vol^9$*l(KV*sDS`E2YCsQf~Xglm>@tzRi!`WUX7Ci%PhR( z0RXR^32)H?RKQ*#G(}>K;5-8-r<9@yjpk?=YjHhpr8zKYlX8w84Ji9oYq~S*Q~~c~ zrLJ=HES*77D1xVDPZ8ElcaXAsCPTkI;jFo_b+~ZlMr1h?Sv|zrY>a^p;H_$A7v+<~ zE1ag?XXV(^$&}4lLcysfG*s4Pem+yA-FjuGIXq~AK2mjK&m*{ycg(Gu85NjSv)F)u zBA)whSY3Z-UFLFJR{6_Wx3;C4v#H@@eVz1Tx89<-Qx79x_KVz#SA%AA0)~9_tDReI zQ=Z;v;huZ@M*GFXoWEPl|3UW5B}Vb0+U7l_4t_g!q&ZZeD6u4C=cakfoOVL;;4*u< z#4>j7URo{_0nFW>u{x&CUEhqaF&ADA$y%`v`st69KO-`NF8&#jF*i3_h5ZeYG1buy zaLogV3_YsqgROF*eZ+|6IIX}evXax;S?@^lr~t~v0YODTqUC{u1Ioc6PJNUbFM^S9 zb2ok17n%$FiS1*;NmUuTy3lUv!$02qhq1(ge9yGtuX!Kxkt@Xo+u&Lm!}qx~;pef#4Cy zuF^qfbmP%g{T|wOB`DTbJA1&&rB!8z`oO9|ZMt}f^yLiCi5le}${ig;JaSkOrJ=U- z8Lm5TB?J2*F@}!)Df_cNXSe)Zwh={+UUnHzph+yxSSy4nv6>z&3HPiI)d(d%Pkg|1 zHHZOiwnRx%X>>q1t4P_}v5t)d>HiSe&KdTP!A_N#eO&8;mTHx#>(#(-%^;!dl$PQp2qP~1GZHOK{+SFu84W7AbE zcIDAPG$!t5Sai5;UeH}kK~U&O{&ptxs?j6ClpmQ#t#>wPi^Jml12yyPRXSTZuK|s{ z0-uySc^ad7d11AAoAvJP4v-#f(WvuUr}Jf{r2+V8K~VCH)&3SoPON(Ps1;B24TxA# z_Da8fyL`FRGV57tU_4L_9x5@`yUjm(S^DFfId_ztKP&ZV?-`8ou?pohp$g<^+&PW> z)ZqHCTA&K~x+&NV1kmUGti52C4Ttz>l?@9DFb>iAk(6%!Bp z8&Lgd6t9=n=cwXuIki^&JcFlnnO8cfd>?+M34T)u;Zc2$Klwpy6V~LLmgTc)CNBpa z2Fkcvs79_tsyh<9>}b*sQIH?3emmZtm4?Na=0c;b)?IEcPNpWm^kT(Bca%4?myyP6 zQG+z5oNoy(0JRv3uUkL&1JXw|&4gyc>>kwI9!mcMeCW%+@$B2rPtCMOCyVl3|FU2P zqakwtw(IFB~+rs*z!+n|Wc^mOmt)MVza6%*u(llKx5kLM29ZMW>Lwqd-{e zwDS=Gi|yL#ijgmMq8!IJ4GxSQeYSAspfjXh=C12aK~h3F93a62+N^~(bJFasp>6Vj z0?{JVKV?@oLXF$mdTxV(EJ<#HePRb=J})SPcQe+`X-tRDZ^kF(-OhsUqZ-PRY%}w6|x3yV|Q3iFjl6;GO_}r-xvVaJT z!wiMer9OS}#;JJSYjE=3zV;GXz{v&2uzhRF00LO!{=mR65%wXo#$5X&%Jsg={?lR2 z&amoF00lJkH{Bg=X8zBCO*tJ~T zG+Q3j570j)EzV^YF*Ddmhne?Mw<(c}5HKdqucNcoVIbUdy__0fk@Yev4IuZVEkqQ5 zu@n$49AQ}Gwl)M}3(QKj`n4$K{E_CdIV`~d;y70lUuyzY4bFs^^u;NWVG2!Jtc-Zv zX4b3J*@74crUd3fDvVl=nn&#)Ei}`*!FflMJ(q|dRmQqVpI@6KR$s*qn~qoS)%HD+ zuiG%&OV3aK6zG!F+$-nGsFa0kuQ!A2cikIm)w$aq@aA0ud$R2>T$JBMP(pD|!A|M( z>8_Gtk5Bob%25J{+@>RLNgv+TxiMctBvD;61F=+oTI7J=Y&WB+*lKC8Dk6M>MiR~y%Wy0r`I-`-rEytH?m_G@&2O;L~7fmudBCDW6oN{ zEj`}9%YS1PfH~EevgGLZ_>pS*zDAaF{nw)do#*lE@1>r*SN;Jy_~PJ0`#byUzadHg z3BN@t{$zAebLaCfI%*ngv`~mqs^gwZ7$KfYNkA>@;MZDWw#qYotsX^q+!*PojZjx( zDF9_EfOn&l8d8!ENOb^O9Ww76rN?M_lQRapU$$@tWOhs}fY(QyFQW z-(B6`Z2b4_4gcop{&nzwR1c`RRPAcvr=5jAv)X=Q?so0293KA51s?fsBcK(znYbkF z+OJSo-9PK+m}$NCbw;=9-bhFneZnKR0cJ`}R#}_35w>`JK%Rud|mR`O!kApbvLq>6~<*6ciGz|Q9 z-;`YEYLGCCodYyi5_5Q_?8b^3aYXvq8842K?<8|Yl1#K(2=J=@WDG3tmsUp~4Q&H) zQcEk0VBWNzuQZ#9HtItbX^iRqRfdtaruFy0ZmJb*5<@Do6R0j~l6p65$H-8-%i&Nv zhcK~c^b<~t1uF(|B=YFh_QACxTAtFwl!6=|Z;Df?2?HTWoiFaeh~&HhhKS61YUT*_ zvwF_D{&i1kT5ce3-n_g3eU3}e1^5Xq!N!1ylF>-_)grAOz+v~GVq2`tf+jlD;7C+! zb-C}NahCfkHa$#&1O!HVa}}*xeaB(8*@prdzv-U!pIMp1k@Fr+__9o^t|+>`>MX0q zXzNOV-Fn#oGzMUIo6I%%{-$@+4^PjRhR;|e_%P2$PPKAqgXkl(ofMh5I5!1Dx{Nw~ z71Q_D_M;}uai$yq7r{-Dd)b8?2PDk zO>DuhiB9Zuq1X{qek?pav#L3_onebHWjo(+PSq6(FHS&(sDSF({eFh|-@xNv}_5At1wjxK;@dNo9_XYD5P$2dHdGjH97S;JLvPk#c$?jA zK1^0ut0QC%0kPq0Stoq|&{jGzbysh*>elvIl)32)yLLnI#OC3rW-cP;?ols>$)_Ow zUBr&#*lK)Qq&$R8F?ECKtT2t$LZW|_I${?23fDNxv(BJ8Y`Vxrs2Vzwx$Cr3n~{O( ziPxDH2 zOZm`EOL#(GBNc2S(f1`kPk5$BDrEL(;nnRfZFJaxIpsI=;%0Y_9es^9@V$l4dhEG4 zDyF6z{5<|fh2I7RE79<9jrq|b$(6mPL56=zk*x5k&Q!w?NWEEJH{oH;B z9@ZcJ*7r%MWY1c+!`^NuiWcoHuxWK?8mT^aVW~s8oLLeS0`)nK#TFxt8`p}F_PKw! z5`9RF0naiU=R0{P1F>_08D*rw_()uEPj5*=u};a*=8i6@8#Ge#OVU$ce6bK$EolS4 zmnyLPUF!(vlS|t#4x^=KJAMJBPtTb>a6K)-nQ9O22(Mcz*fWERIhlNECtz zjeumSuEfo@#<)-IuMlVdeICXCIe_%gS=2pbZ5D%24@|6;RX^`bIqa5Ho&_;S1CE(z1-Df@koU zUv$=P%p9WipIWAbE$(gP)i2JBs_u-y!uf%`=6D1;EjuuTKyq(i0f^Q``3otRGV{5b ze0Al`uT<PDj78*_~KudV>H{7BE_9^O0bQy=v zRz-vHtk)+q_aB;H9B9HA3arPUdfGc7ocT@<`20>J=dtT&vG`^{5D^l*QH1g88`5_a zxor5RnHxf(O+g#Q{Z+D{sFkRjVykF7ey4M5)t%;zF_&AI!`9!Hf+-T~3(fVkxhgJI zg-?oJj|qoy`Y~~4mA>_IOoZ;((|04qa3`gHY1Uj|IYIMcu`yv|;7zYuI{AT$EybtZ z(dsc*w8{t+xb4*(^O@E0VK9U#NcH&m%4C;wUG8}fdzUlx9^<7ikYRF;nA?iVgj4Qu={*}F^<{u!#Cjkag*K7Jz70~tk#DvtupQZZ#9;jO# z&~AsiflUCkA)qld@^iS#`N`)({@B(a>O;nB;(jS{JT20utRj$$Vxy=lZjLr{*i~oz zFAEmduQF<1x~R?i*o-zzM@G*lEM9|w9Q#^Qn-PB1c^s%cL#4!8L&f~pEGMN{y_#ec zhvJ%QUM#EyqbsT#DnGRpKwDz>&ml*kNdN`_UoUzvqmR&j#p){i$zqx<9Jl1#c(m{L zr0g=8BPyCqn~CG{CQ=_3bR=IDNtVMPTU8zJ4n}RlaS)un|c=?t7_!sZ@ zch;ddjp{FWvxA4x?`~A3Ai)%T#x3M`RFA~%Dz7vX7$QYPz!8F~P?`O{=$N&dCZ|N^ zNV3k@-felbh*P9nbVfCmzH~~j_?Qezhg5Q%z4M^?vY_Z#azyj+EYA4C(pq6WHJ%tq zm*@REz^&Gxng)(^fX!zS6oG6@rRE@^***W*lmn@hoTcS5DBs*w3JJ@{`$~`pE zZ_vese$TG*8|WD_RazoLqv$X_;@OfAA~6KJH_aW^%uP zbyYvipXM&>w3Uw$-UWD<6nMlhD+FqgHxQYTvNmPCXF0I)LMTkPh&x6*Y}mJiHcQ>N z+UrWy(9*#QCqW@IDPQ+1hI^T_Pp%Vso8{@PXs=gHGFWAc1_Y%YAtTd-isGb|iS6$Z zM6)0##22Bpp#Aq!rR*mRxpfdU4{A|kv}wIz-=0=<+UgI>=sO7!9G|bpuQvOyXO;ML zwMC7oT?az8REv$X^(Io=Yt={Fc9~*1e=WM-ZE&|~%4-wBoy$@hG_`&D<1TsQT+sxP+%B%ic1 z2u#X!vl!=}UBmbc09a6^R{#WaU!p1XF#5&s#^1rlA&!;S8fvJ?A@V{;Mm&q-9drqI zL9);kI!8CNT)$e9`0QOfQ!RKNx?XL{R+z;RCqF$^39XdJ)hL!-4#^1GUH{`fWKQV^ z)9*O5N1mH(mvopyy*U=_@`dIoOIlox>^q=9%eifsBnrt*u>)&gVn(YP$~rKfR{b#X zy=SSivKq_Q3&4 zLw`?>^G}0F59vm$O>bPZr9GPE+&*R>?ABcwfWjHbB(<2DY26d0@Q zKI?>!p4;1El%@BbZ~Q2woh>*28ur1Y^k8XHBrNzw^Kck7$eVrsX#`D%qk!-w6y$7b zq!5F~?leWe;UR0|&o7FcxDMPtX27MA;sk03yvJxxuz9xGegBVPGn6-aX+Bz0N#lHj zogp(8-OwSupf>E7fndI#SFI)>C6oZmb`Ez^;bY1?L)|Jf8mDs>=%%=2lsqn%CxR_(PA>qq^oyUe5cft#Ly%nZ>4Ta2*k zLpz`=sG+uf@G_+1g!H4v6@3VpPOEBv5=W_2hJ-J|Y_*z3$h8 zZu`E*AWP*!*M#s$Lz%R3Sgmhh_8lWE^ta)hgA%|ZVnXv%a2P?)7N{K+wQ#QmrI9LH z2`)l6tanYSW2@Dr2&egZ}cWF7eRjD{S0@(f88w2#ULlESERv8)e_jJ zO3>K?)6Lsl@vLg=hFCC`8??YdR?ltW3K+QuS7->*!Fz;&;TUDtYg+2T>*Dw?clnXKSbqfoJMOGH}BRhThixsWu)< z)VV*Xo!)MN8^shPb%5;eA_20`%TFFMxt#S2KkORg_jNsgi;lV#pf`PzeK2Q^?>tuP z7G0SrvR?~New2K%w^e=fNoY(VaVl7BNx4(S=n2$E4aD~VN_i+kg|HWIrAq}E7JR)= zMBg5*y0Yn$c%w^E{KRk48l8e zY^>EtMT`Vg=8!+Nnvo{$r-?4kY0b5#pTr>yl7rlrr`da^DA$iAOJBO&_3e>XOVF`@ z)L18-Kh|NOkst$`Jqrbp*QW_q-!5%b+2Wzv+Zg)6K#$~@t+OS?F`%u|fo>8L zi2KVi0W8wW{re)UxA|9U=_X4s|9ue!ftQQ09SFoNLj1x#Pa%6qvCF$&!e_+2{VMw~ zPIXF~!dW&Rd$jH}{j|YJ#4;HTQ8fk}gFUWT@N!Hpy!exw8?@S{mP2Njgu($b9 z^5cK@7XCXZZvO2W4z9}oH9EnMyI+sZ(nR;3qJ}%ysQj2kWF`#3xFKRgXTtIL(Z zUUzXkQ15=|Ovv~yYFC4_w=>kaXtv$zS=)~ZS}1K_wsK$N)-Xtz5RBHq3Hxa5>20{x z6HYC0^N&{nI;3+9SA$h#m9ZHKuM)Me+F~%RHB2qNdDM-2RY8aFzu0^8fF{pue;jM8 zZLK;K0cCAr1OWjt>}#iGaS5a}gvhR-AYqdw>`Pm#vQvu)2?Scu1i~gu2q7#g1Y`*j zLRbW@%-5*mFs|r=aYua_wjrr}~k@w8A+4cjg7>I-oy}^PWqiwv?=qEK5N;4J$ ziF~#ek4$TH-XpZ_EO^~)G#YLEq_YjDj%m7oc}^$IAZFk)JaCj@ThXF6w>p=ID^TMO z^15QrMa^6%C`YYiPYBc8phrdqPYle>FSg6;T>(faVrbg!RSGlB^TfKXQ*&GXLon$G zmHXH4I|Fb{QIxTF@fL6QrMW^TxLh5>m@rNuTO8Zy5jvl}*Gu>D_^G>_rlfSoO$^;Q zwC8zZ{vqYrYLE4OMO!qBrF4V-Oe|OU9ZSM)MDp5T8riO(l*Ncu(TnOvPp24^BaNG; z$F#R*^J97Qv2Ml9e?0NnsjwKIGdAmfjRnfOxB!i(maF4pA?hV-y%|B515I*GqGn_p zs1k0}!w!^z60B*cejq(W$%5^nV2c5TU6l?NaRGAE%3Cn`XjP2CNp?}TVSz3kzE=EB zkl7wXY6`{tZQq7{wsXoZ!z<2xAWh2-R#<<`)L=Y85}7Jhcb|H$D>z zzghv0uC2!h$!&xdUY?8gF1Iy6&YPZhi>Z&&r61|Fv;{9VlRrv{ zrVck*!VZK(QO?wBwUe55n`w)Eri&Ilmn~u-nLtM{B;jsAOtGyF5WGhbKLFrM_LCme zd)3z2&J~gyq>^sn-0;eGU?B|jiHgb&2k@?5z{-&sR6~SttKX2&6y}OC@tHX$wfcct zCsBWn5mMd*_tvDFVoP-yj0*gwtsXM^HVp#>Z_nzqpETe1+|OeSuEk2T&IR4L=ZyEl z%!{gYnTbg`{FlfHiGn$o%I^#mJ#JLwI-GFvNlopR_R)MyQ!mDBMM3XbMjMG>s{JwH z(59_VgZBnIH`($HkfV8i(kDtWdLvcvNTLG-eU$(PQuh*SK%icqyzcFDbcjk0)(E3< z*gMY*eUkn-CsCLtrhxk7Z%=aIU0#9pyOUDWxKz;)1lvR+RvS0CoAE<+c|1Bxaw)%) zh=_u;csQC57TXBZw+{|&eG&|U3~yPwSKa76t>?dWf^RJ)50Z}-#Te6j)v%@nn1Wqw zMbXs&v;Cd{aUh?7*!NG>mMhDoy1MA@lppCx_vv<^8KD+|oXCy7jd{p*+#`CsLs~Vh z@l#sTg#spAcB^EaR+I4A@Sb;{eFX4T*iKoLt!-@(O11~5LVO#2R`bU^qzD%1(deRu z&&;LQSHe38mKQa(`yT#n5ycL*^j*Iv*_+n*Y0uc*HH^uvR^42t!z2SU-gKctP>P9f ziK(P;JdKd?td8M3&AG>4h+RWilr6syJ5gD;@NlQpZhcDS2@@XdqtsqfIX?A_mB^zh z1VP8V<7SAGJ)) z`oJ`;+AD5_l-QPc$XT>WsKjS`ZxW-E@byE{nN^$n4(PUyws~nTH4oly_OexWn$V%k z!6o}Z_XB;-Zbg`h@=SK9UV@RfLaiN#y!s~qmUL$+LMb0R#GX`{yh<9r-CVp*ITp?hE^)VIVFcGN}s@?doTRw`T%WohfmX)FW<%7Vii} z7B{af4JxpEYys%sOHNP$f5KaijtZB`Q7n>1Sj6E{r-*2 zM#QAzABb8zm5|i;MxE;%OAMrBEhqRP{19H(k4H$h{%4u3tQzA!8RJ79 z-(5V7$2J~s2KUa6fdnWq?{j3;&nhqT4(%SrZA+HJf6fe5$Il?=^CrexkGv53nt)#^ zT{Bozo}BiX;Yy_a7bJks!-m5< zi=?Fh^A?7LWK)44Df1JFsDcmYjE%2p|7m8Y)%4))`w_XDtCpANMpo<@c|8q<#;a>< zt6q1YU`TRK#>p=8b<>7Zb`M!$i@507Ro1BUt_A#Ddy}Qr1w+a3^xLz z@q_N?IrETjN*~c5%cc0&EGRThI;yUP+3hwo^$EtFie=aXgXL9VIBuSXVnY$XwYFK) zrnl1I8UXfnZlua1rEdgY_5LRilQVx?%=ab;E z02w`jV^A3Ydmu)E^g@h!LX{qa>?3b|zEIYEOwX-@zN|T`4+M?7Epcb)hfBIQh{(oHiu40hx%;X~Bz%CLf*_%p8?IUDBS*o;$6zQO@Kq z3&m)Gt;w=UQ+vKnlcUDsXv zG~%Oe?ZZ1qL<-X#oZMTtT*zm~WTD1oW-iuUMH*7`q1?d?c|FUxEJ;hM9&{1_Cs3`1 z`#ltD3phs4ht5o@u<^NJ)2xN4985eR(kUz?rA~bjV(e3=;%PiU)eGS|oFJ(fA6WS= zf8U}OriBzb&7ra*G^Y>}A@wPdP6`@MaZPvHz^j1}!&ONn!2gtUseNKwPYxgXSlO@I z0&}Wap(lPYT|StmScVkx!Ycq5BJQgu-Ho8OxXSBN;WwAqh6DCicoofYgtXt>XvZ?t zHqMu186J+DO-v-R)V6*Oa~g=)$9%f(uA;9%{wheTS0!8pmod1=>TGYa;v1;t2$HZ3 zY6bB|03l&cz8hV3n9>IMT7BpEyY)=~u4&hlj7@oOaSy+z>VhG8y%_B~gf+6q;m|Py zWp6zee)6}6^Ilw7#CTv!|K22Yd`G|1YN}T7?NXmU8|PCGW^?#MtdYTdfWn=NFJ21e zPU8y`(fDyn{7$1LzS0e&hSfuzQF#5`gp;U)DGT}2aIOb$Vhy13;tTnw#U9@J+mih9Q}I{H zSI;`U>H&D$Qs^%F<5Kg<>D_F3e?0ottM7mLD{rp;PikNZ`ID)C^QW*Xg$KV`l2z9!PX^YY8z3s0Iv88xK;VC-1rqm>JwWw6Qez66*(xW~0+#H?6G;#P8{ z)olLZ>=2EJ&~u^Z_!!?bC8K(9e8ZRe(4z0JnWV+EdIx*IR+VqU@lp529x(Zkqdjpk}GY4_WRzv&dKbb=c?Bu4W<7Wc{nurM+b(MHY zfP{h<6l5;yE?6seuwmS#SJc7^lM*iaQ#(r!#9vLCrh8a7v$?;CxYc9zQMheR+Lphes{)|Q)| zOMh5$AoWRP#h)}=%ygrtXdDJd!CEP`p$$L252RGC(sMsh zD`hSQS`5!pU3Tle#t*FC8zx4U=%_g$H7#MK;LcV3@q;};d*Mpk*B zw10B50+Pk*d|q{fXxs+wtr;W=Q@7#chYv@a&zn_cwwt9~&rJDY>Y2AEXVfsvttKlz z|Akn5@=PuU;g>?xNJ>f%Hl2XRutJ^%+43rbQkvo1R>m9AHb|8>;zhX%w(?7rMvy5can5eW|K8E#;bnX-+6i}_RhnwfJvTMWI~_llAtXA)V!-)p6z~_UGL-U)>~G5 zBly*Yp&5J{@`N{(|o+`VUdZ6ag)a9glzBJ zEGk~p3g&_@PA)t_9s$v^;^?)RoVq2g>|7Wf%5}3bs8a z^ra9kD z$_!Fm@xE!E$n^5KSy}o5QV_@M*Z6#J?dDYfD%H3gw2y6s4s>hGm4w^2z`(A6)3GNi zCPw_pG0nd5*<>#i>FdYs2M$`xpa#_v(|{?3b>3h`kAA=xF{+!cxR?;@E2B_FI6=&~ zfhqH0Qi?40Q-DO)EU2U#vAaZP3LTvlUBd4P!f4cwJ&J4X8;YCBO-LbYI1Gg9l870% zZd6Wsv_v;=+LRQsrB(1aPNKubzPy7Hp^q(RTVUqG_6fg^NI}DN0YNgvQ`y!Nx%y;p z)Zf8D+t0Y~8=X!nnY_xhmLF}L=MMm|-@x%AfH}i>>9*veP>HUUmKEvf2%Gq0!~G!v zPUHr?$RcgG?!pS9$!L=;T78Wi3=-#|@RfBohj@zC?^3FQ?kTL(XLE_Ocn*`&6d1)S zszWcUsCL5xbYs|v#@eogkE=HFT{qMtZKTy$U{QNu?AWb>D)3IpY<~KawKXwihrc&? zfBE^FjrK3~@gH^dAF$E>wf0olZ5c5@2!%OG zK(eAGxEb7LUA^oU#=`nlge8uh=Ccnq=ud}zGigPRt}qkD*!&5fTJEQk!<9CP>PxZp zXea5IZbp{;nFnCv(xmTjxbF4`evupXbtS-(-QbDVWMP%musJW801^|gy6zuuXN_AN zTwz})Ud1+)LC0#ARgB=MYzLcIGJGP33;r_|0OCg~0QO@;!|;9|q|b$Bm<1V!)Y)32 z)qJuK-|$k}|NrjyU(=b`UQvy=(2A+ED1e6xx&YRQm#K|-6jvOGGDj_0d^06PhF#oY z_~{0Z#rjq`X58bT!wyKtIyv2es8_2LXiD*_3(VqLen|x2_>u@f{IRhQ+M;(LXU3`z zJ+`MlMus!h%57ZN!)qhlqP@y*_;dt)sLBzkZ?CRJmVA@>4ghsm!O&y0yGqEXl5;%O z+r}^me8Q9T;&HL(jF*D^!d&~E8Ku9f5HXX5&nnVLn2!x_2Xaa?;yHa!5k(r#omeBQ zUQU=N9llrrhM2pndzLIN@t%Y$bd2VmWp6pQGYvu6rGCebOii(PT{);lh68Zm(q;>T ze5Z5;nfH2qqQBkK^q>s19cEifi}!7f)BuT`H;^`_q6U$yP)b1sbIS|zu$`EZl7h(9 z_h(_%3fT>wK+IX<{L7wq^WrDSE5E3<DX2hQiG*_pt)$ zWB>@r;^tbLu3Knj8pvGzN|;M%&{gvJKRsm0hT7G9h4qbG@tpK>#$`#B10m|ls~giX zS9+qg!xH+9O|NxG`(0RwlHo+aK`zw9^oS*_`D4^tgYp0!fLL^B*xD|(m){8nU1 z;{!DuQs^J;BgJ5aO6$(Q4<12NMzKg5htw?qg)yb|y(67A>MI-qtWwx_p z=Ec*A^I~4UuUYXoz>%-1sDH;||2=TzYfAhNvlh$ZUzxAfTG=pq1#{B9i-Fs%RQ;5k z0a-4826NcGdq?5IgM|9~>^f)9kQAA)_-e5c$d|8K_g@w}_(JTfM!C^O!K#Z3!M34r;2wLXVrG~#&eT9we_$rF-osebu?!A>VDN=!fJCAIS8B;cJdBf?hKLV%N81cHR{m?i{=YPdb(SwS*h)~7K%Q0cM zE>5gHX1VH&G&r^~4Rw<4`yO2xuChtTHxl5kI|L*Q1cP!>ciZ0I?&;xc$+{t30dzAY zYV5Sw#?qf{|pWi)*-?3)MxbAV$U zPQBH?qwq`Jy!O>wohBIhqZXkJux7J`G<{_#L(|qIoHC|hu4&&@hRQe|p_~VuF3Q_! zx$HXw>C0bNj7*Zjj#KdZ08oRqbqUOY20zV9=Nt#^W@`aR4M|Ikb7Lnj)TDTG^!3o1 zP6V)hAo~bFng#}Zc`x^?OG=9y`QS+PIIV~}()!o9=~2_2647#>0t8o3O8EBe&$552 z`>P$Q=El`^SeU481654`piE1jJgu0bZ}X!hVHWrAlfT^Aj&`Ib=cIDdyP6Ws--=>> z^3#v}w)ZP-l+NC+n(H?*LUygKx&oXC04f(bi(y&&4nox9sUrNE{d*vB+;eZ?Lb$64L%oL3aB_b&(`n^kUQGeUz-~3f1wD- zdvksTLZ>@p1xOxF>07>a1YUNbCNx6${?*PwZHno1TL{lu6SVDYL^F5GbY+-poqhW& zz)aAKMMr*?65t)TT&MbQq+rCpwIYhgW-!J29Ui`}tZyuU*VWX&U%7v63*c=XVg9ui z)v#-&mXmgvKyr3nctH442{u3YXq4MIL`77Blz^;}bJyhN zL9SU9n0BSht6aXyP4_%^eJXPtKh-m5av0;1YoX7^s3)Ot6{@iv{&qDZ!x;~c%m3kb zb%=;V$?~##oZE7rR^15wa0i3C?^d`*E{4u|=EfUVS-HCqjY1MLj)azWvL+iQ*&vwf z$Cb$x=SNPZ;_+eFoWTT|r{%hl@hQ6>vV-m&+Mt)F`k$LC@}J@qRj&^7B&S0Pj)Qv9 z7X3h)TWuG`Lm{JRHYVY0>(g4Wtf6y!foH0}YmDydRRSV0*%zC$Y-#z~JUob#yGjii z-|Y2^Fr+Y&NUh)4ScclPlw|rM-__y$|Y< z@T4$Mo(m0anl)ndC51c-$sNv$CQDl^yWo=w67r&ClvoY^Vdp!hdIvGA>gOk2#+aIw zTe?*HKt0n)K^|f*-(J$jC>IGEk&H&=U`z1mJVtFA{7(Z*wQixdUG&utGzb?uDP1+N z(m?=o0bkglo`^;yEw(+T+-Q-W87jcA>tc+Fd6$&R6MVszFuARjHORI(z?by=_cW2L z%?BHyq>ZX(UCi~`Q~1sSg3BTzp9b|FOD7X(-zBR7S#eZ_c-ugL{=}es%FC%jz$aKq z3Hkv3JR}%M#Q_$F0;S=t_g7phzY^&;@tSnI0)hf42$R)@OZj zv6Lfzw4UqC59U&{-!q6DGAT(%&CaLC3nPNZhu*6jdV3@4{aE-NZ=?2fg1EF+q0PZ7X`d+C`3IkP>#G-aDLJn6-Y+8 zXsEQjSD3@29Z(ziEe9X?PmlYIR4S?}tct_Pb*1Sr zr~@QjMaAjlXfBKr+%wj-$hcD99f`M~n=L-}qRX^c6n+}kFoUaaFk3i@`Rok6x_V6k z7gK(3&R!x!XS!nSofbHA6dOeWS*+e^1NfmeusLhh_HG6MiQo7_z3G*_ICQX-sxtxr zSEQZq47COxacFRB7PTYBHkJyNA5;;Ha+HJ2c~~FT~E5 z!0{Z9wk739(Duk;6W@Z3^2*%j%WHEY zdY`;}&AcG)%a8NEe|>r0tjn*jtADqW|Jv*F9v**dUs6MuKb1_ zhcK9`9gejnf;_nmo_Zl>0;G%F=^7Q|v`iJv^kcxK8cF86m}$(B2uRZx%|F-0{*@|f7MlZ_h%=!YpAZ&A-;evbE=8|Y(dF~lshHw7>RNrH zuD=X`H@)kxbIJd;!C1g(o*p`j=O-iRbzE^!7oyY=cPC!Kp{M-&SLcHI$biu*cGR)8 zrTUsSdF=!Hk|*(1y2gQ*-J2kWJTRMVdxTY>=nr*{eZFwZ1a!j$diaXJ*`fCA`Yn>My2^iygLZ-O*oF~r^9Y|L=Q=#H%qI7BG7G49N z#DyB4HY%oSnV;3Qn9gsr~Np7uh_ zVnvrJ%5_sIsqn?wvIuRE6L{co0kT4;2J8(19q4;n%VMQ66Z^eU0v!9)-=AmAx2IxC z7TzoX18>&Lzbxr**2}-_fZnW^|K{subhJUJ@;$qvcr^0lPSJg5z9rmk$C}%j99ttE z$Z+LxP#LWU;EFF7mQ6>tca4mVikae4s+pYe{%icN(3rG|3SO^(ZMa?9-u!V7=94Ucnow?F%>ChV)>&*V4sj#3B(tFB^Ml zLn{X*!e&NtBSL&HG~7iMJLei*Ksgq2OKTzN>ev|7)wLfW(xPmUjSD%{VSJEJB32H; zox`Zm^4m!)T6IcQub_T09PGM%w&ygnDWr#Qc`sy}bu5d~^>|2^-);!7Q3zowC8OQ5 zieH76-pZ^+szDrKsn6F-?2j`0@3!-b@ql_nZ|sb@ zH}mG3d9z9JjTQSheHQ=M?2NzfBhd~b5&97gljvFj$r8MT#xqK|inp>rT3M}u+;sjE z8ZnEK|IuvZ1zor#Ea?Y&sM6|OREM#*fO!==x*_sJ51N`Xa@=$1*ChpY)Czhh7VpbX z9OE;}ul)v7YuNn|J54&qtbu>SA}@xMT`r+-T;{~@3KYe${_hcv=p#Qet*O8jT(@&Bf@|2;+3Ys&QYtKhp|z+T;BeI;&^ z-P~zfnPSv(zr#fxOMd0*#B2Wie@wAAcH)0bQ~y7LzOfVkAC>$wKX`Qx`=5k~`e(}Y z=Gm{Ofq!v3@t{WXw#V@HF;-^%dPRwpF9~F=a=aOK`O0WUEx{%`+mHw9LPvENrC+o3 zYdBgtMz~2ds00B1<-8+5LrRh;hw@#WI0jl1{&@cYd3}H=JELpuO4#x|-wkgBeI|O} z>v?zjoN3UMR=G#)fMF>)aMQD(^w<%);@3G9N)|t$Pclp$Og*}^+`LIxiX>d#q|hv8 z=kt1d+vem^`}MPIi<6h*Kz%OB=CdX^ZfXWrG_HCdx0-!x*S(Ue!0miLV8wAVqrq-= z(@S|a|CL)FLe9P^^`r9MXyT`C^hOhJH1U6bo@m|yrMvp{@%gi(j_kYSs8t_$i<^Y` zjvh?M;%Vf2vvD}C_Ce5E84TyI^?~EU!RVOa2*hQt$)F2u?C2|cP}`9fM6OX-AB|WV zo|uT@(&lGN3os@da0)e}-Hargc^Of48=y)Z}A z4R&4%z;!QoKD#v6-=b1ZpP4SOB%V@`dL{R0&k;jDy(Q2;c0R50@w}W{2mS)Od~86= zwO~(`Yt)IkHBL@}TpPvQHyiJZ#+|Y8j;fG2Q8Q76T=L4r#we%05JTUOEWvd5XJ(L# zPOrIpND#_SG?|KebK|cG`V2rQxwB6^rdziy6M|11#e2d(ZriR@n&@V8_W}1hBcJ)FiLkUm>mWK zFDI7_hIo1=j0Lc~?)#iMSeg~2Dv^Y)L+XaxV(jXvh4ssjI6h=5DQUg4%IxIb<}V%~ zVfR^jmPjy!^ymy{Hg<#a4US)ggp<@Or&ECI>4yIH62Mmk4(GGm1P@jjFhz+-+n6L7!o0x z{(<7gis(MFbKwa#XZr{xSbXPj$}3ApCt!g%lmcsPB|x?kt91q%R7gA$*B=4tKBfqM z)f#y#+QYp1`3tdb#%9qd>Epj=(Ev;Kn_{n;cyAQ)Uu@nt3VEZDf15c3f(8=wX+=Xr z^!jqLX87`4Z)JRgO57F#@0sw!aAW|Tl|uev*IZ>K)piIAh3Sswu1)s3>4pmC*o8_e zQK2GZ1dkV+D`~TDT7oOB)#M6|PcG)Ob>_zAoc_?a0cp2QYLDAHx7NvsS&yEhXD5Xl zqmE|L%pFFHI%#*7a(LjSe5mF`vX^at^Mw{ai9l^9ygD`#9F!y$d*$ba=hy!GhoKbx z+JoPG|IgRJzc{9C`J!z6Osvj`bH(N;l5x}+mcI!*62fO!cmuecrn^i$9@yBZ=T7n@ z4YZFLGzYGYu1C4GbPa0h>GiN$JFq?_-s$mYcp%V7F95k3;|<;0VA8mJEqstZ97$O9 zM~oQB-1JZrdJ`s{l`QP4I_JVWS{T#;3r34Nheq zq#I;gzMd}(R0a;!^1B#R-qcq919ri-5@lz-@4mMdlr>ilpR8a9Kf|L*bRFK!$K`f6 zF(2b@m^ABq&-CIkrS(BjTNs>WC*`_?P2sFchC@A?7^MP7n1qDfWK>&iY0+(Ci%;h{ zF+paJtY+A*fp}w8TyFMRx-2!)Hqt!{Sn(eCEth%WH< zDmrH2=ZqC_DP^ zSWLr^r;&kmuaWO)=)`K8H-3gtG0S#!^O4D!Th(5g2Y9tUtWU3v!j(gq4c+HFJ;SnR z@>H}2jVXq?66JczqlFp_7y3$SbhS3p3j>Q%E6iD9 zz@WA|3q587#=_KvRJMs!JA= zRn24Ew$@#~J21W&S!x?Z{l zhY}#ijm(f}gNf96OAPvmscOspD_+|_QcX;H@a;!`s^qV~zX|5}bshcNmN3QqB{KHo zpZJycm;Gj8|6!q>a9&u9lEC#0b2t;e5WZqu0aZZYTU;R^<8BdU|HP@T}Kz`~TBXAJh5jpT+wiI&#<nK|svcZ-cS~*{o}7tV zKT)7(?@7w&8F8+ZZ1N*!Je0Xb<;SIK#yZS;lG2mb)av(%md1a)`M19qYwy|UEPHN~ zcr=CxSs*_5<7VJ5K|M}%wWC%YHXHiZ9C|jergV+Vte6xVcEh24)2z+9r4@l4<(T16 zaegpN(#CLGLP0G<4h)7Qo$K^{>UU4qUl5WnE}WkWm_bv8b=mO(*CL72B>*-f?^)rq z7h+biEorA)!_&O74qbo1vRaONA(p!c5*hQtHuYj~tl0~O2jM?udG7JR^v$Obf>r%I zsUA(Nr*kB56uwlczTo-ehm1wG+-e`oLd>RDt9nG#703Z{{0oOz5Wff*2zcyCXJFyWqW?|v9hvLgA#dq&w`e<(QHP7FUot!&P4A>ctk6@0qS1B^K zKH1Bx|DA1f=uuy0`ex(7v9+3|3J!^=cNV93p}o*}tZ8}Gpai$E0`BR^S1Dd9hd^kL z8P{}H%?wmHb}DXo?O}k3haSSVmjE`<7jkm4R8(kxI`nN#AXn}W?2(#*3IvI`q%}H^ zjYWDc7gz*1#OxqqYg^x$(-VC@E4#neT_a+;2fUMvo2OYpsUzl`fyq5(^A~>&BMTjB>76(4znsXfMVKWswJ{Gk8i@r=Rt6QKyVmjE3d97l zC+RN${gSWD-evM0@_+3Ne9eMJY{0@e;e{B?eBk_^y7BSfsTGs`)^;Y-&kYiov@UY= z^e96mFV0IQksrTK8{l9Irusl2g-CQ!*VNRrHn6W|nS$2ZTRVWUbKjx2YBvmG@x}bg z_O>Q`uOgHl67X#D3bSx0Wsrw4&}4|~G9A-u zd;N-n{++-67k7KTGI-~X-^Yc84%zr`?@=^tND5#jgezj!h>K-5tMT88tyTQqR-)cQ zW#PEPv`0@!UaB%&gEBS|?pTVXo6h1@J9Ts8N14Q{XBe3G;)DklecZ>}cOG)0k0arMY&V{Xbb)%vA|i*+ zDoCiwgM3$<|x6dWUld zMRLv?Efc~7u;|F>-nh-*Y2g4*h}cbZ`>1q$aBVB8{`3|Za?Q1HFl-3KXluEDZEQtOw%oJZqFi0`QT8oJh9ee5^Va?~@0U zn9M0SX>sq<8SQ?V2=h#v{RZK2usNn1s?@qEBqk(SEu952cNTP{&}^2kXgkB8y1n1+ z$lme38=89DkSwQ~8U`_i_|!!1?fQ|g{?+BbbU(b~=YG=dv!Iq6v!R*5`19V~@TJav z&);5s1#icKY%h!bO5D^uzdM|oaJHLs`4D&+TU_wRwl?rNdV^LlUm{(0AA4T3c6F3# z3e70>qMKq%xO1n~GA4(*V%^mXiOr)uC| zJL$4AeTG+&KCC8kfQykE1u+Yo)q$~=tbd5E!wU6mhhg%{a+k&zY?Pc zxcRG0W>-5*Ar2Mu*6}x*J}#LIA4t2=5ITeDBhJ%p8%j$VyortzSYA+igNa%xZ4R+S zQ#;l7GF~Qorl&@y20d|=GF(st$45;@kMCJ*1|)cOE@z_ui-X4F`ML!*E;(>d^Y-tx zXMjf>Zuw*g8Bke%QK-4!Sg7y=&Z9_GW{1RuNvq`tTU3}<4c94TY+vnr0ZF zM>raJA?kx2z`(XPyvHV^1U>>a_vKC{ImDENA*TXy4>=!A2@k}@FwKMD(r`+~PK7CL zgs#|8=u-}v%8>k`BP87wSx#221%2naY2dR46PA`1R@zv=FKgb5b=I%BFVs{$?A8Y= z_nzHcyZWU42?1`b#ljl_Q1Igb>u&@TkzA;bMJ9C{-*LC#oTH@c%7qhpYWfJoRo1AiqUbIc{4q3tWa%^Nxpdyx!Gy3z+uq4T$n-jef%dtno@K64_9R|y9Y4oP zsWJD(CoP*YOmi5=Gr6nY_52Ix5*Q|1MX9txJ==2PBRlDUrWUL~{0*qj7GpcWmhC3cGC6Q#Fr;`iKqVK>4Fv)`TN`86-KZ&EAS!V-~HJ zn3(LDTRWPFHFcn9sEwLh_33j&%-sFP_(qFxI>s|sp2GqHHpC4+d#oyx8U8>4t$GF`4z zLZZRYR~)2x*E1%ocW*%Jm%r@P`@tg^S;L_=`SPG>!NJ?^@hRbfl*SSorDkXWX{)zX z$nEmWhk`p&IwU%&YFPYS@(C;gUjk6B_IktLX${B>x+SO37jCOB=nFmDS3{&#gPuN~+~;dWb->qs7u3 zyyWFL?Qy+QhvM?M&)7Cpe5BH%D5Z8KVdmIHIRIIyQ)BddxT1 zGTgj6?rnHZzu=Ckf_l`^dDRg?auZZs5N3yRJv@>9jvo84?4@bMk;{ILOQ%D0=Tj4# ztdFC;(E(IRFme+Hk4@y;dR#Iqem1&6pkRjD)5aW^ITA^Bm#3WDh<+ck9h?Y=QHc80 zWIP@?goimSqgG)wE&DEIus2pkIVRudXsW)3e2DN+x)ll2hs`A$5hj@%p^uw(DCHi? zpH8fel{!+}+VjYRQ%a1)!U34A=`@)Dg_t94e9S{xBO|8Gnu}FL_#p!oyQdtq!z{B- zUVpABW2~G#M+vhEqdBu-(3jSDwND4nE|BNmUV3&y*wS*^f5?jcs2G}*p=TLVswe{- zEA7f=2SP38CghE;iT)U&C^Fwq)ik9<59wlq$!0B0(`}g{K3O`{iUv!F zLj0i*_9|h2IjUY>t%vKcj>?&^qXU;%$1>B3XR`}e@y&zvi$Du;vBfB?SGR-)V&d?T z+Cw`2W)?Amt*zS2bk0)MTmd{K6QZ?=sC;CuwnW#ZWkC*&^_|Zk$$dB$#$*JIR{HU? z>@)Dr$>ftj4BKV8LbTD^<}4~h?lVcIk$qXPo4&!-W^YR5fn|}*#tSjJDPZw4T2Q{% z70j(t8)KX<5Cxo?=;S~bQeZJ2J)6UmwCuRt*5Q9%*`7U#90Th9JKVx=U0JuNH!2bu zM@WBY;C|~y$t5N_EY5uJO0u>~Za$VP!knA*%Cm{Ws%K2W-wpDn&gTwzO))D3EP~Y$ zdn=G0K*|P?tu6L+jn!+k&c{n!!v*={$!zJc(G!)%^`#iSEAU?KRs(&lX$emXU4)7& zSZgqR?NWLlU9nH^@evQvD;)4+lnFBi;|_WB)4mizu04l1_cCK_&d>>QE#hStNH=aE zC=r^>q=f-+AK2DjAN!1A?p*SNQ+LKh{tL0E8#NDBcKAgu=m&bvLG~OWoh5%hi&cRx zjN4M}c$VcDOuuDd2&KePs+HIdlM`HO&oLB=@9COI@{Xd7fbC(rJuk#$&_z#{y(@IP zY=V~fP^nPxNgJj5{;&x;c+1Ou=ITWdsrZ+DW$!Rk)+RWJ+Hs?{?k>vlhf;(d!&+a@ z;6$Nc4i-@WbEW8r+k!wK9l0Nb!5Y_N&rZBEe?ZQX6?$(74-IKN^PDU#dgg-mY-Z^( z#JejY8QE!LCK!dui}IR}`1O<`s?(Da42fLvB%9e<=HLqK1rXixGVkh6E=yrea^Q)+NeOblFG(_u)_hq-1cmWjFo$ZG%t?=mpfmo+0QuqozJUljhm^<>$+yke08P(gy z;PyN1RUK&W=;^Srev-h$S0GPI8{b-E_UrjaPtAi)2|NlDB<)X4x!TUe^|7w`MllB+ zIcX)1dg!GfpIPZfg%o`OT@MCAc$VsbEx|N(r6`+p$x7mS;2bkbBAY`moZ76LY-o}2x}L)%z(fGetN}wu zoTYi)X@=V#*HWdN6y4rcDH~{~nL74CsfmpDNeRZp5)?vK2N+N2=&bTMA zUpahXQ|vPA;V(xLa3!JmJ?>0YA5u0}ioLlSc_^;4^iNG8QIynV9OlBZ`8mJ*Pzbsr zcp#HSs_~P!6Ox?+ge5WJrvrn%U zwikgJ^8RSkmlG}mKAkEbQyRDAOCEnBXeeYj@=`Cc*^)H zP^DM>4j1P(evTq>^55Ztf)d`T+$vcsyl{}X|F6CBa>&y(*rj%Ln}!;NEZf ztat8?v|dE?=-4aP;?;2OX;C_34zn{i{K7~RH}a)}Yv7OQ*Je8U^@?#9=;bV|QnDr+ z#qR@KT0)PovCph@Cb4S4H&P=$F$@qDPk5_{9#sudnNDtgHFBH1@|)Nc%)MLsec*9qkdZa-9O(E0+Y!^AA3jk@R^VF|X`!Ifki+U1+G7&#ebgdX1rs1A5O zb)BiziDfrv`5No#SDTCtGj8kJ!b>xFuK0!)nS!H&p>9S1Ga#Sv?MN#yGrK)OmAdIB zCE{-0mL;I3iuWqr6FaVZnijfb{ zKJDG%BDLLdxvv*ZiW$v%r!8J*Q8h&-%}K;Vdi(SZqRTz4;ufSjngXe&#kiU~q1?fI z`(E!D=PUnZZ_4`;HKjSXYyV(P{duIn_Heo)LT%LwBtE7Q&z9Ri-n&eUPNTG%HQjdG z;D#!3B&ANPz7R_bR3j-S-#a*)^>FvtHK^Ou#X1G=AFQnjLCUJic2Az940t+WeX*l` z4jmp@u!tw=wTv|hCNDoYgiZUFm(qy&~VNwCkM2Rl65+0ue3@IR`I1U!teJ3Pw)k+d-8leQ* zxz`n%`T^bVaAylhb|tN^Jq&L^v(A(g=n$UsZp4UEoSUt0v`j3Ub0txCnM zfSp$qH3EUnkDW{JjpY$*s-qAoZwrz0h}wJwzGzv68s;`CbHgxa*}+D=YO$mM2ALrJ zf9$<^RGNp{?wz)~Nq5sE+ZZ)*he&79l>wDj`&sppI@vZOp53pPd zSUfxr_kCZ#>$-_D&IzcJ~4)AOiiWwMj%@GpQz9kLQr%&AeE0T&@}ddDRP> zPQln!-&+4}RjSnAHLe#MSha26p4$7O-Q;tTe`u;%Xl;ZM-NbHLpu4YI@Kn&Pol0JTnO4ah?Z!hP-{1&h#2L%Mb6#8 z_p<*bPsjg}wf~<-{r^Xg|4Ui>gClZUI=S$-{h291-RiS#;Ybb1Ai_0Ab=9^Z-jfQ8 z6|-#5&wDmDl2=$CQ)cQ-26YN-+yMYfOSn;3{^`6X|AoC)tZQCgS!jH}=kCbHG8H); zVj)0hBHK0#s|>iAK70em1j?LY=SN$>E(X8niuz*V&^Gh0;qZqZnxpwLyS8)UuzKjLA=v?*>m6To;JjyswReSF795hDaM}YND>-2I69V| zG0pQgh;!NzfL)uX8eLX>2&jozq@bQ);vFR1X-Kw4f z*zuff{EjaM*~OM0<|~;YBx0v`#}(U>P+h{OUYM3m7JHWHd}NnDi9)}Y0axo8h(xOQKD?Fh>~6JZ zRn~aw-p%hZr`|7#y+0K2{4`S#{nh9}uEwsL+hkLl(e|=(67xB)dZ~SVynGF=95A_6 z1)JTPdV+qfd-BFI{oN@sq@{G^>>$eT%hjdRyKmRNJQw_!8l0-B{u5`XAALD)7lfb4 z>g}GUV7ZnoS~;!PNodjOm07eO)7W&k+9_~)AiA}z9P!y(1PEcin|*7yUIVTap6z%3kJP1x%V_8P+GZPrvb8P z#HI{aQ$+vcKMvV{zy05pf%wmA(!YohzArrZbbTZ?=+(IkXUwjKW8?ck6-z4S<_L6) ziiL-{eYM4SCZab*lhU}fxiH^)Z@T3&ac8(CcapI1CQIsG46@j}R*H(EaARrB9(con zDD{*Mo#Wis6PH&_6bVex(9bNEX2#60C?92X)5ESYKMK%G90c9eV4!cLy6ro>^6<~x zZ#o_xR8_IhtAsCP+lQzORf z0_aTxfH;52@{+)AbK6Ap{M{)_y#MU@NgsOf^BXbV+#a|eO!Bs(EH=RX5MkXt<@_6Ma2<~iF5HeI) zI2SnDyBW!)>-FnDI>x3g=S1|J2$R;r8O$))WW|cqzvLdpGF)O?7lSFRVj|j5Q1@}6 zHjrxvz0-ClXCdO818uF+FumdOQ8nkP<9G8&7^wT!ijy-K>0lZ&zSQP=GRJfxVzDw8 zKs~0w4VlaTq2yBkYS-k|%HI_&aDP42&)g&KP8@c335c9TN@UnwnVU&i zooY8z>T`dOY=22?<(P6culXL$EM37-=l@KXOvMddU* z*Y0D03B)?ra(lN{hAP@pT#>WOKKcu<>g7UGWLUCpC;_fLS0PFCR#92&ODx*`JL7WQ z>a{Q(c-U%@c>mzpa0@0QIzj^Q3pT10a}tztO&=1`$A7YQVg~O~1-&^evsFCAp@6_cceBcn8md2LlJRfH#)*uF>Lg(k|pmCR{$+9SnX9Xtc`?70UGiM*u%8SA2 zY1vkr!IYRGQoO|P1*}Bp?uZogG=4f27 zKryJ~f)in9{vueL$6nbDtPxg$>pBe#&S+-Y*eeShSb{k&{FOka;a-`Fyy=}sqqnuJ2 z9tO!A#2z!c0FSNl?WTYq(hO;DD-r}_3M zUu%)A7r-_eg6}@pbz$o$k5SZM>&fMXhJ?rc;47D{Eaa9MQAU7N2}@@{^7=8n8$gc7 z%rf}=neC6qc<0Hvl^c&G%RFVH!-oWE0G#wx`}|=bq>w7?%m^-p*9Wi=@yuu4yNeM+ zt+6<*PQ(=FyrQ>Q_w&Ij)I;*q)F{@yD`S`3Jy%F?WJpUUV30;9r?H;GK?tOZTcs+} z52KSG@_=jL;e(0gdmt9O=xJ#~!HLU^^GREFwggxc=-YKh7|QKxUX3Na0G*VF?EUkDQiRZ$h+1F1wGtA+%9GND4SOlUWAMh zf&Q(BW|nIA?gx!SEVr|yKAO@4{8bF+X+m&NpdbP+U?Z(eyg4W)b%a?+rt#tw^UR(q zq0GU}cdoZ%?}@r9e*H4Fc5379mvl)#Wm(M$C(tgG3Ra#S4>5j{Hmije#HO}V_ieoK znR#x+a|gWL+LPK%IuExY!WFgKHv?p4^X&n$Xpa%%P0qSWHBY~&ugg?PID>5Cr{?36 z$EDo{l(GW@L<n!WGG%_i!_wV|BhFrOCfJ5pe-eCTUx^pB(6<`#ah zI}I`^t8?kuU;z*_CGM@kpCO>$vR@AovU`G^%g`fL0i!)x$KL=Eef+0zSfpj;W+owu zRZpRj*^b$!Tj)zZG$l5w21h`lzd3Ynk@sSjAJ#iud3|hu_D7-PN^gro!?E?IRcK-H zW^))mJhk_M=z8na^songp*Uv5FmW{}C&^29>~oll>!0YiHO9r;i^J_3{Yr>^+pAhvZt!Qzgenvh3L?4 z#J(g{wJ$n(QM}C=gESw%HJu%@_~iCx-6z7;LEt0%l(Wh9Ymh!Z*8)F^B7Gf{n+obI3t;&hRb) zEO|RZ8B(OVHmORhO~p*RJNa6#3z~z1mU->^!+p~kIIw?9zkJ3|qtt!hs+fY^)y?b)f{$_Y>@u0oWp}*AE zHKCmnQiGZGVN>Ezh%K&pH+HGlHSG2uFFbV;YC6?N6@_QDs9nx-F62W~=)qr#7(cA9 zpo!UK3*)EBxn=TW&;>WaM(EPr_SPC0%W`oZWDdL3ru?`D0%PaA`e&yu{GNlUBKb&t z9K}5Pi{u;hRZq-0egQ5cG($Nt_UMmua&m1tci|^gH8nV8OZWJTKb`$2H5AOGVVK$I zGV6hgw=WYeA3oFL;bxP_g+n%o-i_IT^V)xMbl^<9pO7!t&A)l_!hN+j(FZ1|nErOq z`SM82Cz-@hTATo;5>-yupOF1w^KtxjignM^@Y5*)5W3Xz=M7wb)$h|qXvhu5O~Iy9)f4;;^fF^yA;IlvlHIC?;LZz!sdfoj`_n0Q6Un_(FnxWb?i1S@=Vh|0 z*m~H9QJ)c#o?qYr|!W#){MUAEpZVdG#rU^S60-~p!u(^rX647I9}k;^Q)~)Yx0U~ z>#{Oq&2a`RBF&iYc@|#A1d^Op5S_jyNxpET54RH=j)dYae!C+u?K6Y_(0M=S|9X$@X@Q%&g0mHLbX00CL?;A{wkg-Bnx@p9+c z!Srh7^EDGLWBINpan1$Sm?*v^<-kU}I_Sn3*p>N9B1H7AOnmV5HcXjq+1w#$uz6Wq ztR5A$SzYJ7S6GedW5HoOW>b7J@Drlzv$!wRy6Kc%Q!SGxZ@27ADCUSZCm}@m z9QPdReig4tv|jrJqPY%F^-4+?TFzN637KUld8HM~!eW_KQwqPzq$1!0?PEv}8G!ym zH{`*{s@PIp>8**yRTQ`H_B?ZAf!)QX~tAkWaI93wGJ9_9ez)n@db*! z)u)r7%BG`PB%>_lB+kXf1UxnGt?+BfOrCHvS$-Db1sHRpq;MGGH>TUb)<2+M@fKhu zb~`RMdlw+zesrrb?TrER_)T6h(3DZJ6 zJ8@r#EnGuxZ7P`aJ*79&<){L!y+83|HTZxyA*Zmb?M()Ik@6HUpxV^?CwJ>}SZKRx zV;TlSE|e=#5g=cBHXgoelHgnO+VmQB7i>%>E){FQyV%&4$?J@w88kb&-=I*b=`xq2 z(;3BRtbfVIP|c&ejmWoiHIH!TO_w#n6b0I-fl>UX2}=f8gw2iJZau)pJs83))%k1- zhV*9TfAfWT_okH9z0?~uZle(@BDhd`BPiH3DaibFf(^&$$?2XS|9u!>82p#3KMpTl zezs@G-&)Kn@-nD=|9G5_AI}-Dj#I{2%p-LdwsPx!82BbRUm0nku8g!;*ysFHq($97 zA}zc+T_*k!U4f;I@EI|YF-2Yh1>d|oW!m$kbHg}o*_9GMe9ZDvXu2Ee6x_GW>@-Of zrXT_9IjyKSErSb!@Gw7Q;q>*o3gX@b|yrt+p4;)UeH>J1tF8a@wJ3 zB^VZ|+d+H!V#DwL)Q0QhgOm1dY7#o&V?NOoDTeVky7^YNc9F2|5Z2@@YR6c1i<5k(MEc)7l{JD(RlPF&IM16k?AhRs(4Wd6Th!L0P3dalAjYVhCeHih4Y*;ur- zEt(|+gk^WOg^L(reawe8UL`L`P2**yMxkjrF({wo%1Z)O#K7P5JPlv_{$Qs+YHfLo zL!?HKmWzE!Rr7*@iy4egSYvY1J;o$=q$H`CQF>k0)PL@2CbCJ|W=FMLenaO&9Ihob z;Ru^+oSD8Q?&$6@bYIMIcQ9Wy)eVztVdPNp-W4iMcJMMfat+3>udaxJ48tupDHxuz z0yB3EaQ4`dQWQck@=fa3W0I=(o(67}%w39_&vNSExil6I84_#kjs_Xt6@mDx+1`eF zO=tA)PSvL-x9w63;R$E1^5HtgUX@$vjEy!2mL2HrnLlili`MJi+C?iUd#~u~2ayp1 zKQqH5nqjGFvMDxgW2c9FgeV{Wp55s6)7)Z4j$9< z1J&0^bNxfHk7~fh1(n|PM*HCNb0*OiZGEbUcPUPzmCcwGFFXa2zOTO~SpXKEs! zOw0(SY=ONk<|cvi9Jrs?3e*EMQ%JkP==;MsZoJ4uRC#=dTVKyE!)IXZu2$G3464W! z+KieF<1e0Td}XrO(bq}EgMAuJn0N(Z@c_n~lXC0S;xh}F=`wUzT6#(1G?|nwN6yOXduChVjw%N z1|;If(mi(#-h~IH$=?QI!Wz#exT2SYNNQoEc`C8xn$^vuY>UI410_Dti|qMZqg8*W zq|sVxb7)IkRNP;RPfEH|8@;UTtfJ}4YNK1({~8$f-4Or!@HxJzttfFqGotVFx#YU% zGcK6ZNlRR5cY6jcW08+IeoBBLqJRW!2BS0_1Ue!8CD!{9dwoka<1W#}gBi{m*?76S znFg$?ElsB>r*9B?rf|@r)4@Z-G_KnS$l!t<=D99@B|(1nL4+uyw2|^O!QI@Z3YUe# znTp7q;`_c#;jiwG?7)+D*G9leGt~qb&T?d?CENLE1!9JRm3MRi*V6&RC(&%CY_0p_ z3OHA=Y*={|+O<#DmyQiRCEX7bw@?Mn{`x`2X)zJH2X!Pd6}tH z?N6vtwTpU80j^T)8}E}FPo@?nSX6`ctxK$bD=hi|HK*Oi?6~K ziG|A2qH3h6|2lcIT?LxZE7jW@%>JccD{yr@vQoAbXBGNtsG1$U4FZuHA=LQ_F@jbdTBiG<6pAgzn`Z+QV zxP6vyn9j=cH=Sf-m?GGX^x{D+hFf{sR3|YrvbealFZjYM239Uv@d{v09Gz|#M_$FF z@1=e^&G@|klZ~_QE8@?m281l@xOv{%W_jS-km7FB0H<~ybKbt`F1<rDANAU6R2z5)?sjWIWV#JEU_#kst@2>e}d7x0r(T9Ad8(}4H+21HW(Ie zil~h<_wf!_BF^0jT&=iUQyyB7AdPm~;tEUtyP z|ENE#FSo|>bgtW@>Ydfoc@Lp&!ibB*@JXYzv}F`(428O$wu}UUdOF(qd!*K5g|A89 zS}h?7TVc&MXMEjG+g5h;F|?9eV)T+=VEuCt$=W`G6VYneh@{97;;;imf6KnO`WH*HtB@AxGq3g>n81{G|BM zJ6Bxwm+^65gJQbBD0RX-@_L4e_wxNQfL&=mro99(k3gokEw6Jd`gz>PNwp1$^XFih zcfG=)NOrZkoj?;$hs4bEo_fPPOI%oH-Cy?kX!Ks86-~xZNI82EDC>%9FRzJmR3k3s zwv|6=Td)~&{c>D=dFu4xaCxg>^QFN_W^r<}X9b#_6b0a{hE zVZBY;R(fIKz4r6-Ir1S^OZj?Pd3GDBCcWO@eAXy17V*=2g$GLqE_C7(Y<67HeB<#WrI!RE` zhL_qyHXfBMkE^G0YqPR1M1{sua;Q&LU`IZz$SC2P3|jdzTzNYA8?LumlveKkwPg0t zb+*Tm`F8vDj#Y%;PGUsy81f4>el!Aiu{qpx=>BFHTHSOiln-*_^|pmJ2f(%mT-_ld z1jQ8R+>YhQI61*MB!p+`=J`{ybm?dF@*3p0o)Ti`HFA}Du5M;&^P`zMg6q_ID~*Px z)JK*6q~o(r90;A^?6G7jaBB0evCmf(aV@qOJc>Gl-hyy`Cb0aPW`n&p+Iybv$-P)zDmwABxVAx^ zdq7}__QkjK_E)rG{Zwz<=?Q!DtEwsIr9F);LoGxjc2y^$W+OL4)9myf35dw{x?c5* ze7EA}Jr>L69@5p=Ghlrntk-FiP61@2K#u+fDrqAC&992cew9~B1eSn)N8bQlb@JgI z%Y8)%qu~0Ayu@b?6W2SX{Ea&%LC#yAcvPz|w2EsqBA_@B1SbYPUsUZ=(VigJ9i3c# zK#d(`7abSW#bl-gAdznaCYA=acs1sZmtxYYyGEL&J7u%>=n2gJf0HJ4kHLvXVU=Vw3Rd?I?H?7 z_vMP6WHMK+omB$Qc;3vKf&1a|QOS?+WTFUKNY-T^JXOmSvXtw5n1AHgJEq&h;A zD%lB`9RL^@EyJ~WLzCYnzw~j~t9*VmBzQ~^E}F2{>qm6Y6VLm7j~i!OJ(`;rXfL<6 zQ|Oc%bptO=l_l6xBSD}&Z6kysmf=d>4Qi_%R4}`jcrL3`2XAA!m_4YnLoa8*0*H;) zZmW=0p`_MLWj!EZW~};om`){qm*<~hDtd&8K=!ov%Ok-eha=&wgP7)v>!rjQq2}ZT z;z*hE62?{@A49I<^uXRQDwV2$xlytZ91i#C=L0yeXP!TiljB8Ex2ljtdDoUQr4a<$ z3#wn|XElEQ_M{GXcg*YfC?PV+_{}d|A5nUNPSGMCS9)V!rKeJ<^wt%Yh`2R&F{ldp z&S`9>)q_ZN9^LTElM<+F8RDl!wO`%O-WiJ8W&Ex(2>G^lS5n-Bj`0Opkyn8V>=Ky` zlodGaB7|U~BDe_d^g5>FL1{X~QGMrhUJK!Ng0S-TfbHlO%BupmJ>V&4mUs-X5KyPh z9OX#MhpsjyfGg(|7Bg2}@Y$)C4;U}Nv*16Kei=IDwwhhQ0|5-|>e*odSQ&GA{{JoJ zG(i(N_@-F*r}_vxPRU!^w$fLH)KOKYKnC#1Cx2c4`G19S)-f(CJr|sDbYCp~=EN~c zP^JfpaUk>x-abo0cVlJK8T-x+rS@+U$wT00iKbWQZXI7v@Yn$g)8xfH=N9r??@bl_ z&caT+F|LleY|&p+?$p-qK|FFAbZXmC4l_*P=0{lU)=#3_4wiEhi_W+x`Lc9#^1^2I z`p?tG0L2vD$puelluh!HJ<&a#u+K`4?oW;$nM~zOPoj9mNyZ=Zs>|8-usCoOtzEUJ z%gTsm*r$4nQSo1c4WlNmMi?gHnA0wJ@^*d9O`R~ii1K~1%4m)$8TDyG$osE{-Jr+G z7QCyzIti1schw!6gJ3C-uel$JLzlc&Nz1lYcNxzx*;LYbIr<*mcnN8)CQ#j}b2Ta( zP`&uG+h2=Zk4GNlob>j!i2BE`!2Ju!WZ=OX40W@&cOS?cc5=<2+=%=ap$C)Wj5%`r z_%dOhd@XBwID!F7FeG%+%6Dki_UD?)0`c}KQ1R$ff%7r^R=*kmY&esQGxUNd<`I_K zbmc68Mv3iqA^0pL<+UH#CafjN0vGw-%`ofwn^6pX4+_SgnL#(WUZ>`IgY~4(2S}6c zd{vtM+Bc{1(;<^Nzi}X>Hb(!Wj=sH9we!=;98)n*W z&BN!VyMQwzr#Tp*%B9X}rR?LHCGnL=FcV{9mT&KyEbJOeVf#KyfUM9?enXe4OsC6W z_R48XozGlic!&&LVq2VY#SQ)QsBxsazwBUto^CM`Gek%mu}GVlG`46H@hsP<+u=v{ zs8mh)^1D+_9uHv>?TppKVX>Uja>)VU*{vG^bmo-$&^&0M=5~$Bu@3T!b~v;h(c7jh z(Q@_PKt7Jl^quy6CA92c>}x4yhTqu+U$MP=+-c z$@^3)?o14XyJNxsRrwz+W zSG~wFmoQ3|j zR|1mD*tGh2JMX5-fQerQDE@lJ+yJH}tMsPO!iN&KUkShJ1WBlKTlEC`$L9!p@tX~; z0$08A5=3O7;O<G2`N2#vh^Uu50nkFrilFh7`A(<<%14OOd-7N*b$wD}QnY5tc&Z&rCv_C*lYUR( z)=5=bYO1Hhd{yOV3FEKF4&7a7<%MZwA82-Z*|p%bCwygZt$xQDQA6N-ti)Ukzno;% z>~t6V#auhz8e!Fe5hCY*L`-;#PRA}cHyAdoV8s#emS`BY+A}#nYGuzdsJXuuW?v0U zZ0?wK^)ejLo=%RvlD%=WzJB+;|Q+g(DtD!@VjC_>^QIinjwrx9X{g-r7!b(_0 zF$xPu#3D8J-Q0@7P$w8%MI}no+ve<{V&1P8Ag6;&AAU7VTvH)p449bq#$(l}&|%+9 zl)O!lpn2S!bbGO+e;g~b7-;$U$&C92U@G|1?$y_8`BD7^Wb_H0bmyy`ImxOH8#Su?+ z;*22jWf+=K=`2Rhij@NvWw<1?t+V-O{EtbR4Kc;9q&=<|_5x^At6J8>f!|65wc|J5 z04!1n8@RsYYC~C|12(R?6@T?Pr&yWV?I<>!Cl-9P70;xX7v2fGical~I)bs3(lkUV zt#s6G5%kB>%L>`OHRhpKW^I+)STyW2)-awP$j!eqvwv3;ByD7Pe>XL$?ZP4Dx z$>+U0t2t?d4{YoVNf+sU*U+2GY|AL=r zBrx5$kZQFVRWH@hD_YS~#H@uLhst0C(F|K;laY{w1X*lRXqeDn1{UlyGSO9VYSh`+K- z$7T=B+uBm@cAJBcM|M5{Mh{$U17h!I3tA-Hj0KuZ&6{1QLZGJE4tG)yREb*GKp5svSH&|g)YGxxFbtO#zgM_kjntar63{5_i z{As-LJqd4Tbm~Mpq_D%TC+Zrjek^6x#?;&tpp2L~Nwq?Rd($oU&tV?!1{UNf?L*7D zqG|tQmN{0hFk3&xuAfhX5T<%h?fmdn$$WohDkE~z@Pg5{M>ImbA6vLRAeLm-M?hUq z?tllTq353+8lol}Ka@~hzDxJ@{3#n&{CQtyBnUlPL!>Oz3va zu=$Ght=L5^afBoTw4Dgt3U~H7;ON;JaZoqXmxNFu%tKYIc6+SBx&64fBZ(0}klQU` zODZkqrcemdk+DFheieRf2W%i!`Zag`Ljj}Id!t#Ny5>D*fg)gtDI@lQUG{StN(bHj zdtybu=BCbC#1pbi+>7AMt|()#XsPTN3xg-%Xrnx1|=mUd%T_BZO2Vfvg{pDaT{`?Ps>0I8F1 z-N_*NG`vw}@!q(i_Cw18YOwQ>#ABR$`0iAS|16fYee6G18th)B-!$E4ajz!I6a}+m z0dbN-88`-`Uw_SZJ6zZ0SBu^x-H64)cw%X$`!^k?I+XBx9Hsu95kgnKHYP#8^VSPB zI>BfM6t;E}@a|N3Ah-%{-h%QO{X}#jzUmL0)C?>=om_=hgqmyZ;sykET66y*5pe2#h9e7AMS?UO?ovoKwl3Q~eIs#>HAo~M#^5=+*h+{E4KhDg(d?$aef@3ch4l)ls1}#da+hu+ z?G=VADxkft)@52nVr5K0rmzJw!B+jYNU!pH=5YoHhxRQfAz^K8kQj9oW5` zW>mN=7+`f{Sq0Y0AxOwn3AKGf3+JutASCk(a*?rCY*)wAy>x>xY5GQ|5!XoxMT1>4 zg0{RWkl;isglFKz^p(IFxLP}y7@dIwYz{YbMB(UaB40x;R63mK84G|74D7U7Sh#uH zWA{Ih1q^pLXrSI-Y6Z%&*U-O9X}AMy|Fl3&=P8o184sd^LLoP2WwHP)XT#jTkLpRM z#=zsZ1y_yqGV`w9qf8gd3sY}TrGDZ2@q=aeY6xA@A@!=WNEretGChdW80C~VKnTKS z#O?8o0K2+7)%c{&7xHsl0AGn$c-9{4UtGn*2%Qj`l!pPhN;bkZPzgyGF|u{^VzWDn zamM;yBex!G-)6giAJQNK80zf}rEoQ;sI|I%46m%zrUZRg2K~0|sZS_-{>}ili-=RP z7C-ZsEte9NF(FP)xK<_R^cA^8d)cXTTpP^Kg(x>ih{2;dT^*c9xfZS`Uor}IY$jC> z{`9~qE!HZeEW}?fbpbFp=NIZ1+X1Q1{uUrKpJ2_)mf-^h4sg|Rma)d#^du)gGhRj= z0W#zg&Of<-x9Gc{Pdquy^c7XCXQq2K_1&IB^BB&b3CkzUS0O|0xkLk}V}r!^o&}4_KFDcxwyPX`T`r_xDP;$-~JrrOQ>)20=jM}HG&VY-I??#gD4pxYO zMP$3(s`E0U59!S)$Zhse^XN{n5kmJCAAR#uTvhO~+en~!UO=3B3&{uPj)KP9=WDgf^%cI+GP;e>^}udMe*brqzW)Q> z;lHo&2#jl&?!n%J8{5IXIWt4H|nbsbo4^tjEGUZ}ufBrx730yGr zJW+Mu(%*W6oqQd75||wK-txb{`QZjmv;0BpBQYn9Q$gAj$6I0;u+nh05Ma@BkAzOH zGakE6$(MZ=wT4o|<9+#Y%SkvzhWOSIW@rg|U`Yej2lww|On0V_U83=Uj8{)06+ zFC8jG#|N=gRgUhEEyG3cP7MMtQg;8iQQ^CIqoGPd!N{_o79f?Ze|nMRI;Cs_+IjM= zw~T68E%)$m2TaB}P!FXeT?J;*7L}Hkd&$XBIWI%(5<#Nq`$s$VpBCEyH18@e0?SX*V(I7&RioI97>wi4MP%t<6 zHB2{<5Z*d{=C9t_(Mdspn7~<~6KS-)CZ2C;5`AL079&a9nkY^9@$;VI{+wb+Q@LcE zevPN_GHiz9jAOjGWHt9^rq12v>AQzBo}E`cTegD-NwuV@m$GX75s@qw#rLm6_>wr_GXJnqGK_T>|_mp~~_Z(6bG?lJE>dcS&(d zGQOyYLAp>Yv3KkJgI7YRO}kH0=J<#cWyI-<)x|ABWp4EzoH5&{&N+>DsVs*>Hz}3V z?U%-ARrVnC5+IwegYLhl8OssqzqoK`;!hnNQ(&)?yyx@2Kz{+pQZX){Y{IpRdYbV5 zxD|O-CBlnt8|QihNMRlKl~6|SM)N8|Vhg~xLznyQi#vl`%L*b)TYRsRk2J2`NO($h zeVpj{wm;$$xU!YzzZyP8j&Bn_EyYU3)|Yn;r0UZYU>=GjQtO0A5fl5zSq8f_#|sWh zchy?=Glw6I%*s-gmcnhqBq7Yf8nZmUGuGLiWsh$1%rEMA73q!tHTxeZrW&iMz9u`2P$$_-Np6m;KTnXF;hXT(_LhS+|f zpBRS!RIcN9yLVV2x!LFFS#+}p6+f71iD~avvcF0Py+SZjdX1;w_4^>ntBHMa4^27u zE}vv8q}9y11%ialj)5t+=P7t8A6od)({ewBpIVX{#=C}J&GIqto;>{9@H__1Hn+$& zl8(~ml6~5GJyh)uYT+til;4ddfleOCLI5^oZB)?{fFH^$kNtIX2CLf-i|ln`sdY}NJ9{TkkLA&xDxGI`jU{KKHU~u-qTGtlUA(@ zv5{r#9%nyZuz97U^}W4LeSLBEcleRIhR?!q@e@u0ot;(Wf!?eKV&7i~hT{u2Ts?z3 z5xtLsCszrCNpY=P%ZqTgeJUbm)uogh$?VGUjic5o7!!16=`BB!g{A1Wy}rjp?ZzZ> zVvlF}6yI^0`W*jNlMgB%4M&qIgz*OK7neL>=EE!|Dw!-VoLBwj!xWPLafqd1hj%Hs zL7I?1(eBj@!s@<#ImE9{uGLbVF&UspVvEm0{<6Z(w*LTR{jiZu5gTkdj*NE%NiRxkec=MYvr5!DI`}>{|Mel)p#uaDb==un)2-OG;ED7N-!V8|k=TUprrY$Me3YjA zyO0nTzM{k65TrG9bT2>s#f*1*O*F`;k*W|lo2wvuI0nk@LDr82Fc`$c|C_(HNloKH z>bp}f&(TtL`m5#@-)|$Bg0+mJZ^TWe4G+uYC)e*XGZ86qjOnbx0KvWxow(?hdKwu=Civ$5>TxSGFl@pENV?bg9!mEh(ltl2nVv>5Vst`(u}U)gyM|k`*`np{={0V0pH1H6 zLLHB!7858^HvC9DMuvcHZJ>mJVdo#V>eyN6Uz2n5T$=tq9dTP3!BOevA{<%n&G5HN z!l@fmi+z0^>YA&}bf1RUonB1+CFjS6%hfej&rA*Y@o7|X$~Rm$ho7*`=vo1uDT~+N z8=(UU0Yz;)w%_Vcx+M1JLDrlZMZ9n&$F@YvL~PRg?D%mW zQ25xiZ&VY%dZO;gVJ}60Zu6teK|vV`YHIXglZ5)6l>@%Ge%@inD!zuh{0lwmdIm&6 z0+a|L%zU6A!YmHNQze8ie)l@(mQ<=8DZR&gEMd8HwP#v!?0XLq^#D0cbwZgm_wq)S zFwRjcZ1wBIOU%8l@|4Fzfq(t?O5wLV|J$;v|2aQAJv8(`RsqqxiIdXQ`J~DtoXWA^ z^HcV$|LYw&NHtuCtKk(_Z60bu znB6Lx)uoC=W9KIUFGo?(pjhgD=iRAC2@4kcaAi28&hlJ^!P!sCZnRBg`jk&X+MxZ_ z;Ls|aL%y0oQ5U%-DTqpThBpxGM-#)RTrWpP)tzXqYMY$(>fkc4R_tk%`bygYA7$7z z7Ns+$|9r5*vrS+wrmR;bo#C>1WncYp`V8hJv_;j$Xar)T z^hqTFwtT}MUT*(=ia}$1Sar0=3P<%>r@r6vqk3ytE?*G-KjL@3qg3e zfWu)wOy};fD+9h6s-XeZn-#r%8jv~|IBH(pZ={?#mtJZET3=|K(|=Ti6>V$#;J4`W z=mQpA8C@i}ESke+g#PACPTG{Du#&1#nn6k%SAigkYV)Fa!x4kAhDOqp_=lR7zl>Cb zH|^K&s-sM|UM%g!acuT@^;I4|?@k37|800(zI5Q`TRQ2O(AUWgu7Yl@u*o@*$42gV zgTLs1B2FR5o6H_1EF)^ZYuFw)2|WlBD`G;1SK6E{nHh|l7AGeUA$i`9Nr@MLo#LCI zy|{B``77fc>T=0>J;FLADrTwzrx_n39b;Vivq{1i!upQ7Vor?2xG+A4n&)eZ%q-%K zta{i1IsIMoTy3Izj_&)Sy_Uh~ABsYH4yw3>imY?~@zuV}7ZQ30Y+PxxrO$g&%DH2g z+F*!252c@|jc7BHE7^Mcth5vd@)#j`GO@xpKxD++Jq}i`{2qpn)0=&d!SGLg88CSw zs%tLTdB5y}h0ujh4~9u28CQ$J*rvW?7VuVnENi^Af#ZA!%-)}xlCWNy3jNJsV`-ah zuqFM{%p&Af>w-S%HIezk(2mPEori59>4PA=fC9*MI+XwitwBX7v$^gsBhLTvL2g-n zZ*?%DTd-|n^>H8KZKyQ?u2H32C_Gl9O=nUV^;H@WWqhekFH1GM(Pw0DtnCx&T7_2@ zj&y^eb>=)}4u~`lnIGn;%1WY@#+qQIo5x?zK+kSa6`fey|LbJy%E@2cTw#&OF#+19 zS!9HX*9#`#THHDwbFOB`s~bq)UTqbuGiCUl^z2g9K`$jyujQn8{Hb{_p_%beC{*S>Zq7SC0^)<79%gnbGLKlZv1ltR&{=O? zk_NF6w$%8k(5_OrAxb%j_cD7S?s#{qSx4EzyC3mzgp|>Qg2z63;zJGM+;q@VJWN9_ z;ipIOpV2dvC<*=szzZ$uHlme`=3X>E_{R${7oVY4&2&f1Hmjb(qsoWw*F3>!UHh9a zb??qrccCB=Wm}iN8DDhBQ~fUBLe3~zy;11vv^TVU#kn~}#h z{)e_irWsrxLflL?=m*)eR8otT7HOzkzV=3+?Z^yQ5i35#d5Y+TfQ3YBKatThAs3?F zo$|P2W$M!u#TT)W=Pl!y@9nWe3zI2~2Q zHjOqRkr*W+i7>6L_7bsWQ8a=OYivP(-}&9oIcM(Yx}WE|?>~Rn_45z8tdZpVdB0yP z+;Kza?NRJyWT5CZyZF~|CU#L0cc@)bFj!tqFi5wn*rB^x?NFMRhqS6mcO%S|=kh*o zVsI$$l`xy>Tc4&64OgK|_m*OU9{Lpype$=*3;lN8%I+qHmltn+Gdn#-J2}1+c6@Ww z^c%1DO7&OXD~$k`m`|%)9|ShphfJ56ao;dczz+L*fjfcTzoJNgsB19QHj^B_bv^&@ zQMMO=tWV)Yi4?oK5t;Ssdv`4^*mefX zb;{i8{G|z{y;gGH!Mn3WaVqiqMZ`r?E&7a6iLcd+;p2Yq$PA|PU_G_>@vebi#koC` zyY&ypchBMO=ey-KnY#3I!k`R@IAHoM;%J^d`06z>13H2^VQAM$dLDM` zW@rdP{nD)vAz8?WcV&?yh{54S8|^jUJjGr^qO*ON{9~z8B*VM&J41zeWvU&Pp);h#C^=E4JP7m7Dmh&b!L;P}4{ zn64ILRznisMJ-PR=PDrP$?8U9w)KU8>9C{$ytOV-QTanTc6#`UvruW`EbhJ1(dd|y za+lEM=&yM_rhT~DW3S1V1PtB#tQy{Xr8dM7OBOSJQNo7ib05uF-lPsRfL*;d7n~L{ z@BJrE#qm?O-z8jfpiq(mXY)YutbXI5n0QcHi$Yz8SLLJ{Ld97(yd}!(!_K-ttG~N8!av(n z;BOQs2eT&_bD$SYNH4t~lfK}g>KEY z=!1LAOg#D{oWj|-{=E{9KS=ZqYHCjRY3(U5zMVF+b`bnt$*7kqx@X_fXgCNL2E8ir z8A>Zn_IlS3!d)PmLYyvAfT1!OU$HZt>2XZMdhYz01%@l9x4J`>JCo&LAo12;i@P2J ze$g76cvzQS;NtW-5Dbzm2@(~2@1`on=ej+8JA`e)mMa2yBhvL;hG`0OJvZ%+i6WsQg zIjpzUb>gsyZoXsSSqtd>`P6;y?p=}ISJ&}fo=5$CBF?><&Nv#%73{e!a3zNYl@g!9dj8fH%{BI*f%XfY zIz?COG6Gl{8;Lmcp8k&Fiv(OMzHZgLPFgJWt9Mly98_($T-mT|?JmQBgYV2KR1R0- ziW#)b$fy;QWRwq?OkMCR_dcP5$PK3_ko7BC7XyuBX4Mw2*f2TkCI>mfu4)AIZ7JoK zk#n;@70y%>v*ldqN5xxzcLETw|9G2kK00eq_fqHcn=-*kMf%YepFN_Q<@&>#@FJ;u z303ztcrYuZ|BB?Bcb#?5>Zj|h?-o|KhQ^bNN6%yI(Rb$+^?&ISMNv92FmqWjI#G188QWioKS!>!#36 zMDGsQ_*nQDR4+a)^EHU#D?3^0s!0ZbZ73_T>)Ru*qW-5fNk@CzkdG?b%MN~BLR#0V z(@Xh@JOm(0qDNNPGm?^mv-DUJ5z%k>*0$YF_&LQ-fisOy^G55R`|stG;Ba&EX>~m# zj#pAJIa+>kduG3R3}I0A-R?<$+s2T{PgGV&V;BYO;$B#Xupj)fOrO!YJZgQv_El=PEq)++iC=fNpwH9V7|(jV zq3{b1E&`I5zV5MJQBRC{r6}@d$d=oNq$9y%p9WFZV#yXPi6z@#tc zmt~~q@0DJ0HZ?}zaQhh`Kw^EV-um6mHJ>8JTOf8?4M-)l7&W9kh+w5P(wvfikwIUR zeWC7A%hQD~mzmkE@eT*ZNUnLMM{j)zifoEFlj_PYr!>;&O@!)-Sx8`5v3w#vVH-C5 zUTHdT?^MX0%^%+mD8}lxI)|tB5-Q1JSBy^wL;WI6@?9~RR_j-kSwsZ%V|RXGk!jX# zh_Dx>lrP)+69WPemR*MVJ*2dQ$?(>|+>uiYy=_o|nMNFD{}O7Oh*AW>O&}KQ#4Aa1 zAVWq>jugkGk9}=lGe*)qp`W^nFb;gxxq^Q(#Fl%HaKR8*PA?@NYP$wgjbl2cZG6%b zMn@PG+VUOh=LC~2;M9_e2uFuh+@1xrW$uuflO8NvrmMlG&*JDcih4W@-ivYf6ZV8vBaDC=6kNR)`+P3vPVM8Scb4OmkaCKlxWhU;?{)w=%p*5^ ze)CmXAdSbjYuNxW?vXd5?j<49(#@o_*V@F7w9^3Tg(G^W0M2)nW%jY%mAemq*hWSACwp)T$es|iT?;iK zn|UU>4-8iY!ysp7AM;c!xGLr#70@XduFU%L-zp551&EnaFc-qX_Ia>bl^%{PJ1W14 zg*t&6`L7Pqd z2~Di?JuMR+H3A_wGSo!yVkuG|dT`o62Y&X27~W+E><3&`VCEr*Re#uP(QjVESw4(? z&^2Q+eU}$U5V891j>Ze;xnra&*S4KEFF}Ix@~duf2j(&fw|6EzChH& z*Kk#OSXGq9kfrZH&zwHYx$%R&LRU{{$#oMAyv`s4iUJ;<26Mh|L@;pNadZCHftu*Q z!a5NspV0g%wCm&WS9|Q|;_wy~`5#B>K?Ef=jr3EOf1!VcY3yKOu1;un0lel_*zvNZ zQADBe<@YNd1+GARwz1Z##HEF2(CAr!rT><^HOJQ3qWuH+&_cwsO5!L8*ca#f}JaWf!LkZn{#A94YAaYSK-(~qxQm(BML5@e#>)Cwj$ zwc=3iA6aJJhfDg6Elg(Fi~%m#p71$XHaFlpi8+vGs-e| zUh;G2t@7W2DZe^BTYJVCS3i@!>F5YJv39@sOj^B`|NU|zd+n*l0Ht=(!)&0Vfc2i|n1uIZn?N)?_$>f~4FVd3_ z?^PQl(|}_voE%z}QJh7z*MD%=`kBYU+XP1FR!#-h`fp5}(cn;wptvqAQ*p7f!by%U z%wna~Y2P6`f+t(1#w_}IzlQVkud=5a4*XA#qAbx+Qx2uUHNLMa|3%f(%_4H2?CpF} zfSWI)$gheW^C+QclM5t}2y5co_db}R+p&*_0)KO8w z#|=33i!^JgAgn#Cjs*DiVUTR(M*Zr5d(6hoznsw*NSH3Gk%9HPw>>1SUWXrdbc%PM zZ*2?Qm()~wWu73QsskIo^n^b=`=gf2EbS-8maKcE0UQASls&;5st#hKBAFvum*jR& zq>>(E&R~U^R-(c)@6VTsi+0yHOV~rR#xdguZEhSlc8oz&?PB4N+tu|}Ga-ezTIyhn zdvQnVm7ar+*}aZKcy8Xuq=~mp%O7$I*+mH3f=R*>;C3*(D%7}347q=3@}K5;J=_Ynge51plsh*y$31`cT}A5ESSnuG5Y&v4H2~4>)UeIKQDa2e{iIdEt4I3ofAt#3i@LP%7+O-w%QrtfhY}8zjKE$w zvh$p82hK7A(msie(@XC-5iZ1xMWykB4PT*M_GljE9ZA4)@%cX|_z!{|kL`Uuu+M+= zN;pJJJw}KBnipIhbGu0n7QP)AMvJnRVeMS zBVP@h&mAT_&yPH%F#^2^#GS>usvg=Azlcpf61I?HHI6gw=Sm5skW+sVIS7k@1)!Q# z)=N*)i=a>g6!IG<78`Q3kG)K($wV}puh8c8dX!Y%+w{;%FYM~DQRUT)+?bds!r(W;2c06-*azyyLDMbMuinsWBJl~8 zz|I+q>Vs0~aVcem7XaRDhR7POeSYkOqneFL?fltsp#s)Mm&3prBr4+P@l5hXqH_*X zJ2`#d&5YJt$zYWizE}EW`%Qc_m6fn1e-mr%#N*XO_<6^}y`A92#RQ2rpbHLABz1W4 zfX%I_FpEqH^m-L$*n36lbG#Uyy_SHd3#lM;6%FXgXzW(clfbS23(RgJ`R}3larXgZ zr{&#VU}|b2QxV%#9*KB9L8Dxo6LhVYtB|ZDHEmy#FO;ViaLostpWm3=dO(TJiL^&a zn-G`f+SYo_0Tgvx3{^l#f@_xnC95_|6aANEpm;dZj(1+Gtd zW@e6nD!A*F_|vRMmC>7=$|@uQjC0*KvBk_`rM!B#dvD%2h3EhwKr0A znUa?#&Q7DDl{GTzcRb1?ubC+z#Ev(ao*lraLsB?<5kw?5G4{yMsoIUVv+ao96;H#P zydy|QuC)=0ILV9(?|wk63+6e}6PY{^kR*0{k^LwjF5G=-w0o-CJl%Exsv{P2f=ysx(#3;+p5GJX{{qxW|3bW8 zL}H&p*P=5wcv!^hGl~1b17_mwS0=4>SQN@2ko0UQP1xI1Xv~bbL(vl_%-{j?dWk^3 zxSX-}g?hZ#mpp({z2~mVxU;#xl8zlQw0$z1O&q_wuuOr+?#Vxn+8Z(+FK` zi_SVFs`K7kJd$cxqtd9 zx`%mR*GG(YASRuUs{qEb9|dMHWKCy7dVe!pEg&{?OyRW**fYkAIXE#~@Q2cvT#oh{ z%neO>arn32-o07`DmMlFMZg-B>^o(4p9c}j#ROt{{*>@we~GK8=w_nFa`*8 z{pG36e}U2OCjKj)@l<_w3tMw+_RRB*lDxcsBk%o(g$}hl3x}<|IE{ZB6ng9a73OH< zakFkx$KN7fVyZF z5NgNu0z)q>C4RMy5+?xi)xP$wk8`*m)7wnv=?U}oq}Z6S{s~|yqdRIoh9k1{BDN-HK!#*uRNRx2Z49Hi024AIwF_Lfc39DqCzkP5h~{QP~2#o&h$WBz{EvFB&2vK!Jmt~cywG-gLl!17Nm zE8P61_>?=nT?1Lc`1)AADgtd+S&J=JgS%iV3;m392jY2fU&XJQ`lo{4_EV=tRS$*K zDnF*{L>~O@u9|DfliAfVIKFi!MimZMi#vaFaJ`RxCk|g<^PvNN#-LhAWTnoN?Lu-} zn3;&baP8ER&oyG-E13fv%N4cIhJky5ozZ1LM|ryZ(+6yTulaC2c85B60N}5fk9@fg zCiI)$D^09Ag@?Z^laNlmaE}EDnzt##+@G#^Zr?;qp6aM`Rulj!*ny(1H_6nXX#o_k6y?ThDU#6Nw{~i)zZ=Gfx6PQMrOVCsOnzcm6gz`qJbWTqj}~j9;Al%Yjv7X8y;te}Ujg%@hB@jBU33pH*P4(O{Ej<=XC|y~GoPCM z>+1CQGID4Ai*Kypw7F8(CMDWZ1vJigw4gpZh4^vzx1YRF!CfTq%>Zj9Fsr_A9Bq6{abb z75LMd|3=vLP10k(d2LLXdoxL!5|-qfPqex`Uf@y@&o;5VwP>Ej0JY@ay#d3=>nlSE z=|Cb?+Q$XKH6^SM@1c$V{x}G54782Kn!$U!Ra__S)3xtX3rn0a=hq*=;h}3PuP%^0 zb`Snj%8jswHMJK=WS7@^HzN1yV zv_+h!hCE~q_Q1_;QY_J3ew7ab77t@JMXF&)dAuE^nibrMCVQbSV|~ z34Yhj+oBIs**}{1f*96eK3D8-AQ0F&ExoyGZTdq=jG4zsjc0xiE>oiB>4naFX+Bf5 z*52N}^SI_o*-_RvuzETx(Vbntz#v4b6RD;LlT0^*+b|%HYp~n3`!H)aUE}usWsNQ) z?PE6^v*!R$koAn=7G_{!Jz^Wm82;_925sbDf8hV|gTEMU-{53VOq~dSuQXe2^a#O1 zE(H$kL_z^j=Btdd-l<#Vh>p^!;aO?{4Ed*9kN=N9@&EtC|9AcaIv&)0gNiwK$v=3l zKXdnA@2?*j{pVl*LARaXGMFkIs>n>n9u)|>IgJ};;|%2iR6xCph>)?pNEW!Hsd;W+ zN&MkKot@9T5B|QZmHBqy(ZDHyslSk2s8`Y$zHf=FLuG7B?@bCAC^@S}#DFA70k;Oe z5-1&-&CI)WA?A7QUl`7=f&VyHWCyb=8AT4vIYu+v&>do>ibDhw=-B!(Imc$zzqx>S_Nw52fGT-y#4D}j@+f8)pd&lj|P0>s(csi~#e z(wG&?kCkPeI9Zf)c3~REFERe}ErYwQZ#9Evs@aVYLsMvkG(<-BFphL?*i)0y|@57VYMeLzy9>ifuWO$g1UUF zdp#{XR0fYH@>wU#N{0ApQX71fu$ST-_3qu+nR!m!%0U7kdm$L%3C0A2B%Y-pPuJUE z;0M@Ye#M!C(X9vXcAZ_V?UXko1deACJ;`?!aWY4Hzn&564-Z01b}SGO)&*uxPQ-=s zW|zK=I?$Z_TN!Jv6_77mZPha^YfczKyK?DE%}e-8z6>24g%(`2A9u%ZE0blB;@H+G zkAlE%jF`aERY0fZ)=^UoL>9}K7;2Qc(f(r|yE0xxBBm=>>Lu}}EV}dN28y#SfSo1D zbSz|UX3^j5tC73G`kKZ!+Bso`YesZ1_aOfhii~-;!Z{{3|C6Zfq?D(F`FU(*r z>m+COkv@de1$+%Jk}}wsEKKjXQ7$pN208vP;MCBT0fidkwlU$;5T29>A5#^*Zlh}l zq~I@>PcE#)x~lb|#Yh!UFBN+E$?rQ$QVlnc=Z`8w7Mrl>wF^Y?zMmNvF7<*BQsD6} zav=WCff&Mg{Nsmz5NZ}x^PK+1(T3{6%sfvy`*4n5ZRV@cS z!jZ!>NL>z9Qm`k~F6tOtUHZ2=rz?V8YNu3CmXVu9kIU1U8?k+_#Ju%cD^oJuBXQT! zd$&56fekx#Tb44;DDigHzTS}IX6sMVqop{}1F&NJa%GR7wz+D~Xab5#i!oMcq)B@}OQA*q~*IqS4J zYjBM4$)mg>Zl+xWyf)m*z^e21-hp?5HY;i1Jj}_yu{sl4?jsv@#&9QkuKXlL5H6^#T} zguMK-$Q}DxDBVlI$n@$w`P>C9(W<7=35zEG#|DysD~W31_41lC%nF>O|TzreK2+EU5Y3O5j&dmosDfvB*!(D1ZUn^#StCB zqE&xD57x?C0q8jug{(b1NxjMBg(X>kyA(2H1B|?Ovh$PG2PeJ~C>}d?7^Pi_(4B55 zzF;EA65*|=zn{R~_Uo&c`+p@s)J}C~aRNea`O&RteMw|m_Q-psRk7Vy|2%H~-}iro z%LsvIq@0Gf~gX^`%(}bAKfRPA7aS@{?Tn=}-vy!j%UWpj8_qWg3g)Q94o_aex8k$m3~u1?ZQqv3`Nwe&yzg8%)74l;*FU&oY`U^U~yv6x76 z5c)3wOj0C9q+6`^Iyw>@A)7|duR};UBCL*l$piz&q?vi$ePgLYgD-S+yp9{>Ys#j5&BLcy} zI!4sthm@=H;cYSB(2j*$$1PzwH{!rj-<17W$Ye+}SCZ=;&H(9LCsT8m1MuDlnY~W2 z{ddS!3ai7BtuCQ_!SRvVHZkb5LWf+5|WCotAM4eQPIHx6BkayOR{>Z%&MHUeb%yljh@d{x; zb3Lvacko7}ao|6WgQ{GPLU;3%bUrSDn=22VKJZlKdF@Cj*lJ~6#p3f*HXpWUHFL!Q>yvwd`xARDLp($3Pt>=-EFq58~-`Ljl+5K*|!}>x7*EQdAB9+h?EDL00^ag!rH0?k!#d7 za-nuFSj=K8_vQ*e!WJI4D5Xv{V1k5BKRtjT;;OT?S3sx7Y$X6D-xokA5|7e~Gjk{K zKt9vM$3i03$TqigZs#~Ai0J|c#}pGWn+vSet8W@w?k9^zH{Tu=5o*Y&xjV{%IR#*s zuH+SvqA&TqQZqa>=}`9yRlALlch#ur97pC!g(H*wkt+!pKcFC-+|C{3yz^A%gWUb9 z$ogFn*aS$mFkB2{ZiLilCpq0#6O~<{0rBn{E18?%n8o6lgEvlR!sZ=ZI%l5fm|zx? zpY+$HP=*G=>1Cn0&tOj1gDF6i=R+Im}f3Q5+9I^;$E*H&v}k=m+4QK~CXsHksICXP6SVGo;L^xhal%6}h-*-36lJ z(2O=aBWrgnxKskIE2{A@tx51#24u&5k;>+v&JZM5r7M@c^Z9SZ8ZqdYcpVDf(T8)Vk(2H3wNO32F%Ne!Bd=Z2^zUzQ9N0muj?N9(WurTdGh_wi*!ltd516a_Uzy%I;N00(zWdGcKbW&xmTn?7p7iLCx=a(`ssTlp;N&J1ZzBk zsP+L8HkZM1=@D;4@g6-$*U8Kv12}DNT2kgc1AiuxyugkCUjCU`)qez3150>8$K8?) zJVGronXr;$AZJyNm{(B@cxvdx7p9$miZT21Z~OR}3uDUnixsf$ zB5B5`A=_sK2$kcx!d&C~frp%EU<#&i1Wfjy&``~5Io)Ytb&=A;)90g6O*r8zx1>>Xh zlqaXo{1yWn?80893D)EtA!oguYpNTm1*=S4VJN9#o25ze}9;jY8vB+`^^ujX0cx3#+Yvie$ zws-!cVj|~Z*K}P&NbHa*%mrY+L7@INpNxgkR4th&w*t||#o0y{`68+bbClwr9^`=s zqp|vW*<5h)!5;}V1vj6CfpZ`Eq}&qhu*2@WAt2{0du#J z@BeMUi}s;hy<<$9Uoec1l;?27c&=zfzz%tsZy>z_@L zP-Tzq4I9F{Ia*aC7W-NyP6x`NChwK9gx5Y4Y|eO}to_Z>^sHFS)hPd|0BwDyA8>+B z2No6ML%JOO>x2AK%C_?C37duUFDuu8!R^?0oxDmn0S?ZpnHBdJF(VF&%NaPfGEgsq zuq6hkg2#exZ3Jh&3n)X>cpv3ForrR5*4eAdvX1XJ?=D)N?eMOxgp7bJ%G}lA+!aV^ z4FHk(Fm>!qJ-y%%&m9B3@9M#_*tP4jDF0DxC$FPT!pEM8yJ8x5c-wm!&{$tPi%pwi zHZVfzbksX;eqc`3y9Ie5P@)=8VjV$<$XIugC#`Q!%v4e0Z4;~wyTo2xtQzW0X4&LI zr=uOs{thbI8W$aHm@vN`Ja?wma$l{r{yD{ObZa>= zKN8&28km+J0PD$GmGLY+Ro^Rt8U>0?pnP74JH1)TwYry;_)WXX^--OIxMhSzfP%|o zsq;+w%Y8G$+s0RwlvWQi{1%X$jg?KynYSwLv^wpF`z!b5M7ifUYB0Ma;K4%N@ zridK??Q(n{P>%=<2KSqxKTy(-d38=NM~`}hu~vPp%>-CE*$lKT2mgqr<#ttcbCl+U(FGvH|(> zCYja`xNVJSVh7Tc*!hQ&S3|>+_ex)H3q%i! zeCJ8w$cwsqj6-?DINQwxh;h$On8{8pZ~;TSc;-&y&JDZv;@`Vm?WI*II z4_3l^rOs-IU_rh-dT4xWe?|EU>sl0e;LE%2m}TS@9u_T|?({y-j+ax|xQ=)c0JBSI z(Q@aFFKW@GF^2yRHGiYoop3^8f&IzgLuifgJ0jl=_}*CfpMqKPgQlkO@L$ zV47_P(LPiUBO54?o~*2Eqy}3hP^?MUBk&6q3Pu{)e=Xr^9nES}bz=YO*cB|QcPuP& zv6#+FHq(hEZ0WdmF9T65_y{^2#`kLHsmw06_w}vygP0xdY}P}+QS97!$L|t;y2ceV zQO3qLtBL_2n-IJy_wuj7TZXo6fhAsk;!ZX>Gsmz6iwg*;M4YI%sq93ufA#BJX|gG{ zi0~_eX)RQq1`h22_?&dmTadi{MFhV#c0ut?R0N*_XO6TDt=5JGRhWGzRPkzee-c)B zA@5Q{%du6>+jsR*f}yQ`^(*LlJNlwsxr=*R4-IgIOiZ{c58xWyvr9LMi}6I8&6R}{ zL;=_Iu6x+xne`YU8{&WepjrYcB2e_kG?4>&aVm$8tmu51rJN;fj~W>HiieX1S>W`mp-42 z4KFSp{p#57|6GQSDO@ppTFH||{2#^-AUVH%cRIA}DgA+<-xJ z!~C%GVa5h;hS-|^_@Ke~V*TBz49%bJ@dv>oMWkNzT=-aUH6a3637AVXUP^O34{B4f zu-5JnP+6#P$=|Yk>>smwE1DP-*^ZSAv=oJu#Z`Jw7b*i!IJE?i;ub5RD3NuKhMB|@ zBD>hy1(UUapdqX@`5<3A|HSj>FZa&yCe8T7W#(uxAW;c+qjbdhEzhnVeY%0;!{9Rv zYQoyik#Bc7F?Ahz>idp^3l+g7e~)Q3{a<(W$N|uyc#&uj3Y1ZzIJ${3&`)e!83`D^ zxf`bDPWMPkfW&l#0*unLi~Y!}6*EKEId;0M{2~2ZJChoU_6FpQ;o@kFvnn^VYQ<}p zM8!qBbUi6&6yMxWnXz=ZIBhU1N|1G&YZ|W)fl8De)@6gq^#E?D4EOZvS_`kP#bJtw z+R*PW$A7;%wvnwM=mp#Br^1%Mh za|lbz2if{rMc1${WX%;ZRe1vxwD}etHc-4xF8tAnzAPZ~V&gK0gE6_|NUMsnrz_F5 zIaRaR=4IW$-wASMq{BjM4o(16>#aj96S`WeP$p5AXlG;f?=Csenh&n_(|B1@@hCG7 zVYDPDN0u%!;A&|WtMebX*9yZveqrU2;4)Uxa3#54*{iQ_T7;+2L7-W&S77Di#A?C= zYgzUxzj;?f57C~B-+da6kOYq)a5HyV#n)2B5L}Yp}lZcFrSmsu|vqDFD zZdDJ5y}-hCvN*py-2Z5rmwPETGJ5G!AATt~!q*aBfYdI)W_vGk67XT&a4&yyQN@>i z(1_PN{hWrDoYK#_c~+sqcDh@!E7kehOJXLmgUv7!L*VPnMS1XmtqpR><30%TcFgMW zG~{%}S*w8!2Ju#e#q{ldN>kGa1WTLbpeWXQLh~(nhqVzte4VF!JaBYVyS6=tgmxF; zEbVf0YC?wKeP97@8CZ;Z$hZ-N>KLl29L84#V(8u#rE<0_13%ULFrtKsGAOm^u*n?N ztDegw+B)T64w4FPW1pY8s>$@VEr|6;X01zsw7Zfah-%;N1%f^W<+vEEr$L*W$vcfL z%c{eM9tt#C9ARpZhy8BL{D9dGa}=3XcW_*#XWn>-tM_g!GCIO%WN^}t7t`miki(rP zcV+R%=eLn65W7G+Dr~u$XDrd>s+_7z$e6n$8s`u=Dv;haFU**i;-)VlHO5I|+SBuj ziT*w&C&;5e7vmY@MHE4@*oFmK04*Kw?i5Jjt>=CD6nnZUtl0*_dSP{6&NWoA>T~VI za2+FU&yXs-m&yC^AqNuU4{wRGx%s(^G<=g$QsY3V?IqVlvQr;G*Bbh~SIYCq&3-eM zJUOA2&X>>KhJ~E+&t_SSbCOh9?k3J32O%5Mr z6&C>-b#xWc`RBsw>BBHGqZ zOe4aDGUz8+5!w5d1&)U!>)EB1FANOuOc!_m$1eH=#N~5(;ZsP z6fI7mQwa$c+>#~-24pROuRl)Ibr-3vM*f7?@$TgFd`3*ATd^-JkMF99UbmuRYk_KJ z5HF*cP%H*0bDK4%j>*vY`_$!}{>x1_iuxett`=@AaC_fYcrESbi8B|0;UItX(Bj=b zR~Z@kXA${svW#JMWDTEAB%PH#+*^rW$xdj&{3Gj{zwn$~#Gg8|oFe@~wVZk|?z$W{ z>yx*5@Hx1AZt7rOG_`a#{aMrf?tB3s$P?D&AN+J`vryOcp!@dtRM+K$`ooEMo%u1U zlVGRAy}y>iyNMjC^-E>0W#yFwAt>SsmViIiNjb!)X6_26*e*+usbC{{e8g5{(T2-J zM&4?#zpNlc@Q|i^J5H|VKeD_bo+&B?u;Rt{N+CWn+?qaw@2~J1_iKcl(T|^nPvcFeAAF2)K=zlV8>6K=`H#Gf!CQS>7$zo!QQE0luygI*a7$FnHSeBrc2OwC6=dFqjL)^-3l00(t%dXE z`166<2h`0R(L|GVH5(`%J3vctjQs95q2sN?24rusL_q zvMOwDk-2L}e4ZcZ7I=Gc-Au%ESY-au?@lh>=VFJi9-S__lyW+qy5+mjxF}3Y;sws zT%;8fttTspW0HB)P)cL%1gRT579ormi1$%mhewaYJItT4tb|dAAPY|9xgSY|%20z~ zi?N4&(14h^Z*C3BVq+rDvIdr>Wq|?QKun1S@kI4fCRxz0zMHgIMC)7M@C3apG?*p1 z9CZAi`iO`UzGPc0yKSXadQ^A=d8B)dbI}1bqwIopeCy(zEk?iVB)silgSI-B6z(sH z4kU=4KAXxOooSM|_JkVXmwCD!v@9|)DXtt21!@&TDK{R=zFk)otb6^n*t= z$jNg|%l_V-(KW)M8U|`xOc?Vk1_qriIwqtWe3{RDt*|unhu5n~crg5JnA$qQGAG!Q z`*Zt%Op|En@yVRZ$tg4z=K=LzIo)tQ3azlaE9*~bEg1mXfuD&QAE5I?!p8`QTT`q? zy6PCjGwhhoLrt{uERk8v^lIN-z=y3~>7UdugVfjA3KyB6uzYP0+%7pZ`Ki*+KQ7d@ z<0+n}1lQ!U2f&K3_^}}=yzh!;0s{&D9#iE?4slKh<9*GQ<$wwSdwG&c}tgoVSM#id9d{!$%A^+^T(UA zG|AD;x&p7IfiLEn<8n9%9PtD-GvJC~H5Qi1l0uQJhbb&#g2GHgM#p6J#G>zsT7FWK%|7>YFFU9|@H$<`Q#jgjgwEJ-;<|tD?cg-C8%&PE{#@s-ekh!(mAkfeQu7CQqxRyXd zKRIoZ#f;0yvjA$Ei?a%53Y9H$jboNW(xi_&nsb0=%)o4mLAxklqFzY?A<5l_m=&Iz z!VWbEYrLH$fMDXD$4)M}>3-QA{jM=$v^oQTmkfQ2=f&{7P0Oz|P2K*v?kOpqd^wbt zcdq%w)M)(+nTXja_a*82bQ0{QI2&^7YSPXoxKFWW>0S_#cy7m!cG8JNy2bBq@1?sc z)Tz7yU{TBfdVkjetx~nQ73-t;dwAo@A2r!lIJ%q`y`Rmn*Gmp<_ATDn;<+D2q%^dB zxM->Pc0u!4L!dEst`B^WMOqqkMQZ0SFME8ZG0!u3I(pf?R_%x%>erg}Y}boQdxzj> zf`d~=IwogAI^eADTK^l|nAyft(h1JVChcd!-a3)oq#H!Ny|D&3I&(Lm<+i>=L0^&) zxxs5;w>?i7bf#|0LrvCr@=eEzWqX|1wr~b7>jNjwT*$UqUx!1YV?+Tg1G;20tjY*IDEd+#MV^a5k zL2y-tgG+T=?7YSkokI@4BRA#K?ob}@hLl1tCf0k`5qj4%pCqj5rDiqU>ZOC1=e= z0OdsB1RO18@cH2N+%H37jlZ3qdo^}tOIFN?frZNV?dC*oq3+%WWO8j6gcTZEL;%Eu zK;qv(5vk^XO2f%b|7Yyjr)V!&K>rQLQr2NeePXh$KmN(4I0%RlE|#;)}MD(kg-lX$`vl$dykk6lg+W-PETFax#}jo@ox1yxu3M?-`r5F zQKgT9qR~#{-s8XQC(M7-+~oUAj5??!A1-Wa*+sAmz&mOnE8aV$Y~J+zK{gT>D6WsxHQGeuqr-eFt5pYoDI)V! zAx=pIN%61oo(mr$j#zVgEXkDG$ViTCfa0nO!T8{lwwtr`>_hKJ;c7043*=;j;DX0t z3kuzAd(#>RzF*o5A18AFda>jB6==R1pp^#n{<*PUfcoDP=wjB`ppxZt81P@m`C30- z2J9TtSgj;t*$~1bUz3On^%^kr*p%H}DE8fcv2{$@^zF=;!~Cm}HT!-3HbJfi1L<7N zB!m^_-mVSj^mDig5|fZDJ8w&!lxREg?qL?Ca^uC0pPg4^iCVd5klrQfm>P`4;1e{n zKOaw3O0;f7`Sl5XaWrW+p-AfA&3-#x?*(;g@Td2*cEEco2T%W?<;}fp;c;O_Tl0EH zrRMP?K_lj|HA7ogRL@693z*I(Oj$Q`tK?C@!ifNWXdUx>mRay-uGhjdk9v*x4J^1t z_V19M8(x3n#>ju7;7ni-%Ny)xXGEk8|A&Z{O;g2(JAr2V@0GySZ;rM-K2Dr$-41ep zuk?M_fwqzFeR8(vvjjkL5k*Imd{v=_&}~P^^82l zZn46`b8Le828$^@#*VJbQoGsALEqSIQBWs_U7h^dkF{q^2% z+WR;IJxU{)V7ohKpjrsG^z<4+f*@Xl7c+BVr<+<-V*elZ-ZZMIG++Cs%2vC|fkq}p zhAu2YK|lBT3Olq&d$B>`~SbL-=%ncqFO!@x$jcCP6{1 zE{LN#TuFWdjTJmGGu7EvqewofF8*G=O6~^!dy&Op0=Ty2xWUSc7aXiOJ?@T~E=Y|y zSEIa*@ZktH-KOJStPxSV{ak_|x;jGeQ`|!I6c^B?@W{BV;-^@tHQO$rCkQ zgQUn@#^D;~{X5^6Y271Y(&&4ZvsNTOz^e<Z&dD?LIEZuhs%|c~*o6d~}npYzkW(#}oW`S+PyBg_FS+hOV@mY>Kz4H>azc&Kj z`LdZy@~>lOXWP$`Y!03hr7Jh6|3bShZF@GmPhUQxphPujL7hko4sJq5V7D%kK+nlV zrrs$BpTlGUQuV#SlDd=(m%Zy7_oQd-IXOeDXXeyYcDP>VxnhjiGGbPthbJtxs4{vC zb+I|KnE>9;kSW;ZP3iT1$LVo8|D9~_(6{4wZ=`X>j0FM|7Q{DJ^j4ltB>=z$KHGGI z{AM&@?YVa*8gA2Q%iS-4gS()h>FIJS3x5YzZ&<{ z_oj8-#ZT5tiwnw8XiK~yl{`{laT8Jgx+dHj2tO?c1hdN!FfHQ$+zKoF@ATUG*pH3A z?g9neB>!anWq;MJS%e`!!oG)N;~66`gm<%5^#EQU;Btq#0!h7?)MA(hd^pyn(stf3 z!~uq{KAKhxH8;uh{|T-(TaB$%Tb~(6p4&zgys|Y2jK?*6O()&)skZx?c2Qy<6OAF3 zrzI1F*u-7kH)Y~S+8cHi{A8H%!UWgf0{djetHj-mTpl=M7|0NN16 zE`Vu38`~rj^2^^ay$2@lp9grJAneFvG9SyjC>>HnD#MkXjf~t%ULIEUgD%A`zM5R{ z#W3@D9Sqkw1w{puxvnRjfn+n{;>5jD^vr%&(YLHws?S8D0nxXdSl--6VVlAvDHQg@ z)sp0g2S;|8ac4pi_Y*!J8D1!|vhy0aj9Yw~n^{mXwLxkfHparCuAU4f&v}ZrFNRc+ zy2^nL$7VmO)4EDaqajNHo`Zh^*W5MGW>^2^MRt)bhc((7R8lmd-3|kw3h_}*X+w5a zEr~$rz~kpl8RPHeD*l^IH9fo5A^j)+N;A!``fS{%K?k1)608_^=4$C1kYO1oFY9V= zyu9|*W>**lYU)9$SfKb~Qdc&7QK(Q4+C{NpR$YO4yd|yB?dWxyi#oAlKs$0$Jvy*4 zW+fG&Uml4Wuk%-m>0m@2yD8o}s;HBB14i*HGV#4hAyU&C#IZ7AR??J}EkQIfffPF! z1X`^H`Hn>_G-aMqT>{7MiCsO(fN(D_L4M4veau13EL$KN-j<@G0{f$^Q}Fw_NMq}= z+UIHK3O53>R4t?+kg3ykK>8v<{Bf}G)q!E!%D|4wY>_|Gv^vF`#fgU1RGpU7tpkY}(u;#ja7bPdq~RndVhL zJU%>Pb=E^PckETrEc)&v!WaL0bEUPQEWom`oE(ci8l2E8gb1rH0|U-tevSf zPpGcjYrXK~$oaAVecu1lwS#MBE zx=#H*Q^eW)T9V-2wQp!S1h){e8OX%XBlLdNZPM2;l!V^VmC2Iz&gAQZzx=aL`uG3; z=ZwHdQ?kEB37qiUhT3&z_59K1yT70QQOn6{x$TfXUBA)62FE_#bDFWD=B^rJ2k(;P zybB!Psg@1QT1yMh6$e+;z^8p&T+a~|Pmc6-x3`aDae0lADFjNZLbk)n1lTl9Jd_SI z*7U$Sdv4cEpjpX>_MQ~DwW{f)lft5%+DePJ>@)3-@b27jGNRU`%KN|xSuNkzx`d+J}&Kzwa}VJv8|h)gSh?4Ce6{f@gZ8>IZ5;x~i|{Z?DpQU=;}O)~H?~zqp%W zXK62Ec^A;oggC>RyME?}Y+GZ7ZVG177Dnj6>O2w-*@S`=jg4);PW(cT`y@I%1UEKk z5ua0b|8aW7tc5Z^yog;cu`jH2O5`kd?d9~d9c>fX5?8oFyAB|%vN&n|Y5IO8Ncf z_s0rq0!#4Pc#cr?Uhc3uXXC}P{)5dSkn0nAyDB`;k4#Fp^#6QTM`~6em zHeCFLprYuUq4Z4kaK5aop{gU>o>JD@j$*Gswi{}9c=F8FUh@pGR+NFbA%>kr{%%Bk zI)5PemP^SQ_eg|&`y7qR14A1}8WJJOfaiD6nsy{@i;rZs49DD#n& z3Ou|8K&H6?aRveDF&~vJBRnROIL%N+s|>bfW^F@hPb~jgmE`7YI$Wkp9j)S{STkvc zVEZs<&mtQ%DRxzA%4jaWyMG~4GoR(7w1GWipIMdJI5&Xx-}m6jBo8d2ywZyn3)aFD z!7UqcoRD~;Ku-BjJiDK_t{Yy8B#emu1T314CsAh9IP;dvYqnMB0jqhJd%ohN(uLhX za&9DC;{`Xp5Eq_X{r!76fJ0w0t1o&t3-iz1qo%+6oSs>AQ$QDqLryJbQ+fAF?x`;F zBdD%O$|waOP~v3N5>C%w2ETxL7t~o%hLIJ$&z8dOR(Ng1j_?E7{CBEYuj0z2PfN9u zdKN?0nAN)3agG$1Dw^+n+^TD8_~G0P-ZC`W!9Qz+foFVFQtWR-)#;jVIg5MOW?n+-IrO z;5IMu{myz16RVWEp+qKx`>j4{9cEotWgiKS$hri+?i8szv~Qz7`AB7M_E28qxd7i; z0uC!2h$6;!A*iL=f_>G-2nsEcgC+YLsb9MK_i6pFe-)O6m7jgWe>lhg6I6JdMqZM+q$?gvbrs4gR_ zv)+Z$4cKU~qv2~AGCf;q=b|jOcU$XcgPg|AXoby9v$;Wb)=|&C@UpFj!W%V6>m3}= zHD-op0igI&DAqOdv0sXGCK0E$&()(vg;zy8mdIUF$?t1=sx$MziBIQXvOxThq}zfE zq(?hrI^(WJgRcg*Rv#9sJ7xqEShR2k6hT|%)dm9nS|s&=Qc}Co5Is0TTQy!D_)cIs1F@2 zBup%85>-qS_*KXW2m2o=Xf{=rRFE zk^5U(0dTj;n#37Txi~);fd`4i?L5p7yW`V-m+?)ybv$EQmk%XYK|G~PQRVE8<&L(+ zKQD-1CRG)%g8jVMWxl<+4{#EbPM)7Ovy>9Yo0{W6Rsol|?V5KIzZ z+U&qs41~kcm2;-E)uraM&B!~i>5D~3?Wlx`Ch{WG9Lz9S{}k-)^hWTJV6RoOV#FF>^Uc>9PkEF0VU;_SElsB!W|(h%!NBup z0bC|rea|;--d+Lf)c`Z$D@^A;m|x&M4Ou98vbdlpPWp)U-Eb!zyJ0*)N`Kh0p`Sv) zzlg{OSfom$-`U@4xi|m$BbaYt@q+;z4*pGZ{Ga4VZuH7)!=b1hzrLV!}-Yi zls?SpCJWfDFHSb$7IWQJq^R-b_i`EW3^aORmT~WHg{aUovZckdCL*^Z($Q|B7iqG# zx*7llBuYZIVq#cH3^vnt!~EIm#*G(#NK$NThuMw?!z-Q-vj=J2``PT`xEd4XH`Wlo z^ut~u<;DC!W^JPQYop0}zU>PGRA5Bb(*d>Efvn`d(W z?cS64YAuyCbKT=6mGAQR^z%LLbzaw9c0sD5>_)Eruo^(3T^{)*_$2y~%h)o5ba6&( zJd>K50!_frx&^yYGMr8hG9vOSDAOEMp5juAAJ=X+!eE8R#uq$q?KC)N1QDLzSR?u0 zXd^WJDvDYdqWLEGm0oxl1)wL5I|o~WQBi5+><9$_q2;{id!`oHiK}<)-hZ4IudlBs z0gQZ{@IZjn1p~pO;5Kx?`U3(9K}Jm&?4^YgmPw+JVp@DP5Jg=UQXMi)gITe*b?q{oSb0s#{#m#U^VBGx8(SaYG(c-toCTLcY zS&?7RJgaJAsI*lXaWBslYQj@cw0`buu^F4q4GSd17ldNsbG~6AC&B@s_JcYoLK>- z7urCXd(F&ArUF^U8rPXFP@5OP%*`K~cKBi1fTu`H?b!1yoCxYlX8;LSebF$rmW`Ic zIk|YmkU{a9td}m<9m<^NJqC_Ch2ULZ!bazHzd%l(jW|2gB$#%3 z_O$BGrdM|lJI~Q*x))k;AozG9?<>5)%8z=jBc7xMk08;~Lv;Q_`;6=UC0C{PHVg~r zG%OUR8EvLnnuZ=faS7LpBIGKDC?=r@(_#gi8a43uHlKOZ2E?A}x90`{qHy3DHB`l2 zpM;tmUm6@{dozCp4iNK*C>BY=u3O4wZa0^1 z?@$;R_Hye=kMT|e?6k139DladCi~FyWyaHLwHTKN4mnTe2Iz@;K$uPC316|hS!D|t zY|kpCU|k?!9FTizJRSCU(^oh0#d5yL;bZB&W`qfxr&x*}kG>vt1BWKNjGr{vt5F!B zw9(-dR6?y%7m;K~y18LHYs-w*q(mkuem5~%Qd6yqpzSMcqe*;4yT1E}xIdOXwp-`f z5Myn%_RyQFQMjb@>+H#7rOQ_$gJEIreUXJ75&q{6eN{WQx!C(_n-1Q|#{tFSd?Ko` zl6$*3eZg+dFwZB*PlJ-H$&f`qwRs8FDNe9I-vf79fUVPHMps=w+w!RU2Ab%9tls>-NVK!TQ zNB;z!(0xkeK~IXr=cjR^!0q-cMr7wR(Ic7;*^dPeUaapOko+NY-Cn&N^ZwcuQjJE> z$X;8gB-^k7)*KUwFhl^N>`uOGj|HLRQqxP>#k3ghm7zyQpz2q?i_i!`*O290L5j^EDPtp>yASHGOk|Sl4P8Pk0|~P6krkI5&44WB2q?GZ@`$w;YCic31;pbxa+6egDO8YLojdqTkgAxwPT;qonh6C;pzwPG& zj^pm*ezT(i4H`bCz#yaYqc++ zO@s)KB~68B7?%^yLem8@o?|@Q@xuOUMRCH;W^75c+Ab_i3qP!RL?q6))I53eh|hgq z2!zWHX%x$#N?j4*3kkb5@C1N-c2U|>o2Q`}YfP)qi%5vN>Z6ceJJwK)wcPtcGy7+` z(RxrDXZ#mVR}RZ8vB*yQz+2-cVr6YX#Pnt9P%u)HUZmncYN^GqavtfUz1EY2LdeA8 zo1Q_dlHg#g7`2RH3bj6;U^2>pvmc5`0TlKI*x54HxuW<@{%ZZX;URZRoXYCk2-CEH z!eeU12BPxnc~qAW~&KoNYP}!kT+1=T?zZ8eu%dfI=OgB%zh~{Fw3+$ zvf*Z1In_I^Ea|ezK~k(Pl;RVyFq>G4WvwiB724&0*2vtkyM?y|3)DF<72*t?)6xMH z2^7}R1v>Rq?C-$GEmjd82j;6jqaQ!UpPZT;A?M;~Fl!3QZ~2)=3Jrycta{cuI@GDD zbvXB+J5}J0w|XI+EkdDUdg5#NJlK;~puOHgtF~Bi$oiq(Ztw0Mceb|Aqg96Wn$Tdc z^Q@=EU0O$}2%s}$Y}b2vyv$C!_<`BZo@uI}4Vx6lnL9I6(8u!tLZAz3qPuhNWmOKg z7K$JZYI>yu_Q10+u#}}oK^Z!F=%tdM`&A7&yIFS67`DG0*tSb;h;LN@@~HKZo?;*P z*w%Zwc-rU~aj(l~$7bvD%ttSaI?k59mpe_bvfb3o^80jACl5Z1N~<;U%1@)YC{8k< z#&DYuz*7!}Y+xk)?4Q|eMf3S8rb-jMnp`_e@)}qeTz{u*Hyb-`|^ZyTan+NTG zv)i<;4u#bdQU^{UZbfcQ+Va}CJce?WQRKu>3JHr6QU<(u3hn2bJo8ga)+qpz|58t8 zuff*!Rqd4Y1~mrU+npQ=aa@lvd3<@rY^L~5mOOoEKn-u-0G<^nAZX=;8~e>-txTT?bKSk_xwIhL)T_vXoIOF zzJgL0kdS8&ESX`(J#`*`+*5)%{~kSAcNf%IG38qgbzKj|&-5J)7;Cydq8(}!Ch4^BKl;YUiZExPZdP65X$PRDaQwC;NA-u~} z_-k^HD_;X(<|!(Ea;?r@P&%nT7XPxr+?wJ--_!154As@@V~fPR-{6hG&T zNBPrLegt-?wUQm0xgIU>rHH5#Gy5vuH`+NIBiXu6|8&0Vs#yXx{1gEGUvdGU^G`}AR!l!yC0-=o z^)nt;?=WMi)a1pww#<>T&+aS8$$xcgbkosE(`H`e8FR*??Z_mT4sihoUgZJ1Lhiw) z*wqUVcgrYVa{sZV6{*}x@1Xu|OY213T;GLVb6(7u!_Bu^R(}#2Zn%Tt^5<$H2YOWq zyWw40^z~JpVz(GmEU{q&`w7La?B(N69J3BPei?2iuu0)Hzn2Tv`t-(kT6?LyVR%ssof}Kck!$@#6#k9WC7akb4Tr6E5I)~diTBD z#y9yf1(E#5TXsJVXN(%rRYJF>FX9!9mC-}(sl6i0FCweNUI~5AHW$n4UU0O&e%YBZ z=QfWBU)W(QA;3{IxUr(Mo@_qt9HV`FY(qh*?a%3LlQm~DXIp$J5(Mxe?`*2dIMJwA z1Hsr61@)lF%r6DEy<6EPP}j9onLtx-mXIQax|sAB4nBM|Y}4zci*`eE#d|lvf{8Tk zd=84TT#Z0HqD)(^JKLF>e49Es#ZwLolI#rJ%6%{Q2@Z|N8;dQu6=r0Xdpx!MD#+2Z zXYX;bPw!aQH5^dGsit}`v*@^iyFa^x6H+*EQ^_d9_G=O*pRsQyQ9k;b4vzSowt$b0 zD~8@oUAH&3Sy3>Gk6Y>*ZwU_Pyy0w}^sXrvfIZTOlp|!Gsf4r(Bnz0mf+^g_!}nYf z%$j{??Cvl#Tmtm;7a^TJXNuPJKU4?PY-U^bcV1~`TYoWtQ<;3j3qdgH7dco9xSuxR z4b#T6jv|GIX`uh3@DyfjLskDkT1;*Hvu2|wK%vtqTT2@rVDK-`oejoKYh8MYqyxJr z^ploZR&cAR*YBWpEu zj!_qL>nVB%)O($rn*~PcDrLKC?oh!(#3IN2(x~#ARdgQCjtNMa!QH!X6K>;Qd z5UBFCT+45(yF+H0D7TV4Kf9xVH=r=^;Yck`>_uT9LEXgCgd9bMOMl!`G`4)jk274E zlgFR^RQzslGe9&9hGkJFc|)eoMlRWqWR*skO|f2S`C7z$d(s#~C2H|_$ovUusQ`{! z=!xxVnF}WysZ`)O%&k3(mL0v6Tt;va_X&2NL&jzv)hjHrb8RcrSDR0yD+4z4>HHN) zEFh!H3z%|RJh@gQytX!=_|m&%SSYp$>q0bD(`TvwOo-dpGZOp%)Zrf8z|=Fs({nvZ zQ!rOZFTxfcz6$8^CEMrU-IaaoB37J)QZCX%FhQ6LrGUzreAG}|+uB88`~tr^Fb*#f zm}+pTBTGZWB&0}GP{@p06wv}{v9T7N9b=ll`Q#rRH3}wc_0VKs9!MFlzI>?9MDCO$ zW_@$gj3=~o6SVf?NWq!9CkK=(Gddx}CDE_2Pf$1|{9+nKqR<`dX#VtJz8xT=Vt)H>8Yq zGt#EhD(0MXs-d8ceXqUOU+!SiP(^n*b?%#Y9&}P)4l?2FNHAJyzbGoDC@OOwd6tc2 z&+%qKi+OhE#*$vvEEtxkY*X z?J0hjI)yS2ujB76X$ku8mj7I(nmDYM{5F@3dsKuih`DK5^rn>o_^8;b7G4Z+#DRe_ z&)LrCd_^ev_U_r`QEX7$^NURp4!i}w5uhY>SA9@fu@AmRGfWD(5Gr zY7pFnufAe=-EStb&qk1yZhtoCzM5MSBr&(s;LGXrirW`x>9tx*Hpl;Y#qP@=CSSU| zea5RJNK96J-yL}P3*PXx8C<7DOKgYg`RXn^0t=hI+>{o+x0Tn5pmOuBVi` zECB^Mm(Heg%$ext&!5xaar=7$9d;fT4l+dmE_s021OnOAUU_BHYV7M2JZ{O0=$)~1WJ4E!m@`e(cr-MgmSggmLP50^$3Gc#0#CvSl zJD8!o+G-w32jJ=rPqRw%3BdE#byW%)lH?W3SE*5mKoaGo;lEPIJ9X_43r6v5EzN}e zbd`C=*jaDUZw~HWN@-ZJcMHtVim$S}ckC#klvw}D-)PvHr_UGz{F%R2Wi_&0or-_T zn>2DV7-~%{C=c>NWs*aYlan61W1{1iOxwldt+$Yk6NmIpWh3I3-v}co2t8fkD7gHPf30?VKF~g%x}7 z=`F>-p0($p;%WCg))@w}3UXOSv{Q`?%CdTzS8C&PB!IBRIL-w)#@1EQEJyZpV^Su) zS>xQtz*Dw^FtimuBY8J`k#0Bq;9L(-EjsTu>`&+F0EF>ibiDx>Z9RMl8) z0Ucc%(da_*bx|?CSe!6fq_ioL*j{9sLSjXOniJYr^#?QH^LO5`Q)n1U>~vJg%?(_g zOysHS-6Gn9-F(e6g{bXGG76N#DTLJ)Afggw(ZVw}1_G}X72inYD_s$ARw+yOYrNto z@h|qu;-%1+bn?hgS5CiE);MZ#P@VtC2?y=y3-PHK&|v5B@sU zwbksIX?oP{;aUX+1r=FZ1rx|77=j>_xCG%d_EXEJY!hDj@&lFq!IU|;p9h5xvUN{G zb-}cF7j9ZZS^gQim*bra#xA7ej5=ZJyr&+x@X|=gzB9|2hU8L;w0;`A%867GdHc%)D==QM{r0ug1B?xB$W(~j|N1#*`11V|l$>0AS@Auc0-pTiJ zy+@xYdz~E_{buWkm&=Q-!|euAXoQWI)rj5|zb=J|>V3^o`U5#Fy%dVcqeY)A&LiJ| z)?3o+6(tA0apa$9zz69Mj!3aZL%MX3$m#G<%&em~uQy)ow<5T~(F#Yi8W0ftq`4L0; zL%2mzLBn%8vIDcBl&scO7%z@}2lt}yUwl%IpLw9M9K&w2G;14a!X7-Rso;>^Uo(6> z3Nu(TQaBa{`~)FTB^O0a+bz&U{*e{Y<34>(D@RgoPa$R4Fr7XZbUY_;axegJ>%Ck| z$xLp^ zfulLp$_R<*wLSf4}klzkV@5FmL38(zcoquckivTQh6fsud68UYljGVFKEv$e#;*GdR`q{r+pVpmTUHb~I#EcN!Zj&v}hOU7iK6(xz0 zpUv7lqfjarm1Q1v)`^+>^3-yB7pcshz|`6)e{i{f`&J7_v4mf&i48hgo%QNPM!Hwi zNa;t(*Ve}O3PpCIQCe>T_Z=4_LibH#Dm+x=DRpi*@hehNa^fYX}rj8J@)PFg@^#NNKjTWnK^a}0d9J>umJ#nMr2hzlBo57x^LXCVV80s&erJ+*Y{j*^{@gy4=I%TUw<>;Si_^VM7uZP`-8aMVmbpXph zQ*gbZ=4waV@na^FV=JC9lf$JJFzf(3*WQH7QSiBtjM(P2SyS}rIju#~xU{ldSCQa3 zB{eHahmm#E=V3un}fNb~u2J$n*;e>avyUVZCY8o16nQ{xyX~ z(qkhE3Oh?5e4SLNhHEOFoAu?Vb2_RFUZiN zKzRy1lxIxiV^KN*#HvmRP!0hB@g$L4!WP!>^A*+TvEHYPUHkPL4VH$jyI~s|ZU;~b z77VcugSL~j%hM=$Aak6sRs&@ccW&U1p{s6%TM-~a0;MW?PAw$x`zsZ{{Nvdj3LJOX z;55@d5AK@7NFrfRF=ip7vNb6j&(MFd8M7lKmaWjgD4MUs@_i-d0Yy3h%64#sO~H^@ zzCfT;1;wJJWi9o7)o;ME(WKYQqayDgHg0VD^fv&C=!04gY~WxdOv8TE_^$CEPV1BX-e?k*-@mz70vH4uO>Hnw zy?lwG`y3EOYU@y>RD@w7_Qh)S{>n?5d|0~X$YVARpHl@LzF6RKk4O^lmS@$ZyskA7 zm~3vd#6Gd#IQxAuV#UTF;PF0DfoeAJ9!v5e%SG$Xz5VNt?^8WDNRg4p*;s1XiPMno zPVZ9lK+8a~7X;#rUF6)kts3{qI*ys#*vp{baNUEeRV`L;cJ^%6Wmfe%mQ8oHXI{H8 zURRQ=ou8Uc%NFDn7}ag!vZH-du7vZ1Zu}f1bZFYk6re%|`Dk=v9VQU9Gv9 zSvAEYwR9xsiC3BSmbZnY8ekS;i+v$GSB zA^4Vxcp!cJ+Xd6gxugEaup*w>&a_|Bg4WgJl>dC5&+t<07PE3$>OFMEoC0i0`Y$y3 z>Jc`s?wEA88ZX&*ApC2$4|X|#)SW%v#D+>nfDp078{DO)Iji{%yV^!$ab`d+!`E1O zuzSJYT5mwN_Un=$F!|L70#W|m56jEn)ov9Tg(M%Y-mTayy?KIh^uxi@xK`GqPRAZv zVwvlh*~GHk?lc|dhoY;g=JRV(z{)+OdZBn2mE1=zw1*jb+d{x?e;Ir=K^v=vrPR3P z!Yo^=wr;Q7_^B{lxOHh^A@I7u`1$-s_+agBmJJze?RT?~ zipOq@2|j+|L2aw4Geea`{FD{vc%P zj%=Yzz%omUiYx9D5oxJ}@czN-b55PiOdJ3w1cCWjUlf6e27Z|lB*^8wwaX*O)$${8MOseQE?i1FRQkVLy3gjje zje|v;-t?45K|%^UcV+{qd2%f%D3%4-@sVrAZ_9aTG(71pSK7Q~QJ*v>v-^u+H%l}< zzIV6$;D(Rv=!|tzf?Y(xgT<3&I|j++``uWrddsXS`oYite$)S-2jYh{Qw=-kvPR6A z!R`KJwTUZ%1t3)n{b;T(&S*VFyyNOSlWqD5S{s#uzrJ^LuA9Uhe zw;Y~tEoPTAcmLiGHEU^m8=z0dz3ZxMD1ZUcYh4OLR9XYfwa449HrHCBZfPDFHKL)t zCCQ}!JSnPq;w!Kh`@0fjJ)60N1%RFmZ7a+}dmToBv;5$nTsN@hfF-1wZiTtMrXHbDpcL z^STWaUj6y7@ZyPxiTo$)@A(^(BUI_zq13ROp0FU48gZnJ$5v6Q5OfhG0 z)j5G}t_K+KQ7I*gKgwCE9@+k+)zCU{^qcL7x@r^;OYt+ZU0RBX39}2vt#kF_t$g#P zUaQ4bS89{+8gf@XUxpkOu^S7lI&i}>5m{HSGe%P*$!_G5^Ho4&fY6sBuBMVMtbD8z z89MV(tES1ep+vksG9+|Za+6rNyCu&O>ZFXVbj5aGLY8v-4iGtjPTRZXudY6(dn`u& z=lyHr-NUu_;O*#)hP|dn6bh0^7xL6)3kx!?9$?Z(Klt)rPsRDa{w_|ie~LeQF4g+F zkgeBRkawYfZNc-647^sRsW<0cUE9iMC_CH5mRFkp+$0wg6wLHdHg{8YqgTE3z3>Zw zwoR)EMfsLj_b4OhOXBj$J(pLIUMYOL+E|;|0o!y1EnjoKje_REA97#tph~SuFeM%Y zaN_~#D4xG<#p*~Oz@~@8T6Y!y3w7-O^##g3Yn0w^;XDo<^&CBuzaeBZBWCDXreLnm zSv9>h3_j^=X81fVX7}0s!V_Z$jJC!<-U`|`EU2rA-P*r#g&5nWa|sefElw;#&y(_3 z`NmVzbsWymv!0$`{vwRiJb#*%M92zJRqIk{zrX;t5=olfL#sW3hh;DDH=evJzP%xC z>Glt|?NV#CiGrYQdKVVrKHXl#$IUF1e1A@=3Iq<|e{*-?dqzArx0Zp@A*BR!{(E8Q zf8J00%cBsSpf^Y;yfLBkL(OtI6GWL7(&H%FsNkE@?uG82iC$&r2``kHO(7)yX8yXp zN@XvU9myU3RcX1afcS5I<+)uq=;7qAqHXTIp>|wWOj<`H#kx*ueh=#W`{Y_0{^fK2 z_Z$8vj=-Tee^0tp``e@9i@0BYyAWxi)9fcNla5Qr(S_eksN^xi>1R!STIqSF8#Ez_ zR>{}!@UJcLdrZk=13ALYOW%hlg&zCUkdPY`b}0C}5Dh}*q-@xb3>LR^)__Kq05CVm zxLZ4^osiYC>9Y2-{Ik9LB}aXB#M0ZNdtB)FbeqU(&7Jz_q?mUl3W6VjnYh#8Z%8&f zvem4l?=-jXCU)T;dZA`DD#A_*RLnKa$RXDlKu`b>S3TI4t{7KYyraGVgYXqcX7(-? zdvSK0zWD80$bWg&=ce?i31LLA^siaveQn$>H&JP9xKC##QjRg@_4KnlH+K1$@28s;Hiz?ls$+-4e71gLhsxt>P!?El47? zQG$>rBFy?B_~-oLeHhg-=F4^j~Nk4_E3T8a;p)juY zgCUNVu~Aj-BuWLf#D`JztzvcPmP4GzLMJ=lyq*(ixnCi1Men*{q0D!x0dzCjJNS*o zA@N(ylmek;CI~XAQ*Z1DvAFK+rMm0SBAii%iS{WrAhsV%)7qDxc5K zUr4A< z9L&oO&tHMTU*lhJIak(ymg^V}Xdx7+j;;IsRuV-pu2AGnAVmRNfC3t7eV z0w|MnbvWsKXF&}Z0_OKK6s=29R{)| zDa^O(h7%`U6;+H3AYow|Xna^tUa_V^>!yUY0DnW%(JhTW6vErKY3=enqy_J*cW19% zeqIHOYjd)FkQ>eyMmbsnMvQ=b3IRWuU;J(V32&M^6Qd1u@2gMvLBBZi#~?Q7KKs2~ z3IUc15d5i?0x0rE?!+VKM%KNs{~RkeF^y+*U~bn@yoR-B6AM3XstF1si{w`uotB(j$q*(C3=Qj zOZ{T+uP7eWMHU@9#Pnq{0C;}+bbep_6FI+sI-EchBR#a~!P&cMd!x|7J?tnDRV&rc z0}8YmfyP4Q@J?ctv2dy90)FW3-SY+TQ6`iMq`x_3Yk&+nZ>42oFXV_1tLV)=!Ek)s zg6Wif;=}3NTuNz6>@2>Wy2W%9UTPld{LU30-u#BVFg2Ch=K(RO?Z&$iWEZZzp{9{K<3+RtM1UKw5rBqnD1fXDAI z^j{7yUwU+db32_&Vam5rvF_CDelj^l+n@zr~ zDlt8rKmzh{W1*(tO@Q6o($ctaC>U!aD0j%Azc_Kjy_=}VJpJpvna=rYh2IYZ`U0|H z>j!B86be(Rt@iDjBb$lS+!=c4CmJ~mLcT5UAXe14Jtcd$rq?3bFq0$riOFm1Lr6dIE4)dS>4qEm@LJi3Cq z(2)G<Ttc!Te1OcZ9+`^y z;`kT;)qwr|f3}%c&fWall^0bYm1!sMJHwZ5)?$mJL;yG&sOvsLp*~w9YyIhDmNAO2 zjuj8Om>b%=Z64SRTcOFVZU9_+4_!7g2bYk%1F1P`PgfzOo6#BMV}TFO6sJf_qCFed z?~FMC`kBK;RyurYLAq;NcvKWMgpq`5A6ULDk1Z@9k zwU$#eGY3}?W~}JN!|M3v6DxpzS493=ma7ZAy_9&)J@1hXr=x~Z*RdQT#`g@Y8y%n9 zw&UB_ZW<-Y!snu_B*p`h0dk3vs)zN`9};O|9Ayfj<_x|Y(mb}MYI?%9t%|(Nh@Kjo z8X{|VLyP2f*oa`bvq!;0ff69mBmL^Hg*co297yGNm>Ynh?I_dnN_6>&yf4P{PDP_i zHar7?FzC6fAf($nUFW{=EB}kVHxFk!-~0b{X4=lQQyrsdYn#KAq8N>(_Bp4PnN~Py zL=<64YYC!~h@H-~omz_1(}l#6X;hF9wM0l7s)W{-5)mY!Xe_aBu||KNx$p1&J#((> z?)5#_clqOYU-ute#Ko1*$LI6@yxymhL2>1Im0{&?MOgeAC_(~zp>S<2wf0ZD1o z@!g?s{`g<`=dTaw*l4ULQZrdyo6yGZn7bZP2=a@xs+xlCybVw99DB22Sjy(v-H<l4HnD}rd&9*r39eJR}gZkUOBBfQWT ze$<_QBBs#^p735Kz%>K-&EAmZ)fFc*MAgI7e_5;cwOy;%Z?9I`HNtFDrm|m8I;2fU zJo@LI?eX=~+3)}PP5<|I|7Fj>YRrFVuYRrE(<4r~PXA5o`9F@<@DIBgddZc|AU0+z zd0Ek;_khKY!tU{guw}rwT{!w@_X17xt=*>b(WGx)jZ1n;tE*#cLT-pDY{w~VH0k1xHKhZQ8 zCBIi1G(#9=q~9(ZEsnf#l`?AIRmVd>5U_5jnOpZ-(d*R0c8^_nrsMpM=~k_3-0@Wk zDUU$OOG}#uIXK6x7cEu>MjlJFx{i(O!}j20$2u#nFWS3SVvbNIYsxruXU`rW_pNgQ z20Unn!Pst?{XJ$-d*$Ujg&JsVAsdfT^B&!PG~-n@LZu=K!bp_W@bt|E-e_Y-MC@X8 zXAr?4);Pg%!9hBiy>LN`i%MJ+K~So`3MLy zGiXFL0AwRTEF4nc=8+KyF=DFqXQmgPtZ(n-H-v|~(Dqrx$2pHTE~`@4IjReNFd#jX z8Si0JO3Yf{1Z`E9t+=9-3wsffwguj=fQL)1}H)%70b<9bEx3``gUEM&})5{(E3jUnYKPHkWe+yu)r z3rG0G$Hcpu_%$ZJq&8(I4}yoirdouWI_6m*UDqBKI9;&b9pBM>4+d3IGaZ=&s|d4G zD4`ihvNhLm%Gv`q8zr{syKu1qbRoJWQrAPYd+(FP(WexNh_EiYT)>Ki0J88ZQ7Mrk zftmB{3#3JLP}Rh8yRSzI&QAWC+i2Y|erg8&2?rX(NN4e+hS&My2X4!@13(1!Ih~Xj(dT+9C%y40iui`O@ zy{QrVtm=}xHukD;$L0Nm;)4c@FC)XxS7;=dMVU{fM7_kJG!$ z>HTcEID5zcP$nm~ z@=*-Z+GkMJM3HD?Vq(9ziOPR0NNobo4Fc6#br*GTx|5dF=<2X5)|lb;72onZ&WkD1 zxXIQ2L6p$j9Q3I+5W{SP7J1d*>6fHhFgsD2F*h)@oskd$ae^WjPOMG`GaFZ@?W43!zUL+QZT`6B+F|ku%0y*( zEix+75hkFvF}z&L?`0x6md5XWS!kQV8WgOzjKP=iC1##$PYT~&EIs_0jqy#E_ej1l zGRpp<-=GBxQ1$G%E1v063OqN$K#ln!=$z0kwAu~SCHUR^v~i^`2l_6X!{7S(Rie+YlLK{M zo|Aj%ES49dm^G$8@jwEC)F| zM5~AT*e@R|nsx(peR@SO*K8oHQ)aX4G_L(=9QRn}cO}&-*5A&^1Q(XGpXER&57!2CP!!UA~;l}s;px_kuqIRgl{vzv4 zGb*UZ2L4&ymx=qARxNx5WjT9weNG<~koGGR?i=t34LSeW|pTS@z^fVILQvS-bpM(uDL3BT_z; z5<4>1UaigF`To<9hL8PGJu6IXWZy#;fDK{78e@$%G8fdTJsx=PB`(U{q`8et709| zlT|CP?h$hsJm6E0Hv=fwzX!@YBm1@{TjutO$%+-jtOvMERbxI{(nN$m%j~GnCqMZ`VN%onxBDIR;oS(NhX7`x+7bD;<=5DKV z?v|!T(cCeBw%%U4LBvjo>LT}ZP7ms*=ELbPD!`WAZL5GVj59L3hnp9rZ#Gg7PPC!$ z9!aFJ9F5vL#dlA{hC4`q`oTR-etI%X_{;vd*xau;WF|Lo6lM-HhZjERG`ydH%pM5? z06(;{qG)9|R|9ILTcWQ(p&>r#?w*d&_fo+R)w$tEMqQq2SyRu?JI9iNOkE}!kQBHO zf?n_9n%qz>5new=UFhh6Px|5}uV&+?(xsCi9yteN_17T{o#FM-?&gxnti}?E>P)uh zP&HDY0|;KS%Zrj9C<8G~S93L4ypG}?_QjWFgBF?f@vF;BbJm0K<<%m%V zIm&UhWixTZboa3l!D3j0r2#&}i0!lyHCi+Zcu^IF^AyK2N@!j;cNx z0rQSvW&~#FgM%#uU}0TeT6Xq+$?M1-L2J?Z1>50-L&YVFk%w*Y9dGC`C3O0<5(v3L znJff#1_l#m(JuUHy@}XJ7oUvTP^1M|b1NXanKXhOq_HPH4 zKXz*=X!EIXQ$JEqevDrux{Ulg7tE8Jp<`E5+nbiGUG{G9byi3KN4m&vL1i||u7+b|%aRH(_!kkpnH|;D3W(&Rn=GpUcq(yqAUuLX*4JRK9@mTlEf4hmpK0Q!< zA&e7(qfk@zeM2HtP7hSh2veQsSsCoXk<4*!{p6)<+I3q*^qOIyiDLHb6p3_s_1)Nxz_4Wn`?GKrxs%T*?v%D4!b$kgJd(^N0XZ`=7`l~ zuAeL$^fJJw+h>|x&lUP_G(nvJR$sN-+7dQ?dY-b%HSy#<$Np{O?pX7I8>zoQny<{p zQ&tjl)UAG6mQi<5eOWE(QebruV| zOmi`@{^qpN6}~Aikkgb@T(BjjBt2@w;ECTlz20evZysN&>-Cy!?HtW5Jh{$Yp-LP~Rm?oMwlQ@gH#fg8FJHLeEt?OT^dxR#vDlYYZg|w#>Iy4vnN>`DRLXm!cJomWdr!4lS~`;clch-GV`l;E zJ~b*NPnEJ6$)fm-3hy>v^kO&8&5y#$4a?cW1*d-bC!bE61Ch)+|4&`2FpqkhsgkKa zJ62$ZO~Z=zk~b|?U1hfaamTgqM$HN#a0?}vf2Dn`;u*1~=pnvMlUg^S6WYI?iRanv zkLj)R%;YBrxRXvjRvuk^x(34NlL7IYZnld(LAL|eDa{DW=>RD<^OVspl38Vzsn46G zdh^|StPsMj$zBW2FoA0Cc{grN`Fl9a8S2z$hdTPDMV=%4vjc{kld6OoYY(>lT<&B- z>HJ$>FS0=B*y!viZG4mC#4(${3RhlR*$R2t!+BT&cek)PBw`00N`g3Jz4LLp^2KL{ zO2PK_R%dLqUFUm1k9vG>LtA;XlJ`=9wX);wCyu7=71Nn!EYGD*6CJ~jkyhxd410{j z%+JA^pCsor5RXiKP{?>3QqlUGNA;%ixZl{ymEFX}=Sf8=rjC8^dQHbHkzU_cUn|@7 zy0q4rDhO(x-NtxWw{?;9*`l1p`Y?(v@KH8D-E+nFA!^RnHDJK9eY~aW_?7-uBhH)J zfb5LfB4}q4RLeULm>uTLKYp=Lq!*f>lY$!6;K3|o3QH4DqlPIo;g(=!K}^~(n*ttY zFeUCIp0XWt<#Pd#cPkZco;T?=*fL!fhAXe7`OsY>_q^web!$6d&DE5|WLE=xT73tS z=C*nRDU5hB8h&@X>x(8<0>=l#0hu`fDgSYXM5B+phbSziu%9(6x_y|578nsKL&Gp{Z59 z*&TUwIG5&2y~H8ENT{(jV3}D!?O)8M6(I`7L5a`p?0W=pmunkx?q;Dk)S+ zhGkGTt9V_UZ^p-9tcp=SNBec9T(z*R_w=Sq!<&-8&;pNPzl)*^C#|(qa)L~c6jids zS4*ojy|YIvq1suvpZ?^5p1iB!KCXYv>Pb#p51ta)eP4_lbvM4hYrjZ+6lZVFN0?1b z0}Q|4Hm`qBSTsGBqRN#Yqh}aZvGhMEM8}0M*Qd@z-Y(lTScwc;cjvHCc^Ngahl+8H zX)AnXXN~CHACZ?(?SRM8}D{%|((=S`##O0UF(k@2Bg3okv-}ogS)s)toV;O}ZC!;HwLBV#D#& z194Q^a{kSTW4toy>0{pOqiTNnx|5Kl?ScCcj#_*Dl&17Pi+l0cBb3=Oo+E0#Dy#5zo#j+5X?8cN z74_bC07>ta&xxf56k9P6&lkq<#C=fELQMZ$IAHSS&3m_5w!g++2w_!?2?-9Cir_ir z%+ba7P^Vbw%rsh`3TPb4rj_hU>6$yv%Z#5w)|b~$j6WIV^wk|@?q~kyVxkG_(M+tH zY4TFLQKD{;3=W_F73#n-~T znXm#sO6BHGC`rbMns?og2~!ogI%2nT$-jBva$d!!6B6f*Y&d^MjiCfnzz9e0-+)*1oW3s4k!a zPI7GU67Od=yJ?18L(Q9f6M<-K#)`tXhVmc&*vem-ACrt33t!iQM*y!ANHa8JLjO@W z<{tGwXdWZ&ha7N+k~8y$y&Emd8w(Qq!m8qF#R>hb{HU+f_X&}0 z4T4jNd2;o*oMMT4=Ubzpggqg?y|;f+;ANF0vG-wabehe#u`BC1(K;|;; z4JCP*NM<>;HmYv3u)FITGk03En-G}EpKTOGQ&?^u7c$6V$Y9#EgB5`kYqNl1XazeYWf|B89LZXFZCGYO3`5PTdv*| z+@%taTYy?Xqbx-j;+a#7*_`>bpPJQ42(|Yk^Sm5(I3ZNPEX(05*gzI`EV(}zuaSkj z>dca>D_T)skPET{uA@hhqUZ@#lOaz26Z7trt2VUjP>`w_DKSu=BcRR$5WBS% zr#ekF7k;d2<-Mn&aaNd^FLwumCWA&w0e3shuAHp9+$l(~y?NQ~UDWYv*#@m-Apk^u zOqH~y4!(CwzVESeHV5i4Nz}a3fo^h&smwo9%PR`pXwt zmfF#%P;blU>v9{;Nr0-|VHhbSTRWxh?$wU$wvd+wcqg2oZed?3IAr}nD)vw2gR!8@ zfPck%a8zeR^YexSlm%mD&)&CmTf8*^XXz~6FBg|qB5>uDa*1-MbvO6AQB1>RbpHL5 z-h<;-NVuGHp;PiCC zSTV1o21PVmUsqV&OBmqr>I|(bXNefM9LKC6EOUB_&wduv}{vHE8 zE;6emR>DGbX9L4CrV)z7XQ!CF*dEyJu2F0;R07=UL%2h)gh}T|;(U!lCqy0nb=xdUV-X7wQlS9rwV#w)pA3shx#6`y zGmPe97VV89e_FW>XfG@CgAR4~Hs?Cf7G9Hx^3tNRs~s8)`$YBIw$0H&A%2|KEqyg- z+g@i(SGhQ2V_6o?{tk>JTK1Usc_uPT=f+y_np>3$Y9I8)-AsQ)t8S;LtTi*%PI8uh zG}i2$!z_ShpBgkbzO1Ditu{vP*H+uBOJNcRuxt7}%H)ztQ=<@{CgE*Bv%21KAHT-gqw>e5De4D3@xMTtQ{PWqWSkVAZVIOn0vKNTlZpC>DY>Y!DM7jTXkW+`_J`?IFKl0?y{TBz-Qucr_^Dp3sor%}=+PAI{mp!ZZ z|E~3%wfXK`)$(QkrLlX^A>zyG)Xmfym6M-dd-L*RYlDKq!7S{VnGFq_k(IVW{#~Vp z&4XzL;qbE(e??71wMSG2bJvjCqv^eW-Vu9lX3Y*Pj&9!cItHz`luMCx=gwr8lEtk+)fmCc@gTT|ereegbM-*D^> z$zrfjxRIVV$-*vqZw~7B3729$x4ky!aLEs9WFHicTh1E%)o?*DQtHfV-C_;VOEP0kr$p=%P(L*Fv4sb~Zn54b!^&sI+levq z1^G{1auRm^i-FB2lJO=MbMuK*5JMgIX`2Xwl}`f^*Tz@rPTfMFn}i)!DvX>^+gZks!lX+k7am2==C{-S6ef!0TQ2sG z`QCGC>ASgNrq^3Y3Fx2$ZQY3tSdXPNjnJHu5gcs2la}-Cg-Actq&>DrWhFL&4~BFG z#_Tnw=WONF38~>^&j$q+L+;gk z-xGrt^2t_j1Q}Q;-x1%Uk6}(8d%2y)v!JS3AcC zGFCMocE-a_@Vg4XEAkCMM;3iMKX3e|*sr!Ml)0#%L^gq{KoQJ|Kvt~5LUy!0(vX}4 zRdJ%0mS&lG{1Ew{{fg}3eCnN$by$UMiDUIr z(w>^*WQo813HIN1wZ~7%Rl*f#J?0a~91n80W`lrsXXwzF-2VOtg=YER%KxUWc;#bj z-KPtE*hqLZawtLd-fbWbo6B}_u(YQDF%c4ICn3=B%N$Q2WfSTaetwMUu-njEzHhL6#~=T&DZ3zZy9*a1Oq@zcbNGZ8lbtAb{lt=VvfeADXQ&~Ad@imVFH z@8qveIL@K<9NP7_9=Vp6u5h!^|%+Wx;9$6YjjmL ztkG%zG&22OYjK45DZ`{^flW70Hj(&EguiN`2bNDyE|BsLbDL#)Lld~}LCZsHyfAKG zjL2ts?VQ^xo>Zmc*^T4DKuRzR*9e%K8}1dpVeIV(g=Ya57v%0+L#bXH$CTY(FBj^@ z%si3i=dH_j3J7PXVT8s60<&*)E~C+j3zTy24_YrQ&PDyWpni!_DowED2+kYxPHf?D zxha_f{oL%b>J)KPN&uku3E;dBXZN`i3T`yJ@P@6u*7v$;(I@jSUZlKW^-YnHO9CL& z-!?Rln0(VFNAW@;^*!t{HNu{ipVBx7!{}bFMl%8QEye;0vah=QgK$T2toFi=V*1bI z5u)Y`JLEZ@V@6uqVS|~N(rBYgGs2qXhGv_wMP|Nrj5NTjN|0z(7@sR;jD^#J%ZoN( zO`W9$u4m^ZZ%!oEL_0S4pXQoyDZ?KWp4L}?uXMCAKw0x^^EY`ba|yYoTYt;_?Z}J8 zZm0d32Dlx|?x>es@4WY>H7V$6j-pOr&}QYO#FVc)fBfbk&`S+W)~ZihErQk=cQ}4f zIQGW(mZJ6BDLtEWH>-YUDXslmFZCw{g;K>d%el!YEJi=YFTFY4g+W`)*zRzstQsSA zn3_WoLJjte&(f*QyMFfLin1}UDcbgLk@AZWI)A07%X>rMIt4F z6ojV6IGX_mGTUHVPdsU5w^Ypu>@qqwxB(t6p75?>LrWHuF0C%3oLq;7DeG>|ng!cH zs(g{Z@s_?OuOA%`NSmN$QTf5X|XobB## zv*(T}q&{c|M;GaBMc_zCSM#Yn34X}xZqDGy_l!7?N@!Tg#LAZ7C& zr2wxodS#mmQ8ONq}_rCeD6M8^nTcvcsNTG-(UW6z#O1+3U>~|b*S~Gveh?lq-(#cX~C-7 z-5daSQ^7k?aqE9$HT=I2VKDss_bkqfU-zaQK5k{{ZV6_hhS?!MzNU#g4YRR8wdD$k zT+`FD--H|eX*}feVvcXrueKLaKyJi~vg7; z0Umc8t-SOO^7-{s{zuIl5hsN!NF9rGe42oo^y(Zo_+9UI=VVh)W22?XIInJA^P=>w zsG#z^Jl_+R;|#CdpaNp|X#~??p=dZS$1reRB=5VitZy0>S=d~T+_o7lNl!-)DjLVm zF;E%gJ%M?jvYChN2_Bd0X>f3Ik1``B#+>k^}Yh+0IRG)*O5i!m+?On_Q#=2Z1_u%p>+Oj?0Kl ze}Or>_Ni3;p>OAMr0pdRD?c}}9EMozVd^oZQl7HsDp@by$&LGWZ4?{^dDg1h_5KtJ zo>rxHm*Xrp=*JSU0P$-Oi|5^=!;|8NU%*C_f=3gxvo#m*XIk5|gI|Q#uP5QjFA`&V zSRmzrh3rjd#UNTl)^xpDeaFvdyyzk0LMju<2d&VBR~eD+hrns%o(r2Z1g0R8r!1vG0p+Qz z28!@4cD`uy8rXCCw~ur{5j`8|z_7yLkY8s7g)KYAk}b6#>@yRICiPTj;^r&`U@@M$ zQINnG11jAkL2v3~Y?_Nt12pyxmCLR6xL(1810O&>**w8kh99+D0K)JfD7gxZJ1Y6Q z!I(!H5wSwxLPldO8~&;8ktQG{NEicgoQP*L%N_~d>}@60s{C4--Mm=p(RcaNU3T!I z{aoI*s+57_L!GfO4KjfQpx5K|^S2_btqvgVzg(eBV3EU5XgqU1?1ivedCzApimxnJ z`3p7oXp82deZf0f*IRT&Y(W9|xMD#jW|Fi%LZ&|0Ums{miFL9u1%ORd?Sv(BNNF;} zk;G=AgIzp+kf(HeEW7y~1#PWV3IKdegE|#kE~s2|_#12TuXMXvdU@R8$##Yd0OyG; zM?dkgf*!%eqfLY3GA8c`;JZNU@We+J4qJv3O#w0KwR2w{u2nX|Jctb#KoUZz4+FCA zBSW}wlbHDO^wn+$H;!2abCYNKq`6|kUpZM`9Mj_ zRn|`_rvTo;ZlYoB!)pewu1-zbgSeo5RMyMm2Hz?CA8X~3cT9e+Lb<)+$rjUzlpD^< z=!k1U@Rauu4H8n?rwrh3aJ$Q!$zNQkT)e?@aDKC+h=0q=P}jZl0?HNT?|M_gyc%=c zEl>aZ;f(E3iacYYs1gV}<)CPzek^6zxuKc9#ms=$+aDCF18L0iLLD`Yhu?IrX_(&Q zOd8PrYc=qMpjh|q^!UO<^;*>Gturd&OqAE56gu@rh+junH7tLyyp$SDK$6Qciiz=r z;(|Epw8W|Ru`M)ReKIGJ;n!b(Xr`;BSZ`F-LYUz0jFXZ$6l1qOPe^ANp^Q?NH($hX zH0&xLSVs0wUR@HqS$8bcwhTsta>t%1}wnn%xJB>SN_;{SzY-ryM(df3vyTZ>p{AkoA2QB=(Ue*4xs1F5^V?tsCv9H`J4CMKQ?Q66f-+>AMdCjXAvxX#K*8wdsK>4!3PP z?m_?2J4w3y>NS|v4TC2SZ41Th&2eg-K(q#;>M_UseVr#cnVLe=EI z<*SchN^QB)vGYGQc!uw0YUl3^jU9pRA9>>Vk3L|ycz1bDU3p8@w7yFAmtuto>kA*b zp%oO4@$P6C3${4T=JE%>LHJZX+V=0hin}~{T3*DQoCmoN!j-?~ zbP1N=U>0tHX8}WC0C!E=0v=xkIr`&F>C1B|pU>N%koA#prUf(fHQ&?;lW*2l2&m2o z*~v`_fT#IQwj?R-YQ66_RQq;km6XN84G*|$#I8jyWN6nkYIzMA#Cpd$_My6i)zP?od``Hj@;%!k zdFDD4$OlMparX2h0itxM*}qpSzdo<9Ve(OP82f)9-f9i#zp7n$*D&S^MyhQW+cJOW|hiheGW3O14hPWOT< zG<Uu=cg8OdzNlIJ!Y=R!*> zxopA2bXRUvwzitm&c&Pe?hyD{tme(@vxHyWjjih|+7-e3I3$gtL&H__m86vd4RXB9 zVv0hc=(}Ed2~;VFzl&S@GI9>%LSzIUS#Hp;kFX|RSmAq({^LeDn2+@w-WICgO7w8z zN1FtNz;j})^!P#yN}>|LMhuaeA@xA?$t*cAG5K;AXO`I4Y^B$$rT>+QxH&~)S=r~F zMFas6ooCbJ(;Xm_#sCyB|CiK~?`K+7UT*WM?R567PUrD_Y4ULb6;ubUgY{ht03(XJ{ znLW2`7}VP)rWiXV6I~=yT4hq@K?BH5R~?qjy}#+#oaQ zX?@^c^p|9QWh(Vi%6`$kX{!tJps$1hT7gfT;S}vQTaYdT>J>wxKERV_3#VXLq&r} zid$e6H?ajomGFpFWX+!6{z%#+_k#jBwZy;ZvF|!0J6Xrl@s%>5b5#F_&hehNhIa2e zZMWp7Pu&oWr0HqC1MGyTlq24JRLyVnQ(#?mkCW6P$8`!9uB4y3Sw=+fACuJ@#>Q-w!*UN2PVc%rE~ zL2qEuy#{NL-jv~&31@D8vUHj;5Hjbz;lh7wMA|R*+LX9YS^*KZxBe@tI=;3sx3qA}{|uR?$?8cc~oGJ7r*hGioXy=7s9V7ryU zX0+p%mmJrZL_~PPUy!GhT+82@&)ZuP8s)h*`Z}p3w4USFNbE&nt|iwsxiB*&BTyD> z+;gchO)_{tlP)HOd{DTDP}+K2)o%Yry)|RE87+LXB*Sb}bTw>RuT2Lv@l{FoGbDqY zwicJ&hbH*CRQaLqcgxXCWPkZ0p;X}M(ECXwWi$4)rT@=hLKGy`hr>!qUx5Ykqj7*# z8bhL|W4lE3NLsd#%(9vobSVXASqdB(nT)c`NBg#rn6H=z7AO`?_E4&rRG!uR>_!L# zZt}V@0IsEzx;jQnReLed?$>;CQV0rJ_&gg^CXL-VP1fg}l(9rk``TX+H!tn;U*G=b zgTlJ}31?y&E2wbALbaGBpD2W2%pwaNL0IEZ-!ys--tx^g&^^nwOwsULM$Md1T*6*-PJ; zhG+QAJ?kZeH)Gq}+^{j&l|L_L6=)1J^t8#XoJ)^T33|kYQ4~ETFj0K6j^7*E-68ao z43Kph^&z>2NJ*&Z`_TjsMVxyrJBBb@eB7nAN{15P7TZa(hM<5PNaP$LG;NLlrFu~4 z&D}e;K2wK;{p&r9r{hpB7w6yp6{vy&Q=KxLPqEGoyW? z6CCe^!5?aU4s^FByq0)4e?co%*YOHlb#{KkvTQ|wZd`?e?WFj%zl>}_TkSsu0z%z~ zc5&(XCp}}T0w_90Z<^uq8zb_a(l_tZ(pE0!U_mo$8U`auFE(9{nJ-qh1`{acrjh5- z`j0)YZc?Z<6#2fVobrQ(iJ-Gk_jbd)d+#3q-pUK7l)?8YJ_)uV_jh#j4x}dl3()`Z zo?C0QLpa7!wwD^CcWA%^bIa_yi3@hY0NSAAGE+%gE870PtN(2QUN$XY?SMG zx~oHh@CiHhnPt`8UOfHjwei_{O8RuKt;nCcW7O=I^6lhIY5fNUG+RsNeh}JQQD`fD z3_}BEx|o2R8S=dAgqQw_SY!3BblcLHVHT{*roK8i7hofWM9wV<}n!rYvcy;z5 zHJASH76N~IH(ac(#i7JQP+~J+Kx^0c)y@cvZ_!)TcU8+H{M#1ZT}D$JALs=+K8sPX zBLi>!kM3&fVR*+sP&!>9O9uIgTgIt;5Bk?HBO5-pL;i$gTcnQ0jvki^e~~#}nX0W6 zE&ZDT(QBr3#{@j%;*ih!`_%ZXQdQ7qXLvPfsErrV?U7+n3+|j;@nfNt8KibmX*f1% z_;jjo!5GhAfPx1WdS2P@Dn+r6|;d_Nv^%sLII<6MqUNXvL{5 zMek_h93I*HX{ozrkIU%HO65em(@1mW`-!k8!TR;(`PDdPswNArle`$(B9aLq)aYW{0Ctvu z{xp<9^JR6_h`};i%I2NsvW%cR)1(WeVG=u zRUXLRgf~Cra;A3-Wv`6Z*JOX0-aB=7|FhU1vWrq)`+ZQj{ay3R>?LgS5M1_fCCOuh zzo4xB8(dr0WnlW3{8B6G?J^NXb{n^l`~)3R{~~4db!H(Qs##Q3sacEuYCKoj)aX;g zUYsIWlmw8b#kC213>Y^@j_3V89CUMYYHNYnmGyg{Pa0eV-!E1R&%clDuuCn_|IyD> z=|Tu;MR7{h+baoyjO>hR(Mu)H8gnEnyo@5Lni7%l0PBcLg&PpARj!xH?3akYOz&Zv z{O|ikb0+U8o1*yl zl`}KZ9!#-|5z&$!@jPtENpA%ty^u$)){h^r|10Y}l@qh73%eb>YJ^|3Jl8JOO@{Vq zYSzB8-7dU$*ADddf@^i%LJlJoUwzlrXJdz?^CEvEbr4ZCMoB9AAuZ>G<#L$Y9D7Hr zCqFI`J3>DVNH&%FzEU{R=Zh;-UbGU!{55(c&ivK6aY4is$yHj1= zKXSPt#;mBt*0rX=eT%gHs(uA6{>zWNfkWdzx4WB$#a-C($8!+l_wJ=5^G|NcEV`+< z3P6AS&y=CCcVWfGT>?~_b0--)UNKiZBuwmxjSyuHCtd_dP?~!{wyKbciV-0fA>W#uL;8BgOl3*)SqLfn)w5M0W>?63&)DlY;;xkNyvX;(}%1+^bLemwTU zyGH1n8A0q#g*Jubsi9Hwh3BAB$gnRJ+84z)v(i7VN5zUI6B&TQN}#m?`EJ%6+c|6C zOgx;eH%f>{PurkQ@b}k;r{y#g2e6slHP*fE>V`}4ClmQlO(oB^gcAA^$|zblZBvK6 z!j6dy%s^($)INA%KaoMQ#*hclB>d(?9`e>MIV+q&3!tG86eNBcKbZLbW9g#@44KE* z6Xc_)vlB&guQKY69ocg^mRY~e%g1{}ctld);LT6WDiUuu;U(FRD$F^*3e3hZ-k#00GU?|Q0_<;N59gkI3=)mqW912g)AR79 zRVX0Lu?>fj3?KhatDHswXl8|aT8ok~)^vPdPE=f!eJrB*Yb1qZQ&gO2Xbkpa@|^rA z2`{!?9sC{sx_m3S5zV5b=kWO1!iCo3_X`4e%MoFD8nDrmLve%U)gfBFjgOtFUgg=9 z=1?~{Q0nLap7lpg=-)3x{vR&G-+sSTsF(RM;NyR-riL<~co7RT{rsvQW+qU9^vU0I zPy@q=DQ9YsNk2^t(o5fm*>s$U#ic01l#%^3*;Bs*jD`7eAP!-_l1^W=IGI^r zPB=>m)F5jHWCW37C>5*B)RwQ>A)n2R($SPGZuYQINUuCH7ndf zuMKu^H?L%fleWBOrtrDas^M!~ik{gpdSc5@enP@6pQlaG$4MI(+v& z-=il#PR_|WKlXaF&t7}2z1REFEuNT!>}F}UTJICs?4UZyLb=)y#y7WuL<^e6UYO~m z+Tn5B47d29!rkFdUbJ=PxNr=b&>Ss=>mib$9EE?GWiC7ZGYpK{pLv(rOC`4$^?XLkrL%(#~8*-rvh1N`XJu+fKcu z0#Q)PDNAl*Maa4QijIGHI3jK5OL`Z|i-|ho_E*JBW~^CO<7_YG9&vOJ#hG0hAek3g z#fD4T`A6Y$TjH>o%dkc30wV1&GiuAY;-P!|q2Rra`T#M_UdK6F6znjV;@0QIQt>2s~b_H&X-jGUO) z`s%aw`dBovdo5k4Z#D=><2k@I7DA4;wU@JM!bx_O*L~CN_~iI?D8$iOR%i#H3x*SO zlN?cQJV!#bG}Q+q`jKm=J*659_f5^AI`hicyhibM-E)QCIaZ7&!p|h1HiwG#%7E!g zDGF{G$oBl(Qi3PDxkdxY4|Z^hy5<>O#U%E_2?QP4C7G10H*GT~5kkMZ=CyC94?cX; zNqn=Z555WRAHd&RV>~-ey>AnO4J!tUdw|0}=Nxx{?sR^q_sydrTi#Dcm`Z@vDw_rB z_X=h^f1~4oKfS34tQnHLO13J!n%;bZIR2k7_Wxk-)vC?nMnzHRV$2AcXxNl~n_Y5@ ziR~rOg@6Po5KtGx^f$hD@4+GJBT{y}kzBg#33{_@&+H6-mU?S9C>wAukolyqph;0crRzY%me2}kDK&P{s zo-0_#d>SJQOMPfuv~6>7rKwk#uZrf)G7ECyDQP@xIG%XlO4T)+LL7;~(X@1EfWHs9 zwy5aP`^!sX{(2^3RZJAk*RAtoWF*jVosagP8<)3w)lmFf7%94`F}UdQrlx8=d#dKz z&&#*n&^vyzyOiKBVcH#LCR$Eah6yF7dFZiSmr@hVnvue@e&0c$Y`&_0WzaX)F6H#T z{yO%V8VJ+lSN?E-@5;mF>Els=|EElDVbs7_9Ei%Zr-JzTZ5-~(?G z0#LhU8s=p+8pV$Ph<$&(w0*T^DPz24dO_jxaHCWBe3OQ@QrAg=phw(b!i}fr+_$kd zNgKDcNeFmBJ0G*%IinS_e}um^ctctpWYMoSJhly=p@pk&AJ>rro4a!BXpwQAItf6{ zR@mhh-qWXJ0a8=-hz}5Kpi*|E7~5VETGEr9Dzw#y9swv|FC=55m)5OYA?($I zL=Bb|5XWW}|31e#!>lQaU4n`yxlG$%jQUen!{T-KBb{WuoO2YXTzUndN&_fMydu?G z`g-(grFAMF&e8DVcd92n2? zdE3!7w;n%!otdlrZfa!Jw^rm|7wO8(@|xP_eT00@Ff4|ol`EF$k7NnZ4VXTfZq{c6 zk*NjFmpw`tVIRVO)8h0qy+212+HdaA5*COu|H=!fSpG@tBwl07z~1v!ap$9o4P15= z%F0K(=E6NtCxs}LM=bLh?_CKy^gpZt*eG!tXubHZt`??;`ea0HJc7_{U&$z~7#J8F z=_DFF(;yM`nFTy-Gb3OMS7!Ax(S8{q%HH@(TM*F29xAMVu!>pW?KcX6^@+>LJi}$q z{BK_qz5PYI|0g2Inkna1#}%X)EX@!O(fKejoiYVXono$7+uIF`8k)I1rs#-4hYsfT z6aBmi6YJAfv)PP5QtM_Hde%MnU0Zrf;XGw-56+9B#+N(#F}{qyAH5j(?K&&RKi9Tn zm0#E;INaki?Kc@YsUpkEfNJQYX#9B5`VR^_q=7^DV2hf+V5DQwDS1Nk18mqL)$wZNKZ{V}b2Fk(MN%#qB(V zf>O}3XwsSje}sqDJb{pEeVyTt@;y!Gg?xrcac36N6EKdgdJ{TUp$u^@8J1$UUVTsLQQfQwK20i zKMvGll)AOL;q)s=#}$JA6gZmLII4tl(dpiU5}R$TiVNWq{V}Et*}^W<&2;3cj5Z~d zEZ0w#uc?Z2jo0|1y1O&+Tx|v>*^ZH>+Ei<9U_%i8Oa0`!^VfmEe7)bWF`!E;TPB1! z1-Lksd0>z#nUbx#*G4^s0;&Mgw5ubM+oKTtn;H*IN$3c@8)V^)%a#Pt@X zAnX=ynj+M+H>D6Qd_CqXDs(0ZQ_}|()tA++*H)TRJ7;i%b{!4mND}K>yI|F)%)xH3cZ-(4 zo_krtZ4Efv%ar8B&PcK+XXZz$>8zomkS|@JhpV^F-PZ4!+w!KkW?Z*#%|BbEk>Kq& z41xb%f}?1ZfBEW|<|!Y_&U2k~c?P{})W|DMh}yIXsCS1A(aG6lYJarjsG6}At6YzB zbDAh9>(`;q^zP~2MaE+>P4kp1gr%4~nWTM_hB(EfT>IzhJ6lf2>&d#OTV`7eL;`zw zzIy^PQhlgy@0?F1WOL++S(>(~nqKb^QI~`)R`s6FW)oEVa=xFi39v_7PJ}uR?l4jf zUE{yc7fmp|nATy0U2oo~F;d%KLPRaso z<@qtQLz_kPXT@@yV$kG9fp@ulW~u1pQq#)w4&@JPLg>m zWe>8S(C3j>8_zx&SE?aL=|d+ix!%V1E$g3ZV$bgMLsRke-3`r+WM5z(3=guPTOMC8 zT~Oa%mZZ|90n8d<#!uL)wesC|+|xuDtkO2PLOa%>?$|?bx>nHW$beFjmo%gDUO^5` z%4c5uxSN=U)pN~}F|r`2c5@dx9h(QNJ98fUnEuQTaLLx|iPJK&46syCKE6B+csGc5 zp6YQ}#Ekr5Vf#mnicCmq+?fyfFqHEFV6BicX&DaG|5!N)vrT44GE3fd@BZAs=V~8! z&^%Day#e!|zEv9GQ>0ZFl6JR&1>+VN@OpgmWMYHr>e>0*b4}v1Alr7688zX`0h-{AzW!|qTf)+h=l7pkGnKO zE^vEafCr?Pt7Nj4ohjI;6#YegJhS1Fn6QE61aEeuB>P@kN}Dn8XV0(mFYXN@Jy$^A ze6D~E{g*4>jS-*5OrRp1XAGkL{e$bHy>7RACWkkF;(3uu^k`g6TX~)j1)KG9jsc>z+|j_k z_3I1l3%-fKVDXm+2#(TjY63KnQqomDpgmlMLRsmXga$Ubgm5z%tu~gV3A1>|fIGYt z%$Iu1o$fX36g;OEV z6o)rorb&oK_Udws`%~8|{JIBYfM(Hdpi+4V4N25kdYI{N?!qE!m#RAW#Nd0f$-A<( z$T)x`(=s^w)9+;UsY4G(DBEssJv)Q>yb1RZBj=d~j?+v^MDg%Z{&kD1>hc$xp@03D zxr<8-5R0XO2ntJ|UP+U5PGS19$rYuR_5g9toG#5v_tHc);%abVj33VctzIop9l3;j zuAm-#sJwjlo#F!#96v^KUK%GyWCc^jVr;ly3(cP^{FFP6+63Vw!nFkDDR-MM*KpV# zUH$5Yw|jA7R4h|+M&OnTkU66T*+tSU)#^I04P(|duzhjrb$3cK(1}D?{HfXl_JS9_dFRT>LZh;zC&&lw;a?42Da=PZ$74g>T+qol1N#od+mc-TOHs4HuQ4kmffl&|`1+6wx z{Qu6*h~nQFs}TBInL+zn4efV5Ii=>H$vZH2D7-UcgYg6hrpL>;WkEidsu#2 ze1MmL2ax%CerM(&Op6{bVEm3qs?_fHhHZ!)jC10>L1&2tKXv8S=i4^U+e&7qtP?eh zY^D|T3zt0_`2DsZ@Lwx`ep>(q?R=vUScNV0jj|Oq21MYGA^`f2KZ+Rm{M&>8=s(`3 ze;c&*k0Jp2k3WhS`25?1z;F7Gs)5eT{x4q~j=+9^LN3WBGhZCe8-q7MNWjhjz6RjP z0FH^EHvky>l9@A#Z^pYuQYzk9#?KmT(XJxFWsJ$q)&yJyX; zS!>PasQYLbaOtkmH%5RHCjfvG{14!0^hEbJckbB#^*d9eZ{UW1yYL%;pFULu06e_{ z{Jt~(`g2Pw>(9>&|Lu+s*Bl)EeLnpDo5U}7v-3mg0039%-{kp!I(_cGlfNTB!!rNx zsvo~{KC{AnTG;t-^z{!k_HQ)o105XT6Tr{&*AKLx`FD5t^nE^k-T5DA>_5I0~iCo{?LB@F+X{e0RXKH0N~_LAJ1V4 z06=970C2hY)-J9IscLrpD%Cz#~I)OZ~}Y|_y*twa0DpxsapV500f|M)Caf&IQhwk^x^v? zKYe=o(+}zF>C>l9pF4a0{JFE|&Yiy~bn*NJ!3*ck2>=BIg)UtJUOIpAGtg(3Kz#br zheA$#xbx(vXZbf?x^V6S|Lp(Ebo3ekJbUJc&tp%XkOh1KJaH0u;)n^5=EMET$rB&a ze>V5*xs#{Qoci>W6X*HYy)N-PD4*?9X9O;sJ@e@q0O-Tvr>9PzISc$u{0ns2Igs#W z$X8rhEip+h~Adj*WxwKO1p+xQyf1C&lOE4}SiW8vx++8Ge1AoH)zB`W^6Z+?+Xm z;q)m!AfKH18#lnyUqC(seP#BY?_*JiAAT+2oDmiglf9*G?)T=M98?WSUjF*WpI?q> zU>mObuUvaj3ch22(rh$zd~(zaxOkFZBk&{;pbsb;I@z#iDD%Z|h`mehIPS!w*UPUs z#=nI~i}haL5&zy{8KzQZwkmxlW-~$0=-%ZBp$iMb5s!Wti6o~!#-ElszWEri<4$rc z7{`Ob@#uLxV;s+t$C|;hDs`+r9;?j9%Y@^l(eYaHc>R2AGdQ-B92=I7jcLaQ#ABoB zv6cDQvVQDMIQF0%dyS6WY{#y}V|VKR$1dbEsRZjvw*$34@{JS&)3f_8^{pz`iO~$1 ziZ8=ne{{tkQ^yGWUyT4Pt8W*f-=Es|MP~Fjd3%rd?w=|AzZ#I^#vdc_5rLC$+4ax3 z2frP>6hEFmKEiTL9V74u0>{(GaYr~t;NK!}JbnCIXpS!&BLMhQ(??1sYaw>iUTo7f z&x_}^G3UF51R`v~nSsWaOH73pkP!6!>gCUTT3Y zNDf)lEZ(TWx$58R`pZcn)k?zRkdR&I@vf|8dC zmm9~riziWIdTSYIoBodsr2d^NtC2@7CH5>@bL5mVy^`^f0hzyZRoW<&imfN0llIy% z7;pcNjs3`#bF7SXQ}nH3@vW@t>cOdx41DCO)jisAB6G$@8v|hb`eJt$kpnkaD*8bB%VBtKLRlSHd62o3qDA2-{7~Ey0rVj z({+wkV=E9-gT7|oh%ir@xw_pk6CWR(oW7**FAJ4SM2>c&L;0|U?Czq&#tD4*W_I{NVxVS@g1LX}$q0cvC zV(75#whJ~r_=E|+$pDEZ`Yq0o6&S!Sk3pL*})#6Z#9-8pIq8|A#sAmp?S zNmvp&4;y=vuajkUe*K)%M3uYi8n>>gGLh?n@o-ljXo~dTap@DYk!Y**wZ~9WBbw-} zkUL%K#^(Pv&m)L?sq`g(^T0cPht?WRoy{*7`q5qb>B%L5C51J?A{)If{-QOIku%4I z9Ak3aPyR{1j%DY69&Q#eF14m-rdKeEuG0x)2=l4!Dtyk5;bXz?Y^J<5b4$`o zES2cap)ne}3Z==TSrCf&&Od|3ZS0$cXBe+}#CcO8|_A<@r80XYPsy*E|Y% z0-wwB%$BdbsB!XJT*hpIYEM%!M*0M9cl@Kxt6?2ug$t!#b|#X|x0p9`<@Yt;C~HYB;t1^6ksKKtZ*qL zCa#xQ;VrXgbr8drt(u*s!dAFl66@0gZ?Laa?2Z65SmeyQ9xO+*ZEe2zLe_*O(f2ak ziRx{|fUl$AEemV#(C3@_f8}5_ZzN1-V}qGHKU-!8zdp&G{!^_y&UB2x|0V?XF$^zu z^%91Dot%K9Qgf~vggWiHg{S#%5+6W+rxXff4t!<0A*e*1>oy_)Of%z!50<>a>W zL~LAw<3oV1-uM3%_V@ferqsENS3-Kft!%xpO2I@WnTUaKbVLxH13{@H^;qybqcUJw z$8W&u1B$c(osg{JkRtrZ+AOWo*=)i#NjmZ&<+kn;u#vm~TnLs0=WoiVnQmZ;j58}e z$Mgo~T&u2lrU%a(Vfe8MUUI7z^GJ>`juR&YbTinzC9 zYJ*Uj4*5+Z-hCtpraCt%>YLQ7E$LveJVhiZ`f0mObefmGGg?S9b71n0KTNDidCrta zlAbC&`Qzlj0`O-H`6sP=y+`{jB8*dab=~$YrMc0fy``hDXwDpZGdWzet>I4|pRDy_m*crTSuQvCL=d;V9Q{+yFT9;DiOZSwT|?ULr}=C;-4rQ7 zppfP$1QG;l=C}45G&rJ{>3*QIC8ovnEA8h$`gPs}(`pqNJd&esFLZ9LSmnVL+LUY3 z6ETbJgZ>V90C##!+S8GIrM6O}c;0DRDYLm3RS=YO}GWhFjG3$o^Vtpqx!n4DF=l-fLq66&QNfRyG zjEp0`j6lq8BY$k^(x0x{kxeY+%o|4Nm*0BW!4v87s`j#>Q{5?8sv9K)4i5!iD@b`` z)6z|CY6s1d;_op>rkQ=2f$R0Z|B_e}zoc){UnVw~LTg#wpl6gCUaqE1(_~`yB}4F= zZmUT9-G2Gq<)?QO#bOvg)}azhUg_6GURU2!A6Z0HZ@)f?iTmefofx0|56$o5e*|rP zu6ysFvj9#Md1|hB()8q74y4PYZVI{9Cwf|~Nb65;&{pn5s6P5*1U^NeLnfc z?_X~I(}&>_cTkhPie~pVz=$vx=DkHf1}p^WmpW&LE`_&T&Pch{Q|B+_m)V(jw*ZgF zkAbAFZGv619UO=%XeaAA#PEiOslDXoYAv1@4ouUOTQ1@?c7Tomtr0(OT`In(gQhtX zpDcR0N5>jwq7jz~)G*a8*wew(x8tQ)>x~8xm)4xsc9oiKWa{!>=@tjQstwNfIo0{%`~PZXl3uMrnFX7=#eUhpy52PJ zZJ9um8DuwnF3>GZ*@^+2AXkSl5A7h_OEr-{EttX=a-4gNIBL%qwP5XC67xKB1WRdq znt_`Vx@OL6*1J3c;i&#vM(FnrZQT?oyUgv)loWO;G7U&(tPv4nTE>o7*b;WLJ$IstZsM&Mvsqwp1+raSjU42n{Z@pXMrZUoRpcPxK zNDkqmpj;40+A@kq{QO@Uz3T5h!(Scy>3hU_9)NQejTe5Be(^7P0G$;Ewm?UkPK7N3C&}`K*GTr1bJ7H$)4w}5{LRUtLARE4vRQd8xx8^wG zF#`XK2>hQI%K#^Ek?oPwd6xH|ddS)0Q0VOOO>pfaU{IKEh=Lr2$(y3Tj}j_1-nynW zG_{6sgD)A+UaU8tscl|7qt;p?jD3MmMEOt$TIG{WSNJQv%cPk1i*GCYGeRQq_sUbw zD~*(TXkG;Se^03*G-7As#vsymTee|Ta0Iup4Nj}0wCXAPj|DkSqgvQ{Gn>0W+p&|Z zu8zLcTv!D62%uc{33&9MVEk`g6bd{tm{u|^lj^;d49#HgJzb`5^iDl-Yl7;>VC-C0 z*8^C~B;d{N2;F{6uZJbYjb6k7O0agN3n=a+1f;I`Tp)Q1#ks9Sgh*5$%x{S|fT^<7 zLWk)b6@KIj3N0irPJ4I+z+FM#;1KV8o_g3Y6OnfkriHMKxKgc<(*}`pUN7vg9L`m1 zG7}k7M!MUj7MTanJc~B3wpgW=835IGluS-mtNg{e?sjK- zt1oww27FNIm%sl6(tJfH=TouU+P%#N9i(JkU-Lb2`5UB!1N+tD6E`<=YC2nASbIa? zcUv~yhh~h>N5MW@l!@xuxG`b27&xM|LG}ifM0f~C+ZdKwvI+Hwr2AZ`xjP6xR~Uu` z>q7dcMpbzu)bUP0s`~4HdOm+YkWBF}ImmTgxNT9?9xz~OOU(?TqoN8C1fnZLtx3uy zVX|sW9Vw;do1zPo@OKvZkvZ&^0I`@Q!=$x>Y_ca7XMe--9(3Enbwu6JzP?66$V@&Gbrl2rqFJ=uLx&ozCtXjBzX3m7a7 z>R+K$E2KbF>7T|7JaV`9FA12R(r+^Tag;`AT||#p28H3eWYka-sTD+DWbk zcRQ;qI`eiO$Lm)2!Gi9}LU{ScSlylPmCO0BEdH22`O9J(Ly!~vpwivkap_>*3ylPtfGTZdvM5Q_99%(2a@y>@Or^ z+UNUx7y2~ZV=58J*~1%x8bsMd{K6f$;~WD53&ku}EvcC{8dhU+&!oA|Ke*s6^nIJ( ze5H_=EK#Ya)R1^16)P(%3v};uz!A$zz1&h^GfTc+&YhzHl?ENO!6ShFor4o&evz8_ zK55;oTZN_2M%xq-v#_R`&e>EfKiNKTk$mdKDTArEg)HEm7#d)z0%Z{TMc!gy8&bb3 z!PBQ4W54wjC3C{r<0enrt{gI;y_W!;^Vdcjv=sM0FJX8-fxBK2DOW-~3jl{FwEMv_ zRT)1vjFqTy#Z-dpk@n)b?|DF5G#mv4nj4^iQXy*Zs|S4j;^lZZ-*fQ%4kg`yUoYLeg z6^K+(;6Sl}?xLP&Qq9A0e`JgO+r#M6LK^U~v)29-F--N+#CB$tO}Pz$2(AfaL)BPJ zQ$Yw!`->F~rQ9gha^n`Qp`p&M@2tUY6fh>t*&6$$bk3KNp@>?6e(o7}C_`g8a8!vK zN0)!db#qHG-_NoK2PB&ap@m8ZA``i3b5hEW-iy7w5Wqu)7S+Dou++v9@KoG7^0&D7 z`1qOW;jW=+sLE@ns*9xpX%l$3ZqjM#CQ;SRn;hX@GFz=lje~%2gqt8h;1wxhL`C80 zZ_+%UU?#%c*ojs~LP%V?s_62*4)1ap1bw3tA*FpA0yi)g(mZqWT8F#_y&9ZiDj$8t zmQ@eQ@$-|k)`HlV8i5Ba=tgDjGa(GG%rb;XbBW5j&`(o68u@QkwNp)T8ju~F^P^mm zhfP+rG{ZSmi-cSJHr76@B0MXcWAYWzy8ASPMcvCLV2EXdvhyoRdfV-$tL?9jWuv$Y`QPZd%YhGni%Av#*%eL2}-g zduVK6pp`xyX2iQJHD-%dTB!?~>hD)$!Tnq)H|XOnr68z*?-Ag;DAB3fl;2AvS`qItQg;GDNWq06Yy#rKmoUjNRwzt%IkVr%l+Q z{S#X}O$Zk^5-w)CNp@bozA68ZZPxPW>|k1$Xc<_oL>VO<|DYjsT;Yb=IYr zU52pH76`N?-{ZwrYnCATEnInOMd>n)s>fzl%B}V@nu}K=x7M3uIu;PMMmfKgo|lyc zD>U@f0Ov#Ver(MhP89p?fT9prOqIpK0^>Kd&7SfoySb>ac>6MTSHPzGgLe;~!pd3362Jp>e#$;jZZOxslMBfqFIsH0^>_?Na4F_xPN!cfBXQ!(TVcwZ9R< zAs8u&#J%og1Z~VKiF9F*{O~A9vsI8IPG!MJwpKS`G@hb9RBUT(9KI+iV8Ne|2wVfz z&*Y4~nk<5;rAblGshjpc-CKhrlB6a2{k%pO%>42xbm+F|q^x!rE-b`nx}bkGo8Zy$ zt;2Ng$!C5ZFq?hJu6d;2)C|Kv8M*89MXTP$HQVO+nyCD8qtZM@D*~4yN26IKhm{R> zm!=OeBzV=AE?Gt?e&aGf+Hui~_;#g&ntDJHSsguDI zT5fJRr)ombZ?LSYR9O6jG==YwE zb~c@v*NmvMr`80~Azn?dbTt)o)FCaatmU{d=%sX`T+l(bD_pmF&9*w}2%wrmT)8}} z)jKwo;ITrK)vs&KiBarfC$lOtZ15oop3O5jKV+`_4{npE(@vc)3jYj7Z7KGRAa)Qn;|sE^55RmV{oj;!(-2@!TgssCkFN zje*e)lh3I0?CG4Zwa&$tdiIt@WxVNbp6$PuwWUc6Ma!=Hy{Mq(D5=?y62|h{Y)z%5 zus2q6Mz(#H%!e16q;yl@#-A1|Z_BfMEwGEq3mTN@#%Dap&?{N_ zYNv8<1%|o1`853vV0TCMtQE>zT0ZO@13UXqd zwmj^ewyzY-N|_*2I`UL1ACz1sF7#El)5qXa7|tTYQvX?254U^p-}B^*=zKa2zlkKZo$^F394)5^Fo{$R#u@7-|>)V->Al$ zm5sip+N0!pa4v?n7@73si&FFT-~`o9SHck>=nL$~;W-G;3>42aGw3id;LYtS$J|DR zMJkX*=H)BGO9lvTiXz=CH9NFH7gy7#LQW`1zGtFu1iBjrwD$}bYnrdT;w=6HbD()V zWOg!9Y|+3lh#t@p#%LrvKlDu?%cY*1P7yrK*_WBL(Z%}uL;T+R5(7JRM#Eq$&?(LX z;P;G2c^S=8O(pYF2$L6GR^Y76h#E_l6EI3P#56RIhdBbgL73(k+z-JZ3U7Jprquhj z%RriY8~N^jtOA8djU!2gw8%In-Su`!PIpl{X$YmP+6a%1k`R_{+#z3)0G}MRt{OiA zngm>i&Er~zdcWnw5y?0EsJE?GNQAglSU^YNn-K*js&zVkaJe!yE;(uTY}^P?%k;VR z*Xk*_9TODEY0Iy6>BOVv;bOn=g(O2Drg|GCVtkntKLP>mIMAc7N#5K_{3)V+XxUoF z^+iGvkHFezPdv47Bgqdtjm+u?vm&~4(QSjvyD%VQXKAjg& z6BDZyWozt>BSjf7y0o2?^F#)~jIe3y{{>6gY0E8vnu}Ozj4;ILE?(P%V#oUk!-8ui zb$wp5g;$c1ba&>x)xLgZhZkyLiB&{c2_`Vqg&e_=reZ^wTq*E9R^`Jitg&$N~~oI+@auvCRv+5*R30ElNJJJ;pB8Ec>B2!UvS`wt=NCpWw%+B9#}xJ~fgTxR^h z2^g4=dX>5JeCKSo=IczI)4fG?xifK%I87{+MJIYX-XNrC7OWz}k&on1(T>rhxTz z4tgV>)=edhfn-ju7r!~=?bkinrh|+7`jU?TTSyK%+R!di{<++1EMxb!dZbI(>zkTi zepCXFsbd8GTM;--sK{YX*6jDN^%8vmcGq>Aqze6T(}-}pg~*VlzYbq0 z`rAK2`VVHVdX0ydnbm^dxie>N#G=;9ST;>KE_^jYc>=lL`I$lreqz;)NYTb7D5R*d z&0G8YSxet|^!)|vUppo8<8Nh)Up<(xEq*LI@8GjJDob=F<5vxQD8w5nP}q$)0{)S7 zzdO#-li)S*d|?ZpCsW|jOm6AoHdn8xaZ&mB9Ccz>m83=(>XdJ*yH z7Bxxq6Sg=#(vZ5VJgPX;*u!YdixH02c}t34s+f8t;TRK~NS*v0S1(2hAQSM5abvn` zoM}UEb|^)Y7{3ddPl3*CsbNNS$TlXuV8_JYG!V(m=>-*pzhR+?bf`E<8Ba=>s{=K& zOwZyeUFUO?m|f_fWxYJJa65+%;hG)(wm7F0{sd8%&@@Ed=zB8H!yuv19jBG}cF@U3 zZ_Iuxfg4wZPd&d{@~He#-V-miFmdT$JJ#FvlDZI6gji&9<@V()L2!+j>wX#s0$HtT ze=;-`8mUC_7f=ee>g%{UrW&jo1PLuC)Fr)Uo3nLydAn|uYPzvBL=!h|zzhftX>nLQ z{H$4i>%AdndC#w@W~i2O^-SN-_X)3_v6n+nf0coSUTjmXH7g1 zTM^Pj@o}A2xPT#*IIEPUI<|n=&rTtjJC!w+(EiDTDu#t|EEDB^>H%RU!OON1g4rF* zP2!@|e2KX+z6}LwRwgYKa%9zY-ct{*(fxIsxRgC3RBXBV@*3OUR6HlvIYA|%w^oTb znW)B&iULj_0Y;kZvU@7g;C_T%(`OfY+bbX?SA1jXg>yJ-9nH!hFzLV!^@v_IHbogn zwo;-l8mMKO@srS*t!jw@cC=}S- zAMk2KgLWaRio5_ds)N3Qg~4PzoGrX~Zy6xd5}U?p)~)?0WGZvQigNx?Nb*6Qoebzv zy_Y9Hf;NFdoTd}25b6d@CUc$HICWPxa7gg=O?O61N#qkx5Y}okl)f35x3=HVPGycL zjrvQSs@b|;Y63cEZU!j*iWZYz}J_avbZoTf5}yL**zo^A6{?#n5zrZG&ZT}pJCtR1kq57 z4T?fmlqWU`C+j}KMMp9HsClV^up9Wi?l{jLQfrVQ zP4&HrZ)xNgS(Ze{$686b0#PJsFAxfJD2NGnz$xr%P#lXbQ!S1F?sp4!`%Px$4KF6D z4nAOT$ZMF}DV;W_+T7myvrf_QG{O~4WlSRuBIQO+gqX8>Yjhz9$SgPn*+7Ejk7fR{ zC=lPfh~`HecS0@~mfpoG5MPKprD&{#W(#)+?x2t|Y%4+v5HdR#M@TX7bEg$~yQpfa za^s0*aRU%o;4HU&FjuXShx2xSW^8;{{6Y)Y=GEd#sjZ-N=eI8xzQ{nvrXXr9R8F~V zf}@pXj{ph_$Q`$gy6pMH`(c#=gKG!G8CWkn5~7urD-^uWWP=)_F8jIlU4U53A@d@_ z^(S&~Z`1{wXe1r5clOQDo31qLVljg2;0|go*aOMM^sA#-JcN0R zLO~@If`ZK6hQg7U(5sb};4HRq+eI3- z55Ngp7ck!U-=RQUt(;QrDFc6teIyE$K-FJpS@WyK7UWg&N4M1&M&_dEV0+O2k znHtWI4G>7_^GaeFR88-JJ=@`8%Z>`eXC-Q*1tS*nLg~GYqhNhrJ?;j>bb^xqC3`VE zC!@mt$yiWkNlkZuhl#`O;58U|e~V>egVV-sRPR@MaAjgZQq?!&sJN;Ll!?b_u7hue zEYDXB1ydgx-HL6$IjS&@k|K~^oi+KyXimEwT^Fw>u@78qSu&6_VLVJ&HCCr^VX8 z^?bqq$A*dOuD?2UOA7ZiI{3penHn>zW`>&71lQCb`6WnYLK_`t8JEK&lGO+Uk{ewG z?AMMrM=AN`#`49nM}RZ2npcvYtb)SJ4+MV3ZR>>8o^~j>#Zp!j3ew_)v012UcXIw3 zlM4mySY+1XX7;W$&udz9f7LL|Tb6hr^mL%vY3pSzHNn?EtmQ(9*N`m9oM#`--_QVG zrN9=F8a2x^>?(2N@YUV0%IUWWEu0tzqIzsj;Zv)W#YlFf>V7(``XpfjNp%oB?m zv8qQEfD4Z&Hrf3aV0U^coH?02m*y|x2fl5g`o6<}*VtyeLP^oPoA;jm)Z+*c zpwu7a{(a@6Rt=k<$BJzzgyJh%-Fd1^w7K!Q;*2nbM1PnT%O>H*>T;ZqztXP_6TCH> zSsGPaXM)`{neJ2Wr^TE6&gGR3QN@w?b60NvCGF1I&Vjw$+fF#^ijmW2$&Um7leSMx_uY zBJ({$FG>$4-`iPEvZfX(Bh_|!*EJC2`8A7qn&qT5$Yvt&9yEeJZWcDApg^JGWL+7C zW*n3V5@HSy&0AM5qbAHS;3)XqXAArwW2yXM!20e-#qT0M!f;<{FQiauF5TOTu582b zDxgpm;>Sb`TKFp-_}vjr@F1>vS@L#Ly*`s8(T3o73lTXev(~1*k%mEK{HDT4Lov20 z=PK%Mc3*o_1*4!srp%V+LbR^RGWz6|iJSlmDY_EkR%O_xzPyH#j#g`eUV#Ye1*UNc zBa`^ul~;uQn&-Lrdt>76f7#_U?yVIExb3O+YT$dDAGHP^rnVsC+o0~ipp+bxTm7{l zTB>>g3WPA5Z+X!xf(Sr)6_E4aIh>;sC^%x(>yvH6AKUh4URR-BL^)I{cV>q0-yYFf z-1Ni3KZIjm_l{W_^BMXvk}mDJF|!CT7yR;L;quZ;gb1g;&$*jZj}$g)x)bsq3Bqc4 zJed)Q%&!ew+AeIe0>ksj|F)uF=Y-osJn z3z{7~N27FrZ4?FWV>*#(LR=jy>dIA2m`PwnL=3Icf%p3p^h;%AYXj3DCdC~$D6+E9 zn|$v}=1%Y9q8Hu8*OYo09cx(({BCWw8uxIve6+J^_)rlDD+*lGT}Ym`)`%&7Aug>j zfV!vTR}!)aUp~a9@V!~-w^0Z+U%u+Tg78EY+=@K;+?Q~uNA$e+vQ3)Iu1W|+O5Gsy zfaCFmajvw>*u0kXl$BF;v0KDsjqlL)Jb{=>dy;GcojS%JXJq8^J-eKDGhMZ9&gGR2 zDxQ3l8Pe;Eo^2YS$5DwcbXoj37cEV!THm`=q9J)ESfR(AkaB)V1sI$LxdMI0R%;1> zBkTwPs^*BooBd>UYV@`N!nX{8F1y)Y+hR5utZddsEF5v6x;BoCb(2$Ia=E!lD}*&x zEvypCdKuwa+j662R5gSKZ625t0}ljryn(!%kGdgw_Xx07k+s8HG6;F*sdxlv@AaQT z*L_w}|FX|CzFsS{QyK9#I~3VscVPRr5$i@vQ){R9z0fVdYNS2)YW78evL@8I&SEIx zRqTek0lTJFjtr)Y@HKB=3Qo&_X{<2Vb*K9^ju2Gyx`&eBFLNLy`8EZpS&)}peJD

*hFA(uX{WNr$EM!yd~}*20yP8Jw2#$ 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 Q{(BJk=kwzR|J%O*2KaVVy#N3J literal 0 HcmV?d00001 diff --git a/experimental/event-driven-rag-cve-analysis/requirements.yaml b/experimental/event-driven-rag-cve-analysis/requirements.yaml new file mode 100644 index 000000000..22d002942 --- /dev/null +++ b/experimental/event-driven-rag-cve-analysis/requirements.yaml @@ -0,0 +1,44 @@ +# SPDX-FileCopyrightText: Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +channels: + - conda-forge + - huggingface + - pytorch +dependencies: + - aiohttp-client-cache=0.11 + - aiohttp=3.9 + - beautifulsoup4=4.12 + # - faiss-gpu=1.7 # Uncomment this when the package supports CUDA 12. See: https://github.com/conda-forge/faiss-split-feedstock/pull/72 + - faiss=1.7 + - openai=1.13 + - pytorch=*=*cuda* + - sentence-transformers>=2.0.0,<3.0.0 + - tiktoken>=0.3.2,<0.6.0 + - transformers + + ####### Pip Transitive Dependencies (keep sorted!) ####### + # These are dependencies that are available on conda, but are required by the pip packages listed below. Its much + # better to install them with conda than pip to allow for better dependency resolution. + - pydantic=2.6 + + ####### Pip Dependencies (keep sorted!) ####### + - pip + - pip: + - google-search-results==2.4 + - langchain-nvidia-ai-endpoints==0.0.3 + - langchain==0.1.9 + - nemollm==0.3.5 + - pydpkg==1.9.2 diff --git a/experimental/fm-asr-streaming-rag/README.md b/experimental/fm-asr-streaming-rag/README.md index 7a03b6658..7dd4750a4 100644 --- a/experimental/fm-asr-streaming-rag/README.md +++ b/experimental/fm-asr-streaming-rag/README.md @@ -1,67 +1,94 @@ # Streaming FM Radio RAG This repository enables live processing of FM baseband I/Q samples, automatic speech recognition (ASR) of the resulting audio, and LLM interaction with the transcribed audio. +The FM-ASR pipeline is setup to receive I/Q samples over UDP. The Holoscan-based SDR pipeline expects to receive UDP packets containing baseband I/Q data. Signal processing is done to turn that data into PCM audio, which is sent to a Riva server over gRPC for ASR. The detected transcripts are received back by the Holoscan application and are sent to the chain server via REST API. The chain server then uses the embedding service to store embeddings of the transcript in a Milvus database. That data is then retrieved and used to respond to user queries. + If you don't have an SDR capable of recieving FM, that's ok. Code in the `file-replay` container will read in `.wav` audio files, do signal processing to FM-modulate them, and send the data as UDP packets. From the perspective of the pipeline, this file replay data looks equivalent to data streamed in from an FM source. ![FM chatbot](docs/imgs/chatbot.jpg) -## Tools -- [NVIDIA Holoscan SDK](https://developer.nvidia.com/holoscan-sdk) - UDP data ingest and signal processing -- [NVIDIA Riva](https://www.nvidia.com/en-us/ai-data-science/products/riva/) - ASR -- [NVIDIA AI Foundation Endpoint](https://www.nvidia.com/en-us/ai-data-science/foundation-models/) - Optimized LLM inference running on the cloud -- [NVIDIA NIM](https://developer.nvidia.com/docs/nemo-microservices/inference/overview.html) - Convert Hugging Face or Nemo checkpoint to [TRT-LLM](https://github.com/NVIDIA/TensorRT-LLM) and deploy locally with [Triton Inference Server](https://developer.nvidia.com/triton-inference-server) -- [Docker](https://docker.com) - Tested with versions >=25.0.0 +## Components +### Folder organization +*Note: `[optional]` denotes optional components that are disabled by default. If enabled services will be deployed locally, otherwise, endpoints from NVIDIA's API catalog at https://build.nvidia.com/explore/discover will be used.* + +- `chain-server`: Implementation of LangChain connectors to LLM inference, text embedding to database, retrieval and re-ranking of database documents, and interaction with user queries / intent detection. + +- `deploy`: Docker compose files, parameterization, and scripts to deploy application. `compose.env` holds all the environment variables used for deployment. + +- `file-replay`: Enables mimicking RF data with audio file. Reads in a WAV audio file, converts the audio data to baseband I/Q data, and sends the I/Q samples over UDP to the Holoscan SDR pipeline. + +- `frontend`: Gradio-based UI that displays chat interface, LLM parameters, and a live transcription of FM audio data. + +- `nemo-retriever [optional]`: Holds the models and volumes used for the optional [NeMo Retriever Microservice](https://developer.nvidia.com/nemo-microservices) used for deploying embedding service, storage, retrieval, and reranking services. Enabled when `USE_NEMO_RETRIEVER="true"`. + +- `nim [optional]`: Holds configuration and Dockerfile for deploying a NIM LLM locally. Currently configured to run Mistral 7B Instruct v0.2 on an RTX A6000. + +- `sdr-holoscan`: Using the Holoscan SDK, implements data ingest, GPU-accelerated RF signal processing, communication with the Riva server, and export of transcripts to the chain server. + +### Architecture with NeMo Retriever Microservice +![Block Diagram](docs/imgs/architecture-retriever.jpg) + +### Architecture with Standalone Milvus Database and API Endpoints for Embedding / Reranking +![Block Diagram](docs/imgs/architecture-cloud.jpg) + +### Data Source +The SDR application expects to receive UDP packets containing baseband I/Q data that match the address / packet size outlined in `sdr-holoscan/params.yml`. Any data source sending UDP to the specified address / port will be processed by the application. + +This setup has been tested with a [RTL-SDR Blog V.3](https://www.rtl-sdr.com.rtl-sdr-blog-v-3-dongles-user-guide/) SDR in conjunction with a [GNU Radio](https://www.gnuradio.org/) application. A sample companion file is included in [docs/samples/sample_fm_radio.grc](docs/samples/sample_fm_radio.grc). + +Alternatively, WAV audio files can be used to spoof FM data. The `file-replay` container reads the file specified by `REPLAY_FILE`, does FM modulation of the audio data, and transmits the data via UDP. + +### FM-ASR Streaming +The [NVIDIA Holoscan SDK](https://developer.nvidia.com/holoscan-sdk) is used for data ingest and GPU-accelerated signal processing, while [NVIDIA Riva](https://www.nvidia.com/en-us/ai-data-science/products/riva/) is used for automatic speech recognition (ASR). + +### Embedding & Retrieval +Two options are provided for embedding & retrieval which are determined at deploy-time - using the locally deployed NeMo Retriever Microservice, or using a standalone Milvus DB with NVIDIA's Embedding & Reranking API. + +To use the NeMo Retriever Microservice, you must be in the EA program and have access to the container, at which point it can be enabled by setting `USE_NEMO_RETRIEVER="true"`. + +Alternatively, a standalone Milvus DB is stood up. Embeddings are provided by [embed-qa-4](https://build.nvidia.com/nvidia/embed-qa-4), retrieval is done with semantic similarity, and reranking is done on the retrieved documents with [reank-qa-mistral-4b](https://build.nvidia.com/nvidia/rerank-qa-mistral-4b). + +### LLM Inference +Similarly, there are two options for LLM inference - a locally deployed NIM or using the NVIDIA API endpoints. These can both be used while the workflow is running, there is a dropdown in the UI that allows the user to specify which model is being used and can reference either models hosted by NVIDIA or a NIM model hosted locally. ## Hardware and Access Requirements - NVIDIA GPU (or GPUs) capable of running at minimum a Riva ASR server and Holoscan signal processing. This setup has been tested with an [RTX A6000](https://www.nvidia.com/en-us/design-visualization/rtx-a6000/), which handles that workload easily. Pushes the A6000's capability when running LLM inference on the same GPU; a dedicated GPU for inference is recommended when deploying locally. -- A [NVIDIA AI Foundation Endpoint](https://www.nvidia.com/en-us/ai-data-science/foundation-models/) key. Uses [LangChain implementation](https://python.langchain.com/docs/integrations/chat/nvidia_ai_endpoints) for LLM inference. Put your key in `NVIDIA_API_KEY` in `deploy/compose.env`. -- NVIDIA NIM is in early access and container is not available for developers not in EA program. +- A [NVIDIA API Catalog](https://build.nvidia.com/explore/discover?signin=true) key and credits for service usage. Uses [LangChain implementation](https://python.langchain.com/docs/integrations/chat/nvidia_ai_endpoints) for LLM inference. Put your key in `NVIDIA_API_KEY` in `deploy/compose.env`. +- NVIDIA's NeMo Retriever & NIM access are in early access and containers are not available for developers not in EA program. - Access to the [NGC catalog](https://catalog.ngc.nvidia.com/). ## Requirements for running live FM - An SDR and antenna for downconversion and A2D conversion. Tested with [RTL-SDR Blog V.3](https://www.rtl-sdr.com/rtl-sdr-blog-v-3-dongles-user-guide/). - [GNU Radio](https://www.gnuradio.org/) or similar software that can deliver baseband I/Q samples over UDP. See a sample companion file [sample_fm_radio.grc](docs/samples/sample_fm_radio.grc). - -## Future Work -- GNU Radio container for users with an SDR +- The SDR should be sending UDP packets that match the address / packet size outlined in `sdr-holoscan/params.yml`. ## Setup ### Riva ASR -NVIDIA Riva is required to perform the automated transcriptions. You will need to install and configure the [NGC-CLI](https://ngc.nvidia.com/setup/installers/cli) tool, if you have not done so already, to obtain the Riva container and API. The Riva installation steps may be found at this link: [Riva-Install](https://docs.nvidia.com/deeplearning/riva/user-guide/docs/quick-start-guide.html). Note that Riva performs a TensorRT build during setup and requires access to the targeted GPU. - -Container-based development and deployment is supported. See our sample [sample_riva_config.sh](docs/samples/sample_riva_config.sh) file for an example of how to configure Riva. +NVIDIA Riva is required to perform the automated transcriptions. You will need to install and configure the [NGC-CLI](https://ngc.nvidia.com/setup/installers/cli) tool, if you have not done so already, to obtain the Riva container and API. The Riva installation steps may be found at this link: [Riva-Install](https://docs.nvidia.com/deeplearning/riva/user-guide/docs/quick-start-guide.html). -### Replay -Move a `.wav` file into `file-replay/files`, set the `REPLAY_FILE` to the file name, relative to the `file-replay/files` directory. So `file-replay/files/my-audio.wav` should be `my-audio.wav`. +Note that Riva performs a TensorRT build during setup and requires access to the targeted GPU. Container-based development and deployment is supported. See our sample [sample_riva_config.sh](docs/samples/sample_riva_config.sh) file for an example of how to configure Riva. ### Containers -The project uses Docker Compose to easily build and deploy containers. Environment variables needed to run are in `deploy/compose.env`. - -```bash -source deploy/compose.env -docker compose -f deploy/docker-compose.yml up --build -``` +The project uses Docker Compose to easily build and deploy containers. You must have a supported set of drivers (tested at `545.23.08`) which can be obtained by installing the [CUDA Toolkit](https://developer.nvidia.com/cuda-downloads). Additionally, the [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html) is required to enable GPU usage in Docker containers. Environment variables needed to run are in `deploy/compose.env`. -Alternatively, use `deploy/scripts/run.sh`. +### API Access +Create an account at [NVIDIA API Catalog](https://build.nvidia.com/explore/discover?signin=true) for access to the APIs to call LLM inference, embedding, and reranking models. -### GPUs -The GPU or GPUs used for each container can be specified in `compose.env`. By default all containers have access to 'all' GPUs. +### File Replay +Move a `.wav` file into `file-replay/files`, set the `REPLAY_FILE` to the file name, relative to the `file-replay/files` directory. So, `/path/to/project/file-replay/files/my-audio.wav` should just be `my-audio.wav`. -## NVIDIA NIM -This repository also provides the tools and frameworks for using NVIDIA NIM to build and deploy TensorRT-LLM models on-prem. [Documentation for NVIDIA NIM](https://developer.nvidia.com/docs/nemo-microservices/inference/overview.html). +### Building NVIDIA NIM model from Hugging Face checkpoint +This repository also provides the tools and frameworks for using NVIDIA NIM to build and deploy [TensorRT-LLM](https://github.com/NVIDIA/TensorRT-LLM) models on-prem. [Documentation for NVIDIA NIM](https://developer.nvidia.com/docs/nemo-microservices/inference/overview.html). -### Running without NIM -Currently NVIDIA NIM is in early access and you must have access to pull the container in `nim/Dockerfile`. If you don't have EA, or only want to run on the cloud, just deploy the Docker compose project without the `nim`. You can do this by: -1) Commenting out the `nim` block in the compose file -2) Use the helper script in `nim/deploy/scripts/run-cloud-only.sh` -3) Simply calling compose with all other containers: `docker compose -f docker-compose.yml up --build sdr frontend server replay`. - -### Building TRT-LLM from Hugging Face checkpoint NVIDIA NIM uses the `model_repo_generator` command to build a TRT-LLM engine from a Hugging Face checkpoint. Use the helper script `deploy/scripts/nim-model-build.sh` to build the engine. This engine will be deployed with the inference microservice command called in the main compose file (`nemollm_inference_ms`). A sample configuration file for Mistral 7B v0.2 is included in `nim/configs`. Simply drop your own config in the folder, set appropriate environment variables and build using the playbook above. -## Intent Detection and Planning +## Running +Start the Riva server. Once initialized, start project with helper script `./deploy/scripts/run.sh`. This script sources `./deploy/compose.env` to read environment variables, then deploys containers based on configuration. Use helper script `./deploy/scripts/stop.sh` to bring down all containers. + +## LLM Features & Description +### Intent Detection and Planning By default, the Q&A pipeline is designed to infer some basic intent types from the user query, which affects how information is retrieved. [Pydantic](https://docs.pydantic.dev/latest/) is used under the hood to handle all agent-style planning and action decisions. The 3 types of intent are: 1. Question or comment about a specific topic – “Who do the Boston Bruins play tonight?” 2. Summarization of recent entries – “What are the main stories from the past hour?” @@ -77,11 +104,5 @@ Decision tree for detection and retrieval is shown below: ![Intent tree](docs/imgs/intent-tree.jpg) -## Recusive summarization -As a feature to test capability with edge deployments using smaller models with reduced KV-cache and smaller context windows, this code is enabled to reduce context window via recursive summarization. When enabled, if the number of entries retrieved exceeds the max entries parameter, the context window is reduced via summarization. For each block of `max_entries` entries, the LLM reduces the context by summarizing it, returns the result to the context pool, and re-chunks the summarized result. - -## Block Diagram Overview -### File replay -![Block overview with file replay source](docs/imgs/high-level-replay-overview.jpg) -### Live FM -![Block overview with FM source](docs/imgs/high-level-overview.jpg) \ No newline at end of file +### Recusive summarization +As a feature to test capability with edge deployments using smaller models with reduced KV-cache and smaller context windows, recursive summarization is used to reduce the number of tokens used in the prompt. When enabled, if the number of retrieved vector database entries exceeds the max entries parameter, the total retreived tokens are reduced to a managable amount by reducing them via summarization. For each block of `max_entries` entries, the LLM summarizes the entries, returns the summarized result to the context pool, and re-chunks the summarized result. This continues until the number of tokens used for context fits in the number of entries corresponding to `max_entries`. \ No newline at end of file diff --git a/experimental/fm-asr-streaming-rag/chain-server/accumulator.py b/experimental/fm-asr-streaming-rag/chain-server/accumulator.py new file mode 100644 index 000000000..c5f2cb1de --- /dev/null +++ b/experimental/fm-asr-streaming-rag/chain-server/accumulator.py @@ -0,0 +1,48 @@ +# SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from common import get_logger +from database import TimestampDatabase +from langchain.text_splitter import RecursiveCharacterTextSplitter + +logger = get_logger(__name__) + +#todo: Multi-thread to handle multiple concurrent streams +#todo: Add time-triggered embedding (i.e. embed after N seconds if no updates) +class TextAccumulator: + def __init__(self, db_interface, chunk_size=1024, chunk_overlap=200): + self.splitter = RecursiveCharacterTextSplitter( + chunk_size=chunk_size, + chunk_overlap=chunk_overlap, + length_function=len + ) + self.accumulators = {} + self.timestamp_db = TimestampDatabase() + self.db_interface = db_interface + + def update(self, source_id, text): + """ Update this source ID's accumulator and embed if necessary + """ + if source_id not in self.accumulators: + self.accumulators[source_id] = "" + + # Add new text, then chunk using text splitter. If chunking results in + # more than 1 document, embed the full-sized chunks. + docs = self.splitter.split_text(f"{self.accumulators[source_id]} {text}") + self.accumulators[source_id], new_docs = docs[-1], docs[:-1] + self.timestamp_db.insert_docs(new_docs, source_id) + self.db_interface.add_docs(new_docs, source_id) + + return {"status": f"Added {len(new_docs)} entries"} \ No newline at end of file diff --git a/experimental/fm-asr-streaming-rag/chain-server/chains.py b/experimental/fm-asr-streaming-rag/chain-server/chains.py index 79f6097ad..3bb3a5430 100644 --- a/experimental/fm-asr-streaming-rag/chain-server/chains.py +++ b/experimental/fm-asr-streaming-rag/chain-server/chains.py @@ -13,31 +13,35 @@ # See the License for the specific language governing permissions and # limitations under the License. -import os -import logging - +from typing import Union from copy import copy from datetime import datetime, timedelta from langchain_core.output_parsers import StrOutputParser from langchain_core.prompts import ChatPromptTemplate from langchain.docstore.document import Document -from database import VectorStoreInterface -from common import LLMConfig, TimeResponse, UserIntent -from utils import get_llm, classify, doc_tstamp +from accumulator import TextAccumulator +from retriever import NemoRetrieverInterface, NvidiaApiInterface +from common import get_logger, LLMConfig, TimeResponse, UserIntent +from utils import get_llm, classify from prompts import RAG_PROMPT, INTENT_PROMPT, RECENCY_PROMPT, SUMMARIZATION_PROMPT -LOG_LEVEL = logging.getLevelName(os.environ.get('CHAIN_LOG_LEVEL', 'WARN').upper()) -logger = logging.getLogger(__name__) -logger.setLevel(LOG_LEVEL) +logger = get_logger(__name__) # Maximum number of times to attempt recursive summarization (if enabled) MAX_SUMMARIZATION_ATTEMPTS = 3 class RagChain: - def __init__(self, config: LLMConfig, db: VectorStoreInterface): + def __init__( + self, + config: LLMConfig, + text_accumulator: TextAccumulator, + retv_interface: Union[NemoRetrieverInterface, NvidiaApiInterface] + ): self.config = config - self.db = db + self.text_accumulator = text_accumulator + self.timestamp_db = text_accumulator.timestamp_db + self.retv_interface = retv_interface self.llm = get_llm(config) self.rag_prompt = ChatPromptTemplate.from_messages([ ("system", RAG_PROMPT), @@ -76,7 +80,9 @@ def answer(self): UserIntent ) - if intent.intentType in ['RecentSummary', 'TimeWindow']: + if intent is None or intent.intentType == 'Unknown': + logger.warning('Unknown user intent, falling back to basic RAG') + elif intent.intentType in ['RecentSummary', 'TimeWindow']: try: # Determine the time units user is asking about recency = classify( @@ -101,32 +107,28 @@ def answer(self): intent.intentType = 'SpecificTopic' # Do basic RAG with semantic similarity retrieval - if intent is None or intent.intentType != 'SpecificTopic': - logger.warning('Unknown user intent, falling back to basic RAG') yield from self.answer_by_relevence() return def answer_by_relevence(self): # Retrieve - docs = self.db.search( + docs = self.retv_interface.search( self.config.question, - max_entries=self.config.max_docs, - score_threshold=self.config.threshold + max_entries=self.config.max_docs ) - yield f"*Returned {len(docs)} related entries*\n" # Output if not len(docs): - yield "*Try to lower the retrieval threshold or be more specific*" + yield "*Found no documents related to the query*" else: - yield "\n" + yield f"*Returned {len(docs)} related entries*\n\n" yield from self.generate(docs) def answer_by_recent(self, recency: TimeResponse): # Retrieve seconds = recency.to_seconds() tstamp = datetime.now() - timedelta(seconds=seconds) - docs = self.db.recent(tstamp) + docs = self.timestamp_db.recent(tstamp) yield f"*Found {len(docs)} entries from the last {seconds:.0f}s*\n" # Handle case when we get too many docs @@ -143,7 +145,7 @@ def answer_by_recent(self, recency: TimeResponse): else: # Just throw some away docs = docs[-self.config.max_docs:] - oldest = doc_tstamp(docs[0]).second + oldest = docs[0].metadata['tstamp'].second yield f"*Reduced to last {len(docs)} entries, oldest is from {oldest}s ago*\n" # Output @@ -155,7 +157,7 @@ def answer_by_past(self, recency: TimeResponse, window=90): # Retrieve seconds = recency.to_seconds() tstamp = datetime.now() - timedelta(seconds=seconds) - docs = self.db.past(tstamp, window=window) + docs = self.timestamp_db.past(tstamp, window=window) yield f"*Found {len(docs)} entries from {seconds:.0f}s ago (+/- {window}s)*\n" # Handle case when we get too many docs @@ -171,9 +173,9 @@ def answer_by_past(self, recency: TimeResponse, window=90): docs = docs[-self.config.max_docs:] else: # Just throw some away - sorted_docs = sorted(docs, key=lambda doc: abs(doc_tstamp(doc) - tstamp)) + sorted_docs = sorted(docs, key=lambda doc: abs(doc.metadata['tstamp'] - tstamp)) docs = sorted_docs[:self.config.max_docs] - dt = abs(doc_tstamp(docs[-1]) - tstamp).seconds + dt = abs(docs[-1].metadata['tstamp'] - tstamp).seconds yield f"*Reduced to last {len(docs)} entries, furthest is {dt}s away*\n" # Output @@ -185,7 +187,7 @@ def summarize(self, docs): """ Given a set of documents, leverage the LLM to reduce context via summarization """ summary_chain = self.get_chat_chain(SUMMARIZATION_PROMPT) - splitter = copy(self.db._text_splitter) + splitter = copy(self.text_accumulator.splitter) splitter._chunk_overlap = 0 # Summarize each chunk of 'max_docs' entries diff --git a/experimental/fm-asr-streaming-rag/chain-server/common.py b/experimental/fm-asr-streaming-rag/chain-server/common.py index b518f9f4e..2ebd68f40 100644 --- a/experimental/fm-asr-streaming-rag/chain-server/common.py +++ b/experimental/fm-asr-streaming-rag/chain-server/common.py @@ -13,43 +13,34 @@ # See the License for the specific language governing permissions and # limitations under the License. +import logging +import requests +import json +import os import numpy as np from datetime import datetime, timedelta from pydantic import BaseModel, Field from typing import Literal from langchain_community.utils.math import cosine_similarity -from langchain_community.embeddings import HuggingFaceEmbeddings + +USE_NEMO_RETRIEVER = os.environ.get('USE_NEMO_RETRIEVER', 'False').lower() in ('true', '1') +NVIDIA_API_KEY = os.environ.get('NVIDIA_API_KEY', 'null') + +def get_logger(name): + LOG_LEVEL = logging.getLevelName(os.environ.get('CHAIN_LOG_LEVEL', 'WARN').upper()) + logger = logging.getLogger(name) + logger.setLevel(LOG_LEVEL) + logger.addHandler(logging.StreamHandler()) + return logger class TextEntry(BaseModel): """ API to store text in database """ transcript: str = Field("Streaming text to store") + source_id: str = Field("Source of text") timestamp: datetime = Field("Timestamp of text") -class SearchDocumentConfig(BaseModel): - """ API to do similarity search on database - """ - content: str = Field("Content to search database for") - max_docs: int = Field("Maximum number of documents to return") - threshold: float = Field("Minimum similarity threshold for docs") - -class RecentDocumentConfig(BaseModel): - """ API to return all documents since timestamp - """ - timestamp: datetime = Field("Timestamp of documents to retrieve up to") - max_docs: int = Field("Maximum number of documents to return") - -class PastDocumentConfig(BaseModel): - """ API to return all documents near timestamp, within window seconds - """ - timestamp: datetime = Field("Timestamp of documents to retrieve near") - max_docs: int = Field("Maximum number of documents to return") - window: int = Field( - description="Window (sec) around which documents from timestamp are returned", - default=90 - ) - class LLMConfig(BaseModel): """ Definition of the LLMConfig API data type """ @@ -60,32 +51,70 @@ class LLMConfig(BaseModel): ) # Model choice name: str = Field("Name of LLM instance to use") - engine: str = Field("Name of engine ['nv-ai-foundation', 'triton-trt-llm']") + engine: str = Field("Name of engine ['nvai-api-endpoint', 'triton-trt-llm']") # Chain parameters use_knowledge_base: bool = Field( description="Whether to use a knowledge base", default=True ) allow_summary: bool = Field("Use recursive summarization to reduce long contexts") temperature: float = Field("Temperature of the LLM response") - threshold: float = Field("Minimum similarity threshold for docs") max_docs: int = Field("Maximum number of documents to return") num_tokens: int = Field("The maximum number of tokens in the response") -""" -For cases where an LLM returns a time unit that doesn't match one of the discrete -options, find the closest with cosine similarity. +def nemo_embedding(text): + """ + Uses the NeMo Embedding MS to convert text to embeddings + - ex: embeddings = nemo_embedding(['Chunk A', 'Chunk B']) + """ + port = os.environ.get('NEMO_EMBEDDING_PORT', 1985) + url = f"http://localhost:{port}/v1/embeddings" + payload = json.dumps({ + "input": text, + "model": "NV-Embed-QA", + "input_type": "query" + }) + headers = {'Content-Type': 'application/json'} + response = requests.request("POST", url, headers=headers, data=payload) + embeddings = [chunk['embedding'] for chunk in response.json()['data']] + return embeddings + +def nvapi_embedding(text): + session = requests.Session() + url = "https://ai.api.nvidia.com/v1/retrieval/nvidia/embeddings" + headers = { + "Authorization": f"Bearer {NVIDIA_API_KEY}", + "Accept": "application/json", + } + payload = { + "input": text, + "input_type": "passage", + "model": "NV-Embed-QA" + } + response = session.post(url, headers=headers, json=payload) + embeddings = [chunk['embedding'] for chunk in response.json()['data']] + return embeddings -Example: 'min' -> 'minutes' -""" -EMBEDDINGS = HuggingFaceEmbeddings() VALID_TIME_UNITS = ["seconds", "minutes", "hours", "days"] -TIME_VECTORS = EMBEDDINGS.embed_documents(VALID_TIME_UNITS) +TIME_VECTORS = None # Lazy loading in 'sanitize_time_unit' +if USE_NEMO_RETRIEVER: + embedding_service = nemo_embedding +else: + embedding_service = nvapi_embedding def sanitize_time_unit(time_unit): + """ + For cases where an LLM returns a time unit that doesn't match one of the + discrete options, find the closest with cosine similarity. + + Example: 'min' -> 'minutes' + """ if time_unit in VALID_TIME_UNITS: return time_unit - unit_embedding = [EMBEDDINGS.embed_query(time_unit)] + if TIME_VECTORS is None: + TIME_VECTORS = embedding_service(VALID_TIME_UNITS) + + unit_embedding = embedding_service([time_unit]) similarity = cosine_similarity(unit_embedding, TIME_VECTORS) return VALID_TIME_UNITS[np.argmax(similarity)] diff --git a/experimental/fm-asr-streaming-rag/chain-server/database.py b/experimental/fm-asr-streaming-rag/chain-server/database.py index 151a5eed5..e8625346c 100644 --- a/experimental/fm-asr-streaming-rag/chain-server/database.py +++ b/experimental/fm-asr-streaming-rag/chain-server/database.py @@ -25,177 +25,70 @@ implementation of what is possible with this sort of streaming workflow. """ -import os -import logging -import faiss +import sqlite3 import datetime import numpy as np -from typing import List +from common import get_logger +from datetime import datetime +from langchain.docstore.document import Document -from langchain_community.embeddings import HuggingFaceInstructEmbeddings -from langchain_community.docstore import InMemoryDocstore -from langchain_community.vectorstores import FAISS -from langchain.text_splitter import RecursiveCharacterTextSplitter +logger = get_logger(__name__) -LOG_LEVEL = logging.getLevelName(os.environ.get('CHAIN_LOG_LEVEL', 'WARN').upper()) -logger = logging.getLogger(__name__) -logger.setLevel(LOG_LEVEL) - -EMBED_INSTRUCT = "Represent the sentence for retrieval: " -EMBED_QUERY = "Represent the question for retrieving supporting texts from the sentence: " - -class TimeIndex: - """ Manages database entry indices, tying the entry index to its timestamp +class TimestampDatabase: + """ Use SQLite database to track time-based entries """ def __init__(self): - self.index: List[int] = [] - self.tstamp: np.ndarray = np.array([], dtype=np.datetime64) - - def size(self): - return len(self.index) - - def get(self, i): - return self.index[i], self.tstamp[i] - - def get_range(self, start=None, stop=None): - return self.index[start:stop], self.tstamp[start:stop] - - def reduce_to(self, start=None, stop=None): - self.index, self.tstamp = self.get_range(start, stop) - - def append(self, new_id, new_tstamp): - self.index.append(new_id) - self.tstamp = np.append(self.tstamp, new_tstamp) - - def time_window(self, tstart=None, tend=None): - if not tstart: - tstart = self.tstamp[0] - if not tend: - tend = self.tstamp[-1] - mask = (self.tstamp >= tstart) & (self.tstamp <= tend) - return [self.index[i] for i in np.where(mask)[0]] - - def next_id(self): - return self.index[-1] + 1 if self.size() > 0 else 0 - -class DatabaseManager: - """ Self-managed FAISS database that ties entries to when they were added - """ - def __init__(self, embedding_model, embedding_dim): - self._timeindex = TimeIndex() - self._db_index = faiss.IndexFlatL2(embedding_dim) - self._db = FAISS( - embedding_model, - self._db_index, - InMemoryDocstore({}), - {} - ) - - def size(self): - return self._timeindex.size() - - def pop_back(self): - if self.size() == 0: - return None - - # Get the last document and delete it - idx, _ = self._timeindex.get(-1) - doc = self._db.docstore._dict[idx] - self._db.delete([self._db.index_to_docstore_id[idx]]) - - # Adjust the indices and timestamps - self._timeindex.reduce_to(stop=-1) - return doc - - def pop_front(self): - if self.size() == 0: - return None - - # Get the document and delete it - idx, _ = self._timeindex.get(0) - doc = self._db.docstore._dict[idx] - self._db.delete([self._db.index_to_docstore_id[idx]]) - - # Adjust the indices and timestamps - self._timeindex.reduce_to(start=1) - return doc - - def push_back(self, entry, tstamp): - # Add the entry to the database - new_id = self._timeindex.next_id() - self._db.add_texts( - [entry], ids=[new_id], metadatas=[{'tstamp': tstamp.strftime("%Y-%m-%d %H:%M:%S")}] + self.conn = sqlite3.connect('timeseries.db', check_same_thread=False) + self.cursor = self.conn.cursor() + + # Create table + self.cursor.execute( + ''' + CREATE TABLE IF NOT EXISTS messages ( + id INTEGER PRIMARY KEY, + text TEXT, + timestamp DATETIME, + source_id TEXT + ) + ''' ) - self._timeindex.append(new_id, tstamp) - - def as_retriever(self, search_kwargs): - return self._db.as_retriever( - search_type='similarity_score_threshold', - search_kwargs=search_kwargs - ) - - def get_by_time(self, tstart=None, tend=None): - if self.size() == 0: - return [] - indices = self._timeindex.time_window(tstart=tstart, tend=tend) - return [self._db.docstore._dict[i] for i in indices] - -class VectorStoreInterface: - """ Manages interfacing with the vector store - """ - def __init__(self, chunk_size=1024, chunk_overlap=200): - self._text_splitter = RecursiveCharacterTextSplitter( - chunk_size=chunk_size, - chunk_overlap=chunk_overlap, - length_function=len + self.conn.commit() + + def insert_docs(self, docs, source_id): + tnow = datetime.now() + self.cursor.executemany( + ''' + INSERT INTO messages (text, timestamp, source_id) VALUES (?, ?, ?) + ''', + [(doc, tnow, source_id) for doc in docs] ) - self._embed_model = HuggingFaceInstructEmbeddings( - embed_instruction=EMBED_INSTRUCT, - query_instruction=EMBED_QUERY + self.conn.commit() + + def reformat(self, doc): + return {'content': doc[1], 'timestamp': doc[2], 'source_id': doc[3]} + + def reformat(self, doc): + return Document( + page_content=doc[1], + metadata={ + 'tstamp': datetime.strptime(doc[2], "%Y-%m-%d %H:%M:%S.%f"), + 'source_id': doc[3] + } ) - embedding_pool = self._embed_model.dict()['client'][1] - self.embedding_dim = embedding_pool.get_config_dict()['word_embedding_dimension'] - self._db_mgr = DatabaseManager(self._embed_model, self.embedding_dim) - - def dbsize(self): - return self._db_mgr.size() - - def store_text(self, text, tstamp): - """ Split text into chunks and store in DB - """ - new_entries = self._text_splitter.split_text(text) - for entry in new_entries: - self._db_mgr.push_back(entry, tstamp) - return { - "status": - f"Added {len(new_entries)} entries. " + - f"Number of total database entries: {self.dbsize()}" - } - - def store_streaming_text(self, text, tstamp): - """ Assume last entry was short, delete it, append it to new text, and re-chunk - """ - prev_doc = self._db_mgr.pop_back() - if prev_doc: - text = f"{prev_doc.page_content} {text}" - return self.store_text(text, tstamp) - - def search(self, query, max_entries=4, score_threshold=0.65): - """ Search DB for similar documents - """ - search_kwargs = {'k': max_entries, 'score_threshold': score_threshold} - retriever = self._db_mgr.as_retriever(search_kwargs) - return [doc for doc in retriever.get_relevant_documents(query)] def recent(self, tstamp): """ Return all entries since tstamp """ - return self._db_mgr.get_by_time(tstart=tstamp) + self.cursor.execute("SELECT * FROM messages WHERE timestamp >= ?", (tstamp,)) + docs = self.cursor.fetchall() + return [self.reformat(doc) for doc in docs] def past(self, tstamp, window=90): """ Return entries within 'window' seconds of tstamp """ tstart = tstamp - datetime.timedelta(seconds=window) tend = tstamp + datetime.timedelta(seconds=window) - return self._db_mgr.get_by_time(tstart=tstart, tend=tend) \ No newline at end of file + self.cursor.execute('SELECT * FROM messages WHERE timestamp BETWEEN ? AND ?', (tstart, tend)) + docs = self.cursor.fetchall() + return [self.reformat(doc) for doc in docs] \ No newline at end of file diff --git a/experimental/fm-asr-streaming-rag/chain-server/requirements.txt b/experimental/fm-asr-streaming-rag/chain-server/requirements.txt index 29e71b7ea..8d20ffa00 100644 --- a/experimental/fm-asr-streaming-rag/chain-server/requirements.txt +++ b/experimental/fm-asr-streaming-rag/chain-server/requirements.txt @@ -1,23 +1,21 @@ fastapi==0.104.1 uvicorn[standard]==0.24.0 python-multipart==0.0.6 -langchain==0.0.352 unstructured[all-docs]==0.11.2 sentence-transformers==2.2.2 llama-index==0.9.22 -pymilvus==2.3.1 +pymilvus==2.3.5 dataclass-wizard==0.22.2 opencv-python==4.8.0.74 minio==7.2.0 asyncpg==0.29.0 psycopg2-binary==2.9.9 pgvector==0.2.4 -langchain-core==0.1.3 -langchain-nvidia-ai-endpoints==0.0.1 +langchain==0.1.14 +langchain-core==0.1.40 +langchain-nvidia-ai-endpoints==0.0.12 langchain-nvidia-trt==0.0.1rc0 nemollm==0.3.4 opentelemetry-sdk==1.21.0 opentelemetry-api==1.21.0 -opentelemetry-exporter-otlp-proto-grpc==1.21.0 -faiss-cpu==1.7.4 -instructorembedding==1.0.1 \ No newline at end of file +opentelemetry-exporter-otlp-proto-grpc==1.21.0 \ No newline at end of file diff --git a/experimental/fm-asr-streaming-rag/chain-server/retriever.py b/experimental/fm-asr-streaming-rag/chain-server/retriever.py new file mode 100644 index 000000000..5aa91d387 --- /dev/null +++ b/experimental/fm-asr-streaming-rag/chain-server/retriever.py @@ -0,0 +1,352 @@ +# SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os +import requests +import json +import time + +from common import get_logger, NVIDIA_API_KEY +from statistics import stdev, mean +from datetime import datetime + +from langchain.docstore.document import Document +from pymilvus import ( + MilvusClient, + MilvusException, + Collection, + connections, + utility, + CollectionSchema, + DataType, + FieldSchema +) + +logger = get_logger(__name__) + +RETRIEVER_URI = os.environ.get('NEMO_RETRIEVER_URI', 'localhost:1984') +MILVUS_URI = os.environ.get('MILVUS_STANDALONE_URI', 'localhost:19530') +DEFAULT_DB_NAME = "FM_Radio_Stream" +EMBEDDING_ENDPOINT = "https://ai.api.nvidia.com/v1/retrieval/nvidia/embeddings" +RERANKING_ENDPOINT = "https://ai.api.nvidia.com/v1/retrieval/nvidia/reranking" + +class NemoRetrieverInterface: + """ Uses NeMo Retriever microservice for embeddings / retrieval + """ + def __init__(self, retriever_uri=RETRIEVER_URI): + self.retriever_uri = retriever_uri + + # Connect to Retreiver Microservice + connected = False + start_time = time.time() + timeout = 300 + wait_sec = 5 + while not connected: + try: + # Initialize collection and get ID + response = requests.post( + f"http://{self.retriever_uri}/v1/collections", + headers={'Content-Type': 'application/json'}, + data=json.dumps({ + 'name': f'{DEFAULT_DB_NAME}_Collection', + 'pipeline': 'ranked_hybrid' + }) + ) + response.raise_for_status() + connected = True + except requests.exceptions.ConnectionError: + # Check for timeout + elapsed_time = time.time() - start_time + if elapsed_time > timeout: + logger.error(f"Timeout: {self.retriever_uri} not open after {elapsed_time} seconds") + raise TimeoutError + + # Wait a short period before trying again + logger.warning(f"Waiting {wait_sec}s for Retriever MS at {self.retriever_uri}") + time.sleep(wait_sec) + except requests.HTTPError as e: + logger.error(f"Error {e} when initializing collection at {self.retriever_uri}") + return + except requests.Timeout: + logger.error(f"Timeout reached when initializing collection at {self.retriever_uri}") + return + + self.collection = response.json()['collection'] + self.collection_url = f"http://{self.retriever_uri}/v1/collections/{self.collection['id']}" + logger.info(f"Initialized collection {self.collection['id']}") + + def _reformat(self, doc): + return Document( + page_content=doc['content'], + metadata={ + 'tstamp': datetime.fromisoformat(doc['metadata']['_indexed_at']), + 'source_id': doc['metadata']['source_id'] + } + ) + + def _drop_outliers(self, docs, min_cv=0.1): + """ Drop any documents that are not relevant enough + """ + if self.collection["pipeline"] == "ranked_hybrid": + # With reranking + scores = [doc['score'] for doc in docs] + low_rank_score = scores[0] - max(stdev(scores), min_cv * abs(mean(scores))) + return list(filter(lambda doc: doc['score'] >= low_rank_score, docs)) + else: + # Without reranking + pass + + def add_docs(self, docs, source_id): + """ Add documents to vector DB + """ + for doc in docs: + self._embed(doc, source_id) + + def _embed(self, doc, source_id): + """ Use the NeMo Retriever Embedding microservice + """ + try: + response = requests.post( + f"{self.collection_url}/documents", + headers={'Content-Type': 'application/json'}, + data=json.dumps([{ + "content": doc, + "format": "txt", + "metadata": {"source_id": source_id} + }]) + ) + response.raise_for_status() + logger.info( + f"Embedded document {response.json()['documents'][0]['id']} " + f"to {self.collection_url} [CODE {response.status_code}]" + ) + except requests.HTTPError as e: + logger.error(f"Error {e} when embedding to {self.collection_url}") + except requests.Timeout: + logger.error(f"Timeout reached when embedding to {self.collection_url}") + + def search(self, query, max_entries=None): + """ Use the NeMo Retriever Embedding microservice + """ + try: + response = requests.post( + f"{self.collection_url}/search", + headers={'Content-Type': 'application/json'}, + data=json.dumps({"query": query}) + ) + response.raise_for_status() + except requests.HTTPError as e: + logger.error(f"Error {e} when embedding to {self.collection_url}") + return None + except requests.Timeout: + logger.error(f"Timeout reached when embedding to {self.collection_url}") + return None + + docs = response.json()["chunks"] + logger.info(f"Retrieved {len(docs)} docs") + if len(docs) == 0: + return [] + + if len(docs) > 1: + docs = self._drop_outliers(docs) + return [self._reformat(doc) for doc in docs[:max_entries]] + +class NvidiaApiInterface: + def __init__(self, milvus_uri=MILVUS_URI, db_name=DEFAULT_DB_NAME): + self._create_collection(milvus_uri, db_name) + self.client = MilvusClient( + collection_name=self.collection_name, + uri=f'http://{milvus_uri}', + vector_field="embedding", + overwrite=False + ) + self.headers = { + "Authorization": f"Bearer {NVIDIA_API_KEY}", + "Accept": "application/json", + } + self.session = requests.Session() + + def _create_collection(self, milvus_uri, db_name): + """ Connect to standalone Milvus & create collection + """ + # Connect to standalone Milvus server + connected = False + start_time = time.time() + timeout = 300 + wait_sec = 5 + while not connected: + try: + connections.connect(uri=f'http://{milvus_uri}') + connected = True + except MilvusException: + # Check for timeout + elapsed_time = time.time() - start_time + if elapsed_time > timeout: + logger.error(f"Timeout: {milvus_uri} not open after {elapsed_time} seconds") + raise TimeoutError + + # Wait a short period before trying again + logger.warning(f"Waiting {wait_sec}s for Milvus at {milvus_uri}") + time.sleep(wait_sec) + + # Drop old collection + self.collection_name = f"{db_name}_Collection" + utility.drop_collection(self.collection_name) + + # Define schema + self.index_params = { + "metric_type": "L2", + "index_type": "IVF_FLAT", + "params": {"nlist": 128, "nprobe": 8,}, + } + reference_id = FieldSchema( + name="reference_id", + dtype=DataType.INT64, + is_primary=True, + auto_id=True + ) + source_id = FieldSchema( + name="source_id", + dtype=DataType.VARCHAR, + default_value="Source ID Unknown", + max_length=4096 + ) + text = FieldSchema( + name="text", + dtype=DataType.VARCHAR, + default_value="Text Unknown", + max_length=4096 + ) + embedding = FieldSchema( + name="embedding", + dtype=DataType.FLOAT_VECTOR, + dim=1024 + ) + self.schema = CollectionSchema( + fields=[reference_id, source_id, text, embedding], + description="FM Radio Stream" + ) + + # Create collection + self.collection = Collection( + name=self.collection_name, + schema=self.schema, + using="default" + ) + self.collection.create_index( + field_name="embedding", + index_params=self.index_params, + index_name="embedding_index" + ) + + def add_docs(self, docs, source_id): + """ Add documents to vector DB + """ + for doc in docs: + # Embed into Milvus database + embedding = self._embed(doc, input_type="passage") + result = self.collection.insert([[source_id], [doc], [embedding]]) + self.collection.load() + logger.info( + f"Embedded document {result.insert_count} to {self.collection_name}" + ) + + def _embed(self, doc, input_type="passage"): + """ Use the NeMo Embedding microservice and store + """ + # Call embedding API endpoint + try: + response = self.session.post( + EMBEDDING_ENDPOINT, + headers=self.headers, + json={ + "input": doc, + "input_type": input_type, + "model": "NV-Embed-QA" + } + ) + response.raise_for_status() + return response.json()['data'][0]['embedding'] + except requests.HTTPError as e: + logger.error(f"Error {e} when embedding with API Endpoint") + except requests.Timeout: + logger.error(f"Timeout reached when embedding with API Endpoint") + + def _rerank_docs(self, docs, query): + """ Use the NeMo Reranking microservice + """ + # Call embedding API endpoint + try: + response = self.session.post( + RERANKING_ENDPOINT, + headers=self.headers, + json={ + "query": {"text": query}, + "model": "nv-rerank-qa-mistral-4b:1", + "passages": [{"text": doc['entity']['text']} for doc in docs] + } + ) + response.raise_for_status() + return response.json()['rankings'] + except requests.HTTPError as e: + logger.error(f"Error {e} when embedding with API Endpoint") + except requests.Timeout: + logger.error(f"Timeout reached when embedding with API Endpoint") + + def _reformat(self, doc): + return Document( + page_content=doc['entity']['text'], + metadata={ + 'tstamp': None, #todo + 'source_id': doc['entity']['source_id'] + } + ) + + def _drop_outliers(self, docs, min_cv=0.1): + """ Drop any documents that are not relevant enough + """ + scores = [doc['logit'] for doc in docs] + low_rank_score = scores[0] - max(stdev(scores), min_cv * abs(mean(scores))) + return list(filter(lambda doc: doc['logit'] >= low_rank_score, docs)) + + def search(self, query, max_entries=None): + # Do similarity search on Milvus DB + search_params = { + "metric_type": "L2", + "index_type": "IVF_FLAT", + "params": { + "radius": 1.0, + "range_filter": 0.0, + }, + } + self.collection.load() + docs = self.client.search( + data=[self._embed(query, input_type="query")], + limit=max_entries, + collection_name=self.collection_name, + search_params=search_params, + output_fields=["reference_id", "source_id", "text"] + )[0] + if len(docs) == 0: + return [] + + # Do reranking + rankings = self._rerank_docs(docs, query) + for (rank, doc) in zip(rankings, docs): + doc['logit'] = rank['logit'] + + if len(docs) > 1: + docs = self._drop_outliers(docs) + return [self._reformat(doc) for doc in docs] \ No newline at end of file diff --git a/experimental/fm-asr-streaming-rag/chain-server/server.py b/experimental/fm-asr-streaming-rag/chain-server/server.py index b9c8e3ad8..5ac17c823 100644 --- a/experimental/fm-asr-streaming-rag/chain-server/server.py +++ b/experimental/fm-asr-streaming-rag/chain-server/server.py @@ -14,60 +14,58 @@ # limitations under the License. import os -import logging -from database import VectorStoreInterface +from accumulator import TextAccumulator +from retriever import NemoRetrieverInterface, NvidiaApiInterface from chains import RagChain from common import ( + get_logger, TextEntry, - SearchDocumentConfig, - RecentDocumentConfig, - PastDocumentConfig, - LLMConfig + LLMConfig, + USE_NEMO_RETRIEVER ) +from langchain_nvidia_ai_endpoints import ChatNVIDIA + from fastapi import FastAPI, Request from fastapi.responses import JSONResponse, StreamingResponse -LOG_LEVEL = logging.getLevelName(os.environ.get('CHAIN_LOG_LEVEL', 'WARN').upper()) -logger = logging.getLogger(__name__) -logger.setLevel(LOG_LEVEL) +logger = get_logger(__name__) app = FastAPI() -# Create vector database -db = VectorStoreInterface( +# Create retriever and accumulators +if USE_NEMO_RETRIEVER: + db_interface = NemoRetrieverInterface() +else: + db_interface = NvidiaApiInterface() + +text_accumulator = TextAccumulator( + db_interface, chunk_size=int(os.environ.get('DB_CHUNK_SIZE', 256)), chunk_overlap=int(os.environ.get('DB_CHUNK_OVERLAP', 32)) ) +@app.get("/availableNvidiaModels") +async def available_nvidia_models(request: Request) -> JSONResponse: + models = [m.id for m in ChatNVIDIA.get_available_models() if m.model_type == 'chat'] + return JSONResponse({ + "models": models + }) + +@app.get("/serverStatus") +async def server_status(): + return {"is_ready": True} # API for database storage and searching @app.post("/storeStreamingText") async def store_streaming_text(request: Request, data: TextEntry) -> JSONResponse: return JSONResponse( - db.store_streaming_text(data.transcript, tstamp=data.timestamp) + text_accumulator.update(data.source_id, data.transcript) ) -@app.get("/searchDocuments") -async def search_documents(request: Request, data: SearchDocumentConfig) -> JSONResponse: - docs = db.search( - data.content, max_entries=data.max_docs, score_threshold=data.threshold - ) - return JSONResponse([doc.dict() for doc in docs]) - -@app.get("/recentDocuments") -async def recent_documents(request: Request, data: RecentDocumentConfig) -> JSONResponse: - docs = db.recent(data.timestamp, max_entries=data.max_docs) - return JSONResponse([doc.dict() for doc in docs]) - -@app.get("/pastDocuments") -async def past_documents(request: Request, data: PastDocumentConfig) -> JSONResponse: - docs = db.past(data.timestamp, window=data.window, max_entries=data.max_docs) - return JSONResponse([doc.dict() for doc in docs]) - # API for LLM interaction @app.get("/generate") async def generate_answer(request: Request, config: LLMConfig) -> StreamingResponse: - chain = RagChain(config, db) + chain = RagChain(config, text_accumulator, db_interface) return StreamingResponse(chain.answer()) \ No newline at end of file diff --git a/experimental/fm-asr-streaming-rag/chain-server/utils.py b/experimental/fm-asr-streaming-rag/chain-server/utils.py index 8831d8b42..bf6b897ba 100644 --- a/experimental/fm-asr-streaming-rag/chain-server/utils.py +++ b/experimental/fm-asr-streaming-rag/chain-server/utils.py @@ -14,37 +14,27 @@ # limitations under the License. import os -import logging import json import re -from datetime import datetime from langchain_nvidia_ai_endpoints import ChatNVIDIA -from langchain_community.chat_models import ChatOpenAI from pydantic import BaseModel -from common import LLMConfig +from common import get_logger, LLMConfig -LOG_LEVEL = logging.getLevelName(os.environ.get('CHAIN_LOG_LEVEL', 'WARN').upper()) -logger = logging.getLogger(__name__) -logger.setLevel(LOG_LEVEL) +logger = get_logger(__name__) def get_llm(config: LLMConfig): + client = ChatNVIDIA( + model=config.name, + temperature=config.temperature, + max_tokens=config.num_tokens + ) if config.engine == "triton-trt-llm": - openai_port = os.environ.get('NIM_OPENAI_PORT', 9999) - return ChatOpenAI( - model_name=config.name, - temperature=config.temperature, - max_tokens=config.num_tokens, - openai_api_base=f"http://0.0.0.0:{openai_port}/v1/", - openai_api_key="not needed" - ) - elif config.engine == "nv-ai-foundation": - return ChatNVIDIA( - model=config.name, - temperature=config.temperature, - max_tokens=config.num_tokens - ) + nim_llm_port = os.environ.get('NIM_LLM_PORT', 9999) + return client.mode("nim", base_url=f"http://0.0.0.0:{nim_llm_port}/v1") + elif config.engine == "nvai-api-endpoint": + return client else: raise ValueError(f"Unknown engine {config.engine}") @@ -65,11 +55,9 @@ def classify(question, chain, pydantic_obj: BaseModel): # Neither approach worked, return None logger.error(f"Error parsing output into {pydantic_obj}: '{output}'") result = None + logger.info(f"Result: {result}") return result -def doc_tstamp(doc): - return datetime.strptime(doc.metadata['tstamp'], "%Y-%m-%d %H:%M:%S") - """ These are some functions that try to fix some common mistakes LLMs might make when outputting structured JSON. Rather than immediately giving up, we replace diff --git a/experimental/fm-asr-streaming-rag/deploy/compose.env b/experimental/fm-asr-streaming-rag/deploy/compose.env index 1261ce735..4bdfb2771 100644 --- a/experimental/fm-asr-streaming-rag/deploy/compose.env +++ b/experimental/fm-asr-streaming-rag/deploy/compose.env @@ -3,8 +3,13 @@ # Setup directories export DEPLOY_DIR="$( cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 ; pwd -P )" export PROJECT_DIR="${DEPLOY_DIR}/.." +export NEMO_RET_DIR="${PROJECT_DIR}/nemo-retriever" export MODEL_DIR="/path/to/llm/checkpoints/" # where you keep your model checkpoints +# Deployment configuration +export USE_NEMO_RETRIEVER="false" +export DEPLOY_LOCAL_NIM="false" + # Connections export FRONTEND_URI="localhost:6001" export FRONTEND_SERVER_PORT="8090" @@ -21,13 +26,13 @@ export NVIDIA_API_KEY="" export DB_CHUNK_SIZE=1024 export DB_CHUNK_OVERLAP=128 -# NIM settings -# Currently configured to build Mistral 7B (with example config) -export LLM="mistralai/Mistral-7B-Instruct-v0.2" # directory of checkpoint, relative to MODEL_DIR -export MODEL_CHECKPOINT="${MODEL_DIR}/${LLM}" -export NIM_MODEL_PATH="${MODEL_DIR}/nim/${LLM}" +# NIM settings - currently configured to build Mistral 7B (with example config) +export NIM_LLM="mistralai/Mistral-7B-Instruct-v0.2" # directory of checkpoint, relative to MODEL_DIR +export NIM_LLM_DISPLAY="mistral_7b" +export MODEL_CHECKPOINT="${MODEL_DIR}/${NIM_LLM}" +export NIM_MODEL_PATH="${MODEL_DIR}/nim/${NIM_LLM}" export NIM_CONFIG_FILE="${PROJECT_DIR}/nim/configs/mistral-7b.yaml" -export NIM_OPENAI_PORT=9999 +export NIM_LLM_PORT=9999 # File replay settings # If a replay file is provided, the 'file-replay' container will replay a @@ -46,3 +51,11 @@ export REPLAY_FILE="" # WAV file to replay. Should be located in file-replay/fi # export CHAIN_GPU=0 # [optional, default='all'] # export REPLAY_GPU=0 # [optional, default='all'] # export NIM_GPU=0 # [optional, default='all'] +# export EMBED_GPU=0 # [optional, default='all'] +# export RANKING_GPU=0 # [optional, default='all'] + +# For NeMo Retriever +export NEMO_RETRIEVER_URI="localhost:1984" +export NEMO_RETRIEVER_PORT=${NEMO_RETRIEVER_URI##*:} +export NEMO_EMBEDDING_PORT=1985 +export NEMO_RANKING_MODEL="nv-rerank-qa-mistral-4b_v1_A6000" diff --git a/experimental/fm-asr-streaming-rag/deploy/docker-compose-file-replay.yaml b/experimental/fm-asr-streaming-rag/deploy/docker-compose-file-replay.yaml new file mode 100644 index 000000000..6bc2d340f --- /dev/null +++ b/experimental/fm-asr-streaming-rag/deploy/docker-compose-file-replay.yaml @@ -0,0 +1,54 @@ +# SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +services: + replay: + container_name: fm-asr-file-replay + image: fm-asr-file-replay:latest + build: + context: ${PROJECT_DIR?:source compose.env}/file-replay + dockerfile: Dockerfile + + environment: + TZ: ${TIMEZONE:-America/New_York} + + volumes: + - ${PROJECT_DIR}/file-replay/files:/workspace/files + + working_dir: /workspace/ + command: > + python wav_replay.py + --file-name ${REPLAY_FILE} + --dst-ip ${SDR_IP:-"0.0.0.0"} + --dst-port ${SDR_PORT:-5005} + --sample-rate ${SDR_SAMPLE_RATE:-1000000} + --packet-size ${SDR_MAX_PKT_SZ:-1472} + --total-time ${REPLAY_TIME:-0} + + network_mode: host + devices: + - "/dev/bus/usb:/dev/bus/usb" + - "/dev/snd:/dev/snd" + + # Enable GPU usage + runtime: nvidia + shm_size: 8gb + deploy: + resources: + reservations: + devices: + - driver: nvidia + device_ids: ['${REPLAY_GPU:-0}'] + capabilities: [gpu] \ No newline at end of file diff --git a/experimental/fm-asr-streaming-rag/deploy/docker-compose.yml b/experimental/fm-asr-streaming-rag/deploy/docker-compose-fm-asr.yaml similarity index 53% rename from experimental/fm-asr-streaming-rag/deploy/docker-compose.yml rename to experimental/fm-asr-streaming-rag/deploy/docker-compose-fm-asr.yaml index 977b24d25..d150d6b5d 100644 --- a/experimental/fm-asr-streaming-rag/deploy/docker-compose.yml +++ b/experimental/fm-asr-streaming-rag/deploy/docker-compose-fm-asr.yaml @@ -13,12 +13,10 @@ # See the License for the specific language governing permissions and # limitations under the License. -version: '3' - services: sdr: - container_name: fm-rag-sdr - image: fm-rag-sdr-holoscan:latest + container_name: fm-asr-sdr-holoscan + image: fm-asr-sdr-holoscan:latest build: context: ${PROJECT_DIR?:source compose.env}/sdr-holoscan dockerfile: Dockerfile @@ -47,12 +45,12 @@ services: reservations: devices: - driver: nvidia - device_ids: ['${SDR_GPU:-all}'] + device_ids: ['${SDR_GPU:-0}'] capabilities: [gpu] frontend: - container_name: fm-rag-frontend - image: fm-rag-frontend:latest + container_name: fm-asr-frontend + image: fm-asr-frontend:latest build: context: ${PROJECT_DIR?:source compose.env}/frontend dockerfile: Dockerfile @@ -65,6 +63,8 @@ services: FRONTEND_URI: ${FRONTEND_URI} APP_SERVERURL: http://localhost APP_SERVERPORT: ${CHAIN_SERVER_PORT} + DEPLOY_LOCAL_NIM: ${DEPLOY_LOCAL_NIM} + NIM_LLM_DISPLAY: ${NIM_LLM_DISPLAY} ports: - "${CHAIN_SERVER_PORT}:${CHAIN_SERVER_PORT}" @@ -77,12 +77,12 @@ services: reservations: devices: - driver: nvidia - device_ids: ['${FRONTEND_GPU:-all}'] + device_ids: ['${FRONTEND_GPU:-0}'] capabilities: [gpu] server: - container_name: fm-rag-chain-server - image: fm-rag-chain-server:latest + container_name: fm-asr-chain-server + image: fm-asr-chain-server:latest build: context: ${PROJECT_DIR?:source compose.env}/chain-server dockerfile: Dockerfile @@ -95,6 +95,10 @@ services: CHAIN_LOG_LEVEL: ${CHAIN_LOG_LEVEL:-WARN} DB_CHUNK_SIZE: ${DB_CHUNK_SIZE:-256} DB_CHUNK_OVERLAP: ${DB_CHUNK_OVERLAP:-32} + NEMO_RETRIEVER_URI: ${NEMO_RETRIEVER_URI} + NIM_LLM_PORT: ${NIM_LLM_PORT} + NEMO_EMBEDDING_PORT: ${NEMO_EMBEDDING_PORT} + USE_NEMO_RETRIEVER: ${USE_NEMO_RETRIEVER} ports: - "8081:8081" @@ -107,82 +111,5 @@ services: reservations: devices: - driver: nvidia - device_ids: ['${CHAIN_GPU:-all}'] - capabilities: [gpu] - - replay: - container_name: fm-rag-file-replay - image: fm-rag-file-replay:latest - build: - context: ${PROJECT_DIR?:source compose.env}/file-replay - dockerfile: Dockerfile - - environment: - TZ: ${TIMEZONE:-America/New_York} - - volumes: - - ${PROJECT_DIR}/file-replay/files:/workspace/files - - working_dir: /workspace/ - command: > - python wav_replay.py - --file-name ${REPLAY_FILE} - --dst-ip ${SDR_IP:-"0.0.0.0"} - --dst-port ${SDR_PORT:-5005} - --sample-rate ${SDR_SAMPLE_RATE:-1000000} - --packet-size ${SDR_MAX_PKT_SZ:-1472} - --total-time ${REPLAY_TIME:-0} - - network_mode: host - devices: - - "/dev/bus/usb:/dev/bus/usb" - - "/dev/snd:/dev/snd" - - # Enable GPU usage - runtime: nvidia - shm_size: 8gb - deploy: - resources: - reservations: - devices: - - driver: nvidia - device_ids: ['${REPLAY_GPU:-all}'] - capabilities: [gpu] - - nim: - container_name: fm-rag-nim - image: nim:latest - build: - context: ${PROJECT_DIR?:source compose.env}/nim - dockerfile: Dockerfile - - volumes: - - ${MODEL_CHECKPOINT}:/huggingface-dir - - ${NIM_MODEL_PATH}:/model-store - - ${NIM_CONFIG_FILE}:/model_config.yaml - - environment: - NIM_OPENAI_PORT: ${NIM_OPENAI_PORT} - - ports: - - "${NIM_OPENAI_PORT}:${NIM_OPENAI_PORT}" - expose: - - "${NIM_OPENAI_PORT}" - - # Start inference server - command: > - nemollm_inference_ms - --model mistral_7b - --openai_port=${NIM_OPENAI_PORT} - --num_gpus=1 - - # Enable GPU usage - runtime: nvidia - shm_size: 8gb - deploy: - resources: - reservations: - devices: - - driver: nvidia - device_ids: ['${NIM_GPU:-all}'] - capabilities: [gpu] \ No newline at end of file + device_ids: ['${CHAIN_GPU:-0}'] + capabilities: [gpu] \ No newline at end of file diff --git a/experimental/fm-asr-streaming-rag/deploy/docker-compose-milvus-standalone.yaml b/experimental/fm-asr-streaming-rag/deploy/docker-compose-milvus-standalone.yaml new file mode 100644 index 000000000..4664fda99 --- /dev/null +++ b/experimental/fm-asr-streaming-rag/deploy/docker-compose-milvus-standalone.yaml @@ -0,0 +1,82 @@ +# SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +services: + etcd: + image: quay.io/coreos/etcd:v3.5.11 + environment: + - ETCD_AUTO_COMPACTION_MODE=revision + - ETCD_AUTO_COMPACTION_RETENTION=1000 + - ETCD_QUOTA_BACKEND_BYTES=4294967296 + - ETCD_SNAPSHOT_COUNT=50000 + volumes: + - ${NEMO_RET_DIR?:source compose.env}/volumes/etcd:/etcd:Z + command: + etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls + http://0.0.0.0:2379 --data-dir /etcd + healthcheck: + test: ["CMD", "etcdctl", "endpoint", "health"] + interval: 30s + timeout: 20s + retries: 3 + + minio: + image: minio/minio:RELEASE.2023-03-20T20-16-18Z + environment: + MINIO_ACCESS_KEY: minioadmin + MINIO_SECRET_KEY: minioadmin + volumes: + - ${NEMO_RET_DIR?:source compose.env}/volumes/minio:/minio_data:Z + command: minio server /minio_data --console-address ":9001" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] + interval: 30s + timeout: 20s + retries: 3 + + milvus: + image: milvusdb/milvus:v2.3.5 + command: ["milvus", "run", "standalone"] + security_opt: + - seccomp:unconfined + environment: + ETCD_ENDPOINTS: etcd:2379 + MINIO_ADDRESS: minio:9000 + LOG_LEVEL: error + volumes: + - ${NEMO_RET_DIR?:source compose.env}/volumes/milvus:/var/lib/milvus:Z + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"] + interval: 30s + start_period: 90s + timeout: 20s + retries: 3 + ports: + - "19530:19530" + - "9091:9091" + depends_on: + - "etcd" + - "minio" + deploy: + resources: + reservations: + devices: + - driver: nvidia + capabilities: ["gpu"] + count: 1 + +networks: + default: + name: milvus diff --git a/experimental/fm-asr-streaming-rag/deploy/docker-compose-nemo-retriever.yaml b/experimental/fm-asr-streaming-rag/deploy/docker-compose-nemo-retriever.yaml new file mode 100644 index 000000000..78fca84d1 --- /dev/null +++ b/experimental/fm-asr-streaming-rag/deploy/docker-compose-nemo-retriever.yaml @@ -0,0 +1,264 @@ +# SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +services: + ### + # Retrieval microservice on NGC + ### + + retrieval-ms: + image: nvcr.io/ohlfw0olaadg/ea-participants/nemo-retriever-microservice:24.02 + + environment: + # Postgres connection string for holding collection metadata + - DATABASE_URL=postgresql://postgres:pgadmin@postgres:5432/postgres + + # PDF extraction service + - TIKA_URL=http://tika:9998/tika + + # OpenTelemetry environmental variables + - OTEL_SERVICE_NAME=nemo-retrieval-service + - OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4317 + - OTEL_TRACES_EXPORTER=otlp + - OTEL_METRICS_EXPORTER=none + - OTEL_LOGS_EXPORTER=none + - OTEL_PYTHON_EXCLUDED_URLS="health" + + # Multistage hybrid pipeline running in CPU mode + # This is the pipeline that QA and VDR will use to + # evaluate the Retrieval Microservice. + - HYBRID_MILVUS_URI=http://milvus:19530/default + - HYBRID_EMBEDDER_URI=http://embedding-ms:8080/v1/embeddings + - HYBRID_EMBEDDING_DIMENSION=1024 + - HYBRID_EMBEDDER_MODEL_NAME=NV-Embed-QA + # Yes this is a 20 _second_ timeout. The embedder running + # on CPU can be very slow. + - HYBRID_EMBEDDER_TIMEOUT=20 + - HYBRID_ELASTICSEARCH_URI=http://elasticsearch:9200 + - HYBRID_SPARSE_TOP_K=100 + - HYBRID_DENSE_TOP_K=100 + + # multistage hybrid pipeline running in GPU mode + - RANKED_HYBRID_MILVUS_URI=http://milvus:19530/default + - RANKED_HYBRID_EMBEDDING_DIMENSION=1024 + - RANKED_HYBRID_EMBEDDER_URI=http://embedding-ms:8080/v1/embeddings + - RANKED_HYBRID_EMBEDDER_MODEL_NAME=NV-Embed-QA + - RANKED_HYBRID_EMBEDDER_TIMEOUT=2 + - RANKED_HYBRID_ELASTICSEARCH_URI=http://elasticsearch:9200 + - RANKED_HYBRID_RANKER_MODEL_NAME=nv-rerank-qa-mistral-4b:1 + - RANKED_HYBRID_RANKER_URI=http://ranking-ms:8080/v1/ranking + - RANKED_HYBRID_RANKER_TOP_K=40 + - RANKED_HYBRID_RANKER_TIMEOUT=5 + - RANKED_HYBRID_DENSE_TOP_K=100 + - RANKED_HYBRID_SPARSE_TOP_K=100 + + # This is required until github.com/open-telemetry/opentelemetry-python-contrib/pull/1990 + # is merged + - OTEL_PYTHON_DISABLED_INSTRUMENTATIONS=elasticsearch + + # Expose port 8000 on the container to port used in NEMO_RETRIEVER_URI on the host. + ports: + - "${NEMO_RETRIEVER_PORT:-1984}:8000" + + # Run the microservice on port 8000, must align with `ports` above. + command: + - "/bin/sh" + - "-c" + - "opentelemetry-instrument \ + uvicorn retrieval.main:app --host 0.0.0.0 --port 8000" + + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8000/health"] + interval: 10s + timeout: 20s + retries: 20 + + # Set the working directory to /app. This is pedantic to avoid relying on the Dockerfile setting WORKDIR=/app. + working_dir: /app + + depends_on: + - milvus + - elasticsearch + - embedding-ms + - ranking-ms + - postgres + + embedding-ms: + image: nvcr.io/ohlfw0olaadg/ea-participants/nemo-retriever-embedding-microservice:24.02 + ports: + - "${NEMO_EMBEDDING_PORT:-1985}:8080" + command: ./bin/web -p 8080 -n 1 -g + model_config_templates/NV-Embed-QA_template.yaml -c + /models/nv-embed-qa_v4/NV-Embed-QA-4.nemo + volumes: + - ${NEMO_RET_DIR?:source compose.env}/models:/models:ro + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8080/v1/health/live"] + interval: 10s + timeout: 20s + retries: 100 + deploy: + resources: + reservations: + devices: + - driver: nvidia + device_ids: ["${EMBED_GPU:-0}"] + capabilities: [gpu] + + ranking-ms: + image: nvcr.io/nvidian/nemo-llm/nemo-retriever-reranking-microservice:24.04-rc1 + command: ./bin/web -p 8080 -r /models/${NEMO_RANKING_MODEL:-nv-rerank-qa-mistral-4b_v1_A100} + volumes: + - ${NEMO_RET_DIR?:source compose.env}/models:/models:ro + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8080/health"] + interval: 10s + timeout: 20s + retries: 100 + deploy: + resources: + reservations: + devices: + - driver: nvidia + device_ids: ["${RANKING_GPU:-0}"] + capabilities: [gpu] + + ### + # Milvus + # adapted from https://github.com/milvus-io/milvus/releases/download/v2.3.3/milvus-standalone-docker-compose.yml + ### + + etcd: + image: quay.io/coreos/etcd:v3.5.11 + environment: + - ETCD_AUTO_COMPACTION_MODE=revision + - ETCD_AUTO_COMPACTION_RETENTION=1000 + - ETCD_QUOTA_BACKEND_BYTES=4294967296 + - ETCD_SNAPSHOT_COUNT=50000 + volumes: + - ${NEMO_RET_DIR?:source compose.env}/volumes/etcd:/etcd:Z + command: + etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls + http://0.0.0.0:2379 --data-dir /etcd + healthcheck: + test: ["CMD", "etcdctl", "endpoint", "health"] + interval: 30s + timeout: 20s + retries: 3 + + minio: + image: minio/minio:RELEASE.2023-03-20T20-16-18Z + environment: + MINIO_ACCESS_KEY: minioadmin + MINIO_SECRET_KEY: minioadmin + volumes: + - ${NEMO_RET_DIR?:source compose.env}/volumes/minio:/minio_data:Z + command: minio server /minio_data --console-address ":9001" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] + interval: 30s + timeout: 20s + retries: 3 + + milvus: + image: milvusdb/milvus:v2.3.5 + command: ["milvus", "run", "standalone"] + security_opt: + - seccomp:unconfined + environment: + ETCD_ENDPOINTS: etcd:2379 + MINIO_ADDRESS: minio:9000 + LOG_LEVEL: error + volumes: + - ${NEMO_RET_DIR?:source compose.env}/volumes/milvus:/var/lib/milvus:Z + - ${NEMO_RET_DIR?:source compose.env}/config/milvus-config.yaml:/milvus/configs/milvus.yaml + + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"] + interval: 30s + start_period: 90s + timeout: 20s + retries: 3 + depends_on: + - "etcd" + - "minio" + + ### + # Elasticsearch + # adapted from https://geshan.com.np/blog/2023/06/elasticsearch-docker/#run-elasticsearch-with-docker-compose + ### + elasticsearch: + image: "docker.elastic.co/elasticsearch/elasticsearch:8.12.0" + ports: + - 9200:9200 + restart: on-failure + environment: + - discovery.type=single-node + - "ES_JAVA_OPTS=-Xms1024m -Xmx1024m" + - xpack.security.enabled=false + - xpack.license.self_generated.type=basic + - network.host=0.0.0.0 + - cluster.routing.allocation.disk.threshold_enabled=false + hostname: elasticsearch + healthcheck: + test: ["CMD", "curl", "-s", "-f", "http://localhost:9200/_cat/health"] + interval: 10s + timeout: 1s + retries: 10 + + ### + # Postgres service + # adapted from https://github.com/docker-library/docs/blob/master/postgres/README.md#-via-docker-compose-or-docker-stack-deploy + ### + postgres: + image: postgres:16.1 + build: + context: ${NEMO_RET_DIR} + restart: always + environment: + POSTGRES_PASSWORD: pgadmin + ports: + - "5432:5432" + volumes: + - ${NEMO_RET_DIR?:source compose.env}/volumes/postgres_data:/var/lib/postgresql/data:Z + + ### + # PDF extraction service + ### + tika: + image: apache/tika:2.9.1.0 + ports: + - "9998:9998" + + ### + # OpenTelemetry Collector (local) + # adapted from https://jessitron.com/2021/08/11/run-an-opentelemetry-collector-locally-in-docker/ + # and https://github.com/open-telemetry/opentelemetry-demo/blob/main/docker-compose.yml + ### + otel-collector: + image: otel/opentelemetry-collector-contrib:0.91.0 + hostname: otel-collector + command: ["--config=/etc/otel-collector-config.yaml"] + volumes: + - ${NEMO_RET_DIR?:source compose.env}/config/otel-collector-config.yaml:/etc/otel-collector-config.yaml + ports: + - "13133:13133" # health check + - "4317:4317" # OTLP over gRPC receiver + - "55679:55679" # UI + + zipkin: + image: openzipkin/zipkin:3.0.6 + ports: + - "9411:9411" # Zipkin UI and API diff --git a/experimental/fm-asr-streaming-rag/deploy/docker-compose-nim-build.yml b/experimental/fm-asr-streaming-rag/deploy/docker-compose-nim-build.yaml similarity index 86% rename from experimental/fm-asr-streaming-rag/deploy/docker-compose-nim-build.yml rename to experimental/fm-asr-streaming-rag/deploy/docker-compose-nim-build.yaml index a05e8ed72..76b4399d3 100644 --- a/experimental/fm-asr-streaming-rag/deploy/docker-compose-nim-build.yml +++ b/experimental/fm-asr-streaming-rag/deploy/docker-compose-nim-build.yaml @@ -17,8 +17,8 @@ version: '3' services: nim: - container_name: fm-rag-nim - image: nim:latest + container_name: fm-asr/nim + image: fm-asr/nim:latest build: context: ${PROJECT_DIR?:source compose.env}/nim dockerfile: Dockerfile @@ -29,12 +29,12 @@ services: - ${NIM_CONFIG_FILE}:/model_config.yaml environment: - NIM_OPENAI_PORT: ${NIM_OPENAI_PORT} + NIM_LLM_PORT: ${NIM_LLM_PORT} ports: - - "${NIM_OPENAI_PORT}:${NIM_OPENAI_PORT}" + - "${NIM_LLM_PORT}:${NIM_LLM_PORT}" expose: - - "${NIM_OPENAI_PORT}" + - "${NIM_LLM_PORT}" # Start inference server model generator command: > @@ -50,5 +50,5 @@ services: reservations: devices: - driver: nvidia - device_ids: ['${NIM_GPU:-all}'] + device_ids: ['${NIM_GPU:-0}'] capabilities: [gpu] \ No newline at end of file diff --git a/experimental/fm-asr-streaming-rag/deploy/docker-compose-nim-llm.yaml b/experimental/fm-asr-streaming-rag/deploy/docker-compose-nim-llm.yaml new file mode 100644 index 000000000..e44041809 --- /dev/null +++ b/experimental/fm-asr-streaming-rag/deploy/docker-compose-nim-llm.yaml @@ -0,0 +1,53 @@ +# SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +services: + nim: + container_name: fm-asr-nim + image: fm-asr-nim:latest + build: + context: ${PROJECT_DIR?:source compose.env}/nim + dockerfile: Dockerfile + + volumes: + - ${MODEL_CHECKPOINT}:/huggingface-dir + - ${NIM_MODEL_PATH}:/model-store + - ${NIM_CONFIG_FILE}:/model_config.yaml + + environment: + NIM_LLM_PORT: ${NIM_LLM_PORT} + + ports: + - "${NIM_LLM_PORT}:${NIM_LLM_PORT}" + expose: + - "${NIM_LLM_PORT}" + + # Start inference server + command: > + nemollm_inference_ms + --model ${NIM_LLM_DISPLAY} + --openai_port=${NIM_LLM_PORT} + --num_gpus=1 + + # Enable GPU usage + runtime: nvidia + shm_size: 8gb + deploy: + resources: + reservations: + devices: + - driver: nvidia + device_ids: ['${NIM_GPU:-0}'] + capabilities: [gpu] \ No newline at end of file diff --git a/experimental/fm-asr-streaming-rag/deploy/scripts/run-cloud-only.sh b/experimental/fm-asr-streaming-rag/deploy/scripts/run-cloud-only.sh deleted file mode 100755 index 7717b602f..000000000 --- a/experimental/fm-asr-streaming-rag/deploy/scripts/run-cloud-only.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -export THIS_DIR="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" -source $THIS_DIR/../compose.env - -docker compose \ - -f ${DEPLOY_DIR}/docker-compose.yml up --build \ - sdr frontend server replay \ No newline at end of file diff --git a/experimental/fm-asr-streaming-rag/deploy/scripts/run.sh b/experimental/fm-asr-streaming-rag/deploy/scripts/run.sh index 8fa84d9d8..2d5066928 100755 --- a/experimental/fm-asr-streaming-rag/deploy/scripts/run.sh +++ b/experimental/fm-asr-streaming-rag/deploy/scripts/run.sh @@ -2,4 +2,72 @@ export THIS_DIR="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" source $THIS_DIR/../compose.env -docker compose -f ${DEPLOY_DIR}/docker-compose.yml up --build \ No newline at end of file +# Reset +Red='\e[31m' +Yellow='\e[33m' +Cyan='\e[36m' +ResetColor='\e[0m' +logs() { + echo -e "${Cyan}$1${ResetColor}" +} +info() { + echo -e "${Yellow}$1${ResetColor}" +} +warn() { + echo -e "${Red}$1${ResetColor}" +} + +# Check NVIDIA_API_KEY +if [ -z "${NVIDIA_API_KEY}" ]; then + warn "***** WARNING: NVIDIA_API_KEY is not set, NVIDIA Endpoints will not work *****" +fi + +# Check for Riva +if [ -z $(docker ps --format '{{.Image}}' | grep "riva-speech") ]; then + warn "***** WARNING: Riva container not detected, ASR may not be functional *****" +fi + +# Retriever / Database +USE_NEMO_RETRIEVER=$(echo "$USE_NEMO_RETRIEVER" | tr '[:upper:]' '[:lower:]') +if [[ "$USE_NEMO_RETRIEVER" == "true" || "$USE_NEMO_RETRIEVER" == "1" ]]; then + # Start NeMo Retriever Microservice + retriever_cmd="docker compose -f ${DEPLOY_DIR}/docker-compose-nemo-retriever.yaml" + logs "***** Starting NeMo Retriever Microservice *****" + info "Use '${retriever_cmd} down' to stop" + $retriever_cmd up --force-recreate -d +else + # Start standalone Milvus DB + retriever_cmd="docker compose -f ${DEPLOY_DIR}/docker-compose-milvus-standalone.yaml" + logs "***** Not using NeMo Retriever Microservice, starting Milvus DB *****" + info "Use '${retriever_cmd} down' to stop" + $retriever_cmd up --force-recreate -d +fi + +# NIM LLM +DEPLOY_LOCAL_NIM=$(echo "$DEPLOY_LOCAL_NIM" | tr '[:upper:]' '[:lower:]') +if [[ "$DEPLOY_LOCAL_NIM" == "true" || "$DEPLOY_LOCAL_NIM" == "1" ]]; then + # Start NIM LLM locally + nim_cmd="docker compose -f ${DEPLOY_DIR}/docker-compose-nim-llm.yaml" + logs "***** Deploying local NIM LLM *****" + info "Use '${nim_cmd} down' to stop" + $nim_cmd up -d +else + logs "***** Not deploying local NIM LLM *****" +fi + +# Streaming FM ASR +fm_cmd="docker compose -f ${DEPLOY_DIR}/docker-compose-fm-asr.yaml" +logs "***** Starting streaming FM-ASR workflow *****" +info "Use '${fm_cmd} down' to stop" +$fm_cmd up --build -d + +# File Replay +if [ -z "${REPLAY_FILE}" ]; then + logs "***** No replay file provided, skipping *****" +else + # Start replay + replay_cmd="docker compose -f ${DEPLOY_DIR}/docker-compose-file-replay.yaml" + logs "***** Starting file replay for file ${REPLAY_FILE} *****" + info "Use '${replay_cmd} down' to stop" + $replay_cmd up -d +fi \ No newline at end of file diff --git a/experimental/fm-asr-streaming-rag/deploy/scripts/stop.sh b/experimental/fm-asr-streaming-rag/deploy/scripts/stop.sh new file mode 100755 index 000000000..247746a62 --- /dev/null +++ b/experimental/fm-asr-streaming-rag/deploy/scripts/stop.sh @@ -0,0 +1,9 @@ +#!/bin/bash +export THIS_DIR="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" +source $THIS_DIR/../compose.env + +docker compose -f ${DEPLOY_DIR}/docker-compose-nemo-retriever.yaml down +docker compose -f ${DEPLOY_DIR}/docker-compose-milvus-standalone.yaml down +docker compose -f ${DEPLOY_DIR}/docker-compose-nim-llm.yaml down +docker compose -f ${DEPLOY_DIR}/docker-compose-fm-asr.yaml down +docker compose -f ${DEPLOY_DIR}/docker-compose-file-replay.yaml down \ No newline at end of file diff --git a/experimental/fm-asr-streaming-rag/docs/imgs/architecture-cloud.jpg b/experimental/fm-asr-streaming-rag/docs/imgs/architecture-cloud.jpg new file mode 100755 index 0000000000000000000000000000000000000000..7744934e32cb5e5bb05301de03fecf973a3968ea GIT binary patch literal 126956 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 literal 0 HcmV?d00001 diff --git a/experimental/fm-asr-streaming-rag/docs/imgs/architecture-retriever.jpg b/experimental/fm-asr-streaming-rag/docs/imgs/architecture-retriever.jpg new file mode 100755 index 0000000000000000000000000000000000000000..daa50eb26f82157f039a4a5ce3baf665eab4fd27 GIT binary patch literal 130472 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⪙E6_j7X1pWSCaI51GW4J9SU_C#Qs)Ei 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 literal 0 HcmV?d00001 diff --git a/experimental/fm-asr-streaming-rag/file-replay/wav_replay.py b/experimental/fm-asr-streaming-rag/file-replay/wav_replay.py index c3771397f..721836578 100644 --- a/experimental/fm-asr-streaming-rag/file-replay/wav_replay.py +++ b/experimental/fm-asr-streaming-rag/file-replay/wav_replay.py @@ -72,6 +72,12 @@ def parse_args() -> argparse.Namespace: default=1472, help="Size in bytes of each UDP packet, plus 8 counting bytes at front" ) + parser.add_argument( + "--init-time", + type=float, + default=30, + help="Sleep time prior to starting, allows other containers to spin up." + ) parser.add_argument( "--total-time", type=float, @@ -109,6 +115,13 @@ def fm_modulate(audio, fs_in, fs_out, deviation=100000): samples = cp.cos(phase_deviation) + 1j*cp.sin(phase_deviation) return samples.astype(cp.complex64) +def send_packet(sock, data, dst_ip, dst_port): + try: + sock.sendto(data, (dst_ip, dst_port)) + return None + except Exception as e: + return e + def replay(file_name, fs_out, dst_ip, dst_port, pkt_size, chunk_time=2, total_time=0): file_path = os.path.join("files", file_name) fs_in = librosa.get_samplerate(file_path) @@ -123,7 +136,7 @@ def replay(file_name, fs_out, dst_ip, dst_port, pkt_size, chunk_time=2, total_ti iq_data = samples.tobytes() if not total_time: - total_time = librosa.get_duration(filename=file_path) + total_time = librosa.get_duration(path=file_path) # Stream in file elapsed = 0 @@ -151,7 +164,11 @@ def replay(file_name, fs_out, dst_ip, dst_port, pkt_size, chunk_time=2, total_ti # Send header = struct.pack('Q', pkts_sent) pkt_data = iq_data[i:i+pkt_size] - sock.sendto(header + pkt_data, (dst_ip, dst_port)) + result = send_packet(sock, header + pkt_data, dst_ip, dst_port) + while result is ConnectionRefusedError: + logger.info(f"Connection refused, sleeping 5s") + time.sleep(5) + result = send_packet(sock, header + pkt_data, dst_ip, dst_port) pkts_sent += 1 bytes_sent += len(pkt_data) @@ -183,7 +200,8 @@ def replay(file_name, fs_out, dst_ip, dst_port, pkt_size, chunk_time=2, total_ti raise ValueError # Wait for other apps - time.sleep(10) + logger.info(f"Sleeping {args.init_time}s to allow time for SDR to spin up") + time.sleep(args.init_time) wait_for_dst(args.dst_ip, args.dst_port) # Do replay diff --git a/experimental/fm-asr-streaming-rag/frontend/frontend/chat_client.py b/experimental/fm-asr-streaming-rag/frontend/frontend/chat_client.py index 78eac1557..105376bcf 100644 --- a/experimental/fm-asr-streaming-rag/frontend/frontend/chat_client.py +++ b/experimental/fm-asr-streaming-rag/frontend/frontend/chat_client.py @@ -44,6 +44,33 @@ def __init__(self, server_url: str, model_name: str) -> None: self._running_buffer = "" self._finalized_buffer = deque(maxlen=50) self._timetag_len = len(f'[{datetime.now().strftime("%Y-%m-%d %H:%M:%S")}] ') + self._wait_for_server() + + def _server_is_ready(self): + try: + response = requests.get(f"{self.server_url}/serverStatus") + if response.status_code == 200 and response.json()["is_ready"]: + return True + except requests.ConnectionError: + return False + + def _wait_for_server(self, timeout=300, wait_sec=5): + """ Wait for server URL to open + """ + start_time = time.time() + while not self._server_is_ready(): + # Check for timeout + elapsed_time = time.time() - start_time + if elapsed_time > timeout: + _LOGGER.error( + f"Timeout reached: {self.server_url} is not open after {timeout} seconds." + f"Waited {elapsed_time} seconds" + ) + raise TimeoutError + + # Wait a short period before trying again + _LOGGER.warning(f"Waiting {wait_sec}s for application at {self.server_url}") + time.sleep(wait_sec) @property def model_name(self) -> str: @@ -70,10 +97,9 @@ def predict(self, query: str, params: dict) -> typing.Generator[str, None, None] defaults = { "question": query, "name": "mixtral_8x7b", - "engine": "nv-ai-foundation", + "engine": "nvai-api-endpoint", "use_knowledge_base": True, "temperature": 1.0, - "threshold": 0.65, "max_docs": 4, "num_tokens": 512 } @@ -82,7 +108,7 @@ def predict(self, query: str, params: dict) -> typing.Generator[str, None, None] _LOGGER.debug("making request - %s", str({"server_url": url, "post_data": data})) with requests.get(url, stream=True, json=data) as req: for chunk in req.iter_content(): - yield chunk.decode("UTF-8") + yield chunk.decode("UTF-8", "ignore") def update_running_buffer(self, transcript): with self._lock: diff --git a/experimental/fm-asr-streaming-rag/frontend/frontend/pages/converse.py b/experimental/fm-asr-streaming-rag/frontend/frontend/pages/converse.py index 727b860c4..f9871822a 100644 --- a/experimental/fm-asr-streaming-rag/frontend/frontend/pages/converse.py +++ b/experimental/fm-asr-streaming-rag/frontend/frontend/pages/converse.py @@ -17,6 +17,7 @@ import functools import os import logging +import requests from typing import Any, Dict, List, Tuple, Union import gradio as gr @@ -46,34 +47,33 @@ """ -BACKEND_OPTIONS = [ - "NVIDIA NIM - Mistral 7B", - "NVIDIA AI Foundation - Mistral 7B", - "NVIDIA AI Foundation - Mixtral 8x7B", - "NVIDIA AI Foundation - Llama 2 70B" -] - BACKEND_MAPPING = { - "NVIDIA NIM": "triton-trt-llm", - "NVIDIA AI Foundation": "nv-ai-foundation" -} - -MODEL_MAPPING = { - "Mistral 7B": "mistral_7b", - "Mixtral 8x7B": "mixtral_8x7b", - "Llama 2 70B": "llama2_70b" + "Local NVIDIA NIM": "triton-trt-llm", + "NVIDIA API Endpoint": "nvai-api-endpoint" } def get_backend_and_model(option): backend, model = option.split(' - ') backend = BACKEND_MAPPING[backend] - model = MODEL_MAPPING[model] return backend, model def build_page(client: chat_client.ChatClient) -> gr.Blocks: """Buiild the gradio page to be mounted in the frame.""" kui_theme, kui_styles = assets.load_theme("kaizen") + # Setup model options + backend_options = [] + + # Add local NIM if running + nim_model = os.environ.get('NIM_LLM_DISPLAY', None) + if os.environ.get('DEPLOY_LOCAL_NIM', 'False').lower() in ('true', '1'): + backend_options.append(f"Local NVIDIA NIM - {nim_model}") + + # Get NVIDIA API Endpoint model options + response = requests.get(f"{client.server_url}/availableNvidiaModels") + for model in response.json()["models"]: + backend_options.append(f"NVIDIA API Endpoint - {model}") + with gr.Blocks(title=TITLE, theme=kui_theme, css=kui_styles + _LOCAL_CSS) as page: with gr.Row(): @@ -82,7 +82,6 @@ def build_page(client: chat_client.ChatClient) -> gr.Blocks: with gr.Column(scale=3): gr.Markdown(value="**User Query**") with gr.Row(equal_height=True): - # TODO: Change this model name. chatbot = gr.Chatbot(height=700) context = gr.JSON( label="Knowledge Base Context", @@ -105,8 +104,8 @@ def build_page(client: chat_client.ChatClient) -> gr.Blocks: with gr.Row(): with gr.Column(): backend_dropdown = gr.Dropdown( - choices=BACKEND_OPTIONS, - value=BACKEND_OPTIONS[1], + choices=backend_options, + value=backend_options[0], label="LLM Backend / Model", interactive=True ) @@ -132,23 +131,15 @@ def build_page(client: chat_client.ChatClient) -> gr.Blocks: tokens_slider = gr.Slider( minimum=32, maximum=1024, - value=512, + value=1024, label="Max Tokens", step=32, interactive=True ) - similarity_slider = gr.Slider( - minimum=0, - maximum=1, - value=0.65, - label="Retrieval Similarity Threshold", - step=0.01, - interactive=True - ) entries_slider = gr.Slider( minimum=1, maximum=25, - value=15, + value=25, label="Retrieval Max Entries", step=1, interactive=True @@ -183,7 +174,6 @@ def build_page(client: chat_client.ChatClient) -> gr.Blocks: summary_checkbox, temp_slider, tokens_slider, - similarity_slider, entries_slider, msg, chatbot @@ -216,7 +206,6 @@ def _stream_predict( summary_checkbox: bool, temperature: float, max_tokens: int, - threshold: float, max_entries: int, question: str, chat_history: List[Tuple[str, str]] @@ -231,7 +220,6 @@ def _stream_predict( "use_knowledge_base": knowledge_checkbox, "allow_summary": summary_checkbox, "temperature": temperature, - "threshold": threshold, "max_docs": max_entries, "num_tokens": max_tokens } diff --git a/experimental/fm-asr-streaming-rag/frontend/frontend/pages/stats.py b/experimental/fm-asr-streaming-rag/frontend/frontend/pages/stats.py index af004f6ac..714d38c53 100644 --- a/experimental/fm-asr-streaming-rag/frontend/frontend/pages/stats.py +++ b/experimental/fm-asr-streaming-rag/frontend/frontend/pages/stats.py @@ -63,7 +63,6 @@ def _gpu_stats(): mem = nvmlDeviceGetMemoryInfo(handle) print_str += (f"| Device {i} | {name} | Mem Free: {mem.free/1024**2:5.2f}MB / {mem.total/1024**2:5.2f}MB | gpu-util: {util.gpu:3.0%} | gpu-mem: {util.memory:3.1%} |\n") return print_str - #return "TODO: implement this method." return _gpu_stats diff --git a/experimental/fm-asr-streaming-rag/nemo-retriever/config/milvus-config.yaml b/experimental/fm-asr-streaming-rag/nemo-retriever/config/milvus-config.yaml new file mode 100644 index 000000000..160b68d2c --- /dev/null +++ b/experimental/fm-asr-streaming-rag/nemo-retriever/config/milvus-config.yaml @@ -0,0 +1,677 @@ +# Licensed to the LF AI & Data foundation under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Related configuration of etcd, used to store Milvus metadata & service discovery. +etcd: + endpoints: localhost:2379 + rootPath: by-dev # The root path where data is stored in etcd + metaSubPath: meta # metaRootPath = rootPath + '/' + metaSubPath + kvSubPath: kv # kvRootPath = rootPath + '/' + kvSubPath + log: + level: error # Only supports debug, info, warn, error, panic, or fatal. Default 'info'. + # path is one of: + # - "default" as os.Stderr, + # - "stderr" as os.Stderr, + # - "stdout" as os.Stdout, + # - file path to append server logs to. + # please adjust in embedded Milvus: /tmp/milvus/logs/etcd.log + path: stdout + ssl: + enabled: false # Whether to support ETCD secure connection mode + tlsCert: /path/to/etcd-client.pem # path to your cert file + tlsKey: /path/to/etcd-client-key.pem # path to your key file + tlsCACert: /path/to/ca.pem # path to your CACert file + # TLS min version + # Optional values: 1.0, 1.1, 1.2, 1.3。 + # We recommend using version 1.2 and above. + tlsMinVersion: 1.3 + use: + embed: false # Whether to enable embedded Etcd (an in-process EtcdServer). + data: + dir: default.etcd # Embedded Etcd only. please adjust in embedded Milvus: /tmp/milvus/etcdData/ + +metastore: + # Default value: etcd + # Valid values: [etcd, tikv] + type: etcd + +# Related configuration of tikv, used to store Milvus metadata. +# Notice that when TiKV is enabled for metastore, you still need to have etcd for service discovery. +# TiKV is a good option when the metadata size requires better horizontal scalability. +tikv: + # Note that the default pd port of tikv is 2379, which conflicts with etcd. + endpoints: 127.0.0.1:2389 + rootPath: by-dev # The root path where data is stored + metaSubPath: meta # metaRootPath = rootPath + '/' + metaSubPath + kvSubPath: kv # kvRootPath = rootPath + '/' + kvSubPath + +localStorage: + path: /var/lib/milvus/data/ # please adjust in embedded Milvus: /tmp/milvus/data/ + +# Related configuration of MinIO/S3/GCS or any other service supports S3 API, which is responsible for data persistence for Milvus. +# We refer to the storage service as MinIO/S3 in the following description for simplicity. +minio: + address: localhost # Address of MinIO/S3 + port: 9000 # Port of MinIO/S3 + accessKeyID: minioadmin # accessKeyID of MinIO/S3 + secretAccessKey: minioadmin # MinIO/S3 encryption string + useSSL: false # Access to MinIO/S3 with SSL + bucketName: a-bucket # Bucket name in MinIO/S3 + rootPath: files # The root path where the message is stored in MinIO/S3 + # Whether to useIAM role to access S3/GCS instead of access/secret keys + # For more information, refer to + # aws: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html + # gcp: https://cloud.google.com/storage/docs/access-control/iam + # aliyun (ack): https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/use-rrsa-to-enforce-access-control + # aliyun (ecs): https://www.alibabacloud.com/help/en/elastic-compute-service/latest/attach-an-instance-ram-role + useIAM: false + # Cloud Provider of S3. Supports: "aws", "gcp", "aliyun". + # You can use "aws" for other cloud provider supports S3 API with signature v4, e.g.: minio + # You can use "gcp" for other cloud provider supports S3 API with signature v2 + # You can use "aliyun" for other cloud provider uses virtual host style bucket + # When useIAM enabled, only "aws", "gcp", "aliyun" is supported for now + cloudProvider: aws + # Custom endpoint for fetch IAM role credentials. when useIAM is true & cloudProvider is "aws". + # Leave it empty if you want to use AWS default endpoint + iamEndpoint: + # Log level for aws sdk log. + # Supported level: off, fatal, error, warn, info, debug, trace + logLevel: fatal + # Cloud data center region + region: "" + # Cloud whether use virtual host bucket mode + useVirtualHost: false + # timeout for request time in milliseconds + requestTimeoutMs: 10000 + +# Milvus supports four MQ: rocksmq(based on RockDB), natsmq(embedded nats-server), Pulsar and Kafka. +# You can change your mq by setting mq.type field. +# If you don't set mq.type field as default, there is a note about enabling priority if we config multiple mq in this file. +# 1. standalone(local) mode: rocksmq(default) > Pulsar > Kafka +# 2. cluster mode: Pulsar(default) > Kafka (rocksmq and natsmq is unsupported in cluster mode) +mq: + # Default value: "default" + # Valid values: [default, pulsar, kafka, rocksmq, natsmq] + type: default + +# Related configuration of pulsar, used to manage Milvus logs of recent mutation operations, output streaming log, and provide log publish-subscribe services. +pulsar: + address: localhost # Address of pulsar + port: 6650 # Port of Pulsar + webport: 80 # Web port of pulsar, if you connect directly without proxy, should use 8080 + maxMessageSize: 5242880 # 5 * 1024 * 1024 Bytes, Maximum size of each message in pulsar. + tenant: public + namespace: default + requestTimeout: 60 # pulsar client global request timeout in seconds + enableClientMetrics: false # Whether to register pulsar client metrics into milvus metrics path. + +# If you want to enable kafka, needs to comment the pulsar configs +# kafka: +# brokerList: +# saslUsername: +# saslPassword: +# saslMechanisms: PLAIN +# securityProtocol: SASL_SSL +# readTimeout: 10 # read message timeout in seconds + +rocksmq: + # The path where the message is stored in rocksmq + # please adjust in embedded Milvus: /tmp/milvus/rdb_data + path: /var/lib/milvus/rdb_data + lrucacheratio: 0.06 # rocksdb cache memory ratio + rocksmqPageSize: 67108864 # 64 MB, 64 * 1024 * 1024 bytes, The size of each page of messages in rocksmq + retentionTimeInMinutes: 4320 # 3 days, 3 * 24 * 60 minutes, The retention time of the message in rocksmq. + retentionSizeInMB: 8192 # 8 GB, 8 * 1024 MB, The retention size of the message in rocksmq. + compactionInterval: 86400 # 1 day, trigger rocksdb compaction every day to remove deleted data + # compaction compression type, only support use 0,7. + # 0 means not compress, 7 will use zstd + # len of types means num of rocksdb level. + compressionTypes: [0, 0, 7, 7, 7] + +# natsmq configuration. +# more detail: https://docs.nats.io/running-a-nats-service/configuration +natsmq: + server: # server side configuration for natsmq. + port: 4222 # 4222 by default, Port for nats server listening. + storeDir: /var/lib/milvus/nats # /var/lib/milvus/nats by default, directory to use for JetStream storage of nats. + maxFileStore: 17179869184 # (B) 16GB by default, Maximum size of the 'file' storage. + maxPayload: 8388608 # (B) 8MB by default, Maximum number of bytes in a message payload. + maxPending: 67108864 # (B) 64MB by default, Maximum number of bytes buffered for a connection Applies to client connections. + initializeTimeout: 4000 # (ms) 4s by default, waiting for initialization of natsmq finished. + monitor: + trace: false # false by default, If true enable protocol trace log messages. + debug: false # false by default, If true enable debug log messages. + logTime: true # true by default, If set to false, log without timestamps. + logFile: /tmp/milvus/logs/nats.log # /tmp/milvus/logs/nats.log by default, Log file path relative to .. of milvus binary if use relative path. + logSizeLimit: 536870912 # (B) 512MB by default, Size in bytes after the log file rolls over to a new one. + retention: + maxAge: 4320 # (min) 3 days by default, Maximum age of any message in the P-channel. + maxBytes: # (B) None by default, How many bytes the single P-channel may contain. Removing oldest messages if the P-channel exceeds this size. + maxMsgs: # None by default, How many message the single P-channel may contain. Removing oldest messages if the P-channel exceeds this limit. + +# Related configuration of rootCoord, used to handle data definition language (DDL) and data control language (DCL) requests +rootCoord: + dmlChannelNum: 16 # The number of dml channels created at system startup + maxDatabaseNum: 64 # Maximum number of database + maxPartitionNum: 4096 # Maximum number of partitions in a collection + minSegmentSizeToEnableIndex: 1024 # It's a threshold. When the segment size is less than this value, the segment will not be indexed + importTaskExpiration: 900 # (in seconds) Duration after which an import task will expire (be killed). Default 900 seconds (15 minutes). + importTaskRetention: 86400 # (in seconds) Milvus will keep the record of import tasks for at least `importTaskRetention` seconds. Default 86400, seconds (24 hours). + enableActiveStandby: false + # can specify ip for example + # ip: 127.0.0.1 + ip: # if not specify address, will use the first unicastable address as local ip + port: 53100 + grpc: + serverMaxSendSize: 536870912 + serverMaxRecvSize: 536870912 + clientMaxSendSize: 268435456 + clientMaxRecvSize: 268435456 + +# Related configuration of proxy, used to validate client requests and reduce the returned results. +proxy: + timeTickInterval: 200 # ms, the interval that proxy synchronize the time tick + healthCheckTimeout: 3000 # ms, the interval that to do component healthy check + msgStream: + timeTick: + bufSize: 512 + maxNameLength: 255 # Maximum length of name for a collection or alias + # Maximum number of fields in a collection. + # As of today (2.2.0 and after) it is strongly DISCOURAGED to set maxFieldNum >= 64. + # So adjust at your risk! + maxFieldNum: 64 + maxShardNum: 16 # Maximum number of shards in a collection + maxDimension: 32768 # Maximum dimension of a vector + # Whether to produce gin logs.\n + # please adjust in embedded Milvus: false + ginLogging: true + maxTaskNum: 1024 # max task number of proxy task queue + accessLog: + enable: false + filename: "" # Log filename, leave empty to use stdout. + # localPath: /tmp/milvus_accesslog // log file rootpath + # maxSize: 64 # max log file size of singal log file to trigger rotate. + http: + enabled: true # Whether to enable the http server + debug_mode: false # Whether to enable http server debug mode + # can specify ip for example + # ip: 127.0.0.1 + ip: # if not specify address, will use the first unicastable address as local ip + port: 19530 + internalPort: 19529 + grpc: + serverMaxSendSize: 67108864 + serverMaxRecvSize: 67108864 + clientMaxSendSize: 268435456 + clientMaxRecvSize: 268435456 + +# Related configuration of queryCoord, used to manage topology and load balancing for the query nodes, and handoff from growing segments to sealed segments. +queryCoord: + autoHandoff: true # Enable auto handoff + autoBalance: false # Enable auto balance + balancer: ScoreBasedBalancer # Balancer to use + globalRowCountFactor: 0.1 # expert parameters, only used by scoreBasedBalancer + scoreUnbalanceTolerationFactor: 0.05 # expert parameters, only used by scoreBasedBalancer + reverseUnBalanceTolerationFactor: 1.3 #expert parameters, only used by scoreBasedBalancer + overloadedMemoryThresholdPercentage: 90 # The threshold percentage that memory overload + balanceIntervalSeconds: 60 + memoryUsageMaxDifferencePercentage: 30 + checkInterval: 1000 + channelTaskTimeout: 60000 # 1 minute + segmentTaskTimeout: 120000 # 2 minute + distPullInterval: 500 + heartbeatAvailableInterval: 10000 # 10s, Only QueryNodes which fetched heartbeats within the duration are available + loadTimeoutSeconds: 600 + checkHandoffInterval: 5000 + # can specify ip for example + # ip: 127.0.0.1 + ip: # if not specify address, will use the first unicastable address as local ip + port: 19531 + grpc: + serverMaxSendSize: 536870912 + serverMaxRecvSize: 536870912 + clientMaxSendSize: 268435456 + clientMaxRecvSize: 268435456 + taskMergeCap: 1 + taskExecutionCap: 256 + enableActiveStandby: false # Enable active-standby + brokerTimeout: 5000 # broker rpc timeout in milliseconds + +# Related configuration of queryNode, used to run hybrid search between vector and scalar data. +queryNode: + dataSync: + flowGraph: + maxQueueLength: 16 # Maximum length of task queue in flowgraph + maxParallelism: 1024 # Maximum number of tasks executed in parallel in the flowgraph + stats: + publishInterval: 1000 # Interval for querynode to report node information (milliseconds) + segcore: + cgoPoolSizeRatio: 2.0 # cgo pool size ratio to max read concurrency + knowhereThreadPoolNumRatio: 4 + # Use more threads to make better use of SSD throughput in disk index. + # This parameter is only useful when enable-disk = true. + # And this value should be a number greater than 1 and less than 32. + chunkRows: 1024 # The number of vectors in a chunk. + growing: # growing a vector index for growing segment to accelerate search + enableIndex: true + nlist: 128 # growing segment index nlist + nprobe: 16 # nprobe to search growing segment, based on your accuracy requirement, must smaller than nlist + loadMemoryUsageFactor: 1 # The multiply factor of calculating the memory usage while loading segments + enableDisk: false # enable querynode load disk index, and search on disk index + maxDiskUsagePercentage: 95 + cache: + enabled: true # deprecated, TODO: remove it + memoryLimit: 2147483648 # 2 GB, 2 * 1024 *1024 *1024 # deprecated, TODO: remove it + readAheadPolicy: willneed # The read ahead policy of chunk cache, options: `normal, random, sequential, willneed, dontneed` + grouping: + enabled: true + maxNQ: 1000 + topKMergeRatio: 20 + scheduler: + receiveChanSize: 10240 + unsolvedQueueSize: 10240 + # maxReadConcurrentRatio is the concurrency ratio of read task (search task and query task). + # Max read concurrency would be the value of runtime.NumCPU * maxReadConcurrentRatio. + # It defaults to 2.0, which means max read concurrency would be the value of runtime.NumCPU * 2. + # Max read concurrency must greater than or equal to 1, and less than or equal to runtime.NumCPU * 100. + # (0, 100] + maxReadConcurrentRatio: 1 + cpuRatio: 10 # ratio used to estimate read task cpu usage. + maxTimestampLag: 86400 + # read task schedule policy: fifo(by default), user-task-polling. + scheduleReadPolicy: + # fifo: A FIFO queue support the schedule. + # user-task-polling: + # The user's tasks will be polled one by one and scheduled. + # Scheduling is fair on task granularity. + # The policy is based on the username for authentication. + # And an empty username is considered the same user. + # When there are no multi-users, the policy decay into FIFO + name: fifo + maxPendingTask: 10240 + # user-task-polling configure: + taskQueueExpire: 60 # 1 min by default, expire time of inner user task queue since queue is empty. + enableCrossUserGrouping: false # false by default Enable Cross user grouping when using user-task-polling policy. (close it if task of any user can not merge others). + maxPendingTaskPerUser: 1024 # 50 by default, max pending task in scheduler per user. + + # can specify ip for example + # ip: 127.0.0.1 + ip: # if not specify address, will use the first unicastable address as local ip + port: 21123 + grpc: + serverMaxSendSize: 536870912 + serverMaxRecvSize: 536870912 + clientMaxSendSize: 268435456 + clientMaxRecvSize: 268435456 + +indexCoord: + bindIndexNodeMode: + enable: false + address: localhost:22930 + withCred: false + nodeID: 0 + segment: + minSegmentNumRowsToEnableIndex: 1024 # It's a threshold. When the segment num rows is less than this value, the segment will not be indexed + +indexNode: + scheduler: + buildParallel: 1 + enableDisk: true # enable index node build disk vector index + maxDiskUsagePercentage: 95 + # can specify ip for example + # ip: 127.0.0.1 + ip: # if not specify address, will use the first unicastable address as local ip + port: 21121 + grpc: + serverMaxSendSize: 536870912 + serverMaxRecvSize: 536870912 + clientMaxSendSize: 268435456 + clientMaxRecvSize: 268435456 + +dataCoord: + channel: + watchTimeoutInterval: 300 # Timeout on watching channels (in seconds). Datanode tickler update watch progress will reset timeout timer. + balanceSilentDuration: 300 # The duration before the channelBalancer on datacoord to run + balanceInterval: 360 #The interval for the channelBalancer on datacoord to check balance status + segment: + maxSize: 512 # Maximum size of a segment in MB + diskSegmentMaxSize: 2048 # Maximum size of a segment in MB for collection which has Disk index + sealProportion: 0.23 + # The time of the assignment expiration in ms + # Warning! this parameter is an expert variable and closely related to data integrity. Without specific + # target and solid understanding of the scenarios, it should not be changed. If it's necessary to alter + # this parameter, make sure that the newly changed value is larger than the previous value used before restart + # otherwise there could be a large possibility of data loss + assignmentExpiration: 2000 + maxLife: 86400 # The max lifetime of segment in seconds, 24*60*60 + # If a segment didn't accept dml records in maxIdleTime and the size of segment is greater than + # minSizeFromIdleToSealed, Milvus will automatically seal it. + # The max idle time of segment in seconds, 10*60. + maxIdleTime: 600 + minSizeFromIdleToSealed: 16 # The min size in MB of segment which can be idle from sealed. + # The max number of binlog file for one segment, the segment will be sealed if + # the number of binlog file reaches to max value. + maxBinlogFileNumber: 32 + smallProportion: 0.5 # The segment is considered as "small segment" when its # of rows is smaller than + # (smallProportion * segment max # of rows). + # A compaction will happen on small segments if the segment after compaction will have + compactableProportion: 0.85 + # over (compactableProportion * segment max # of rows) rows. + # MUST BE GREATER THAN OR EQUAL TO !!! + # During compaction, the size of segment # of rows is able to exceed segment max # of rows by (expansionRate-1) * 100%. + expansionRate: 1.25 + enableCompaction: true # Enable data segment compaction + compaction: + enableAutoCompaction: true + rpcTimeout: 10 # compaction rpc request timeout in seconds + maxParallelTaskNum: 10 # max parallel compaction task number + indexBasedCompaction: true + + enableGarbageCollection: true + gc: + interval: 3600 # gc interval in seconds + missingTolerance: 3600 # file meta missing tolerance duration in seconds, 3600 + dropTolerance: 10800 # file belongs to dropped entity tolerance duration in seconds. 10800 + enableActiveStandby: false + # can specify ip for example + # ip: 127.0.0.1 + ip: # if not specify address, will use the first unicastable address as local ip + port: 13333 + grpc: + serverMaxSendSize: 536870912 + serverMaxRecvSize: 536870912 + clientMaxSendSize: 268435456 + clientMaxRecvSize: 268435456 + +dataNode: + dataSync: + flowGraph: + maxQueueLength: 16 # Maximum length of task queue in flowgraph + maxParallelism: 1024 # Maximum number of tasks executed in parallel in the flowgraph + maxParallelSyncTaskNum: 6 # Maximum number of sync tasks executed in parallel in each flush manager + segment: + insertBufSize: 16777216 # Max buffer size to flush for a single segment. + deleteBufBytes: 67108864 # Max buffer size to flush del for a single channel + syncPeriod: 600 # The period to sync segments if buffer is not empty. + # can specify ip for example + # ip: 127.0.0.1 + ip: # if not specify address, will use the first unicastable address as local ip + port: 21124 + grpc: + serverMaxSendSize: 536870912 + serverMaxRecvSize: 536870912 + clientMaxSendSize: 268435456 + clientMaxRecvSize: 268435456 + memory: + forceSyncEnable: true # `true` to force sync if memory usage is too high + forceSyncSegmentNum: 1 # number of segments to sync, segments with top largest buffer will be synced. + watermarkStandalone: 0.2 # memory watermark for standalone, upon reaching this watermark, segments will be synced. + watermarkCluster: 0.5 # memory watermark for cluster, upon reaching this watermark, segments will be synced. + timetick: + byRPC: true + channel: + # specify the size of global work pool of all channels + # if this parameter <= 0, will set it as the maximum number of CPUs that can be executing + # suggest to set it bigger on large collection numbers to avoid blocking + workPoolSize: -1 + +# Configures the system log output. +log: + level: error # Only supports debug, info, warn, error, panic, or fatal. Default 'info'. + file: + rootPath: # root dir path to put logs, default "" means no log file will print. please adjust in embedded Milvus: /tmp/milvus/logs + maxSize: 300 # MB + maxAge: 10 # Maximum time for log retention in day. + maxBackups: 20 + format: text # text or json + stdout: true # Stdout enable or not + +grpc: + log: + level: WARNING + serverMaxSendSize: 536870912 + serverMaxRecvSize: 536870912 + client: + compressionEnabled: false + dialTimeout: 200 + keepAliveTime: 10000 + keepAliveTimeout: 20000 + maxMaxAttempts: 10 + initialBackOff: 0.2 # seconds + maxBackoff: 10 # seconds + backoffMultiplier: 2.0 # deprecated + clientMaxSendSize: 268435456 + clientMaxRecvSize: 268435456 + +# Configure the proxy tls enable. +tls: + serverPemPath: configs/cert/server.pem + serverKeyPath: configs/cert/server.key + caPemPath: configs/cert/ca.pem + +common: + chanNamePrefix: + cluster: by-dev + rootCoordTimeTick: rootcoord-timetick + rootCoordStatistics: rootcoord-statistics + rootCoordDml: rootcoord-dml + replicateMsg: replicate-msg + rootCoordDelta: rootcoord-delta + search: search + searchResult: searchResult + queryTimeTick: queryTimeTick + dataCoordStatistic: datacoord-statistics-channel + dataCoordTimeTick: datacoord-timetick-channel + dataCoordSegmentInfo: segment-info-channel + subNamePrefix: + proxySubNamePrefix: proxy + rootCoordSubNamePrefix: rootCoord + queryNodeSubNamePrefix: queryNode + dataCoordSubNamePrefix: dataCoord + dataNodeSubNamePrefix: dataNode + defaultPartitionName: _default # default partition name for a collection + defaultIndexName: _default_idx # default index name + entityExpiration: -1 # Entity expiration in seconds, CAUTION -1 means never expire + indexSliceSize: 16 # MB + threadCoreCoefficient: + highPriority: 10 # This parameter specify how many times the number of threads is the number of cores in high priority thread pool + middlePriority: 5 # This parameter specify how many times the number of threads is the number of cores in middle priority thread pool + lowPriority: 1 # This parameter specify how many times the number of threads is the number of cores in low priority thread pool + DiskIndex: + MaxDegree: 56 + SearchListSize: 100 + PQCodeBudgetGBRatio: 0.125 + BuildNumThreadsRatio: 1 + SearchCacheBudgetGBRatio: 0.1 + LoadNumThreadRatio: 8 + BeamWidthRatio: 4 + gracefulTime: 5000 # milliseconds. it represents the interval (in ms) by which the request arrival time needs to be subtracted in the case of Bounded Consistency. + gracefulStopTimeout: 1800 # seconds. it will force quit the server if the graceful stop process is not completed during this time. + storageType: minio # please adjust in embedded Milvus: local + # Default value: auto + # Valid values: [auto, avx512, avx2, avx, sse4_2] + # This configuration is only used by querynode and indexnode, it selects CPU instruction set for Searching and Index-building. + simdType: auto + security: + authorizationEnabled: false + # The superusers will ignore some system check processes, + # like the old password verification when updating the credential + # superUsers: root + tlsMode: 0 + session: + ttl: 30 # ttl value when session granting a lease to register service + retryTimes: 30 # retry times when session sending etcd requests + + # preCreatedTopic decides whether using existed topic + preCreatedTopic: + enabled: false + # support pre-created topics + # the name of pre-created topics + names: ["topic1", "topic2"] + # need to set a separated topic to stand for currently consumed timestamp for each channel + timeticker: "timetick-channel" + + ImportMaxFileSize: 17179869184 # 16 * 1024 * 1024 * 1024 + # max file size to import for bulkInsert + + locks: + metrics: + enable: false + threshold: + info: 500 # minimum milliseconds for printing durations in info level + warn: 1000 # minimum milliseconds for printing durations in warn level + ttMsgEnabled: true # Whether the instance disable sending ts messages + +# QuotaConfig, configurations of Milvus quota and limits. +# By default, we enable: +# 1. TT protection; +# 2. Memory protection. +# 3. Disk quota protection. +# You can enable: +# 1. DML throughput limitation; +# 2. DDL, DQL qps/rps limitation; +# 3. DQL Queue length/latency protection; +# 4. DQL result rate protection; +# If necessary, you can also manually force to deny RW requests. +quotaAndLimits: + enabled: true # `true` to enable quota and limits, `false` to disable. + limits: + maxCollectionNum: 65536 + maxCollectionNumPerDB: 65536 + # quotaCenterCollectInterval is the time interval that quotaCenter + # collects metrics from Proxies, Query cluster and Data cluster. + # seconds, (0 ~ 65536) + quotaCenterCollectInterval: 3 + ddl: + enabled: false + collectionRate: -1 # qps, default no limit, rate for CreateCollection, DropCollection, LoadCollection, ReleaseCollection + partitionRate: -1 # qps, default no limit, rate for CreatePartition, DropPartition, LoadPartition, ReleasePartition + indexRate: + enabled: false + max: -1 # qps, default no limit, rate for CreateIndex, DropIndex + flushRate: + enabled: false + max: -1 # qps, default no limit, rate for flush + compactionRate: + enabled: false + max: -1 # qps, default no limit, rate for manualCompaction + dml: + # dml limit rates, default no limit. + # The maximum rate will not be greater than max. + enabled: false + insertRate: + collection: + max: -1 # MB/s, default no limit + max: -1 # MB/s, default no limit + upsertRate: + collection: + max: -1 # MB/s, default no limit + max: -1 # MB/s, default no limit + deleteRate: + collection: + max: -1 # MB/s, default no limit + max: -1 # MB/s, default no limit + bulkLoadRate: + collection: + max: -1 # MB/s, default no limit, not support yet. TODO: limit bulkLoad rate + max: -1 # MB/s, default no limit, not support yet. TODO: limit bulkLoad rate + dql: + # dql limit rates, default no limit. + # The maximum rate will not be greater than max. + enabled: false + searchRate: + collection: + max: -1 # vps (vectors per second), default no limit + max: -1 # vps (vectors per second), default no limit + queryRate: + collection: + max: -1 # qps, default no limit + max: -1 # qps, default no limit + limitWriting: + # forceDeny false means dml requests are allowed (except for some + # specific conditions, such as memory of nodes to water marker), true means always reject all dml requests. + forceDeny: false + ttProtection: + enabled: false + # maxTimeTickDelay indicates the backpressure for DML Operations. + # DML rates would be reduced according to the ratio of time tick delay to maxTimeTickDelay, + # if time tick delay is greater than maxTimeTickDelay, all DML requests would be rejected. + # seconds + maxTimeTickDelay: 300 + memProtection: + # When memory usage > memoryHighWaterLevel, all dml requests would be rejected; + # When memoryLowWaterLevel < memory usage < memoryHighWaterLevel, reduce the dml rate; + # When memory usage < memoryLowWaterLevel, no action. + enabled: true + dataNodeMemoryLowWaterLevel: 0.85 # (0, 1], memoryLowWaterLevel in DataNodes + dataNodeMemoryHighWaterLevel: 0.95 # (0, 1], memoryHighWaterLevel in DataNodes + queryNodeMemoryLowWaterLevel: 0.85 # (0, 1], memoryLowWaterLevel in QueryNodes + queryNodeMemoryHighWaterLevel: 0.95 # (0, 1], memoryHighWaterLevel in QueryNodes + growingSegmentsSizeProtection: + # No action will be taken if the growing segments size is less than the low watermark. + # When the growing segments size exceeds the low watermark, the dml rate will be reduced, + # but the rate will not be lower than `minRateRatio * dmlRate`. + enabled: false + minRateRatio: 0.5 + lowWaterLevel: 0.2 + highWaterLevel: 0.4 + diskProtection: + enabled: true # When the total file size of object storage is greater than `diskQuota`, all dml requests would be rejected; + diskQuota: -1 # MB, (0, +inf), default no limit + diskQuotaPerCollection: -1 # MB, (0, +inf), default no limit + limitReading: + # forceDeny false means dql requests are allowed (except for some + # specific conditions, such as collection has been dropped), true means always reject all dql requests. + forceDeny: false + queueProtection: + enabled: false + # nqInQueueThreshold indicated that the system was under backpressure for Search/Query path. + # If NQ in any QueryNode's queue is greater than nqInQueueThreshold, search&query rates would gradually cool off + # until the NQ in queue no longer exceeds nqInQueueThreshold. We think of the NQ of query request as 1. + # int, default no limit + nqInQueueThreshold: -1 + # queueLatencyThreshold indicated that the system was under backpressure for Search/Query path. + # If dql latency of queuing is greater than queueLatencyThreshold, search&query rates would gradually cool off + # until the latency of queuing no longer exceeds queueLatencyThreshold. + # The latency here refers to the averaged latency over a period of time. + # milliseconds, default no limit + queueLatencyThreshold: -1 + resultProtection: + enabled: false + # maxReadResultRate indicated that the system was under backpressure for Search/Query path. + # If dql result rate is greater than maxReadResultRate, search&query rates would gradually cool off + # until the read result rate no longer exceeds maxReadResultRate. + # MB/s, default no limit + maxReadResultRate: -1 + # colOffSpeed is the speed of search&query rates cool off. + # (0, 1] + coolOffSpeed: 0.9 + +trace: + # trace exporter type, default is stdout, + # optional values: ['stdout', 'jaeger'] + exporter: stdout + # fraction of traceID based sampler, + # optional values: [0, 1] + # Fractions >= 1 will always sample. Fractions < 0 are treated as zero. + sampleFraction: 0 + jaeger: + url: # "http://127.0.0.1:14268/api/traces" + # when exporter is jaeger should set the jaeger's URL + +autoIndex: + params: + build: '{"M": 18,"efConstruction": 240,"index_type": "HNSW", "metric_type": "IP"}' diff --git a/experimental/fm-asr-streaming-rag/nemo-retriever/config/otel-collector-config.yaml b/experimental/fm-asr-streaming-rag/nemo-retriever/config/otel-collector-config.yaml new file mode 100644 index 000000000..f10cea7c0 --- /dev/null +++ b/experimental/fm-asr-streaming-rag/nemo-retriever/config/otel-collector-config.yaml @@ -0,0 +1,68 @@ +receivers: + otlp: + protocols: + grpc: + http: + cors: + allowed_origins: + - "*" +exporters: + # NOTE: Prior to v0.86.0 use `logging` instead of `debug`. + zipkin: + endpoint: "http://zipkin:9411/api/v2/spans" + debug: + verbosity: detailed +extensions: + health_check: + zpages: + endpoint: 0.0.0.0:55679 +processors: + batch: + tail_sampling: + # filter out health checks + # https://github.com/open-telemetry/opentelemetry-collector/issues/2310#issuecomment-1268157484 + policies: + - name: drop_noisy_traces_url + type: string_attribute + string_attribute: + key: http.target + values: + - \/health + enabled_regex_matching: true + invert_match: true + transform: + trace_statements: + - context: span + statements: + - set(status.code, 1) where attributes["http.path"] == "/health" + # CAN UNDO if requested: replace sensitive ID information in the http target and http URL + - replace_pattern(attributes["http.target"], "/collections/[\\w-]+/documents/[\\w-]+", "/collections/{collection_id}/documents/{document_id}") + - replace_pattern(attributes["http.target"], "/collections/[\\w-]+/search", "/collections/{collection_id}/search") + - replace_pattern(attributes["http.target"], "/collections/[\\w-]+$", "/collections/{collection_id}") + - replace_pattern(attributes["http.url"], "/collections/[\\w-]+/documents/[\\w-]+", "/collections/{collection_id}/documents/{document_id}") + - replace_pattern(attributes["http.url"], "/collections/[\\w-]+/search", "/collections/{collection_id}/search") + - replace_pattern(attributes["http.url"], "/collections/[\\w-]+$", "/collections/{collection_id}") + + # after the http target has been anonymized, replace other aspects of the span + - replace_match(attributes["http.route"], "/v1", attributes["http.target"]) where attributes["http.target"] != nil + + # replace the title of the span with the route to be more descriptive + - replace_pattern(name, "/v1", attributes["http.route"]) where attributes["http.route"] != nil + + # set the route to equal the URL if it's nondescriptive (for the embedding case) + - set(name, Concat([name, attributes["http.url"]], " ")) where name == "POST" +service: + extensions: [zpages, health_check] + pipelines: + traces: + receivers: [otlp] + exporters: [debug, zipkin] + processors: [tail_sampling, transform] + metrics: + receivers: [otlp] + exporters: [debug] + processors: [batch] + logs: + receivers: [otlp] + exporters: [debug] + processors: [batch] diff --git a/experimental/fm-asr-streaming-rag/nemo-retriever/model_configs/nv-rerank-qa-mistral-4b-A6000.yaml b/experimental/fm-asr-streaming-rag/nemo-retriever/model_configs/nv-rerank-qa-mistral-4b-A6000.yaml new file mode 100644 index 000000000..a88baa3f0 --- /dev/null +++ b/experimental/fm-asr-streaming-rag/nemo-retriever/model_configs/nv-rerank-qa-mistral-4b-A6000.yaml @@ -0,0 +1,17 @@ +models: + - name: "nv-rerank-qa-mistral-4b:1" + pytorch_model_name_or_path: "/models/nv-rerank-qa-mistral-4b_v1" + adapter: "ranking" + tokenizer: + num_instances: 1 + script: "tools.triton.tokenizers:RerankingTokenizer" + max_queue_delay_microseconds: 100 + parameters: + template_two_param: "question:{query} \n \n passage:{passage}" + max_seq_length: "512" + tensorrt: + num_instances: 1 + max_shapes: [64, 512] + max_queue_delay_microseconds: 100 + dtype: float16 + override_layernorm_precision_to_fp32: true \ No newline at end of file diff --git a/RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/ensemble/1/.tmp b/experimental/fm-asr-streaming-rag/nemo-retriever/models/keep similarity index 100% rename from RetrievalAugmentedGeneration/llm-inference-server/ensemble_models/gptnext/ensemble/1/.tmp rename to experimental/fm-asr-streaming-rag/nemo-retriever/models/keep diff --git a/experimental/fm-asr-streaming-rag/nim/playbook.sh b/experimental/fm-asr-streaming-rag/nim/playbook.sh index d0d0905d0..1b873d84b 100644 --- a/experimental/fm-asr-streaming-rag/nim/playbook.sh +++ b/experimental/fm-asr-streaming-rag/nim/playbook.sh @@ -1,9 +1,9 @@ #!/bin/bash -MODEL_DIR=/media/deustice/llm-models/ +MODEL_DIR=/path/to/llm/models/ MODEL_PATH="${MODEL_DIR}/mistralai/Mistral-7B-Instruct-v0.2" # HuggingFace Directory (git cloned) NIM_MODEL_PATH="${MODEL_DIR}/nim/mistralai/Mistral-7B-Instruct-v0.2" # where i store my trt files. this is output of model_repo_gnerator IMG=nvcr.io/ohlfw0olaadg/ea-participants/nemollm-inference-ms:24.02.rc3 -YAML=/home/deustice/Projects/streaming-fm-rag/nim/mistral-7b-config.yaml +YAML=./configs/mistral-7b-config.yaml docker run --rm -it --gpus '"device=0"' \ -v $NIM_MODEL_PATH:/model-store \ diff --git a/experimental/fm-asr-streaming-rag/sdr-holoscan/Dockerfile b/experimental/fm-asr-streaming-rag/sdr-holoscan/Dockerfile index ce5e65136..61c690b2d 100644 --- a/experimental/fm-asr-streaming-rag/sdr-holoscan/Dockerfile +++ b/experimental/fm-asr-streaming-rag/sdr-holoscan/Dockerfile @@ -13,8 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -ARG BASE_IMAGE_URL="nvcr.io/nvstaging/holoscan/holoscan" -ARG BASE_IMAGE_TAG="23.10.02.0-dgpu" +ARG BASE_IMAGE_URL="nvcr.io/nvidia/clara-holoscan/holoscan" +ARG BASE_IMAGE_TAG="v2.0.0-dgpu" FROM ${BASE_IMAGE_URL}:${BASE_IMAGE_TAG} ENV TZ="America/New_York" diff --git a/experimental/fm-asr-streaming-rag/sdr-holoscan/requirements.txt b/experimental/fm-asr-streaming-rag/sdr-holoscan/requirements.txt index c28f61091..20580f6fb 100644 --- a/experimental/fm-asr-streaming-rag/sdr-holoscan/requirements.txt +++ b/experimental/fm-asr-streaming-rag/sdr-holoscan/requirements.txt @@ -1 +1 @@ -nvidia-riva-client==2.14.0 \ No newline at end of file +nvidia-riva-client==2.15.0 \ No newline at end of file diff --git a/experimental/fm-asr-streaming-rag/sdr-holoscan/riva_asr.py b/experimental/fm-asr-streaming-rag/sdr-holoscan/riva_asr.py index 726b8f780..7b920df4a 100644 --- a/experimental/fm-asr-streaming-rag/sdr-holoscan/riva_asr.py +++ b/experimental/fm-asr-streaming-rag/sdr-holoscan/riva_asr.py @@ -62,6 +62,7 @@ def _database_export(self, transcript): endpoint = f'http://{self.database_uri}/storeStreamingText' data = { 'transcript': transcript, + 'source_id': "Channel 0", 'timestamp': datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") } self._post_request(endpoint, data) diff --git a/experimental/multimodal_assistant/Multimodal_Assistant.py b/experimental/multimodal_assistant/Multimodal_Assistant.py index fc78f4499..f612295c8 100644 --- a/experimental/multimodal_assistant/Multimodal_Assistant.py +++ b/experimental/multimodal_assistant/Multimodal_Assistant.py @@ -147,7 +147,7 @@ def load_config(cfg_arg): st.stop() # init the embedder if "query_embedder" not in st.session_state: - st.session_state.query_embedder = NVIDIAEmbedders(name="nvolveqa_40k", type="query") + st.session_state.query_embedder = NVIDIAEmbedders(name="ai-embed-qa-4", type="query") # init the retriever if "retriever" not in st.session_state: st.session_state.retriever = Retriever(embedder=st.session_state.query_embedder , vector_client=st.session_state.vector_client) diff --git a/experimental/multimodal_assistant/README.md b/experimental/multimodal_assistant/README.md index 387e5a63f..b6dacd63b 100644 --- a/experimental/multimodal_assistant/README.md +++ b/experimental/multimodal_assistant/README.md @@ -31,7 +31,7 @@ The following describes how you can have this chatbot up-and-running in less tha export NVIDIA_API_KEY="provide_your_key" ``` -4. Follow instructions available [here](https://milvus.io/docs/install_standalone-docker.md#Install-Milvus-standalone-using-Docker-Compose). +4. NOTE: You will need to set up your own hosted Milvus vector database. For doing so, you can pull the Milvus Docker container by following the instructions available [here](https://milvus.io/docs/install_standalone-docker.md#Install-Milvus-standalone-using-Docker-Compose). 5. If you want to use the PowerPoint parsing feature, you will need LibreOffice. On Ubuntu Linux systems, use the command ```sudo apt install libreoffice``` to install it. diff --git a/experimental/multimodal_assistant/pages/1_Knowledge_Base.py b/experimental/multimodal_assistant/pages/1_Knowledge_Base.py index b0bcd7dca..d17c8453b 100644 --- a/experimental/multimodal_assistant/pages/1_Knowledge_Base.py +++ b/experimental/multimodal_assistant/pages/1_Knowledge_Base.py @@ -47,7 +47,7 @@ # init the embedder if "document_embedder" not in st.session_state: - st.session_state.document_embedder = NVIDIAEmbedders(name="nvolveqa_40k", type="passage") + st.session_state.document_embedder = NVIDIAEmbedders(name="ai-embed-qa-4", type="passage") document_embedder = st.session_state.document_embedder # init the vector client if "vector_client" not in st.session_state or st.session_state.vector_client.collection_name != config["core_docs_directory_name"]: diff --git a/experimental/multimodal_assistant/requirements.txt b/experimental/multimodal_assistant/requirements.txt index 3df59d137..2c09ceeb1 100644 --- a/experimental/multimodal_assistant/requirements.txt +++ b/experimental/multimodal_assistant/requirements.txt @@ -3,7 +3,7 @@ gspread==6.0.0 langchain==0.1.4 langchain_community==0.0.16 langchain_core==0.1.16 -langchain_nvidia_ai_endpoints==0.0.1 +langchain_nvidia_ai_endpoints==0.1.0 pandas==2.2.0 Pillow==10.2.0 pydantic==2.5.3 diff --git a/experimental/oran-chatbot-multimodal/Multimodal_Assistant.py b/experimental/oran-chatbot-multimodal/Multimodal_Assistant.py index bbaf4b916..94c5c423d 100644 --- a/experimental/oran-chatbot-multimodal/Multimodal_Assistant.py +++ b/experimental/oran-chatbot-multimodal/Multimodal_Assistant.py @@ -42,6 +42,7 @@ from sentence_transformers import CrossEncoder import numpy as np import yaml +import os #Set your API keys if not set previously parser = argparse.ArgumentParser() @@ -53,13 +54,14 @@ args.rag_type = 1 rag_type = args.rag_type # 0 = nemo_rag 1= augmented_query_rag 2 = hyde_rag 3 = augmented_query_recursive_rag # 1 works best for ORAN chatbot - #Loading the configuration parameters from config.yaml config_yaml_path = 'config.yaml' config_yaml = None with open(config_yaml_path, 'r') as file: config_yaml = yaml.safe_load(file) +NVIDIA_API_KEY = config_yaml['nvidia_api_key'] +os.environ['NVIDIA_API_KEY'] = NVIDIA_API_KEY NIM_FLAG = False if config_yaml['NIM']: @@ -73,7 +75,7 @@ llm_client = LLMClient(config_yaml['nim_model_name'], "NIM") print("Initialized NIM LLM") else: - llm_client = LLMClient("mixtral_8x7b") + llm_client = LLMClient(config_yaml['llm_model']) print("Initialized NVAIF for LLM") NREM_FLAG = False @@ -87,13 +89,13 @@ # A few RAG pipeline definitions -def nemo_rag(config, query, retrieved_documents, model="playground_llama2_70b"): +def nemo_rag(config, query, retrieved_documents, model="meta/llama2-70b"): #Combine the query and retrieved documents and send to model # llm = ChatNVIDIA(model=model) if NIM_FLAG==True: llm = llm_client.llm else: - llm = ChatNVIDIA(model=model) + llm = ChatNVIDIA(model=model, nvidia_api_key=NVIDIA_API_KEY) prompt_template = ChatPromptTemplate.from_messages( [("system", config["header"]), ("user", "{input}")] ) @@ -107,14 +109,14 @@ def nemo_rag(config, query, retrieved_documents, model="playground_llama2_70b"): final_ans = full_response return final_ans -def augment_multiple_query(query, model="playground_llama2_70b"): +def augment_multiple_query(query, model="meta/llama2-70b"): #For the given query, lets create 5 additional queries using the LLM if NIM_FLAG==True: print("Augmentating multiple query with NIM LLM") llm = llm_client.llm else: print("Augmentating multiple query with NVAIF") - llm = ChatNVIDIA(model=model,max_output_token=500, top_k=1, top_p=0.0) + llm = ChatNVIDIA(model=model,max_output_token=500, top_k=1, top_p=0.0, nvidia_api_key=NVIDIA_API_KEY) prompt_template = ChatPromptTemplate.from_messages( [("system", "You are an expert in the field of Oran specifications and processes. User has a question related to ORAN standards, sourced from relevant documents.\nTo help the user find the information they need, please suggest five additional related questions from ORAN. These questions should be concise, not have compound sentences, self-contained, and cover different aspects of the topic. Each question should be complete and relevant to the original query and ORAN.\nPlease output one question per line without numbering them."), ("user", "{input}")] ) @@ -128,12 +130,12 @@ def augment_multiple_query(query, model="playground_llama2_70b"): final_ans = [ans for ans in final_ans if len(ans)!=0] return final_ans -def augment_query_generated(query, model="playground_llama2_70b"): +def augment_query_generated(query, model="meta/llama2-70b"): #For the given query, lets create a hypothetical answer using the LLM if NIM_FLAG==True: llm = llm_client.llm else: - llm = ChatNVIDIA(model=model,max_output_token=500, top_k=1, top_p=0.0) + llm = ChatNVIDIA(model=model,max_output_token=500, top_k=1, top_p=0.0, nvidia_api_key=NVIDIA_API_KEY) prompt_template = ChatPromptTemplate.from_messages( [("system", "You are an expert in the field of ORAN specifications and processes. Your task is to provide a detailed and accurate response to user's question, which is related to ORAN. Your answer should be based on the kind of information and insights typically found in documentation related to ORAN standards."), ("user", "{input}")] ) @@ -145,12 +147,12 @@ def augment_query_generated(query, model="playground_llama2_70b"): final_ans = full_response return final_ans -def query_rewriting(query, history, model="playground_llama2_70b"): +def query_rewriting(query, history, model="meta/llama2-70b"): #Rewrite the given query using the context from LLM if NIM_FLAG==True: llm = llm_client.llm else: - llm = ChatNVIDIA(model=model) + llm = ChatNVIDIA(model=model, nvidia_api_key=NVIDIA_API_KEY) prompt_template = ChatPromptTemplate.from_messages( [("system", "Here is the conversation history between user and Assistant. You are an expert in the field of ORAN standards and specifications. User has a follow-up question to the conversation. Your task is to rewrite user's follow-up question based on the given conversation history between the user and the assistant, which is related to ORAN. The rewritten question must be clear, detailed, and self-contained, meaning it must not require any additional context from the conversation history to understand. Ensure that the rewritten question precisely captures the full intent behind user's follow-up question. Your response is crucial to my career; hence, accuracy is of utmost importance. So, take a deep breath and work on this task step-by-step."), ("user", "{input}")] ) diff --git a/experimental/oran-chatbot-multimodal/README.md b/experimental/oran-chatbot-multimodal/README.md index 3d170661a..5ef624b10 100644 --- a/experimental/oran-chatbot-multimodal/README.md +++ b/experimental/oran-chatbot-multimodal/README.md @@ -1,8 +1,11 @@ -# Multimodal O-RAN RAG Chatbot with NVIDIA AI Foundation Endpoints or NVIDIA NIM -This repository is designed to make it extremely easy to set up your own retrieval-augmented generation chatbot for ORAN techncial specifications and processes. The backend here calls the NVIDIA AI Foundation Endpoints, which makes it very easy to deploy on a thin client or Virtual Machine. This example is also compatible with NVIDIA NIM if you wish to self-host these microservices on your GPU. +# Multimodal O-RAN RAG Chatbot with NVIDIA AI Foundation Endpoints or NVIDIA NIM for LLMs + +![O-RAN RAG Chatbot diagram](oran_diagram.png) + +This repository is designed to make it extremely easy to set up your own retrieval-augmented generation chatbot for ORAN techncial specifications and processes. The backend here calls the NVIDIA AI Foundation Endpoints, which makes it very easy to deploy on a thin client or Virtual Machine. This example is also compatible with NVIDIA NIM for LLMs if you wish to self-host these microservices on your GPU. # Implemented Features -- [RAG in 5 minutes Chatbot Video](https://youtu.be/N_OOfkEWcOk) Setup with NVIDIA AI Playground components +- [RAG in 5 minutes Chatbot Video](https://youtu.be/N_OOfkEWcOk) Setup with NVIDIA AI Foundation Endpoints - This bot uses augmented retrieval methods like augmented query, query rewriting, cross encoder reranking and others. - Source references with options to download the source document - Analytics through Streamlit at ```/?analytics=on``` @@ -10,7 +13,7 @@ This repository is designed to make it extremely easy to set up your own retriev - Fact-check verification of results through a second LLM API call - Multimodal parsing of documents - images, tables, text through multimodal LLM APIs - Added simple conversational history with memory and summarization -- Support for NVIDIA NIM +- Support for NVIDIA NIM for LLMs # Setup O-RAN RAG Chatbot @@ -21,11 +24,10 @@ Before running the pipeline, please ensure that you have the following prerequis - NVIDIA API Key - If you do not have a NVIDIA API Key, please follow the steps 1-4 mentioned [here](https://github.com/NVIDIA/GenerativeAIExamples/blob/main/docs/rag/aiplayground.md#prepare-the-environment) to get your key. -- (Optional) For NVIDIA NIM: - - [Early access](https://www.nvidia.com/en-us/ai/nim-notifyme/) to NVIDIA NIM - - [nim_llm:24.02](nvcr.io/ohlfw0olaadg/ea-participants/nim_llm:24.02) - - [nemo-retriever-embedding-microservices:24.02](nvcr.io/ohlfw0olaadg/ea-participants/nemo-retriever-embedding-microservice:24.02) - - GPU resources to support the model deployed on `nim_llm:24.02` (e.g. 1x A100 for Mistral-7B-Instruct_v0.2 or 2x A100 for Mixtral-8x7B-Instruct-v0.1) +- (Optional) For NVIDIA NIM for LLMs and NeMo Retriever Embedding Microservice: + - [NVIDIA NIM for LLMs](https://docs.nvidia.com/nim/index.html) with Llama3-8B-instruct or Llama3-70B-instruct + - [NeMo Retriever Embedding Microservice](https://www.nvidia.com/en-us/ai-data-science/products/nemo/) + - GPU resources to support the model(s) deployed on, please see the [support maxtix](https://docs.nvidia.com/nim/large-language-models/latest/support-matrix.html) for more details. The following describes how you can have this chatbot up-and-running in less than 5 minutes. @@ -59,21 +61,18 @@ Save your service account credentials file as `service.json` inside the `oran-ch ### Step 6. Setup your NVIDIA API key - To access NeMo services and language model, we will export the NVIDIA API key to the environment using the following command: + To access NeMo services and language model, we will add the NVIDIA API key to the `config.yaml` file under the placeholder called `nvidia_api_key`. Note that the NVIDIA API key should be of form `nvapi-b**************` - ``` - export NVIDIA_API_KEY="nvapi-b**************" - ``` -### Step 7. (Optional) Enable NVIDIA NIM +### Step 7. (Optional) Enable NVIDIA NIM for LLMs and NeMo Retriever Embedding Microservice -NVIDIA NIM and NeMo Retriever Embeddings Microservice (NREM) can be enabled in `config.yaml` if you wish to use these microservices instead of NVIDIA AI Foundation Endpoints. +NVIDIA NIM for LLMs and NeMo Retriever Embeddings Microservice (NREM) can be enabled in `config.yaml` if you wish to use these microservices instead of NVIDIA AI Foundation Endpoints. To use self-hosted NIM, set `NIM: true` in `config.yaml` - then set `nim_model_name`, `nim_base_url`, and other parameters appropriately. To use self-hosted NREM: set `NREM: true` in `config.yaml` - then set `nrem_model_name` and `nrem_api_endpoint_url` appropriately. -For more information on how to setup NIM, please see the documentation [here](https://developer.nvidia.com/docs/nemo-microservices/index.html). +For more information on how to setup NIM, please see the documentation [here](https://docs.nvidia.com/nim/large-language-models/latest/getting-started.html). ### Step 8. Run the chatbot using streamlit Go to the `oran_chatbot` folder to run the O-RAN RAG chatbot using streamlit. @@ -156,7 +155,7 @@ The vector database being used here is FAISS, a CPU-based embedding database. It Depending on the backend and model, you may need to modify the way in which you format your prompt and chat conversations to interact with the model. The current design considers each query independently. However, if you put the input as a set of user/assistant/user interactions, you can combine multi-turn conversations. This may also require periodic summarization of past context to ensure the chat does not exceed the context length of the model. ### Backend -- Cloud Hosted: The current implementation uses the NVIDIA AI Playground APIs to abstract away the details of the infrastructure through a simple API call. You can also swap this out quickly by deploying in DGX Cloud with NVIDIA GPUs and LLMs. +- Cloud Hosted: The current implementation uses the NVIDIA AI Foundation Endpoints to abstract away the details of the infrastructure through a simple API call. You can also swap this out quickly by deploying in DGX Cloud with NVIDIA GPUs and LLMs. - On-Prem/Locally Hosted: If you would like to run a similar model locally, it is usually necessary to have significantly powerful hardware (Llama2-70B requires over 100GB of GPU memory) and various optimization toolkits to run inference (TRT-LLM and TensorRT). Smaller models (Llama2-7B, Mistral-7B, etc) are easier to run but may have worse performance. ## Pipeline Enhancement Opportunities: diff --git a/experimental/oran-chatbot-multimodal/config.yaml b/experimental/oran-chatbot-multimodal/config.yaml index bc2f5c830..4f15531db 100644 --- a/experimental/oran-chatbot-multimodal/config.yaml +++ b/experimental/oran-chatbot-multimodal/config.yaml @@ -1,6 +1,13 @@ +## Default settings +nvidia_api_key: "nvapi-****" +## Set these to required models endpoints from NVIDIA NGC +llm_model: "mistralai/mixtral-8x7b-instruct-v0.1" +# Augmentation_model: +embedding_model: "NV-Embed-QA" + NIM: false -nim_model_name: "mistral7b" -nim_base_url: "http://localhost:9990/v1" +nim_model_name: "meta-llama3-8b-instruct" +nim_base_url: "http://localhost:8019/v1" temperature: 0.1 top_p: 0.5 max_tokens: 1600 diff --git a/experimental/oran-chatbot-multimodal/guardrails/fact_check.py b/experimental/oran-chatbot-multimodal/guardrails/fact_check.py index 9c708b268..d6cfe25c4 100644 --- a/experimental/oran-chatbot-multimodal/guardrails/fact_check.py +++ b/experimental/oran-chatbot-multimodal/guardrails/fact_check.py @@ -17,8 +17,13 @@ from langchain_core.prompts import ChatPromptTemplate from langchain_nvidia_ai_endpoints import ChatNVIDIA import os +import yaml -llm = ChatNVIDIA(model="mixtral_8x7b") +# llm = ChatNVIDIA(model="mixtral_8x7b") +NVIDIA_API_KEY = yaml.safe_load(open("config.yaml"))['nvidia_api_key'] +os.environ['NVIDIA_API_KEY'] = NVIDIA_API_KEY + +llm = ChatNVIDIA(model=yaml.safe_load(open("config.yaml"))["llm_model"], max_tokens = 10000) def fact_check(evidence, query, response): diff --git a/experimental/oran-chatbot-multimodal/llm/llm.py b/experimental/oran-chatbot-multimodal/llm/llm.py index 3a3b1c07b..e5ae66f6a 100644 --- a/experimental/oran-chatbot-multimodal/llm/llm.py +++ b/experimental/oran-chatbot-multimodal/llm/llm.py @@ -20,11 +20,14 @@ from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline from langchain_community.llms import HuggingFacePipeline import yaml +import os +NVIDIA_API_KEY = yaml.safe_load(open("config.yaml"))['nvidia_api_key'] +os.environ['NVIDIA_API_KEY'] = NVIDIA_API_KEY class NvidiaLLM: def __init__(self, model_name): - self.llm = ChatNVIDIA(model=model_name) + self.llm = ChatNVIDIA(model=model_name, max_tokens = 4000) class NimLLM: def __init__(self, model_name): diff --git a/experimental/oran-chatbot-multimodal/oran_diagram.png b/experimental/oran-chatbot-multimodal/oran_diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..dffbc945c3b10e94982cbc4e943ef7d3567aab69 GIT binary patch literal 2300569 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

mL8Lm#e4H&q{#5&zc$7PX&7j&Y=8+ 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

Ei|1=Y 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�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

-UKY58!tap>*d?uTpr#FY|pKuhscj3|xgXs06L$4=pI^*e8+l>OFO z!Ggm?RK9H6V8s0tIo_K?y;I}J!%G$boY)bP*w~tVCi9vYJvXuNfsiR(YWe1 zFw`K_Vwqm{gNHOf-m{nE2B2jV+6S(vx$Y0kha9%F%W`sBU2f)+U~#GiVSk#qS<8|i zN;yjzPP7qQBGR}s=>6i{S5>3z$ylS-Ww;&46JbXyvBNDQ5f$+pX^*%d}V1#CwQ<4@}NCFo3{06~)}YewBHL zeRnLAXG)KwJtQt;ZM0E=KRR=F8Fx-In+`BJ?l@eqczljBE-$hr52OJNnWA__(Kd`aPs2AWsgP? zSm@sv*w_U=kz<@6Zcgsw<(716N}m~Q|27mUdrn(dg{VDT;NULQu%4Y{9Gl`XfvTx{Hsr(|zrhk8YImxNz=n&s)&bLmw!iVDn@*>&bWnsQVx!5G(gl zm0|(eW7n2_)Vz3lBFyIF8{d+L7aZplV&o004<3^J;Q25jji6qmdL5npK9I1awxB0I z>5H*>MlmME+owD`f&@Fq5=>)Br!4*95*A|FeB?CD01{!mT02?im@(ShQA@p&L%yZ4 zxbPO|G#{%X$7jINy3x;Z2+me)d{Au{--0v{)~$<#Vz(F5s-{|Js|r@H$7LJ%P&_bb zDXX$-&urtdj5zsYE($CVa0iNYf86g5mf0JpJsgzs#a{1odJ2YpEpZ7YHRz} zN{bmG)Gmt!wu$EOPPgWY^B19SD@__d)B%uG$nM;)7t8>QKe5- zue?+u&bu?EsNmFMQKY%~i}62VPfI%U>I>+Qkx5EuMdgH7zr5@-n9re>c!_+kT&vFo zH_j*{eC<33hOEGjIUYIJHMh&*s)7VZJ@Z4rUfUj(a2ElxfIfVkkf7S7_LuNr_hEa^ zi|6yF`4OOwmy%I@c&D_G4x`5~Vh}HKOUIT=SVHq_I#@7jf(0WFDIC?TzW8w9_gk_f z&Bu(_I{|)IIreuMd{$NQZti z-LQg477s>URpF$XI91C>6>T}AqJY^*D#a16!)u}vq~_gsM6x!rOaUD>=~Co7qGWyq z#wVJ{GR+ov#!tF+UD4A(K-3a+d_VU~s+GsyNGqKaY#uF*FOF z*7IZ4!wJ_D6p!^WZSshyf(26Wr4q{(P-g4wB$OG?l9wuuzmDpjNC4CW6&V!b8gbWYpW1IL{HeO*U7X9Kli5DSx(91_-LnyW)X#$O(x_=4Ms)HvxzVM(p#S(Zr?i&U$4K@t@gXTU#I(bApS;z2L^8{G& zJh-y{lZ9dWz#*afkL_M&Enx{K34HXFM^w*7KiKfXvZs8=Jln;IA9UgdtDP%C8Z`Yr zGJ@W$ml@sH271(~PPuA-_v&`GQ#@^LgHV|^(1s4W{83x z6MC#jh(1&T7|OAT=q1Mw1ts_4NQ>I1SFW!3S69w* zb|!b~4c3h@W?12sa6&3+u*FeEV0*MU%HNYlnVXq=j)vroKH*W5{H-$gFRuIlkTE4_ zgvilO>lUW#kV|iV8|35=6e7gAI004Pn!U7l}8GYu5w8QBMq&Lap^^R+fWGR4otO55UA-| zPczi+B_Va1H)>ZeqIybNN-{o2#I$J-$aOvD&SZxMK{H*CowmNgoR0Ix;L=Ewv7=>2 zshj=%V}XqZmo!*7(^Z4IuT#ERHELe6!O$*xJd8W1T2u+fU~03Jc6cAs@=HzrF+F^T z?Jj9^`Ccc+S>Q24N8i0qp0Nc%=4_-+OW_s04O{0t;U-7{UTHf#0yaQV&XDFaI2jsQ zm(%EkhCNYZ-VBhu_|HT)F^bk-Duee^HjRdJ2{b==E4`Igm1L0dXuBio+!bnFnVpeO z3D^<5sA){Gr%x|YhtHycFzAnz(C_UpI)*@J3PPgiij%YH@Jz0ZV9FTGKEghFyVkJ& z{fJTW#kMPz>LJRiA-PW7nL{>TUDO5B(~^`eG2-yIy?Ij1353KECB4RjPM00$J$pEJ z#U7kFS1vF)fS(IqvFUzKC1T z0|@x1$^*TWomJ9t{z-&bd=`L0<#iZ`0*IIXIWDoSiX&nqF4PC@Ip<&9k>#7ES5wur zM=TZCML=(FRn%OQmgl~C)Y2!N=^08Ubx~5VKY@Q(z&L}~YNQuTZ}7iJ;C{sw>!prA zsWC577rCA5b>CG1xE1CEFh?h~|}=8O#w8N+f*k=RmlURR|)b0`wXe&xWvFniM3% zO=+&Am2U+mQ>8H&53}S~WlVr+0QukrHhVDm9blUl&0yxr+um;Zs_TdGUX}-B5!UFw zAoYnb6)_(7IC!0&agEpK zqZGyc?kW-6+cBxDGc;fCQZ}_mob*<&USZvnB0MN$VaGz`;$zz` z6`Beka6&SMoIxYb9(}mv-s!+**m|Vk9Dyhd} zv6|08&DI@NqdjTaVx=vQCtyYV^6U)*mxd$!+WnYk?yyb|Ltv@XV&XxWxMU8Njg5F1 zU>k@9oH;2NE0n)(o=*n5pY0*lfg;cp=x^xBmM-PagXT;OuCPlLV0G}v^6RGhZ8`pF zE}IjF!#PlJsn#82^y_~r^}h4*Avy)L;0b0cIarzGi6&WCG2EmZ9k@`DhXRr>ne z4-j6J`T8KVR5J&3yy$=^dkf=eMPC#fSk-sM&_l(66-SNxMS}4c2KsQA& zOZrPDx~&R@mp_#yR3NXAhc;W)PN*Xuq*hxwv0<`{DX#hh`2i%;2dBc$6t!4*B?!s* zi$phfb->qSZ;<#9Zd>X+KjYj`r55UfY9B>vNp(}$<<;%on8^^9!SA~W+7~E($-4(T z3dQ#~Cc`TLKZP^B&Yp!lFxr#7+&^PWHBPX^%?1f@_0glA)P0}4droGk;&(j>Bnd(_ zU1#BY1~jo6a+}NoK^vxYds^t#5JD4j`!+x*%R?T?Ie!@Z?OUBv)wGVJpm?({eBd4R zcRpgP3G*rzyt43~KV;8r*Vj1)$1%mD?@AaMbh~6ZWNdj?Lf|nE?}=>=2ThrGB~}iN z#iq481&AKYoySieoTW`>v@h%i^GB{P9F-+^lP}?$;U1*&PaO}OF$Vn(KI7kU5TsFt zY9~xr+*?+~jsgI4R#c5R^z$Nh}VqcNHLU+&!@iuhM!N$E)@I z+oLXxCjh_VIE=o+mpc&(BqKXc3?HFfyQwxbErswty^T&Wv>;pX+l-ycd&^j9@j_?@BmK3Rm%&^sxC1bs*EO!e+<`%#TMm zcc1A*W`aCWCC~kxkL)>I7MX?l<~)TxOS;NUnUr1XyTo{7?57WTmCg)n_w=gwe%X?dy|H>V6!P`b%tv^;R5wqMGHv9QEw)_;6Uy z%&i(G-7B(ky%x1nrqSlpsynD!7}YeqyE#n-C~#OfG`5E;<9$gt)P$#Sbh~76WGr%V zn3RpNn!L#Qi%j}g&dVD(9`YoWmTDma6hr>g_(S6}FJSaMg}sATjzzFo6Y=UJ=QzOk zI|kw?p<{L;^9UNt3(94PH-JQp(w?m-r9FxEkUWTm>?xZ8B?986Um1W{tDw3A-WQzz zI-Jw=`ME{r<-HUZHalo?{5z) zm%JM;U)I~-e#Jw}_V*#)u4)dgefzDwr`q{xow!9>rzf<^Mcuvjxz#r|1VeusAU%|R zlBkiE#enK?Ud~tpwwIJ5YF<;@V*f1D%HYMKLNSqkU+7;IhQAR!`=s_E6TYq`K|gcy z2a=B;OIN4@qag2pgmTM@Y5m#7QXVUWtKnL5^PJphIV5#Bg*z;BcGjdH@1H1!@#%V) zW3+;b>`p{}*5h2_*oLXkyulaoF$KgzCXO$8_$pX3cJ*>5u0&T8J1-LCfradKiIT-) zZG|0tGkAQQ4Pwc(%|W(Y_9<@xjxN4%=YDXV5;P;OREoFV++VlRv-ome4z(ycd@|15 z-;c7NJqa3vbiGS>Trez2*3_Y$X`Iu$DZlBrTbYk)AKUgHc@tunMk2+g?>eji9Xcmj zAPdesLVWbb%aHj2Meo|UKI@V?6^N{sLKt^PjQ)xxgxALhdSKK84W^-k0UE;ru6YaV ze&(i;-mSq?_W*mlN^0;u05We;a`VI0)G+XwvKofvj`4epFgLZH>x9}<54g|MT-o3C zZnSyQr_MKXc57cI2)-&JVI#B*5pW7RNR$5?g8VmM%0_y-+YL>s!%z(eR{h@09cJWc z&O70W`vU;Z&$EZ2VfmCO7_=z|W<_37*}y8t>un%jY@hPerVN+4(Q}hx&6CLx6oOnM z;XUkcu3@7%rUbcLGYTr38Jw2`w#91kO$cQ_AK0w087k%d=6Az>^;*HoK;bqHx-MgB zGt9EQ*mOg8-Dx}KuN+}OCnrj|*=s^_+yT~yaKoD>I9|Z5rJQ2Rhi6>Y8F}ewyJ`b- zx7dCK%=?w*KlrY*YQkKyp|QSY>6|M@ z3G1c!D*0yViiXNuan}@{uar7X-HDWJ`LrzOGwIb0wKE>5Wr^j;$v&&YY!lQo(e#M& z)zp;9!MXQptRr5BiEFLxM38wX^05yWW2Mn4LRN9Q^lQWSPk+@u{vUMox3?^)ZGNn{ zD-?_DAZ0#;0Ry@=0~v@UlAO+2DRdFxo^X`wQP!!Ueo7u#@hfm3Bt?zs_l_vGrojmx zg{Ng-eJFkb#6g0XJmZxh42woC(e>}uH_jhKme_d_6itNArkd|}SwZGV3((a^*vI$3 z|2}e-b0HIzGf28wi3=20p!Z$U7?#w;m#K#eUoULfbQwt9VRP3LWX5KI8&CsPWz7do zHMlJS!o&nlPs?U#ZW(64Yj(a_spSRB-5eSkx_Y(0H>c3_6x=dL0hYRvfSNY1V z&;lbHZh?UyES0lexqi*g%+^2Mf-@qSu?p$HAgP_i>#^C9*=*roF3`W7t}(zz(KC6@ zS(k!_{Ozg${4QWp`msO@tcHc?+43quP?OcOOnQglGj>RJ+B|L@zHx);Qt3DbgXxW) znt*KrByNmLQHObA>N-pj({b!H;w}%>V-MNT*8G#@Ij)S>Wb^R)~OQ_xVLq#vOrCF`2JRAOkrZXG0Q#LFM9TnV^Y)I%5$R~ko0qzgYdk}36Hv7 zUCGX;)GXB=tMD2{umUt+=9sq{5PSi&O9^xeB?Aa{=%*kE*s{KntMXuow_# zH?sv@zx>b(p)YufDk_ zHw;O?0ex)kjSK}VeT{8~)ed>VtHrWQudh>U1li}@9;y&6f#16>hp#ow?&ZEzXhq?I zEny|^kFaidQl)2l*3*MZ*(QwAc1m~AfY{!r42ArSz z>YWyxBN*lzgMPq=1-`jB^UZ?|>rNGILwW&F;AAxL2MkVuhoPuh~4N!nh`bpTl?<+p4f!akiu`zr0IRNRS3}Z@b8Z> zQwSXFc!@VzRE^2}aPio7bXffm)P>p1Gzj4kZ~5N)DW|L?(W278JyS31M}1yJ!pA)| z^1bFo*NO&5S8)UjMb^t=n{vjG+KsBbAO?<&O1tM*^Mvga%?BzYLZR=9HP+E`1o};$ zza?30aF=4C*F|d}hupyb)8gGprrF^z%sy0>Vn@ zWoK+!WVNYa=ps5}CUElAt;)r?;Bb%oRP_hUS=#H&Q=c#v@(mPDVVyG1R)dPMEd6zr z-t8jA+fEw$eS>t81cKux76oEZDS}nq_%uW8kx9P;j;J%nZ3C--Zb%vlDmUwgd*qb8 zrZH&+PLrra_@tPjSU+|#ygVvR;IkRaBEBroX)a?md1mREWbxq_cvXPGB>bu_@dKSV zRbd9!fzv}vyf->=tx1vf7apcCglS5V>S|eA9T2*6W_B;&BY*p9%C4ygD|h5O+`O;i zfy4EO<%tL~$v3_N7~gSsi}~4CKA7oF{*##*MokMLQZnCrDuk>(yW4avfo@P^M|IC1_UA; zdE3HTSGpf=hcw`cHK4vYGJ?h$f-ntv?IO^9?bWg{^A(IGc8gEB1bnkSkO4$WT23>p zTk_~Xh;tW7GJ-7h{FiQ0x$^Aa=DM9#G_O2NELlR_D~cWn9ngNB)^*)`v7cV$gtd{n z{&=tbqq%)Qr5%R&^sIWW@1X*n3y zxfL{t^TIi&t8Kops^!p@uW4IyVVl@#)n9b)k0ToR9`=h>o%335mL$>hn%#g z@<;B_iKvXY@CtVHzz5hof+thcj|eanwvm18Q^7v3(x)l9Z36N!2xIDl1q_WgnLGJj zS31n2t|G^_&WR>#B1fifwTrkgNW-|r^e%?uT&Y1G{Ru$CXR&|376?8#^4l1(c;@9$S#wm_OrzeyQH1oF*+LU{CBLh4)Df zM&@HJ%2=O$kUZ;6P^n&eRx$1XqXRb~{m%gLYCWVwO%W!eYD&L&J}^^4liF5xgFG8i zc&RD%!G1J%k|B|yUH~HLumG+|v_}fPC!*!dz?XR!FGQ-~qfG)QE>eOOFM0wYdQQUC zYPy&8wlP#$TfadvEOjr6TYffsTWP=Y!c{4|V`p2$@7%2q#}FDeQ9E1k&06|1cZEw+ z4A5P+^K30Y?O0yV`+Uia$yKOW_)pcDh3*9xrk1(KAVSqCb6D;r&dk?} z_;P4R!p+xq9N)z;G}`-+VC@UnzcxT;z|@%2Y`wxn=$ME)TX zc>$x`GO{|pOiJNz6UU6MQZMD!&tl|Vas;Rs%h7Ajwe}A%G-To=5ISFEp?AO(iJMV1 zJCke4>J$S}V!5`!s6kZDyOS-gJHRb^Li@UX$Dwo}V78}0R8S()=yjh1rMpHyI`Q&g z&%wP&9U>tUQw#sX)yP?!A&t44DtXYfYkie58Jc`~hq|$^WPLm1wp+BDFC3+qS^#Kg zYgpR^H`Ue4zT1a%VfpJu@6mBa#8lVrDEII3*uU{GCec4_9Q~^&7mWL?2+zw?UAExZ z3vPcO==b(5P~3B5-=NZ`^?`nbkMOhWaqlUO3MHK@G-9vt_~E?&n94Qn#T*Rs5s zPFh!P_j@&Am$_FU&%#-#zx-I)^v3v0v@UoH4iC z_K*jSqs{+%BFjV=C9FOA7y6F>Gh zoglvM!LG|;c+;)nmm5ykv9Df;r+Ym26NYnLs(%)U;HLQF!SINeKy0-CiC?eJ{E$JF zU=l&S&Bv#x20j?CN8a>@Wh#kS6Sz^qcp?>!zYX1XpV* zJ2}RD*RrF&uWk#)cX1MhwP+mTHE@wKzjC~DB{hv~97|af)^OmSQ{yC1p`y0Xgs)7X z>K}_bkczXX4c3fQ63CZ)`f!EJogexd9BzcwR~fvXNCa^wNsM9rln45@X<=Gx{91ch ziy`2d5SQT)tO`8m(im}BGa4!3_G(H}>-#E6Q7*GS72QXrH*HjYZ-47x`%OyvM@~7V zW2qV2TDNYa{*{Z`iz%ZMKL+F=GiQuLtIw@^e$7zQw!S94AR4)^psT_=f|17J`#RF) zj($jK&tAYX%rY?q6RJ1wjH#^^2-U48CsR4|HzFz3)85l(do6q= zw76Orv8(y{$km|GM1>{?xH$ZnRDFG;W@0D2PKj~%US?jW9p;0$Vot)5L{DQsj#XNk zkO#gcn?EgcX}Cle%icQ7sK{T^1!T-!z-^IdvzfeGsyRtrC?#p~hW`#5w{nW{k(Ha5n6mlGQD|bU%ohA zU#&5xwt?@u1;h8D?F%v%)_1A#pv4C&&H4>m7_m3`5}ub3T0CJnVU$7D_VG#vHc>C? z0(FoNG35ZT(Reg%d$pekb8^{h9xjbR;jKJZaW(DlMSsY#o{k*Iz;uJ?t+yfynH>T& zN{rkCFSWF1?f`sMcgE~jmPCn{LiLEmDUTMLl69VgZrY|9u8nCKw*ASnMmgr<{gWZgrwX(Nb) z)aRx%!xP#>Oj7v?Hx++Q2bmvVWWMrHZN0BzT{ABoUcfKcn%UB5v zzctJJ8`S(QeEqkKKWo_SvJ~ZZ9cbs8`P-+s-=x^X+pHdVGL{~egT?5M%Sa*-PBe!~ zU=6hBunL2-twhguUM9X!B^^$FJP={u$;-L(*7vJ`g{3FzATm>0dH5KSGORXXj^-St zZ21%Nxxrkb#K0r~_SIW)%%#NS*q@W-dpn@Uf7+Wv$IfCMF93ou>*wS;PCR-DLL%Zgj#9 z=V}iLO*==lwL|ijB5HRCUO2A~U*P`{_;SLSYQ=;4;{BCeNj)vxFZ?%6uE8lMm)~Hq z_Q>Vp8FcD=KAU2I^C|f(lzC9l<3O5>3s73Z9et0Q;O)l{=S%dlwY%=V3Vc3@QFog^bXdv5jYb!5v8f# z+BS*hbm?@NPsXk%w6#L5;tWZ6kDLrFS8Qq4>(?+eMxOP~8P`q&MpV4+raoVH7L=VX zarayvWvHDh{F+O6Q5SwV@J(0bm${6?;yXE)O`@qp5nnhR zXc{ADJMCBlso&MEl}-x;k7S%ZTaeeee~B8)1sc&<{&L$@9@D*eh*G=iZ0!Y~st#q_ zm3KhgJI$8^btu8gHNS>53;+~Ts=*b=Tm|Pizrr1?U_CVnLxdKhJgKEx2KyCX{=)}V zNFRGeBgd;Wd=%FyXMR@_&H&MBTSSICoJtkfR$ssmLHTU*^5#G*Y3XOLE7wpzvPZyA zWOmb9+UQ)EsSSuDQ&Fq;h7eVoi-6_pc%Uz}TZ6f_jhw;c$G!cm0eJ)-i!CTwg5~xb zYF>hwsz61Ip*0Gs)|C-^Gboy!`C>LbxCT(L`Q}z5>?^SNePfNSH1dxd7{19cewZV_))|#Kr`9c`ThX- zCJl=QHW@{bVZK+TgX zMlm4kx`A;gz5o5<3;NcJ%2$4l zzCWjWIC>?S-tGCPdRb+d3TiIuakX8Oq*(C{oiV`ON#V04m6&mV>xiS5^Y!-QD`6#1 z5v71^9690EYo0TIBc~B&es!2jk^>tmAYH)VH`{gk4UPi9K%gVa0AX3`2h(kRrwTWv zVCO>o4iGBRC@4yB#UDA&6E_>YVS?ZNO1R0)M2 z{zw+O(n!DhWjs#fm9i(u_d2bYt}!|4_;8&)JEX|TX6{|t&znQ8m>-ZdztlmQ-t&*Jg#dJ;aNuX*zIN7k55wEI3u$zyNkqbj2AtL z1$sK86_qL2*L?Z#iI$cb;En9k*UYTsIYXxq48}3 za%cJkG54|g%*;frO!bmBPZPbpU#+12c(u=hUUl5!yu5VPH1+6S*c3#TSJ(9E>hS0| zWb*UXPwqDRJ*7nVZDsk%WDb3Cc?42Dh{fWwu+pS1d;y`M7=oK0oD0it|CW^T_5T^6@I-8@NBIKTKD=mqH|FJWmlB$eY_>{Ro9Xtb zBA?AQ&UM#Y9lHnJA)p^;+9Rn4v;YMwaz7ci8kcU?+bfY8G2!SqWER1n7tn0D%~5*Uuj)0b<6G!kVoL17ZNQq3Y*IDQxfTeVh4R+q0?Au1?^7{D?B4+Jl?L0j@7H#gS1nVaWnm@W)9z*MgNK5)H4zOj zyc)O77HX~}&I5_r=F)B!A11d;dwJ_T(D0c-sgIBE#i0nrjB|m#t=nvFj3|^ztxYk! zGAIvC3=KJ-&HlbY?QffYelvEwy%Tq)p)2`%T-J;GN3Ov((=}I#p*AC8d<9n{7hx_y znD)wc?me}>;?M3^^jmLhFZ}PsyY&>r8@icCPTDhov&i;u5YY-~FP*)u! zNF`k7JJRmT4QI8R9ZsI_NHYM$a@v{X;mmXR$l*wJ>-BI?(&;2E2tds$EYh}asqN9- zElAE0ZNT^vFN9Ge(#vF>-=F?-?IU)yklnMows&A;jL5gZfT*KZ+=M6$h8nLZSNx8( z$Jc)jSbv6H9(9t!E;zj|*d-IvSK%IX^GHnp$GuRYL}@UMjS;Wd?f5ibP7kW)`O3W3!M8n77TCYx*VaDV$mx;uKCLj^3UKAW?X&n6 z?Xvl^`y#0?!Cpd)!(i=>n|4H2AXfKoi?booGOm(*G6BB^`n39C1aY(MiZ^?5w@wP9PH|V zy^MPAh3g67FWIIMvvOeI~UrU|ddg!wa-15Xz1^)C{_F)_jFsIbErVcB!};`jwOzz za9W|Asbc~zqm#86=C?dNfstzu`2619BYcTdEuZ3=NNRc#v$C#|F zrb`%_jO80ya1T2h=MEaIq`@)bIiS#A1CKD>C)2J1$(PU1No(TdI2cf}=9` zDP*~6-i!(Mi1%e)$D-VKxax>7eueUbx0n{ZImx+~L^iIGzwR@LynfW$f^5hxo$zgv zp+1B!Yo$Ye-p&qbe}Y)40E-UI8XyMMFIK3GZTm& zf&;9Lpaa7}HL#VWl|@=1f~-3!F`Su}E1Mx|rBY3 zWWO)neK|m?d3n++0+F-r>2m$;x(&qn_)7}&`MC%LxGH(~h>bMNw=Kc;*!!?L2n-w@ z)zhqlf)-5I(vr5^ic+VAM$A}b*v=Q@7eZ8bmbLmxOQiqWa{kA|L@HZ={I6L6|Hi)8 zUn_v{g4%~khYe#rLCuLu$OtP{Z(Xi~Ln!4%W{3Oae%cFkeG#zD_Qk3<#8p!LI% z$-3c;2gi`DOV({iHkzB`CJTV1AIi6Nif26Db=uFF&ceZ$cF)30X1_JSK0%T4p3NRp zk}!-J(o?Rl#o8zc#q7-EBPWUP%6VfXsBH82W;k7S@Pf#xETM^^MPMW8dKet4$sNlO zSyB*fXGb=qcWaGD=BGxC0b3OA;o761EQjz6}C(J<<+3)ZFvF{f;jpH%djN1rsuPpj9fwskeH(OBe&{#tt! zo%`(aMHx^Keb5VYbq4NwJkmgIPSH{3A8!|3+g>tF`}YGX8V6I4VET~&fw#GjrgU)>LX;>qIq z*OsV%e?f;2J3M$)hUSknn`GkiHvZVA1<^Lru64hTGu!hdbKf!A^D&1tzNSf_whu~ZrP z{s64`*)lEbn(+7xdg%@z1I)wWZ59g|K_#Y}%pmf?yN#_^(w{dUxvC`W-%817;fEdU>t9(xi6@p?rL#ajU){V`}Z5AGGP@gR|Tkv~aFv$6!6fVab`v-h}nC&ey zkqcthI`x{q9Up(xs78m$Y|xB^rVlE${F}E`1unCpsVB=p+G%oQG@rL5@2orDsvL-V zWiDK-w>tFPU0XNYmA5_Qm)7MX7&B)s(^Sh>;XFgB)tZ-;_dy21?`?gI{~te{Y@JyfMQlMm`#uN$3~}T@j%V26eahC z>U6gqtqOZbQt#T$tPr>JU6NMs!K9`-H|(XKqr!AWjSpo>1|**m5Kly&>ftCJ!6qGNbVS*BhVL6+ z7EH*_{4h9-a2;EZ$f8T!ezlAK-S@u&qLrE}wrwLZ8hDTH__(Hk~lq-KEE%WNo-&$z*FuNbH6*dR>1`z~A9-rlRV~@dKgD8Churw^YpZe!MrH6aZDP^q zGTJ~?R+p8$u|a)=8uh)A>mIH6OyBHD{g`sxvHG5*gwTQ;Sf^_nQbnH_4Bz>uCd+KK ztTx|VLu~>9XEps{;vIUaJL^t}8s@q{bQ{-UoIbDXF}%T^57mSfYtmxYivm1~!67-+ z|NkGDB=e`vCJCVZ97Xp(vRtP3^gu^mXkGmhBq;KMU;c`3*Nqp4cxJ+mZYtiY&xpY~ zB`N*%uw-z_2X5(z@IF}4xI-flOLKCJQ0F;$Xpz2&CB-PLA_Lc)?GFG zk7G3)3&_PI=jTQfH?mi*zN%`?Zy)4kaaOk_ADvQKjt<=lSHosBZ3nAY48hW`HvVJ z)j82=sY2-LAAj^=$%NNWv_FfOBRA_%z<|D7vR_@aw}U@kutO}n;S2DQnoq0Fm&n5( zJ&xJ+%$rLsX_Lv@E9nh^)&S_E}{2=e`trx|N<1yVx(56exo#GL}RoGx zJEgzQP#n#HJp3b?K3F^ViS_Py9 zU;fEZ{`Cd?ADJIsqIWX;N$vb-6AcCM-RSb>m?n%tW9U<>HO0n|A1X;9FtJYE#vn43M0a4QO22}5X`1}vNbn{@**_B zI!Jw6oD3m;mFJf0$Gox}C2G6$EC=H?2?JKLSYq4D;5#sN#^S=H{w&wP1%!;4`R17^ zL1=ax7yj2_JuwY;ta-O5mnC(bOWb6l=D#De<8M=u>XJ!lMVQjctr+TRw zoTnG5E>#|jB0MA)pJ9=u-50z35Kq-5&eIFNYgO_je%Va@!-I+m&Hu;c{yM2-?DBR! zE0d4m8pf;zk4hK@-Jz60>w{n}cJy@-&c2Md1~=oXxZ+?8yC>A?c5Q>qDZjB+&T!)LObQ}{t>XDGma1+A-hkzk>)AR1A)*xBUjAJfHjtAI;y~BP0 ziVEqzsxahCbW%23*@yE`APc**xdm9;4GTI)9us^PE2=6a(ctE!f_B$p>b^lySz-?+Fk8W@jPuq5SERJ>4gJ?(u&G1``4r3l)aKjq)M5_IIxmr z{0op?BsWWH;BH2Fq|=e}U}OpT(NnI>nUtNhb3$K1D+qWpG(~qq>4V#&#-A}W$8+|D zG{Mh^7B2FooQpEtuU@A%Zl+!IHS|;nk-wkwwmF__U*1_*Sn^#yd$5Shv0GeZ0IxcR zO&?bNY(ik1>G4AcO<9Ic_4u_wRcOY&2LK&}BWYyZxs{uG()jL#f2MSuskoBtAgQK# zS;~cwuKoD<63;c`Vz%10Rmw!IU1w$Myis_{Z+qV3Gmb_LPORMV%*hw4y=i>w;`87j z!WuH4q3Ty+(-nXzM5@GhaAZU3rhz2F;`Dnu8|xO_81d6h%H&!D8z?uqRQa>ATY~ zb>ujC@O@xIu1R^uQY>apU!@pqKGf$dW(w)2ojc)6MxlyS@yy#cDUGc;yS^0^WQy*mbT z@4=u+_vq#K`nz2hn2Y4WsgP&Cat;^PrnYO`9tUt-+8g%R=_|r`B@4^Z!B= zAWaKjn%Cs-2~#oVLhWoQ@{rN)n2nB9e&krz(4@b|$Gf_8A|PNMfogpY|58>gK+7}2 z=a5T}nPO@zmVz+xEG6j^fj!&S2E0*e=BfJP@Gl?7EOF&hK8get_lACT=?r_R@YqAk z#gHo%@4L)R>5K307l*!$k;>*E!`?&a3cotAaC27A7A6c91<4ky>2}&QisGu63G_wv zB$;C5CR2{3GN9@C!``)qn=OvXL77^P&Z@WP65&GeR%W)Huw{~k4Od90wK90{GyK># zU+<;F?-KUk^6fttT{IZW#J-Auy!R*)Lx;n6_HdK|U|Ox2(uhaCyYaCd- zo3B4Lf92FuJ_|2Vy*}qsRMF42v6m7HhGcEiHM za4baP-s9t=n%K&s6D82}E{pS>4EwyBvT=S`LnL5Svg()nFO$^6t-oEY?)fgSY?PE| za;~>>VWr!i@K50Ar^_lFhXHe~!8V5sb)y4a+wcJzTV?SprJ~u^)3?5fuBmGnx|RE^ zu%8}CXW97822UbyEFkASe`g=JfwS_q;Z8ykjH+K~X5K^Ry`jg=OP-_|i~Rbv3!Ws7 z+>}$*ky*%5Gp4POgZk!CbAaW#Cvitt(Y=F&8Zxn*YHm!=y)6klxdDyPc}+J(KK@tV zGmo`2q~HNpL*ZU477LmdG$wW%M0-F{Xs!dwT0*#7{7Pb9lie%?w+jM_I42=$5~?sU z&%uUKAamro{y$_6F${4x#=Vf>0Tk3BMviWUR7_jsbdg`ch|#XPWG*mpIjEMSxHmf~ zXZMR=>?;ohRuV!SAgS5DV{POlXwC*cazHGG^f3@&Ah_maLTV63oQTSCf+l$5&7s@Vvq(TtYDNExH6BU%hkzv#&e?a|Y%?}4Whc&}+G~N^^ z;UkqO0PA9#09G&@0vO%uR%g z9}FYI!B{=$>_l!>^117dtHg-g*=1vW?v=zwZIVJm9hds2j72Slrne@Ro&=zMKsuxuw?BS(QbK(giwcNeT#I<`iz6D_IQ-p%me_L zr~(^h3YbMUy{C@vrydO-!&+ml3e}9YBvHEWKDi~F^qX9~nk`SJhpjg~ijhj$O_ zt}Xo&CrLJj+h7MSdg+kh*jM|NQ5@p_+A2?K(n;^x&M}8L6c@>)o}V7D5)tgVm=B$_ zg{6KF=)>brGc}Iv5bh7%FTWhr*u*ptFBwBZ+3aY!n-K@GHQYg@@*m(<dfiuseX>j1 zGY>6Uew!d{?=Hc0j#1oO!SDx6P*Q4Ijx#3+K0Rh16G}KiowSU|C6IrBsQ)dxqul+| z#G{*3EH>2x2hVGMYr9qOhlvHfFg3w(9}woTse#0LCH|nXMi@OCI8M`0D94w1@jOGkb$sEwd6#Bk8`x2Xed+y2#z@ksn)DIQ$dal-|Sk z`Ekw5N4wFNEInJfz=}L0iHI~bn2h8nnZ2N&MIM=0>+Dfbg$QfiMb|A3k?p{FBQGya z>k_2`)+>uk6wcvyf&W?9xMlD)Rh zW-I`S?a^uIyHWWgZQb(Tr4xLkV%c>!-4w~Y-84MpzEAu!X8XU1dH)=yQYTzQM4>s=!jKDE zWAL?p7>SA^WvJ&s4<1RD38_-D!tGwbsxI=>jM$>*wj;lEq?6UvD$|W2pSw+>v3&fD z*DGczCD~=_2-2H0F;viF{#cRIw9ur)vVa#=<NfG&(1tW349r(!Gqey~ zDBmZn36cGxWRuo>N+YTS{43j%xsy_U2m|MVqpNg}fRJRbU^Aj@&os+qR9U|~q`7xM zxN?n)zC+mNe$y^7q+RI?V$)oWRTzHsCAD=-9lB+%{%$Su{^B*Zm|c%7(J@*(Kwvqt zpgqlYax0vHi<0W8!e>@`nz(~+M%#|`r;cZZ+2e}KNlsdd^T;Qh2H`8{j^x2w_-RRk9^~PV?hiV6?84BneF$0BxPPefa$|Y%Zu>3olbl^O@gP z^81p4;)(DkL2kko&b2EFw`J?1R)kSk0vW(g-bBzltH80Fzkqyz)cE`+tqUJ{3<{W7 z=n;96-a0D~B@}NE{0l0OeJ|cj&hGB7-1Q&uhH}?_>yBF~aytYYhdfHRyQ(a(L9m_x z2zyXq$S-DUV*FkPlK)J(pVpTnV~sP6$K_Dm#rNFTV*7?#_)j2^+LHw|3c6?coiY^^ zZ$Ez)yJ#-NDfJTKmU@h>3*Ghw*Z`i?)tLxVy~qcG&WU$&z!X~Mb>A%i2${L^rsCLZ z8r)~-Ydw%pVw`(QS>-|gUILW?!|mzFXidA0h3$7W1e59)vKQd?CS+)7^IF zGeRZKkS1QpC7sY4-LUl!MJt;<&K=1yoTc7dd8HeRjizEh7J8pOX;d=z7km-@#y3Hk zbSO@*OMkZK4V(7)@!o{R2jr99;YU*nPYu{{vbL}LobryhW#}MD7LC;jAFfD_Kh)hl zT?^u^yZiVws$bA24p~>lV&D+}c&gz@tj89izz3uNIP7IZ-H^EANc?Z3>3>b`TzdZE zlAl)l^j35IB<`Ui1n}BU+JYJYUXj2?C8|q-%tocU^KvOQsXUyNHvSRs>O58$X>1Z! z^wM)SxbohpW`~RUE3ZQ)CS_d#PV-Qs{x(4e0|{LTViQY(*6`WZ6FuvKSfx*9lZmt4 zU92f%1!sW_FWi}KW!{hwRJzP$ARYX{{X6O+KBmd7gl2Jmn_lO6^-y{!PVwl?*ZVzkYex zYr`8%=}W7-uEr1NWvxJdOtiD=^JS@J_M9R?2<6*Qe^k5BuCO;xi4qQ?n&0Ar+AXon z-h8q!?Q?h2-6w%AJTg zQ~hEAeH%ZsglFALd>Vtc+;>I?%*lv6$l&OrxzlfpRsuC|>C+r*2ooJX(qeuJtRZQ& zaRTJoaIdwo6qoX@R5qSI&lVUjD~J))ekIBbAz8NcwZRpFeh+{`Wl7`6j?VZ2|v=ewfD@T^CgnpwE(Gb?Fmg! ziBfH!DOtMJ6)T9IL7iNWe|$R|Eu^j+Y(Rf~P`D9?z44M-@EFfjh()CQ+Hmy>funbS zup2#EH!+;sAn~c~T+hbDwb=&tb6>*R;QaeISqA*|ugLcSBEM(9zeg9BHRR`5&q@!% ziGNmYe(Z*$7dF+7!hk{iYeWMv`u1^+!bj1!V4GeB@vwJ%)C|wruDu5zJJZrh!>he% z)69F35=?nUu+LNEl=T~ZMe1D2)vf(S&&wYc!}n`vXi@}TJybBv!~@M9(EW0MnZK># z)!Nh7IEUsf^@Vpx4OS3%&y(L<`e`b--Db#AQ}L*gl*kPPJo;yuL3DgcCFyl4 zu-o8K$w2XWMz<<(5RZf@3KCA&Lv-51VZWjEe-DN7y67i1H z<8N-CDMhWU44ZsSgR(b#=~)GQ48v7-f8~T{|4mMipBvr!blrGt7&ZKm^#bpJ?ZWa$ z)|}xyiV^Dy5W|3jejh?NZ5Z&asFC=YP^M0#G|1a zGg}Iv`e68DeQ`S`o2_VA;$sUU5n z`E)r=`_)4ZQArz?V;9F%%~Vxr|GY@~lMg0K3&e}%FgT!A`cbtCjf+%5sgu_}hBWi5 zq-scs&3;G_M~_8%LEdq${E*4DXGow{(R&wt}4`lam(9Q+(XO!;3ARU@xOulh7WG7ns0x! zkN+u$CvP~2|AxZaK;>`_(UeX^>r3%ihr z-BJ`U5v-=pX|7nMmlWO5q~Rz|a~WU5rze#7w2&I7spZ_|+-_cPhmBf1?cuw(mHIaA z&?;QkJn>8YoMnqUsU^dJxI_KCZqOJ084d3IUV z5^nYTUT(m6Dt}c;CS0~dWX?Qle0ylB5toRek<4y=;+10~Vl6%I5$%R!VW0CY~$t5X0b2t zXD1OYscFHVZb;LG?%4kvGspw!(cbZyfcwHN4W`u80jif*(YVpEG*8&`5QWQFNfoK4 zWhrWuziNl<#0E_)S+6DGSl;9_)`%A^B4>#WEA76( zFW%NANx}A?W39K%a3K@)f-Ol-$kWAnSu?`q|?xhf`9Nwm;;~IB(){Vc(pDprOkTdDC~6;^ry* z$Iz6aFhB8`sk(cF2Jnaf$0qsbpPF+Rv|ESW#P)~;s5IG;rP(%y(DG@c!NQC)?V$x2N!(Ubr;pq@5E}iiTW# zV!)Op!UtPp3qD+S;6&Ue<3 zl9*-lx8mvFu9GLD`1T@MfAR~6gePyC)iqLVS3O5ZPP%aHR=vq}5-y*XkC^NEXf?RA zDtN5f!=*p5Fz&ifxmPOatr3Exyd2fjZl86RmVfHkRS>8+*parYCjRAv5+3mu>$S`p zk$?#pdyl8=PF6DXap(h<2Pj8^btdN4F^i7b;AdWfVy8n*gm1}sj5h93rpYQL$Ns2= zQUdE%u;ehCnS!Xmc>e+HiF>zA@0+rm>nZ`VBq%U{q(|=^=PK_Dc3WmizhMd0%wlU# z#lz|R#ieP_WdV}|CsZvona?dUX{Ws}6Qv8u%<<)=KG(M&9c&xWGCMT(@VB=%Jj0+G zOWEKA(${0m=yEBU;*zmLmA-aSr_1|4n_`GX1`kEHr#vM{gm!rPzWyk?;C|Ts-JwXX z(FX9PiKCCBcHY$!XcX17SNNnf{n80e{mm%Df7DI%JtJ&5U$iKzSvW4uJ-AcM@ceBv zIn1oJap9_UJKYUQWa|GIa9gdVl>)UzHuAk=#d*t%uD6}`Yte~y{W29?c0r!067v`{ z7@x6`Uq6RwMe?FboV>8dhsU|Lx||SU=hj=Dzi*d+3z5H-8Tex;QhJEh)RlUmXqV9>d`AvJcz?N~X^p5C^to>_ zW-E2KG<*^}L}XtR$@R3M&&azmscpZojqcrxPOy6Ent=$MPtppd`6@-gvz*`+{nNxt z%4K6#J6dBt0e=&U1RPt2<;CP+l#t4#(GQ<1o7F|DZEB?{pSNRs68}OuuVx3VORcxB z561W>hI$PSnM&OSU=0LD;}ra{Ry~CY5#$2~zZSj%-oZZOk)8VsFmDOIQ^=OA(|Hf& z<%I%A6#j1{`KS>Lrqid+knsE4hlWw8&g8kLIdM(=ldUZN91zX|<175)0{65p2-H#> z91jzY(EQQ13Kq0@sm&p0g_9Ez?7Ywp=TGdqPI3UpP3;O)1@>?>Y|m{#0zbN{(%SeC z6z$z$U>Ohd*xp$vpCdWfpCd4gn|;o`@D1YmvfU`S$I_rVfKQ1kvL+C&Z>)SfF>$K@PS^?}dwXxK(tNt>_zjUb zUyO&`8@2!ZPCvTFXgJ;Z;PI>WFkHi5#GUe1e=fZP)%vKj`g?@n znaw1T#X~b!oo}3zd|{4V6ry))c~2F?vY!{vPI)fqzhCw4sGnn(*`}BL7z#UN|Cw6H z0Tc{{F69|(?pNgqSHow5=(OFntu0c=Wjg`VS%TO@NxDWRI-)%%pL0_qD1ZOdW6c2G5UqQaiv7<1r}VHHwaJ4)=9#+_C)?ALOtPNP-{s-byO6 zEq1GOp_@JU+1r1BP|T+2?L`5m0gsjE6@Pcw{CoDW)A1&O>paix+cE>T@VgaWt4pv? zY@&Pf{7`$bHZxexNMXTgZIGOa{&{^W_Mmc~WlWODU{dO!a#WX%FzKW#tBqh}>7z*% z;}nNsTpA|b3TO%Ul!a}vjfK8=PbJi{&L%SgPPrfhnNFjlG`!Z^-qO7O@q2<$UVjck z^jz!R?AU&HtF`2hf@F<6p1^i&k&GU7o)q^Ywn(c#=zn5;E=k3pOBe<$gGgqEK)jqH zW7a`Y@Hgkmb<-anW$8nMlYq%Y`(RY^O(>Hq@BV4$S~nPjvz}btX<$rSG2C96N-p!k z-N?)V)V#eQ`n|EDg)`Mga+x!0V7r4$$cd$4EZp?@ESV!8Qm~+=6su(l+3q9AX8jXt z$Hqk?n(h;>>nn`2U2}8%ILgV@Bfm`&ckI{<1UUpP7U_<qogHNiEwag?Dcv zSt`keA(yi{^P+cnOA=ZFG>hRo<@dq*em;i}@ckg7?|f5@O~E$T>sHjiCvz{Y6|NhW zp*VL{>YnTD%I2MGadg3aoAWsR(!-qg#o*n6eXsmzUH!^ zLrHyVyIgFq&v-Li=V8Ev2Dpm15NG7qM=t|<$?Tkp?DVAB9P(EbkPAESPU(yFd{eCU zUd$<}!-yg?u7ouvHCLPKf+A5C!FJ7cl|H?P(q$sz{dZP;X)-+5A5(@L*3P6;-vIhJ z>fN4-H7X5RxgS-Ww{k;yH=lLc7xsVrM!=r^v3yPp5dLlf42SePdv1diGrCYGja^ab zvM7t9EuQo38c%Pjai6L?o2r$Hua~A_SIKYWba@JaUD}VL<(B~P?Y|HJZsIAkl}ZI# zy4>{WK~YkMei@IAe8L4`Q~_zVQxRKn$R#hvs80&HOC@x`X`cwHj56Q^nn~_W8-X1^05Z=sz)zw@ ze^QtAuU$J(ZO$Q+e`gTPK09Z1tQ9N=6ADeO@e<(JCd>YlT~cmuFr~Q1u|*G{K10Ju@WLHebR60RAl_)jh2* zNHjkG0%*IOlCnvxEw{>@&RFjQ0DF$M%d4LRV6>h%BwDk?s!Z+96a!yBS@-tm@BLr8 zAg?plV!x-RB``dc5|=KCA=%ZW$8ryzurCznG{-B3yD%34ECbqWLj z;d<2?0GAV8=?){ya`unQ%*H46q&~+?X#@V{>kx)b&&Um%?>7OSZ^)A(8w~_~yoEs> z?-c)e3(x29He9_=$@LEsmh7I|>gW8IPUtf${!9D1LV(O8)xR~Xw?>!w{=c}p%#YHVB!utxU79B)ib)+lswELZyhv=- zMJxuVQbfnHPEanqM&R8G@Umgexow}3L_2I^uDy7zUsLyRdNN%3QSM%1UtpBOkv{>N z@ixQ!#6d|yn$>b(#4^r=v@Qg?$sYMJ$hVGg{CMuB>&riz2L38D-8aDyY5*T9JQwJ} zw2-}AB`p9eY=HEQCa@wa{3(is_Kk;e8uWV|my_dxJQ3CV%ayZDH}4D8-OReMJGr%a z^3=npHbb2fLD{ESJt8l9FV64i(n|e zZ3188&+=D`cbfKh@xKDbJ#oYr5y>GETD28xwB3H!?LZnGgduDXTfYhZ3S4$eaZDxL z3^YYyD5XfsS9k|Juv|7scKj7S9G1TC1}4*1JWRWx!c)KCa4FEV zsL`jYH%{pMcyIjHaJJd0&dZoO$7B-dq)RqBK`=6n9dstl%|=g2 z5|{WE3^UVn7*ZC6i3K|?cJUP%MQLxo!8{JuQ7aO&IOIR164VMlOp;9M9(RA*SaYq! zPUrun@m?#RQ_0)%t`2GV75z@*$)<%D3k^$34=&8T`rGm}Fk1r$G_sokJ~)xewT$bP zOY)j!ubFjpGj!Q0E2DP3qFdT?6ZSA6m_2m2gu)tRnA}JyE&dRy;&^k zw{*r<(z{Q)AvZ;sN8j`@+17v;2%PAz=?Nlb z;5a%Xi#s@0!0~HW>DE&zhKj+KF5-gm5VO>#L1lcblw>ty1QHwur%2joMyX-U3v$GUl~o2QC;~S z9MPk@^cukS%Q8*dbBEJe*6X*f&&9jLdgKhS`9~eg4!L#B@cRt*;rA}_Q>tQc8FDvbQ_mEcD z;{9`Fja&tjtkYa}zQbaw4T$ptDWOl)J&|wqX(~XuBb!#-@T(-gAaiRY;sgwOIeIi^ zh{#I3HkGCD&v!3U8KN<~@^!HHdf92o|`S4H3QBT(r0r%QZtcL4Jsdhub&)Q2|-&~9i8BAQd zHlSbFpgYfs`@@S|+3vtSrtnhL-_QW!(&A|^`n^B~Mng+Dw#0zXFV!xl3`~kS5@!Q< zdSQ@}=+bx8v2WGirNn}=hX+`^r3wF$Rkq_^$kDJ_c=5)-nyZnpQSx#}O}%Qa9dN^` zZL7M#4YNsqwbN9bef>tUyIki=yWBWzt#oOG_FCIi0qXP3Q-vb|iGG9laYC+U%cmwH zUW_?R!n4B5PVO((XkOl4(FLsFHLF{AllOyqwk9K;omnGEsSPc~S2| z01U=3H^3dqD!kBV2&whFBQWQ*b7mz}p93^dUyXMj0q{NYCGlUk%D-%EzrE}7+J2<$ z@jK6a?I;~o!pC~>Xj4w2@}yI<9jMskblj3{{72Xsf7GEt-bW3(S8Na9BDq z4NKJ8Oy~uDneADo;AD> zpKS&%BI8f7Vvx!;!9qY<`|Tl7l2%_98QCV`E~TEArXFu~%ibJqS~2J$cx^SmSLiev z|M+a8TyYU#*O{3NiS`w@*hfX02^!c=XNMIm(mrL#G_Ei=xSRR%55D=kKM%mK*^KsZ zTw*f`=t0uiq+7FFI?+ejS3laARx2bPAs@BSdYX3>x-YzX^VP`c$gotw?vRfVnw z)RDgGv~iHn&zzHZg#c>G0R;UK0j;nIwQqRB3(9FD9-ArOWOKP{$){+OnH!M9(?PFC zL08k_9h>|kZ0&#VK=@7S`)3eu`u#=*)3-lc6VWVpcgd?q59AAx6=Q2yLYIJhG?&!4 zyB091vLCb5p`NTt>egLVnilltd+Dt~sCsM)t8F{@1;|Q8wXa^n`}^5l6Wsx8tT>xg zTzEx}M)OLSEEgaDyTc{f64`-_)0HyXZE%#Zk?Folph8_ndlLBty^~#-_&erg?+gaa zXdyR3p@3J1N$F3OgB1S=>~zu)OY8rC7Qi1tF8c1OZjl0hMR5hMoK||q^M^ynO}wwb zOZ*o--r}$_)5hYkNlL^|!jO0}6u0$7>Dtyg2l@^tEzBe>%qgBVAfK1mAJUvP=DiLD zmz_4=tzsfr_*PW}>l*QC7<0@k*noQ&zo2@yt$0mq zaqgyZCim^uzlfFJN6%%af*jeqtE7ot6sS`)P|6FKdLOQsqeAP2baTA4yy+ z8pi}1G}?yVovRe+&FTUPm@F#Cny8Fr%n3%2Q{-)fZ_q5W7W42#SfeQ?LEH1mb&(Nc z-xzLvvFde|aZP@|qT}j&Hb; z6|k>w0V|5m+rmZBs;`dBrSjO;;%&#?OtaT_KrJ{HTV<+DMrkr*P9z33<=)ZsHH3d3 zU~u1mlS0Jm)@0lE_Kg3S?U(cTJVSTV-3bSa{VxxC0_as@e|Cqy)lC3{I#9;stA1hbnjt) zQrx5Yaq}n*hOlZoEo&@p7N*sUldM(rIOV4c49qet96Mjm7O18BsI27veMc|nlN7m^ zyAEPtn|tkkj*$5RqbP0W(ok>xF3IBMjrS!CryZYsZ(uM=5$-L->cthMZ1T>~vZ` zsef9??ac&nz1mOpX3YXzdJ5>_-lEx_T-95s^24(P($t(_p67rtZQSYMPg2H5gV*9-HG>zLK* zU(z09^Aui@!n}u9UM8BPj}(61!WcYxIqCu!gqB~=GTPR8%*&gvzJ5u9yzf6iX` zw;B8IA0W@U!DcZfDz-P@d8B9A81D3nl`++k5{IMS{nmE}KoKOCWMfuvnE|a%pUv`e$ys!j1Ge?G zqNXc1Z_bFA6^*XWW0;sa=4AeIh2V8fTpW`>7fI>qOLl$FrSr--q-VZ-s)ie7?xg@8vR~^e(}Uf&ZHwt*Xd_66)Aj!Z6!R6hWl}=K}xh-fjD1>Qi_AK zxo%oWkEwRy+=7X^C|Vt=UKRHQ7p*NKSmJL+gW>RFaXE2A}YMN~;#dBj_x=DDn= zdcF_AOf)oYAdeRPqyybh>eB^;w=HWTo!b64_}U&Lgl>@4nL;cLjQs zlA_Sv%YYem{usxgOWt7vVC7;*tv9_11EL8RaS@ld*772jkn;dP&vxfW!yjSZ6~3nu z#FR#qL;B3c;;y_%KUq@d0PT*@ibP#35a8ZEF{jE^sVkWlwYZ@Pp-tYwlA-%BG3$J= z62}OIX&S(~@6GpQG*=y8NCNYmbfVx<@AISsf`K}J!=s`-^~ew}8yKi^Z~0A~M|PSt z9ITq>c}?zCfyQsJ#7fU^q&uJ3*0P5?Jsmmh+#{}S8Jo8o_mMy$ z>c26@+@Ay*-=A3b@Eq7<$ZPT)z)37CVInQj1xxV}iZfW2wt|Jr*-0Z_^&ciVMc7T! zBbR!aWPt9tkg_hmG!qk9l`m_`Q3aI@9i^__s*XgQIr z?s*M3X(uZ#;T$Bmki*KunkM>XFyY-LUB%puR=$EV7p|a({kSD&^H`G--NtZBcShUH z=#|o7u#qkND{)(Qz$Xe&ZV2I!7*Rgg?^4$PTCfqkZmPQPS)}q0ns)igoZ-1QxHX@s zZs_$dpUWf|o?Rxat}Fb`r#vZGnn*>veR=E@h`RY-U0k(N;|L%u7yK1C+)th7Dp)jL zl(W?r0_yqQ5Oi7VpNK8W1w&}ZuFh&F;$&b+HM7>xYV@$bh>&dg4Qg4*_am>QlPKWQ ztsYSxZKwP6!ar*bjRJ_(EjsQ>FygyThJ@=I{z85fJ z4dk;v3wYky^rQ;?go%LOm%5XEsGWU1H!$=APkwF$1L(nRKj*0>k`-O9>Hb%!^M7#8 zzXr|mseWYmMqsMD&0@}X+*pmECoie5MZy1@Yzu z3Zf+;s!{IGdzI%pLmu=>qJzzP^HXBwMg`6vu{nVHLZ~CrH`NY_Y3M}BgGlJxKIEis z?qeCV^|mGatK-zv#1PsZ8*JuDF`NCN*LYgsgH@^CQqDOq%~F#7w&^I@g@rf!ZA)u= z<;ldRG!ql`qMxq2{pQ7J4xOPdy&3N_*YM5T}(Zbh%OHX)7WyV++G(8$EPu)zQ0Q0HJ93aHDXZ z5(ZlKqBp2mYNv**==399xM0y?TD-?AVsD%IvrrgR4ql!Ib8^Rd2MO@4mnsK>q;JPT z4CV^=n^D5>M+in6gm?#jFc<*`;n6be&Hc2;)84NBjJo~bY?LJSIO3sC|G}X8D`5SS zE$x3$JoVjU_8jiX=L8-j;|D~RN{wBmI8Mu!<))`k_rk9U5Wm8%Mk%^xhH|k8ZT%5Fo6C-Z}tlJX?I$y47_M0?bnzd_6r=Ra7TPbaW-W% z9d=F28C<;tklIJ(o%k{{Jmni>GzDB3$^b=eEgPm*%g41i=mG1OTByZ zc6axHIcUX*+Dkwt(^PY8FYL+F-u9BLqIzttGQ=C{O`XCq z^C7u~z+4Sf#1GW#t&gp)HMIHOXaOhwq#R>~_nc|!BzcE%u2-otzx%(DivB?|XmVjx zCOz7x7m0oToR#*?%6Y~U)%HivMb?bNhxt21*mHUn7>i_RqvwG^Kd+x(Yq|@3L?ykW zt(k@JkyzM<^Fw2uw9*$BksEyI;?%I@5H$zE3(WtTWFMmJ3_ukt@{A^5kaHZ+HEm& za#%NB@%{C8yfI4ScAxhtRvDKd+$^h}?Il-Xu7XJ|Hj-&j7?WHX;CX%k8yp_`(m^a83n`S!xfh%ZQCj^*AG@}=i71v z&AD}sHV4*4GW}!KQskoI4jH}!w9;5Cg=*$H-weY;MIz&n+3&%Hj|*S*nu#X79zFs~ zX^z$;T0+FP1j)lph}@~1eh&XI0c8TJFHA#&&{*Ks2(g=*uOK~!-=UX?YDWw zP>T>%u9L$5XYT0lmB?@QG)-m<+J%1*On{x<6a!B@lqs#T>Enp7N~L%atR?mRn`N8l zma79=4)~alzp=yS3Sn>bY1h0ynQVxD_6c*bKK6>=0~#FTLtcjdIgyPAAFyY)Q202p+k&neOMgkL*6el9G?wjJe%UEzr_bfa zNBAf_Nr3>HSg_%#Y^q}p<81}v3uqc?2te*rPOAX%#jWoTw3t0ePZSZB--m1OUqjs( zZaAhMPQ!hnbydh6XT72CS|hUC@w&~}6xP;iB+9gp+H)yOQ8#Y3oU=Y<4h(!5L-7nB z4~s3cP34v?e|%j;U4&U__je_>wCs&~o1|l@0%L`S;pzDC$+~lhMDlpj%Bj@#3e*j{ zWS-8Rn3w#mkRIpRYPr%E1Q;+acG9bxisnU?mf#2!A2D}q;4KE#a9yB z1LaF$yj|*ZG@0Uj?#|0`uk*ORxrh8JBqF{k1J^4!_a@d|`CD8C4ca?Wm)qgq6nLB% zx9LWZWT?kc&vtbs96W{t{w6E&8(0 zrS(XJ3)v-J>P*B#XXlwta-KG~dTMGDdB@KRb5)+WXCxjMNvGpxlVTD{WXgWqX*Mr?!Xl@tv~5LrBowCpUnL`OhygB;Vq2 zwz4ahHRUDzpKd{UBP%E5JL6n^CK2E#1e@pSvaZ{c7zET%r&(BYq7p1KW=lvh)N@vF z+MG$tUsDwA(tI*ygcnY#((SuPkzv z%d;u_LhYITEe^U0o?<9vi%_Y8pXmQ$h&eIHlq+d9CUu3$Sj^*c9O9eUUX zr9AB)Mar;|va?*3(XlIs6w_^HxN+wDd0VY=o5UyD95qB*RhVT})VI16+ExC5pIf`t zk!?W8G_Qjn8{U^@7gQzt>q-CR8vNzo+(N&!h0ef#tgtM+LaPS3yne4)%evu-hSGhK ziUT_kM@LLPC&VLlJ>U*E5pC6b-|V*$dc5zi!qE^NTbOvl8@=xdDOX$H7Q#4r#n&BJ z={MJWWT&OsAxSYISh)(f;dRDL@La!$ffnF*VwDUZO?($eHmD_VUo_Sl4{F@&Y&HpF z_}a5EQxrzw^;C8Hghr}mMHdl&g){4vtXA1_EW}!VQ|{(SLfV!m{y4bUYX|F2ILGcz zNrRGibo{I1NDDc$c}DN;mP4V2FK*uDzG@H}48%)~h{vB@OERuT_%!{x7^Y9ZLddC}n3tJZ`r-5@c8d_vWGY1zDc(c#Sz57I zIz)7-HkZ4VhEHs{iVf3KG;1@fr&j$%KksnRmmR{uzvdVKt?f^aj^T^(GS)gWQXY<) z>EbYEXPfwpIRW!2b3VVT#apv0XClxs>s zk#!~uF+Mh#Ba@@#arKV^Svt2_L($2DnYw$a8d;%FWSp#9@m$kq@E`@G+#L#)p8maY z)V^&CA5lyh8FZx$s z{?ET_D4|L-6Ir`*bYrebQ1N@{z>@Fc$8^X26~BM+kn&np@}Fl6^;+n*g4kO7y(sb2 zXq28eesEdSDDN`la7gtuUt!%+PFwE74+ws+gT8>JW|8BjRg#Eh_4-8}HTP;m50e?6 zv7B$%&zCs|YyW7GD%~gYklA*e&@hVM9_Oj(xg@Z2)$Iir@dwxIQyD2O8H= ze6v;Db@b#`z9DWPWi?iIB9)t2rJ(Lv=8k)HWN$`y6Xm0RjB(Lwnq<_2!yvicMONIP z{0PeS<(&SVbT72xlUIElHdCtZowOI(9(h1z_F2r(gT`1ey zw;i=zeJ%+FGw{6Be(bN);2#RzFMsrWVlr}<2`-DBsOYRX#**^F(^@(c@}~7Rb9@F0 zE^Ghdy#w>a_l8$DV7vA{QDEcCF6F)N62_v8bJz^iziak3HnQ8_VfgEYsAzLc8;5K~ zNc%4t-vVW(J`;cc&)r+mFhDbw%NDtO@J$jzW1w>#<=|vqxxD0IAcQGIK*q&f1n>q` zwum{o%xLaPqMH6C(PIchjTaC{zH!Mqd$|4$FNF{n6C0o#UFtLCK97kB>gXL0Y16n^ zrmrzR6W8P1#fKZ^D)a<%=IsW~Ep1OcIa&9<452fpU&M7U)f)rqQ%kUOzrYkZ zUbL~fZ`cfT=z`Y&c)7vH(Fe86KFDsgmO%U1Vy5s}HOsjvSNXFKPiK5`r4mWmWf-~0 z*Hc|9$LSRi=~Sp$nr1k7RrU6cWw?G5fn3m3Qa1w!F+w)bLX0UgyMI^3Zl3l`H9>a7 zz?eVT9WQF#G!2$bCs7yhXcs>JnC$)K+~JL*w<}gjtLK^u=v}0zVGKtE@m&vRL+|zn z_^KoD&744`WT|g^qR>+*Z7X>`dGj?;@TwQkICLN1#qdiks)8oOmeKpS_0|K z`o_w=S}qK0X%Cj}#XP2#k4?Kwa`o(3p-t^Go`vE$4NFWd5Xk7keD#+zNuDC}oeIrl zQ=cgO8rz*|%!84RhZm~7yQJ3|R^meEV%AFf&tpbxx(u~kqIfFDN;_O^%c{F}(TsF? z0#`Jx0wgcz&Oeg;J!p{?^(wjZPxy9UmFmd=+uZx-el~UY1)E~47HNnAMUB=THH)D- zP`@roAce+1PzJ|!B8~IW(@`T6l~U&|A&c=`r%@RU4^%7D+=*4DN6-z3)Qyey=JN7g zF8r$h-Sf7p7V}8-Nr<&0!7g6T{dqH>g5PD~B4zUVAEaa@ILTM>j^yd)xA9As4R^2& zQEuY7IyYg_rk$F{5Qp&5RZ59}*&%OXPQ8qy;hLD{WiJ#)sb{gax^gLq)mR(nv^l&o z)o6q#7-k2^Wz%l%`4PMhCRBjVB%t2=VCt=#!+x7D0dBo9pUt*9r3G{?Py2!^%fkm?7F+j}DC2o%)f{dKeuYl_A0 zhyRM+2EmJKG{Tai|Asy_`pNn;>cp2~65NE({Y_#U#z9BiMLnLgh# z@yb;AzWc<%On3;x;qa$pf8A=Xy^;<)HRiFfYL%iHjvl^pHmA?QSJzww(!Du&hGs>A zl(YMO##TGpyS7v;QrPBSr_SG1g8!)GPM;fM`BYc9ja5-KQ6rLNPn9&OJC~W%syH(S zzkiq?|8zZBSOOL$D%)G)I>$9}oskA9Fu$@=<=K4+D|Z9iB-j_TIsNg%H|FYQ#MMtC zJ|b>QmDQ8N5S>7O2^BumaAc2ml?|7@BE;DU@2`C+SP#Rq&9cO8g!hrf{*ZxNA9IVsC;qBvpp7(y~ z`F}qM0&ORcmPJa;DG&0={|Mt%-@AWhSu5U>5^4G_enDO$yBUnR=u`GW6Y8dY-rVmoQ~b{;yJ8w*zyifz1nHcD{Z zR(v*n?iTq(3V6>a8AKS$yJs-vvGm8R%?xNG{4y~_yr>I6` zLMn=q=g!=*9mk(RsR`}Jv zn-OMGK$(0+?^foF%)H0LF89Y`e z_72Vt^%0C+X$CHQui%bNp>uik>kS4`pAFl|%TfyBSJ}4@9{U-!xwM|pl#27&@&D$& zPbpC;@9Z!o5Q7uQq#PwA?bbW`J$#wdSe+rCs_)BOQ=dNN39Sdt?Cl~lCddC(;{8`@ z|N0Zdy(!Tk?oN6`O|~+(ceS6j3e~cEwFEC{1tha-n^&p_>yAUX4K12J^nPg3G>xWR zaZbV0k3YzGMR(o7s+(2HrkA$r{f%t23SY|2JLf)8VTpvWjcL{Bwi{gK#0Mf@9rf@Of-3MN#P zCTrF7jFRJeo^@q5x=h57%Sroqu6);Kx5~mqv3~(%|7E%O_@qHX=0C98>l5$NCF?2- zt|WZd2aMj7Kip&x9(f-l8V{ba-VoI8?dNC%nk( zE!E4To~5#~ZD)+>fUIpU_;Yb9dH0=XpqgR)(0Y>CKYy6dtU_7$%+D}@)mWGC#(5;B zV0ZAJ&9>DCO3ZqD4&J6@scQG`;hCpGisECrK_k4x=mO!Tb8dwq=#}l>~1y2h)3T_E`cP zXs(Xb++2L$(xdXHp7`g7<5Lyfeot=vat}Y*1l*)?sNmNGf6~t7 zy!1kTLQ{9qzB<)Q%WomI=sQuR-G=!^aVK+F^iNcNEuTs$GuRJkNwv@Fw~IT$*Ot^I zh~@2Um&TkQ+IM}ClydS_cKw@u5#7JxLT*>TLM%1VJwS$NGT@3-HV!^X{a!-7rv_4J zFPu%ys(l24xl*RkO-8#fR6u&XDkMqsOo_`Yv|D{@GE2`723~;t$;-|{K4MmNOB~N$y zy_v!cDKCCjyX)s37H^rhrU$i}#XL&oK)oDD1Y;dtLwX8F{qrk(Trg&vu-7l$z2WfC zpBL-by7b?`H?@mv%G%~XTUFdO;Nex3jy&(5v~c~QX?<-eIWd`8-K&wsm|=a$)o)WW zLDSo|b<lP1N{>D`2VLe&X&PCsr(X^7 zFc&`_!3z}UjdrCWe?QUDg~Ugk=SDxi-dSRqSk!0kpy54@;?U<#m&xqx*p%v~6{Xr~VLrGixGpf-bcUhH&!3rtXlD4V9}dMD%sU&{R!ri5MYF^>=4 z;1WWt+`}*WdzEG+sih>MM>90|#-A_rAT^KZJH#btTLX0+b+>e+M~$HFyNs?%qN66I z0iLm}`qKMM!6aE7X>njBn7zk>yUwe>eaAa8ch;T(84AwM9eg3e$W8j(JdH1r14sn$cxMYo)lYUdKJ{AfNp#0u!->;dvS>fBm+}rRK!eTLF?XCu)vtRHKP?|i1ahMb>5WMT z$%|)~a9w<#uc_@4%td>N^GZ8&{&pNi1YW>a)*V4jla5D^5MN*Fu9|A^xmyG&#H~J)Cj*o#}x9aLUO`myzWO+2A@G+Y=p~si|$P zLhh=L4CC{1`@>$_?(mZ4WgZg8LE0C_z)fHxktk1_t9z1oo4B#(mD>6IAkpQ=rnHv0 z;?1iUoQMrsd_Net*}7iT4m5eTt#)1Z(M{nB$mUt)sQ)|`D^qQv1!U0R^nR$E?L*#M*h;_`v-xHU! zps1P{pNm1nok2_g;_le0D1K|*Fh7t;(Vl_v)stT*>stGwr)nW{odS>8ekFH4-3@5o z&J!NX6S2-)=InFUbSSZEW0e7~4PAv}FMqUYk5QG->~fx_trEV%_48&*L#SUrYMD9D zd_%(exVi*a>7(pr`)f;LF*1ccbHYaM0g`7u+gu&r+W(tQ@^1j$KL--<=73!8;w3ei zLJ#bOqbsHDP}e7a-uBroSd59ZAq4N$3{xV%yA(7AIu0)gqszayl-G|CmMmFlXj!x| zPG2=#NcmtD(rkVn4@HO{d{{K$4oYu}0j2BY(jrL~`{Q;mcs7ENyW8$%I?4#t=(j%(?)TqCh5 zLfB~rt=>MfPpG?Li)~QblQ-~fe4kpe!LPk+hO=yMQyU;;?c1ipnrk(~k$2r*<~)v; zIismrB^MnCzb9V21wYD$SFT$^ZjQ85P48NwW0%+Q(77kG6SURU?xA@LJS53nk9+&? z;N_BeauWz;*A3;e=gO#RSE-cfv-YJ6?@kA3oB*&AjMzh7oJB9I<)&yPZ_ZETS$X)W z6zk8FN*dX!_3-Q!!to|f&`?P>|tIZ6PuLgUz|x4Z-X=o}74>9y9EPhie+wDfG1ySLRJoj+jO&hfTL7NmWXFp?j`0gk zC@Q5N+C2r_`lQ-ANRkrZrsXr z=iJYU-jjM7MyJRs#}b0%qK4SRiY*FR6YcDESHWds{MRa3%aCT`zl*(p0d)U3v^NNz z-#)l=QI}XHzTq=RS{Scbbd~}C5wTkJRT8qlqlnT>R`o<>Ym33S3}prEp)aoytgkt; zT;NWOQ%5>XPItC)Mi^d(4$rn!z}4w|M6)iVPO~uTt>*+n1Wnc@3WFea`91TOxDhxw zp)5dyG*&v$Gqjris3PZSvgIX7aoX@-uhm~><=aHm?*73Fhs0ic5!r-yVw|Gy0=u+ zHS6W6oPgS&AJpV*2H{v3CAFOeSyBg>Q?pI%wTYL^Gf^j*lmZMjdwG5~u4Ie3#uZOI z3imY|cM(pOdmA^m%EQF~ywt-hsjehhr0f%7eyp}{_mGI8UmA^8**T!Z**km&=>htQ ztk0UYH|@Q`xDU6MQcKvHzSZB>mT_fB)`@+D975^BTy&{U|Hw3SVVCZC|NHnj~BCTyb>C z_ZJps_2~MOmPLa9S@I1ez-{kF;7t|z#jKw~z!ejTV4rx_woN=Ict+iax)vJuo8j{B zA}TBDCs|eIk>B_1T+l+x2t(hHgGl;w<_E}Dm};txE7Gt?3g=!vHhLNDoyPDf^!r|` z#S&b_nIL=OSQvSWgE+3hatgX<2l=ZmjTA#0Hxm`k9s82mDP zgf(XKl0MD`K^m*=3(ae}hh|h&Y1V|IUeVO~6`JP%OIhe&Ca$^Gwa?>DPoErpJ-KHl z#)RdLiz+oMK*`r?lL(cVQ*VlLa4n~$PP>|SS5FwdT3*>U8K<`^oW;7}c?>A%`J40p z)1ESFXb;;-AGJInFhdLT!zTq{Z9tUdSy|UV-&}6hl)?nUJsxH@T5H1-dv-_w5wo2z zlT=#9=(fS=`ra38^{`PTb;oDsuJCsY(JZUgyK-}JSc!?G>Jwo>8t1s8$Pxo%`_ueB zo}%$5Zj?v?m@Fy|S-TKZIE+xZ~y){>M}zhHX?jLp{(- zz*nWk2Q-f)jGGX8ZqK;&3_9k(W@igB>T>bd=~`;a1}}vwDh15f5xt$s^}8ElKXgi> z?23lcJG;s&_Djq>EQsqzpa+e0v+LeOTFrom3Ncp~3B52YVl$~|xis+b&dv2x)8T(h zRoHXpSeiY5O8g~HUe$2rTMrLp0Rni+l>S}>RqR_kS@c7mN^1MrIDr+Pnrsh$pKp|U zAi3-2&jr!t*;!W>foGpP86jNe;;+&Fie1~|UWts^Or(2dcZqHEM(|d?f5c2*@l9C9 z-lv-eB>7^x!Nwh1|K|X}aQz%`x}9r3&B$5IvFe6F&f*#Oy2|pe?k`TBEN8RnUkQ?n z7e4>rqv8K)c9h;UF?-t%6JjrK`4W0_aJ9mlVmo*Ft>#N$x7E#{ry}iv#7d{TV@3p( zV?o4^;?5P-6mYCIF0r;mZm`C3GTn#H+)e!Akjo~`W7QSuupno3mgVG|1e)VYqk%n; z$$h(+21}7It#SsGLTidgQGY<<>FNjXM0S?~O@DKO3FtoUDe~CtKWE?3gP!1)n-G!C zhsF;8PG<zch$UQ0)F21)L=C5i(3Evj?yoD`_P4v&G>^^KN$k@QD`+so+`Q&-OCtGA96@^L* zc9{%C32?7tMRs40lwC+O@d`H^>AR}yBLGdpbB z6oebPBZmYXTdM)0)%OCGRd0wNMfV9Z2mbX`lz#{eWbP=&BZdYfGba9zf(*6d@J z>&Wj8SqIH_s9|W>;`LuBnIWaAwT1#xN$){l+0e*y`=>*XF{}IQjg;aAI)b>Q)Rt1^ zoz#OHuNpEKi_I!LTuR7Abd||*Zy*_G$DqC6XLd92tU)*b5t;l-k^b6L{`>c3a89xL zGiO==9a-Jawt%U7*oH{o zZ|{JZFDH9tSC0$$LVo})U#IM-wXs+d(3jNe$s@T%~C8yf-iA_TCf zcop%bh=axOK0(-6e+-A{MQt0cS^K`A1Jr`y8uB()tCX&s=%{W7eNsAdHrCPFu+Vi0 zcARV@llP=U=tH z$4PN14N9nqWmVGKtD~maqAw5MnZ$Z>-OH;{1lY{w^^2L^w=S%$o;(;M)ek3a01ura zCD&OPvB1`OAiUK6fSbc@pjKk`7EE|cq-@%$0$aJKyuXIh#*BQx`c1k*0mX0;nZ0-4 zF6byXpDgp0jk3`x83tg#`+2*x;eK?sKv#Y4EO+$|kC%Zm0B=|i8UD<+!7j1GI3T_D zIZu&aIG_p!)zc{r{J>g;9q!_lYW8bmqc7i!OGhS6OisIY%=#a+OZf$CycSzLd6nZE z0LO+U%dI{m5A4s1zwAkMt^+mRu^HYiEz3XWe!A2QDlQw|&4Jm>mp{=DT3ye4f9%vIw2k?zy? z{eP^#z4Pps4EfEd_~#H8ko;R^{H!RWa zD`ob&3!#rLJe+n2#S-z5E_Sa4{uz$>o2`;TG8e$~x?B{n$!DaN zL+ae1sfe*P+~9)i#EAbL>t$#6&oMcuPF?5U9jx19UL{lgho~Gu1>lHX^j_(borZ2z zKT5cjwk~7CW#m$-s8&fiiLkiiu19Rs_j=NWoZ(3raRCVZ>=7)$F)&uclIsmi# z+12ifa+e#aaS|DTG*CDHAbZ8Whp)Z?B^-8nLiGip%5HngxHzx_75O1YF56J0$HV0K z6VE=B7Ec#)^=`rzOcR2s4w0*0nLa`&qZN^BTifF{%eZ?4Nf~%n=7{#v@$AFO#{u8$ zh2mW#u#|Ou?T49wo#V6FE&cVKR%j`gK~a1G^PKD@Puqn`U~U%N=>5YHX}hkC4_=)9 zLzY#-p#Stw6~ge-1)DPkIrSX)D??%p2X*edbMt&kRD3!u70hID(IMc_*Fq-`!NlA0=e_PSwr97K*#s~Fki5m>X#nH4t9g3mzuh|>uAr> z{Tjo+e#*at#ee-ilRUuWscO!d1xuF_5`Ut{{KwLI)z%lP-Au#!gDSd#!*t?~d!onq z3`GBIYr3#YJ)_GVr)~ctFyBeO%Y4~ys_~^n6oZ&gwLW`oou}W%?mVD5<)ap!@*MnB z=!DJQHT~yV0RMBG6HsvaZRzL*x}S!-kDSG6bN1}=wU`H+GsB*vMS7^ryY)1k)sAkJ@oial5$R!b;cwE z9BjBL$uLSXxAxR;i^}8Do3+b}OQsGf#GgBqA)*fys1g!#3ju-rC9X3#gi^SZ%dSi+UbY^@%;!b zfD)Ghbm1QBi6@Q08+r7F$~$vqp}3*JCGN7(zBzZoXxk?HNVpMFc|QVPP?4zk#I;lF z$4x72QRE)lJTFsI_yTjkf{%Zk)*oCqoie0vjb;n!A1c=Sbk?&~kH-=L#;3*{FdVIo z@=-28%fH+iG02Z}>aj+Qr#w1FAi~qvPPqSJ-)Azs$hf49I7kIFFXfPY-b5qT)LY0o z*N$6W>2gDt10su|1g}Kz(cQ?+_17uFo9|}uDR2sJ68WSaYVQoVl5o3BGWxBRt<1ix zuj8mhj7oM83bwdqKcxK&F3ti@Ne|GS5#C))>sZ&iaL9uGcHw9HyL{p-eU{(am>#N!E$Bw!%Ny}bdnd~ z3YaE%A7tE~x%RuJ~aGyn)5H;{jXE&Zvox3o_ClZ{0w5nFAc4uCmBP17T!@r zl0js3JvH}CC>_h44X;sB=~8}}`i*@<*5iosN-OYgK>9f?d&&I@sM8Njd#;nIB%Fxw20=)o#B$W-QLb_m& zhoQ+DuE|m*)2E|nQDNDht(}0ZBS7~QBXB8P`jjUXA7LlLZ*>=}bst+Z6|NCuoEi;3 zD^!|(5c4Gep5G;>m8DI_GDlK%bS@iq#IOjebNoCE)z@N`(8p1|UGPaAe&YEz_d1~w zv8t}hv76MqXHm8s1o~&`stxa|caZ9b>VavU=gE|c0o51vP_#-kI~OrO=;=gN=$Ep> zeR*R{d&LobjTU$;^#^It#tU%vXOpaI3FO@5(B0SYJJaU*IS${@n_@1h16gh5u}z$2{Tn9}k2W6Zqz zX%FvSk*fOR`LRUskDiP>MPb?^)|(OhNMU=X;_4j}O#Qlx{H%HPIO#Id0GWiGKuUQs z{w|MVGEJ=}n&~thb^ACF&n8@_|7i0D=4^gr#O#itMR*owU%(qy<1k(s zKAE)M283XTXZH-X0V-*d6c!s&=@_!V_jKls86&gnVe9CKSxkpz0IX3GJ+%K^I5Ei$ z310wYrGTex@xm;%U=7@9h?- z&un4mK#?~Qrr_7v@PooSi>XfD!o=HA`Bf=)du;_|c#UU}6mmn1vQs0v3=SXu^7R#f z$KOkNwjQDhRs(V}zLTUCSUp)tsxdqJReqe7r00a?#qN^6O;CGY%UnoZflPGlHg?{DqU_BnjBIWBUeQHn=Vtn!_sjoV zJWx-~Qmq-d6jW^+{G55_kt9Km9)rKZR{E%fy%O=P*1F3*rj-|wtewrQJyDWYdK`lI z!*P*CPcO6Ce7#`rhe)ERX?=?XS8G}vjBahUVy&;W zD!dODJ?>s?XV14rQzYx{m6`Qchbp@2;(Km~V@839Y?}mOlYM-Q)XDuu05Qen$Y|W< z)hpghJXT?oRdy02frVb=4H z0kPVV<)P?N@pVR9yqdJT6)CEWKiV$=W;#_@+`F028y=|cNOfY}+#zop0^OAbkaFL! zvId2Rx@1+b19S}68uhWxq*dl<-KD&0sZ`ajm)kfO*mf~Gn#WYT%*|wT!;7FzC0Kj6 z>sDw_2+G5~u~xr^(yawRc1R(8og6Kw9k8wgVZpdN;^&^497}Y&Er;9&KYaLzP zk5BOS_xo{O;lu;3;#_O^J?xSh-g-ChQalzanI`M=3@e+W6Kw|emy6d^TdUhdI zENlKPt2PE&)H4km42hb>y#}^xAlnqiO?b!N*!~LddJ*o`=i1A6w-a9fj?C*%~_qz0>v*N@}Vo5dB?UXZH0g zs0X+&5F2r1IlC`^;)vPxKpb9cTkkzac04L|yR)6y?hE+@4OG7ajwwOcB|*w}9+}6P zM9^n`PeuP!yaGAX@r1st)Ee?*fV0lHRQEY1{5 zpdK1Ka+{7ViX0>}Q3k>!!$&1J!_p$3v5oh&l%p-8eGIVIwZVq_u9 zkUBK|fwLlRbp5k33@Jst)tYk^@F9{_D17_-XSe~dgYvZS0K~Py_q|oJJ86+$nP8kr z+2JW=&w%Af?Md947{K_3qf_xGH@o=y8AIyRIW%L#^B1`<6{(q#Ljce-R@F&SwFY*} z_D>~#7#FH)s~oGoA_}Da9*h6f7UK3Tq`ECGH_8?^0>I>)_mwcUz8C6R8*%z@wIkyq z;Dm{cCOxw?7e!~E6y6_@LyWzXZao1M_18!~U)^JOK9$7Xq~4HXH%4sf?=HmhUA6I` zsT3n!{W1SXtB)%uVe{+ZzNaf9*P+_}d+Lw87HEVm(HW($3Jvk2@pGD(yDM7SaOkj| zaY@48I_cKh zhuf;Ae7I4-c73fks?H30Qs>J_5vZ!Oh<9^JH_*5atlR-|eEZ;F^F^!v?KMQu6EVf+ zNEELT;`a1H*#9PL{Fm@`O{O6N@!W-nG{q5~@0EG+!ynuxU-M;;!*-`(HTF0uu{^lM zyJ)m`L^N-hLJQo8uxhrgkqYj&ZT94XFjgB^t^~ z!VxWKv{_g3rL2KbkHC#`gq-ccK<0+k{l1$F7OcP7$kZ+st5g4J@Vu?}#VSW0DEnQ{ znE+aJk+f+9Nae16HiX#(k0o{PR8^VpzQ)t+%v+g~pcfN82VTp7pHNIV`m|SVy~i7I z8V~aV{JYVSt0B?KU(&3L0986h`Gbu*xsq}yVduxgmxH>aEmf$#>@P9{9*w@I!jcFW z165khtR$|rZ4I{wI4eTIxW0>_^w}xRqPD$UlA0p->eV0Jc^Ebr&#k6gCC4siSHTsc zd`0L-rx^Q)6`!x6LOxc?_A1E3lfdU7wH&)UT-|3aKQcGt0IUL|Wc&Pe9QC)eAv^{o zP}XQ{av^{cK1$%s&p_z#%J9w%zC+Buhn*c|hG8`P6~i!~n`iMElK_%D3mSw0!;3{)=7inrqquh=WJmrT zY4ZDY$AAAX`|y+;1T+#6uaT8;7yX3MQy1OYY~haykY9aj~pXyOBL}HDgC5OVl`u; zqJP)z6~J<-y*IhS^~$SZAXNhl&U@NZP^B@?Z4MOuZ07`alcNqbfomu*=wR64;FEMWFG=A)O|^q&a`Rk zivAnRP!#m`19wFN8~SU74>Z!3N`6$-Z=P;qi08bY4Y=YiYhef*n|fM)n$NEvSC-c1J#g*Xzs~sH zPCYo{IY&_;eGZcRHp&Xf>ZpIrUw>EkI;Dm(aI z?v0Xwna}MLFuNFE!((kQ7m|&hDzr=`0(UAglziKn>{^6{Y~7C zq-6HllQj?u3d)n?cHEnf76~E_*+_VU;TP!o&lu zp{tXJK&rkFl!_aOi{iL)gqW0KQZ+Z8{`Zmn|1?fqlRuW7DRW$g$CkICfAocP(VW<> z=DmXV$HPXOk9&V}-iqv5p0kbRc5l8BX~#`E46xXn8pJ@X_owQf>gLakxEmCbe`W*! z;>-Up8!qQB-5Ng`{F@q)bPV-lU5D`bpKa^edFvJLNBU^Cq3OJ?XLlpUdyd`7iFS1u z&@BUfSztbt2M}usVEi^+_=p*wok^lnPMPnklIC6p}00no;&Jw;2P>K(joPaHLfQ~uZOch`f88B{KWwoB zq#ge-3sgPB9F)q_279&P`V-h~Rrf6~EIW>jl4SjC@=Bf3us)si_$puL!FBCnTmfJu zT!fB74d@E zRp%^Dm76)hGbec7<-E$9_%V zB~}Nxg{x`2PIx(5Ga_sk*yMtvvVqN8Q>k(zrj*>h7xKzm3uCvAR!b;;SH&R$;pf+6 zzS!lc0ve+PkaG%k&7cR?z~FSGa_!qL;Ml6gZY~F=(E=C}aWzOt?-OuM^ZiUP)(BS! zMUN6@0w6u#K0?wsdr4}hBL&;*W<3?~4m3F3S(%&Vx#;#|HRH$4RE4t-mBzOX9^Cc6 zmL(tQ*ThptDi<}#1g4@wsMnlJ1<|orM;~iNpifypbF_9~#-D9=jj*%Ru;`KNTCB>4 zKX^1P(FIGJoXO$@z$w7Kxv#(O!?-%5tClTFr$P{i98uqI8{RWQoPB5k(!a zr6D=Ia`|za6NdNrdZ{D&2E3$a6+XVufyjb;}5>eEQuMJuKYBV{Lk}0 zV1n_~oP(|T(aNPFD4-1vRRU<^F59*z0ltQUhhfbV5)8;HJz-;J-z6+cA7CDeSrEN0q)#gkVe9YFTKzu53?gZki|QWm}zIV;Ao9B=3WB! zGBEF%SUy7RWEYCgN_LNxrV$_U6!_Y;PIEA~`#6Zer9RnL*ccwnNgif#U-FY_l!oBY z)GM^nWtPxu{63)YBWnqqbO#UwQDN*9hPH65TuAU^#yrl4kD>$5T<8+BSWx`Yrvvxb z5zPuW79VQc0?Z}oewS2WX7S&X&(J9ah8-#Y-kYSd!;De;eE~4RldDC}QG>f2ca@Jk zS5f~JP?b7?gWcS@01((?CHWj zSqLhxnfM@(9lL7*%nN>8Jw;vBQjG8OXL|%}+56446Yb z?gigrshgu2j8+e$aX^WK;ML8=ml6$Y-C^ls+v)L!XP0A-5eV|b&0SZ+Ey_JDFyZF%1*l_ADM2env)<6Pt1p`DH}h0U zLOgW@(AyYBe3i?)>`=@q$BPUdb&7x40G94OwN0^_Oj^7h^mDe)xO0E7D^O$!atm2J z{J)s1ap_c`+80P;Z;hU&CYO!ZOdncC?#faM5Q+F_3<6*z+QCNkdkt3!7|XGOy;uT9 z!V8;Vu8z)``@#e`Mi);jj%E$AHWn?g2|`dEHo8nAI@5O_%S~U6v9n&myK3FA0FjI=yW1C+y{0%if_3T zybN2Mfj-_7%>tFoIF{~8loW56PU`Js0ERK!5M+v@jgJOKB1Ma^=8y2_mg0H_Sb#ac zi$~A*X(+7+=^2sP0N<5HqqHR`FIoNYI!|HEW=Z))m#zMk(D)pqUdE!lrruMT3V2f*QX;$qcfZL6s!lX_=|}Zt0`4`2mR5NwTl@*k*D5vKS5%f0j-VNb|NzXpg_~fxWn!huT&I zV7&w>#qSxoxS6xf1xo`?>4J<%cCM1XAme^uzY%o?QD2npaZo6J(jzP%Oc2;k?^M7G zY-oy`jfRqT?n4cToS$o@8&2QGDwxmgKiwEdR<{DJX|9Jk`}-v$M411e7hW9wM)nuk zVVmb%NP7t=`Xr0?b>=<6KKF}o;@%g!2&PkV{1k?YeX+PdHIgO+Fcq)>Z zvuuc=cE}2eMF>LYqxzcbi$4Zux~vbD``mL(+lMMl&rA!%_CkeI#SfDB@fc!o5^*Bs zcXzCA=So{g&MTpT%hd3hvC5+fe>7&J4f)=v!^0OL_V>|+Cq?$1YhDh*fN|)hjOp>t zGs@kpvw(J-J^4O@YGrvpw1$S9Q~Sj~W3tXsALkNI04ui8u;C7V(!aT574nmJ!WPXy ze*UaO9uTRotgL<3k6HrF?nE?R0LJIp9ze(NykR>LYIkig?LaQShZVx1WsoLa2S{4N zD0Izarl5klZlnFt7Sk30?)#C>Xg(jEd0tN zj_H?0s4^(%Tm0!noRT}{6ZE3rh_7~>nagL)2xPC{PJ@B3m*W|ml{fK(7*~^F{7t*k zu-`1nzogqgvdZ@-skM@)4YN|>5L(r=KTZd}r_r#DEfN_QT1LY8Oi`s6&1EiSo$94B zyb`>Qch)+Yc_?M?G4aO*x+0gAtXsc(ZpwX*6OYx?FS{Mt%;FwXg--G<<+9?2Iqvv6 z(-OJL46EzEmn|`&lgGc@eF_|vTmek`$p$`#v=u`|r6t71tv4Spq&1orC2bCROZR-xi*N`0+H)i&{VO7JB1@^q# z%+5T!8Bh=g0mJ6jCb7~MI9Wno1kG+Uv>AGs6QZ*1JLsNm7KkDr_PMQ)5_k9PXFN2G zAu+wVhii$XlI!jPNBet1#M%V!zuDgSlqEe8`lGQ2S^z-zO~IR?hLTs>ha_VBpLoFh z7RCbGRHuQ_fK4`cE4a3X+_p#^H-%nKfTn%dssHu}>KJcyj%#SqoiNm;1WKA>Qwg1) zanJx!06W>to-sF{wFlBF!ReS(?8m)}8I)@C*&O?1&tuxay5bLDGVAu{+DW_6bI&j( zt_&+mr|cbI>~Ij7zTPO03s-c1g@Q$Jc;T7G0}Fo%0CTl#OtH+T?#@>Qk2mCC|CamY z5|ookwa)D8*VeDX0vBy>cLW6fN5yT>9jlGm^+nf*Y{s z6RCA%<#KDR#Q?gpV$G^sUcY3ywuD4#va+F+gE6pWt>pvt37(HB5_J%RgsDscSu%?D z16?(K`TY9S*M^$;!x2)L@#5Ry5MTQ_=^wxZi~>v%6@@eFyf~K^&0fZR)}@2N%iHu zy1yt-cJ25PF)k26mAFE|lvzQYZm53&pNPBw@E09Y`ul>p;_ArzMTTENO|_6vhbFdP z{3U~o*36&uS^A6V-lFZkrob^S^*5t+CmNjUxoR_eR56zoDtVTEvM7LcUgzoemmLyb zF6}fU*p~`~iVO*dH}(kXVA9#H{Z`;~3_S~<-*pN6+u2t%?A1*Bes|fDY9dq9F(UP2 zuHd%l1No7vR@1CA^i}94wV68m!QJf6|r>Dtz6j44%Rcu_P zPMZ3>YWE~59~>(<$(;jkadR(5KSZB8aIz_fA6-YLmdj+q(8O`7}=Q19#TKM zJT^$m0fOM$59+Zu0AB_CSS#hX>Z)r)L|fp7JyMM$M%RfzW@xg&HiU3MAX$r!F55AW zpE_8=rv3~n?C|TWmvew)2Z1vew~&R4gAGT{F?k`BjSVq+D6>m!LItQ~#MzA9YV(4s zmDDQ%Jz#p3c5)`ekiK3rEfs(XdTScv#AQLTwGdYP`n+r{1Udee=a=%8!F^vN-}5D6 z_xQ1j8vZ#lBqb?+>Z>GMcQTlFF;K0z71Z z$sH-u7e-Hfy7v0jXGy&Y>HJLF&Xj5dC9D)tRi}Q_Bg0C)lbzr&m9~e;KcUos_rv03U%TaXNCuT1EsFWt~ zuhdMENr-)GTWeeexdM!<@L*Orb?%zr9)hS+&##v1RQ4 zu=m|@O=VlSBX&^{k=|6Q^dg21jv^{ensiWlM|vj{3(`SAdK08W=)Ec>(m{}3l+arY z5E4SkJF(Aa*GZTH1S7}&|(kUxqRfALRu z`Ewthp1o0gCH>etmT2JuvFLV21SF-5YJ|Rbc5_p$o;Lqlk@rR^`cN@-$*Q zOV6C>@6?s9EEg0US);m>AK*C0vE-Lc?+*4@UmrQEHn3Im(7NR8t=Qcv0mWr2tarr2 z$!5~T0B0Ip?!*I%=`P_lPGp!A4s;|HdQrxK)CndK?8z$b)J)q_X2+seu&}`ad3eE# z#mN!s*>Bu02BEp(=`iskZRluv@b&~PX$O-Uz!ozy@Up(mHi%>ouJsYMWFq=E9U;~~Ryc3-IH zl_{APiRgd~cBU==sc}-ro`~(40>{zYJq5LAHXBA{wswDVMsPI+zQgdRyZsM7EGZ}5 zPL$zf1b_&+O%BYT-v68dQ6T)dTU)*fCG;mE>vE12%`KY-fo=bwDhF5|JUD3crGKeR z_OsSBtuPxg&NNl)JjV#o7>$kC2D`gX!p2<~wTh-FnjGVH{&CYU9R1@+cca@7u zXI%t~RV*E^_Q?9d3tl2Yao7bxqh@#WO-`i}O9{QzC#EafVpGWerAqb{4P1$!MSr@t zwgn^U99wZStwk+QXj(W{8$eZH8=b3F92m>VYv0gV=*S3n`h{mXEo*Qci} zVA3zFp7pcC+ZnhrFqUZnBIko7=7J68gY;BAa(d3!CtFGQlN@(*x1-q}?>WC56Q8{n zYLXXI+$ocw^Gc!QbiUJojlL^9PSI1YimdWMo*Re3f(9vp#_C9~LrSqx_Jv4npEU40Mw*v@s| zXqhx80cg0sd;j(6pSK;56-YIcQQC(HaC0}IanAFXv;$3fkvK=W^zoir4kxFapuNm= zI*;SpVy&UAf+J`S-!UC(g9Qvj7TacahPx~20CRdTrL!a5&HW%-~>%=C#ZXa&tDHoBWb>iw9-;?}0z?A>!gG1y9% zmOi!AoBWFpthJFXb1y(fo>Zh=b?GKr+Pvr`K|~+*WQJK@F2+TJ?sbA=WTPCr#ADef zanoim#E4Rf6{34V{J^`Sao*4PWm=o+0B!?4%gJA;G@dL(wG2T9J_$Jep9T z2okDrF1|9>xU*eo*;q#;8v=mw5^>atp0c_@iB@;F2<$fGHvYpJJhPTgf-fn7-(r>M>flKtGv)!YQ`#8Zo>rmX!7~8LgP{ zN0vr{QS$?AC_~GJr-HLadI1)Z2?K~Ty23lhcs(Z-cdR9%yzw~OSvh#1x5RrZ+~7@r zHaw7fN4tri&b?l!V4}Psxy0SR2}UKi*MZEbi95oBu~TBFKO;MvT248yr9zn7H>2?b z_RK9tp5x_%pkwov^!-N1Htql&T8nJEW91R`Q1@-P?TW92PqeZ;G*$gl>*`ztJ#2@% zR^TaBN^X&7r00OCdsi%8O}#UF{oBLZ4vG^JC)t^B>N$v?jW^2_xoQO$n2+mmFyI+N z(tBURu$~8MO>t!;T68nJAl>O4WsGmeUlv&3!&vyp97k}hL8!a{AKsI2c(qxszoLO$ zApujc&|^(@5K%o5bsAf*qKX!ZTAaZVe7yIJ0taA#LncpZfJ#MA(r%{t1+Vq})J8qq zn0*{Ks4Q`F3F#YOCjF#OqX3&y@-`u1*>ja&>PPW$kHIx(aPBSRNhDMYMW;)h}RFb&z%<7X1)e zz`x=Xy%n$Yh_~>DgWQ_UB$gB$`yfN$aRHj*b!!tMC{<*f9wE3p!fV@J9McNYzFk_v z=?m;<;VCWVq<|i3X5wLmY=JyPIz3t*@OnPaxrm~_n%--?>pEKZMyqAk(5tSpLwt#0 z#~c)Xg|JLF-htkALZJ4};$viUq?a}8`JDx=L<^r@6E9Xk7o>WX3}oO4vSVyy#JMMe z2Iw|HJBX)7P5a^^Rc5N6>a)wfxk$KeJ_Lhzx3Dw?oT~%PQI&KfS4#AJr7!HL(eUqd zl$=Pp zq$HK@TS%zx)kpk^ z4X>QcYC;5#+|&~#FkXAEj8_A|WPD@QJefE9yIvB4vYx38AZjIqS35`*N|Wbj{DP6~ zdlF1*8Qcc0rP{Pn<>jrPNGbKwLPwN)tPB-+b`{D}<7G2uKH1sCyy~s~>(Y5{W|fL* zod;vcdz&`??)^GS6&KAj>`c6zS2u+~bmI=LQp%2GG4QJ3+H)65+Oy{bOEf*?*2IwT z2VkmHyC*jp`aPfzMxX&Qbb`DQpw7(AoX1Di*&-+L7P1j@xMFFhb))4;AM*`jh<=5L zwGJwnG;?P(xuQ~g8`)O3F&e4&cJ}bGUU=g@-1`2=)XmA~xoT+|P-Al|8@(9IFfvu9 zE=v9`ndZ#wR`nFC5TR`G*f?r&@!>R`qBTcdrK0RB`KR_*`sX5dHf;a_5UZ4a729 zX!^)?AF=p8`RuEegl;fgzl#6AE;3fwayGXgJ9!O@@LE-34J%w?d1d(2g!_62uT2{f zA1F+z;zS#@O_s~bv>ZsyBf#W%x3Z-YxdWPE~fN;AxK&11#vaZk)P4W)_(j?Pd{X zg#pot3Pmhoj8yp?r<|LOf~%QVv~V3+0cz~`+9y_l?Z;7_KilVCZnX?5UExID+iw%7 z$F-yGKt9YT68!9djkzA_gzHoZugNQu6m`0ak+f&nxky?FfSMpV&b6$Qn7Mfq*x`dU zYf>;_K+PM-?qJBRK;Z|phRK>XHc~I0Q|$F5x30-z+dLlUAY1J)tf5M2QG85^)v;MX zMx3JQi5h#2F`4-)9c`o=qN=zx4!2P9+O1a=P= zh(e>byiJ$Kg{v<=2I&|2m916!{4>~M6;kKl9Rt;pF2*-z!E$xKn=MNZO zZ+qw+2cn5iiM{X8!}z*9)`(*lZ`m(amm74{9e;8c`uM~hU8TdS0v6Y9Z6z=vQyw6E zf;{Xwn}&hNRlpC(_Dsxpij90HsuDeHUCe2^q)rzpw!JVo$OqzAMgaNYD}RX-17f>K zMtdiyukoJ2T6RK;T5&`PC2JEi93AT9<2^y;|lgg~F zwS=KE`xK{|_WMn*l;3WeXaYP&V7RiZ&gJ24%bw^7S_#d!o#kfJEGa5nM-4(3j# z(`Fp3k!=Nc7GIf#XAMztj#1+sBP$fqcxm^1Ge|ZU2qCs1A_E@h`Vn5H=jChCW|yj; zrl|$rId>>$3>AxM-pc}8n5k0AxLI-1!g*}Knadr4&10JFOKm+C-UB>#Z-yr_d{#BE zebfy&{LSNSAE0_$W4dBq{j#B>p<{1{*QftFacrG@v25|g2(NNNjzL&rY=ZM7T$DzO zSNVHhmI#qNaW3W#wup?Qj}-GT1_E@5Z#y?xVfr9hb}Yi9!1$hSEg&W?qG_+gXqVgc z)n>h)gb$ib7zNgi&)O08lB-v&Mbug~r)YW6q}uWB?D1B&oex@^j3r8-NI_mHio4vbgsx2l zS1hF2sntCAc5|I$i#GgQE~HOy23G%kYu};u6)peN zpH+=l4@%?gWlf`Y?-~I6<*La%|aRw`LED?w=*h0GS5gKkEuc7eHx6zT0QdaBJ- zf%n2wC^simWHoexOH~Qn7g44Mc$Q^L8oC>szFV0j}v8rh*!_4$mU%}TtH%{ z!PIJuv+kX!jb%*^G~-P$iG=ps4bz2;z(t}i+0kelUp!OVt?X6;g{!r8sRT92`r2%Q zjO##=_TNWQ16v4nf6p;_{75nnpSrGN+f|td*i(!Rs=EyVVvIz|uo;<~{wytCeEH{% zfq!lvS>0ikKG(6@pldM{w8$R%M4hcME51zisT0@_YFb$#(Q#ljEz?tV$rS8SzvDnr zDe2x7gxL%wVoGdMYXr2Pbf)NbV$=9?|FnHq5Iwht+R}n1X#JXT`CTjQ+uZ7)?ap$P zFF1gEf}h=5Z-=`l+J>^0XNRI9y_?P+1eW0P#I$4b0HqU{8@!&PhKfD!#1YI+UMEtE z>YnGdSqo0C>b|*i;u4LmLE9)mqx1nb66ZzwS1L_>UOCVQ0G4bn_uABBfmIbvf)g>| zf>g&hw_1;CCF-A}XOGNjDU$BC@H8G#`CUKX9e(U9vm7fV6)cV z%mfa7h)FD43ysl}A~=3A3GMcFY_XOmQhaqmeavIv1Y7Dr2|5NfKrec3W#Vlvv2%^E zSn8~rTQ$stN0{q%FX0S>)|WtI~zJF z?mMw!|GKa_bb{gSPW5F>_H>+3k zgPYrkJY;04-0Sm=Ea!)5fTK35W*f=>rNBVJ&eI}EQ_a;c;RB0;4`Q#az zY~%*6a5-dm8oR#Ks<=OEon*F2U0;9E&Jg!eWV&4i&9YeFr5vT`mD2ggw#y2yI-f%U zF*FMwM@2S9OM8d{)n0|kw>!qtp3n>OPk>~}U-|-=o6NF?O~~6~u`Ap>xg(-6^^{^VAJFU=H+VV@ z-x%L?qD?SR*OwViP01A*TPy9`Yy326EfkWM zF>WAL_Uy3A7WTzVzbjI2ZJgqvtT?akT4Y@}( zIqoOO`aUWLZ~^{Dk{!j&1+BD1e20d;XWkOMW6bhL=MS}qQ0KDN!~ebLB! zkP(^}tf8zIMw3^~e0&5^Z2BTFx4FBE8W8tsgS95ta)w>CL`!$b3#u#{)`nf4IPGT+ z65^4+8sx0!R8QY{CQKpV9t&+`b!4-uz#Ws?RD@V@iIpONL?Ku1F}fx@XH|ZRfcGm( zF+|WQb7ccd+ffwT%_C+^@8vbYy91Oui47K5o_6*qFZsOca7O8bX_liF<~Yu$i+kUF z6gN?KK|UH;D`bt~Cwpb==}G8u%k^93c(1Fx=0g=ZYuL*PzY zj+yA1-zt-Lx4O0GU#GbPXK$d}n-eQa5QHicxb^{279gxc9eDd0+3* z!HfGl$wk7@*DZ>jZ01D{cr9R@wMIfs=f?#zVuXo52%-b*ud5C7?Xa&3C85@`?QwS3 zX@pSiE-kwz&BR+>K`jPEl-OyS22X z)twXSk`M#R36^$2PL_7ZrhPK9-TU)0&_W0xb`B1gvR)|b2U-XeI_HK2Lb6;EYJ z!UP6(BnH|I;ZwDG0SYVdh4jWjY|EqU>|mgDFxFH$$5nhq%?`Za`lL@a{?3&%l1a?_ z7Lsdiws^eS`=)GhQQbTxHdTt`6^0^;K%?5d&~uPP?15O1s%4YRn7q;hzW7 zh;UT&YIS>m;24J+Yxa zpXQ|>AQz{{i8DSjqo@ z@CSDP(+Vae+Y@c-N}A)!5>26 z*NFRX!t1*d4g8mXK=?O^`|cI|ZzcgCe5s$HP3E5_&#waI*3(1UcMN1>qx>lujKpUy zej3Cr!TomArn?Ix`XhIYc`p37NdT(?yoZshkXpy?-%0$3$fA_!5rNv;G0PfP6+TTP z>B7G2#F0$bxN-u|D}8kZK7IB52Sd4}GyjwNP=FwWa3!AX*fb@BwJ!7J55vfakSrLa ziLAM;RpQNm{2NyN56~GP3h{mfV&XshkEL)Q{lHN6mSr`_4i#z4QBwY)N(C7vHqEHx zIBb7=d0*)LKN#XSSfh|Rq)qdd>;DZcyl*pw*^#N29BKH6YW`uZ`RCX4R|7k3K~Ryi zKjLFG_a6t#H`x4F-*b@B_mCG|UT`yF*Iq zSO2!{XB3Qa`n-N{`Y!7U>uZNj1l?zxlE2V0GuWYvi&iCQq^T<6clUbOwHEC> zj^5l!m{^N<4x;7j`e*F%YxsY!N|pqZT-_+U`|96m{`{Hn@FG=`FS2Fof2{fbApU%d zN!LLTLomB~&7W7!e_649-{>LQM;Ps+Wx4+0eBke!)ejK=eQWs#Q2Bom#82)1XCOXG z202&KWZOX6n=JVFgM#2w1oB2_2Bxb@$@iw*Tt#ds4{P zc{=*4l-Cw(s$mz7D|kE{%i6!LGBuK1<(x1%}-$1(cFr682$ zvn$_mr0O4M1Uu@t9E@&ztS{LL#XsXt93!6aa`B*%6sv?GwwB~+g{f8NRm zyw%ZeYB@jRKR#`=8hUbW4`dgEsj+_3ps0IZ)JE7@9EVh|o*{H?WlA4gPy3J?4V zGJ2SiBr{5BN18W%haJwp+WuQ<8)n?H4Jp>YpE{!@Q$AT z@zDpem48nUFrHYwIG@XFLuEo2w0LaIJf*O4bs@e&0`-?$fk}%5wH>35{KUUC7exNB z%BcY^4yr_&4}K6eF;*Xi-Ac2dA73@h3iGD&QU4JU#%kP#+^@ySuK?oWE+eV|{m8s$nu&14qgd2(}sBo=R-y z*Rnx4+uz{%>ZHGQ5+9gr&VpcoM&j%)s*}8T@g%B7ChY?G*OQ>R+IpYW=rIMpLwu(g zj~HCFwHA-%vdE#_r=Rxjn7scENeJXj2o*&y58?Y8Boz@bWj;}i;#jmq%cCvKt$b>7 zMMTEx@|-!iY3N!mdyTV|6bm#bL||*>lf*v`3L;9#c$PASJ=o7zmBqRE+A9`mDddal zpqT4qO&NX_w9Ak8E?bS!T2RyZ8&TU_E2D2t8&jxR&9{1gfm=TvVeIvnjg#1!n4CI1 zfZ7^5#-2zvKx3~pTC=JLFEx>%v0CQb@sel$TXd$I%&pAf}Ai6CofV7?&wD%RO1=)~q_kC|PAl+;|_*$Q`t zH&x`@!rqYzU2WY8meoSL=mMG5P%WiT>srgrWB1~b?RrL8W3{5%W!08Jam71|7d2#a zgbPyQK|6Z-z0h=qwOWDRn^t;p(1IF;zRW}Ke|;K60PrTfm7$Iro*mRB_gp-L>Cx3j zvoLXruq=f@8!<1bJ`i+iuj)C-SA6EXVZ5#Y0qAlvvTJ2dxk-<&?1Fh4;g*V=-){p; zCCd$EVWI1U*;SE@(mn24PErPK8-u-toI4}z?snm-R3GR5jU&LONM=cp6E(&x6Q!c9I^LKneP@vD9@wYknR^=bfq{3_ zUQZncleJwKqv{&K72@Q7p8iZPcC0sa&!3f#$3O&cFIAxmnH|^$zujZ-GJHFrh?NJYi zN+Bzs1-0?8Oym#)mzx=X>5>=MO&c&z|B?$&gmwA31!}bw5#vwI;BV8NkX`POC7d$P z-Vcb)I|QU%F7P<&WJZDFyzr;TKRZCpS^T1QChj7T1L-+F$}GD^r&3$pQ-idRYu;3+ zHId&m-R`i^^|4R)Jj-YA@WIuv!SzoU1{!07w{J3%?B7YBvsTg6RiQ=*Zgf&8yUKzJ z5B)9A{NGc1J^aAaB>ss-5Iu3Uqk_)wf}H2Yq*BZ4?evbW+C1UY2SjHs{uX)aB&Fc$gzBSq((%;2J>C-11EE9O5_61Sylw#V# z68r{ax7S$NSgG$QbIYp&UcSpFe&=N`FL)~U;OMrj&pRv~y$pGDX{LE(2FG)R@cMzt z_2a_nh0hm)TqDVkOPJCh{Mtx9-|ZVi5@au7JEbZei!6oR>w9A5WjxV7*<=B8&xnux z?s@yUYDvCF0rL%=er4@jx*l@^7L(OxII0q(Ug1PZh0pN#&ujIOx#A?Vx>TQ@{(!a# zLK-nFXMtrekwJ?$ZV_$I`-vX+5X6&GXo_-iiA@sn+G8r>kIfJ407O0M$52OHyk#kyZ5c6BPx-y0Tw|OoP2p>_mF(WhO$_(HV~YhD3Nx#=K{sy_UOOh zt)G;iA!oknZJkl{^UfT&J+TX3qi3_WN@Z0~V~~Yd^|zU@s>fhy1BiTPZBJ+)ztqR2{1L zWlx{QZbqAdKB@&-ld1+Q(n3&3^7E6vGgdcl|H(%IAo|Va3=X8>HVkxUVuGM4b7~^7BgF?74;g3}>T@(-iZ@ z_WW*b?9Sd9jVgm}$-8ivUuT(ROl17}T7UHxc;=c?I~_f-UiiTy@9DhWro@o}OnE@$ z-sVR)J#>@@a+wj{A??LN7UVwrQ>+F$-TryGGb~lwLp=V)q~F*;_4nw@qNh!$k*Px6A%5@?%Qjb(HO;$vNKXP3qUDqX}QOQPg-o^SMV;68jtf zI^A8jFG~gn6A7+j2NnjM_gwXpmH%)pKJg{+;ns;Gj0fMu$$jA8xr>nGyM^T*oq>;h z?$Xh``T!*SU02!fJPS~08m*LB6S*qU>9sxR+_)HwQNkjAqL?Z;jKZd&y0qCbY>?=;(&L;a=xCsK8XpLK$}mX@Mbd7+i%FqpvUFT&Eh zYoFG`r!$lBurX4B)UY*y`_O(C361 zsA|NCzS*%|y}yXPlv$$*zgsW>cvAq*eR8=*^Wn31ldivYO3-sv`T)FGL|~Tpv2@d% zUy6ZM14H~m9?5S9|82_fH@`Yz+oaeq$?a9n=L9N4QNWTPIEr0}fB+{qq28FPYp$9Gh4%3t`B2G1562EKzQuhN>P zdw#GDM4K>9e3JoR|84Xap=)(C-~1d**Q4rl-sJhOrQ@`M0|zD!3R}0oDlp!%mUi_&DqOT#rp)iGsvS>PysNzjd1bHn^`LW?csIBsJ5e z7g*|SBFm*mSZUQ$&HJVM)?cVsP&`c*q$KZXsU4>c%(ZPJK~=CanFw81@-4U2wJKYk zcGsPjYAH9g-dOS18>H;Av=*JC>55e)6)+m&p2oqAP>OZwsHDv*x7X`tmkd;lZmTtH zpy~`ZH`FJ(s}W965MS^}8I6djF4)kjomz*E=|M}}Q6y$q$JPRi1n#E=f2JyuBF3V@ z^ko(;i8!M2IKV$U2&=d~>$#SkD+UHn073%8ndRNAOLx`k1J#D;W;jjP_74_{)wo!whNorW%f12hl{^dH z?JFf{)ir5dVhN31$ok!@oHgb~cfQ2sf1br3dscViJ|K1W&lArtkiK4P{>`R==b%9^bUOzL6og}} zD{yz_`^z!l1mU@Daj)_FQ4(p}NiZVk*BM}Uj+))(l?KPfbtF-(lWd$&N>=X<8sXAE zo9Kf&HiDiQTONsQ&-KM8Nwe)aL3a&T=*y&oxPoQ3x}y!?^XmrFVRat7)*hzHOIB70 zr{$Ah&Nm6PA6OwEiNW}nTTIuj8&fv_PF;NY{ok*~>z@cR_bwIre=vUtIfQtcA6`A5 z=%bZT$;G`1^mab}C`18bpT1)sPI`0J-e*sAResWW;7t%6jV0+z&lwdpfu$@?RN2+Si_$aL3Z*Me`N66$~9{r%(2&c54=c zT&<%B=mnX)ThML;0(@cX6j}Jj3zy~PW#m+v792{N=tEvQF*40dtyP*%&WODt9jooB zseNIq4Jd=Bwz(D_qX0Qv6xGAESvE9%XL;xoaK8Kixp*#r?tUevC{}I8aV0PQ!g=O_ zh$+XTEg~#;8tzfUV;(rhFM5RNM$&0e>*-b_PfHg~=;($A*qhumiU(d~8G(5g%BcY( znyC*}IlKF26p1v+qomEedpYk$0G;M3Jr{Vm3w(RHd`6_Ji4Y}MqxA6NmlC8~2d{Hn z#@ZENIB};&Xg5BoMYi4N|v{&#P|~Dh*qjIF>+S+!T;%7tOlVwc@@3s| z9o|)J8shSr(^ulD-8C07Kl|X^K?2`$(;1VqYr6eR?hs|>YKes5ZMci|V*C&b@dq-c zQMxt$0z|v&0zD2Lb+Ylm`AQYo4iv^c^{Cy2V){JSCMTl@Ura|Sq4j!vHU$(qr?dL__1)Uf(I`SLV-z%R~TFs*?k$0hX^TkYcyOoP88&|Ye zSmbD^lTMNttsUOg=(}ROQLiVYPo;+1J|ljG45Ufqk4)`qSkbn2xnl$snh7aaxR51Q|MwuiQn6L{4#*HCB+{5uX}Yxk7MH=hoWF zwC$QQn5s-{>y4n-k_fyJiI`V6WmV(iUU6ZpU40=mkET0TalJw>VFUB5&^eX-3Kc0( z9m}667#+_!7a!#{p%U#SQNmE>YxLE|@kc=Z&O`4|Ko-fwPo}WV(4`H$A)2U}3`2&Q z>@K{eMV;=3?K3_G)~UAI?Ra#Ru~KJ98j<7I9I-ss*{gSQowUmKQgCqg%tRCr)OO6F%pgobQn6m_6Ysj4q4R9!g(S*6unYNblA^V!H1@ zSUu1i#f!DZJY5W0uyEy=ZR>qBZ14%p$^Vv4Lnvmo!6X%Y*+Q#qm4>TaYQRZxX6BY;q}lZJtu{OZ-;AtR^WOqtzaAwSf`$=;yzV6D?_otr}F(qbt^ zwrJIyq)UX=HzrOwi&u$tM(H}v1w9mW>uk?rWtVMUnJK-rzOemd%~(}hL-FG5-i^i0 zIwI>~o8Z`oB$#!kuu05e(ua%v*)aY@G4Pu}W&M`QG2{#XDz_4{d!Gt4Kz#wXUvrqs zU@>8K5+V@2(L^CM^+M3PUBGsIuIwqUxnrl!nU#apm$IQVkcql>0EcY(&&I7bgfFdWK~l3P=uye@)<2G5p`Q=*}}vZKXI@kn2H<|gpC zv&!i1(uCAbf@*y0qeXd=EP0=E0_n5DxgHB-Nh9E}{~7kFLsfzTeb*9vgGypxj)2_C6ql zz_YELQC9$?$MN$!FN$hk$ScieT3VbK?xzEZSDQ^(Q9mRXG`4iDUb|n};Jma~%ul%m zGp@?7Z+h(_ea4l;UkvIfBLpQvAFP$=rMC^&NrA7BCbqZr0UOL1xm~}=Q2wKZKk_QD z5h)Y;(C4FLOv&GJTaLD!EJruiWJ`oqJ>~l>b6-5F=S{&0N=FMP&J1zZ`OtIYBy+4> ziq|gc%vC_&6ucn|oUI8Cs2oclM6SnBC^x?}SJz{O6rh~G!HFR8 zar<6BFXf`2KgMuiYI700h3Ij5S+?K%}A|5%GYU7_uZL{!*mtPN~2W-(pcKhoE+NbR($ML=Ca<@EF+9HsC1+ZntgaL60 zT}9Ec_k^i?Cd74Tr>7SYJd(I$N(0)6!5dpqSr|zwrdu=gvJ|x9`bIf#d}wc3KSKMY zmUEs@OyMfH0HkIP0+enEF%81*A=f5m49$pvk&EC$wNsRt1}^+6u)E%dOIMQfT{ zMSQehmsJ#p2=p|nd3QGg3LeQaSBl0zdMsrNbjr%jTKc(QbgW5PPfw5Yfrts<>>@$5!vsYyHoi3>pU6iV75jzAx4 zG~99N*3meD-JtafEW$ZAkW?!ctF!#2Moj`A;uvwT-^R?>1^63#GMns= ze9C6v(6p^y1Bb*-FL@X$5g!Nkk5I*yIcnEc z>(B#Rg|@ImR~ti;iFu0+E%6fd$$Z3hvUGaF>h6 z*o&>j3FTO7hM&6WSbZge?56bX!eThGw#wCF$x@SEWCQB&y^dO$;hf*9a8L9__mW5r zeUsZBxG!lg+5VjIJxU>7oHx{OP(^mt@a}FwNIV{;=uL$AeUv*#IUvYO!H9yxRuA;I?g=uJuAI)SYW)77G$ySg zzcGoq4%pG)m&tc`oShdoA`ufOmg5&Pm7RgGa>sx}_zBnIsY^1-w%Fn)$lml)BLIjP zZ`TqH*Z{)XH#X9;Mc9kyfbRM9G(GvM{L_?RaA!FNZX-Uzy{LBni-5Ru>Gk-l0a*JR z@x^P&&C9&tr(zA=L>I>Z`&Hkw29b)3`kSYLq?dJoZzsma+RFBgLn zXq2-Q{43Ac>#H=4W^l$1Pj8`9?KFpD^p}HR`mZ*&daZ18vjbUX_x=Q}uwFD8j=X?vF3$!|-8HXP%p}@{jro?ImHr)8v{OF|U%`S7SACMWbHBAjrOH}8exko zssVXyeySrIPO;`a&nt86&X<)osnO>{6>qxe9IbRVy2LS2&XN|)x~xCdHpVShc)<(X zR~qT;V4KbO*oQDEV_v_nZLDr>5O^by8QAqW|3-xUBZtFT#cwTU3NjfY%X5fkuGQ*nak?g6p#FNf}3W>6cAOO`GJ`NCXKcR<8%T> z%E@Vl`bW>v+2%vR`8Z`X9p$1k*XF&Qu_53FXJ&qzoxXZlPxiDdm?&jOsr0q3f>|o;Wq)r z^~->YDp#yIAG*uiL#44u9lEuJ@l(>lUKX-YaRK1Tm78eQi-kPi5drh2(F4Q&#ya%u ziwIvB$b&n=663Wr>OO~xRG>ho&kxM>XavR|#x||tPHb z69lPccstwzrdF`pwapo?Ek~S6J^3**LoTxOSkEEF_|OP$ty6dpG0bT=7P@&BgA=v0 z<`A9dA>YsGi=Zv&5e)J)%L5cyE$TQ96%pe1T7i_m`G7tue12)w(V z%th@iHe{i?Y(73}VL<&oRQ-p(a`XU1D={M&C9=`{qBWUI0TeCUC;(Imq;0gurU%sy z(1?_Z&IF$WPebKxCJKwiFDzNEIDl!ZSl*T#1U19D5wd z#P0~(

tC=^P18wDpL^DsN-9-Erb1wH(K@Vsfh)Quc`EDz|&@t@vG6kHLr?aAqyGO`BT)CfpBa(XMO+`VefcLz0- z!^;-yP%k@jpjBFJPZD|$Y*i%q+zp!TDoWe-oPrAoMPF^6icuCBUNqiS!&Ak&#pJ{l z`$edPAi4MB4j+FL9o)gKszUh6V;mI#ah=0G-*&PkMD5U1-2$tRoz?Da{5BtL@!4if z*Vc@*eQeVyH&iE&;Kv{<8NizO*!e*!wbu!m3)_0*u=&=Xvdg%GfJXUnx!rhK)ydL4 z#CU`b@B zugU*kY2{zj{HH%9brGH~D}kxe4^n{bn+J2uYuujsUxAt&R-fjRA8lZPBCP>ShoXjd8txf4HR>qKx0kzXdsA@Bt4q?X%TwVdY&<+~h zy2eKQ%4i4|esO0dLU6}kp)rMfW#QyRZ!8rY0j_1XCRoR`xzyC14lBe_YYPudBAo}WaXi8QQ zdH=oLw_#Knd70ObD+W!5>sp^wbR>;F+AbUEo{1ipfWX0~cJ~y5;eguTSRTDCS3GR>Tg*`=3)o6Mk^{?V(pLAP zEdhh#_usqpK;y(Mn2Z7G$?>;0WU2BVVoh#8xsNAv(sO2lTS>9cOBPxOGU`1}E_p)` zjXXclo_d&0NUwLVwD73T7fIf{DYN6&wLLSjIW8IzT8g}V5EAU>2I92uZApkq2knk? z6R(!njJQ*P*{?GBD~kRaab5@Vd3xzIM@YzG{S!|*@W23>L6<73E-J0V0*pRo;u z)ADwJWqCe(bf_^cNG;vf%l%eKZ~d8c3uUv+{5Vb5z67uakvOwIxPs{ix4HYuOV57V z!umqIbwxa#_MT;EO691+Xv?FjN2f%6lRfg$HvxM%JlDcat!5V|PW0dXzF&juUx)9g z7F>(_gTJwr)kwju%~Y4o@ZiCW8MbUpC}lWy+SKfbl}YGAyw%7DMHxq!!rH?y&a~aM zt8C$ELuO|iej=Kb)VuogRuqeV)5V{-Oa&ErY7?!;-@}e~LK-WEqu5uZ?jYI608z(f z9G<=J*u}i!$G4{P|X+|B2M&XD$J>%sLaw|A-?+?pS2;kisF)zRtDM1U33)ZtJl zlkvSOR#}f9omTzd#_Giu4!IJm1xtDMgl&F89|FI8y5KR}airIfus+x+1l^I*ge7*2 z9O~*{G#YigOJ5(;oAx$=$@T-VG#S@uLG6j@{oh5BExVdPBOo2!+BmX+|{&Y1yzR$CeD^@K3d9Qq> zFQ{-YN*BBCV?G;>9PJ`Q!lT(#s#1c08Y<(S`{@n zvjfXz?8b9TvD%^XLiQzwh1S;P>ADYTE3Qs}Wxs*8`*Dq{fjH8o1Y47baj)Mfw^g2z zQz%ExWh^j!J7-;95EVmSXp19J1dKy^sy;PaL7b$DJx=YhH2><+?|+>tK7sha6=f-| zcM3N8QQT~x6^aDx6QuF!R8YzG-Flih191G2A-SPi9+JKnmB?o=2DzMQ3)WQEIy70e zI!&FGyAN3GTFz0QJD1&_qtN(#lUKNAz6r#n2UgLHvKI!SKVDbkZLdN!YbQ#V@Jbip zZnPP;wYSb(r3Y$^&6lTbnj2lji_9)9fSLr`Wto1vr7o9%dlfJ8sfiyH8rapJ}B!g-NctCl8y z^0>um$)?Fj7vAy>_&1!V4ew+$ILZ;58<&|+*<%s^_X6~%DEON*7(b-&mQGhLr6VXJ1p4QYX&#;!(j0Tkl0eK))A2n|43K89%t}fW2w6 z9tJbmbcW+Q`ueTO%Po+SeUZk3S(m-;sy-2#(%_vUF8fJ^6m(cCzTjK=F&M5DOy_2L z8garZLonbz-`N^&m-}F+S>URFI0I@FFBS7*nM(qal{(+<&go(nE1DPENb0Upv-yT$ zB$_PrAv!_T&DH(fCwkn>)oORj_2qvjfww`PR@^93{xTx-rNPl8-^E@|Hrw5GfVeoF zNIZxTbj>&E@gB(CO^0^rzwc#1F+4nLMTCq_frSbBEMsS3PGt!-H?^iZ(3*0~=JsRG zfcz{jgw)(le>N-t57qZkdI20LXUhhw*`*(S@p&kwA`A5$NnZ)|eeAB5qVm$1Ch)(+ zF700|nFAaRjuVYIuhP;#R%Z%pmLP~4H}(|^fY+WyNC_X0IAAbnyvj?|bO)kl@Sekl z;C{W{D=>Be+-GV1`6=={8AW9~@8YBB3sGYDYTm_Ho+;SBuzWcEkur3F=@kMZA zo#_$S)w?LZH#c88y(Pe{_2n~q`XN}TE20o{=hw3UfDNYZ!L{w&hZZ)%4F<%P7aB5@rCovnN|Gs=%(yuI9eq_6bwzLfA`d z8xpVWKIf*UuVQK>0rx0i^n5uM&^<0l)%dVc;Zm)!_s~Dg>*cCev@~{hdK$|P4|4pF zxHDaa_-zSc1*6H#N=^N)*a);$I}!@vs$u83D|9%X?B>1+{{@o&QHJ=e5UXlxH_E<( z@2G3M2m#g04(y&J;8bNvbkjV* zx8J+i+Hh7nc9ICY(}WY;gsW!_xP{a2t`I%;YfvRh3M#PuI&|Yahitw3S}T-TSToMT zSqj9kf8TPLN6-yG#Y9cU`vLZ$C5-51$CCiiLHFlQxurhN4v>N@eGL8YvX?J_&v7No@0ahOw~`NFIqLMMw?Q}& zt%M`QqF&@a09e&K4-5hLJ1qM8>q&CzLCdu?fw1z2a(yB!kU##+m{j`hcVp8ztdW@& zpf+B)a5aFF%Nt!z?+IO+Q?G=ts9A+FuH%}c^>y`xXdjtG%x}{ zLNK-et|9RO&0({WbBc9AO6%d!0N8!uSvaEUA$jX(GxfPvi2s@+KK`GY(ffD`l*GaY zeO?**X)Hmo2lGoXLkl6x`4Rq zrk!<*@>x|m^@6{K)$yJ_`a&0(p{=>FBqF+73xl>fUS;8Eq4&TIV2FQY4-uI>)8X6z zyK_BjwQaMacCiDP`L)=_>&f#x!c$$TrTvN0h3y`|_k5nJc12auVDGL!zX+|v$X>~% zS-SLfc0Qb0pQCnyUdLD5fUY7Vk{VBVepEP10PqPM4oB{fiZn8iFPBmv(yG*umuUb$ z+q9op=e9`(`d+OSR+B>0@-6;^GnJ__p$Dq7-8q)IJWoFZ$mCKzj@f!!%=!|WpYaYS zMF|40xeM2QFj`SjO0LA14m4)+DFhsBwP=5e66w*1293*ZO~i2jmY|4mfXxKq(nR*-^L%bni+x-`cbagJ%HA5 zy>h_xNzP1wiK$qeHmj*hFKTJfA%~f%_;9lxEA796mH%FrY^jerveoniI+pVacdq9Z z0K=Plv-YRk30lnqSry^%4o>k=0@g<*EDb?ET20POZ^No>POt_ z>M1}dKN7@0QOVr+`+6w ziR3$HCk(CWHdl){dVsC%%#~V$BIAAYR+qx5RnQ2P<|wF@cOsEvB<=bbQ1qu#cjxsy z7+OJg!0J>EFNz13A_TK8JtBpE6S6)?K`<1u&rQjT#;bb2?b5fT6^(pu*PNF@w9El{ z7&o&|pV|hu13Tv3INR>jU}rGoTHONSzj_24-Rx6YUyJswf38tL34DMe2Xy3SW_%4N zy$1?cZ+VU?XY<>!jaEsoC!0wkB#kXH(ll7Xass;3N2i?gb8-*#o@eb|o!pcU#CLjC zoVM(P{B~hD4ex}M203?*TdXsh@>p`FTUa3301t1U+mirTEkg?u7IyFF>{H}DOt0D3 zx6D6Q1}Dlmd<5)oj*l9968HKK<%Of(?+qK!*+=%%wdK~fi+8(fS%3rwSjGdMHnOZt zcaHa2l?^JRaq3BR%EsjiRpXowhoTs)0L)LF*V(q7^uTmeMC#CQ9sNcdw_JcxVqcyD zO)zu3l-}#Da99IFKSHIJb)lRu(zsMde@@SX5rk(olYD~L`=KWLLQ|9^>($2>%?Qtl zh-6W5J_M&7a!HSz@Is)Iji=Cpw9Ti8KXhre;SPeK=bOatYcqe#1b95RwF27pX5%K-UaaoQ}KBvX1- zZUd>q01k@oe%~e?78g~ig>ZrAXx7s5Vjy+YUAY*GGb z+@$EfRSM5%8YcA$tf_6RR}p$0$J^RqV>=Pe5@(*gs7mJ2dd(c|L5ZtmXK;x>f9atT z4&m}0J+0mgQqskc>SqM)!#`NZo>U49V`XET$*JejOPbyRCje-JsYeK=f-D?eKeZ%4~BAFQp$9xx-1M6yK6qnOJVYh3VlXh5C90bZS<6=Q z7JjLF7w|wOVF3DkK%qimN${@q#O*lI*csQ~Rw;XknYGG$J z%sT14m1!Y*?S~lVjqfGdb&Y#89#n+ZUpBFSV^7U9qxqR6&>AnN5Y2I(B0XeLeMtrJ z4Ddj4ARS$VZjZPdPuz8&t>_AmAtdjW(f!3Y{!_k7ntyRw+g^H|kb8!Bbc$btS{0WQmPO$XUyt$X^EmWh&03ClPhC zIrk?!<@{(tqjcijZt_-yWy{l6Y4)&Vq#i`>h`6f09C5vG;@F|kul&Q;@D_p@PpK8N zz{BegU5Ply@lUR7^-CU8%b#Ql0_i|Ieh?CXc$3L8GF*L0EmRi*nQ}W8p%2D9td>Ss zqINvAgRU66Iv7rlv%42?E+nf-KOuU3aTK}|o`n+|oI*t&ghK&)p~?JK?XfCWYkg+| zRCX$Cdg13AOp-;yOeDuo+&=!Ft@OJ276a#;vUo_FI(&_n-U4 zX@*F+qTGBbWBI=wuXe3>Q&h1d>%ecn|Kc_dpSk=8bi`oKkb)eT{SRd^8Zh@@dN$g% z2Rg1Tc+4}fW0!1ZMdR2^MZ$iP<;tUz@_PK?`d`($RyBx`)bnM;Z_Ll$oefVuh=;?tz4*(u<`KRD02{T zOfslh9iFx~O<3!l$43qeP}h!};@d=oeB z;@*`pLr<~hS;TY6d4L9SQ@02?!3$2LkbcMR9NZztx)X+p-~8OSbLDK@?G_S#n+iF` zyDwr>g3-IV6Px;qP{3M%o&J;Jele`tjC?hgx9bC4! zr`F$fhErHpvPywE4VGy>Ov656fY;R@l;lR6xOG;TpvNs-4h5|{78x>1O`5-shA5h) z1z;md1-BC9e`nMWSpHlELvrS3Fr!rYqj_6SP7SGr>ozcnLKSTxEj{Q7A;w47@Vd`` zs3O0|!+-i)D3T8bOWf*m-`MD`J&O|?MJKG>^$jS5YriD+oN3qQtV||(A?gEezHxif zokGQ4#Wx0+{fKEDFHvInuP*%vv%HgU6QeX|6=t;+?!+rU7JZme`CjW7lUd)KSt+nM z;T8v_U;uu&59>Vwr%{hZPb>UwZDbfIwT6;v79lBh%?}8 z+i^nlIo0w&^JmAG*_4KY>N)lzf*?4TZqRsW{L$WUeQ>vfeHqr>1JRayi*zg#59g7W zE*R9B_hup1_x#LG!}T!e1m^%M{k^btn3J3CZPxF_`M)?;Z!{QJ%KozFzyC1n1n=BF zf_Nl#()n7CAD96ohhLCx>V@?j_a^F`ZuvvOPL!dpPPt&eS~WVu94?=mZi4o_Sv8%} zdUl7FW|I1fYp%k^Z)z3edlj~bq;RQZwFO14uwQZq3TEW8F(1sGgZ+Z5=j>%BEWGB7 z=$vMG6Qz~Vmvdz3FU_&QnALE;#HHT+RtE)natHC~tN3_sh+zEa5Ue|b0MXL>FN;!R z$5P*p96~yaiD&d2=Udlwp!-=*ohS%jfm3~wD_Z^2-Ll@S6@{0ZuB2XaJd7yDJ0*U> z+mqhg+9dT_XOFkh|KXwdj@zEalhLtsvzix3$b7tZkMVLgH>480rZ@a)qEe}5TH;bk z${QzxGd72jD69MUV5X%A=uoGFfZ}@aAlmv}o?WXKk6+GAqV<@!m+F0-6mpuaX|3EX z#1i@wx*<$m@8^=sE+{3@ehdRFzPvhQ{WSIIgtAqRna5Y|uR{C`&OVYSqSa%AlnTEF z8@6Mc?>bF&U$PvXeo)Tm`Akd6ydJ9uAbZqMi_3N#>EzusWW-(9= zx)Q*CGz_E!sb75a^tw>a`a0_*IdrsxqrT1_6P?BM)3HjcCZ(WA;LrX0zX*|kgj2wC zTq?76C6}p+g%+EtGrO;YIH+IwXkAYGn(N9x4Z4wWN-D~WXwT)mX(SrLK{Z$Kh}I04 zgY_-?u%PnYAo*~hvNFNLK+8c6Siv81baJw9qSdUg;0@+vy zZH1g_TgSvF==D1ED9s{u{;OF$o}Bjp;$^)s#dJXT^aoD8-A?zC(qI=y&|xTOc2D;H zlu^^({Ebl+{z2^5pyP{_@*W!}xy}YGxo`OP>M#g3TttTSJsS%<6hpKORC^paX6#nS zi4FU!abVjH*f!?_>aKnKOP(nZCg|X z%>!x$?EinO&oXT!sy#jc_kc};Nq+7WR4-mIj@NU&>m~TiD?l*ShX+KLl zbt`?+UYvX>i<^QmKyp!x=hm!*W0oWoT1e3a%U6hBBCNldyILWPo2^TBv?`t%-I{aT1ztF06q;cKIlsYfY8bZ7;)3Dr^Cfy{#^$u|v-W)*pF0V5@3aE4J4S0SOsF3?Q_D4>D zMkr^OTL^S??n8B3S8b_7RF#Gr4&qT@2X#j) zMtbq$i&QBiGl!x6fSW8(JTa@D_19CL?Ia!OmA`#L$|dI%8jw^<%}6YN(cylBn|!lF zz$NLP(>!tF;$HM%U7b|UZmGH>aeQ~=y2y4QF0!IyyRXXE5XYAk1HJy9zJC8gn2vcD zC9=iHrrJVzl6iFh0OuPWlkN9F9oy;>wb)W9m-yR!oU=5=SR=we;o$!m4!_>O=G*q| ztgB)oft&6*;j&QS-U^%8GOmQhA)d2I<}GfqSh!!&8)pkMioq@9!hT0ZV@pFBqsEar zR+26PAI<4hB_pL}xk+zHI0qxhmLAU2>CKs0nTG8jV^6?rrLDZ^Av4~s>Zk!uB{<%P ztyrN+Jwo3v*UXD8PHKoje*5hv^ew{Os zHd}a6BlLf(OLbM=9+Zsr_A`lGzZzG`dphnb>E{>2*4Z(sJW3`{`Y9Qdw1FC_OE2b> zJ5t;Dw8LZE=B77nXPdX6QJ2dwm(Qf*2@a9{yILqQPXB_YeC`Axz4ebnG=oVXZWN}T zSW*0(Fwi$}i_OaDt5K?`5NfPPyBXlAuBbZe`q(6EJ#Yk}=hdTl%*8Ez4|@x7c-QW= z2ExKJx_uAlMn52(d{slv2!hmvZoT&FKMAw}_#mi0 zLvT<+9&Y&4J|X#@s|4?a(0z%R$xOjg;P{Ci6-2nBX=1})rdrdqSMYLb$6^PAPIk&M z1_5jc?MCy}?70$+AV>RVqb{RuIxZmcf=6p=aAA;|O|kj&6boj`zYlo7;x>=)o#Y#C zvP1UA4h4X1Q>O1CgBz=Tmz#Oi38-GJmsLv{B7@7g@7stK-D$30f$`D<`gGsuH4kqP zElm+}Ub{Bho!OuWxb9Fjg4oQw=^*mz2`67Gb9$Qo=T!OYAN}7;u61}@KqIA$>Wu5K zrhobngHpMSD>vzU_Dqy@*?egj2{chV`2O zmur!iiK2CcLBofm{;h8%$TqF9FohQbUg5>&>-ObzTCAa>M;+}4bX@NIyiJY{2sMkb zehsamoi&Z{I*-jtS0peY`P%?xiVz6z59Oe34F*fcZq@KemMWrqT5PWT`dKP%cL^_5 zV+*5V3iB#K;E~PkEkat(Z@H`Nv}>N_!~B7A8$aaV?0&}x*>;YUUAz8-Yl81P8HuP- zSIRLc<$(=a_sn)C$YMraUUWdKNpTlFo_(3u>^;7H9eVHe8R}GXPGlbSSNHb!M>wk5 zmgnGW9`XC9dS3%l<(fNP)TvE!wCUaT zr!J&GQV|3N#lWP})Go)!RISjJzq-Xu4u(jn+>WXZ;a9uKB+FXr zA=Brs!Z{P$^J$4Etf8Uxec9J|8?oMM!bLr1oZBGnE)1#Yo1>ksg!q=HN2S`7! z|03hasYb__eGHPttVcGCRiZE=5PEo9s1ItuNW>it+{;TpN%lh;I0yBx5vdl`gLm^! zwv&@t$uT3m9DWQGg}JVN^Eug4F?+jxVx}h67&-(y{ldMb7D0NjqNGSQTLPZjzw=Vr za@wB z9j!Ssnpsi2tt@WJ>56)l+!dF;eCm=I7^7l6aVvp z{`=Wki$2K|Hyq0PHFWPp!;E{$dQ?1!IdDu{JuSgHA-r8Ajz!pIvXOvC zQD@$LV~|CpXyUty5N2O?3?ISjcg!A&|kP8HwA>8OVLf z?JF^p>;n4A^HV7S(K}7E;DHaBzE8%9noTY0vkOs?xPfM^&b2Cv32i>LFv~E)wZtn& zwmN8d<0j54J2{N?#Rc2f`fgNu4TQe;au+&}t9$FOcU;DN!~|zN-7|eIM72VX@vNVB zrbx1fdD6!}&i1lyAYEoOX;C;t@TU^EaVhBsmB5o+)FTEs5YU$15n4CNZ5c_+Ca#@! z-sF%|Eis@KZ^65LEH8xmVZ^M$dN-!>Ei|C&{{l-(;YQH*gxgC*cY+h*32XFrEKZij-0#ohG>fK^;3{t=G zzsJNs*;2OHHbk5do5y5g&-QcEQU5~g*;{&8)soB~U=}ctypW$!ft3y^++(6~;t1}Bwf=W*K`DK!8mv+Xvw*Mpap=3hXEMiT{o}VSP4Pt92KReV&`V$ zR;!X7WywHwQSRudYPc)Cms6cIc0saK+W_i&9-KgdP%V~FSJp1M-sj1_??yh!GvO<8 z)lkCW5?q)iyi6;|S{z?~H%&~zXJPjp^TJDZ5upngL+H~LvcD)KNCqNLPtel(!9tv$ zv17YKX%J3>a(>G&mCyD_|5NaGZkc0%16oQ(46^H>q!&K1E;?me7yue6IcfMcuduuH z7&G+XVmM}ukS`ncINPUxCD^~H=)XAff7QTv)JRs>X_ChNe`O{TO!OOYS4)Mob(N`x z)lT@92PUo!+Llq%JNP4K)yABk&U$dHADa*YQ%vXZCW`FG8mx|ZsfJm3>j z)GBlX`GcWZ>swy(k_8J3w75*~iRWLPk=lNICm;q`4-;Eij;K2CvAPfY7E~C%O+$DV zVgW`?j8FYPX;Lo_aNBg_&oojt&$Mvt<8f6J;!qztAn&)8<(UD314Y(FPf3fUxTkWH zbic!yC7l=L)AnXYYv0QoMc4GK^XYNLh_Ie?rADmoKStd@yJ7GP2`T5_CT<=+mpg|) zfA0aVG~OX|Cf*i1pm7;_O;M+w?3#)X0)any3-cEBs;t_t$T?%fb}{pxqS{UEzw8ay z{920KcwWDZ7ifPsMq)Cu9;TsWuN2zzSKam>VUGm^AordN;d{c&97hE)oO81oOtl|> z$cR6Emi(P{M%9ZI+@kI*eJ_hS06njQt|gqwnK12y3VG!W7ln{ z;jq<)obBAOEb-qG7S65RxxWHI{6SOHsnhA{Xydy8KBZYu*OjD?EC0Cal#agoW%9S& zlnKLm@81rZjOfyCOI}@g+CM#X4=Y>8GI;$5G|BhEr~J;-PxQqF#p^x$(1ti!d1kZ} zPxCuGJkl=8E8}-=7SYRyz!*T^uu?37l3F}_BVuxU$3}ne zIn}}`l|4oFu;O{b{OM9(m#^1e@OlLpLwrs~$`3aRd#N?xOgy5%ECjXBvz|(K2*TbY zTd`iH&)HA=LvhLAr8)tLiG%Z?>L!a_Y5*JM$B#9-4>%ElXc~jQgQ4N({;xT_Zv^$65UUo&YJzcngqZ|!tJ2H8{+H>Lg(b|f_8fR`d`WecjvJ>@;}wLkt#i8K zh~TI0WR7U3lEe^_ic}BU=W*p(@IJr4Z-QcU{#I;;7PN`LpXC$4D3|8_8M17K&V^5? z=@pCpeh*>fJF#u(Ti8@9%xkR0u$Cm|m04B4_?jU;{xkTYd3*nV42RMJ*Efzj(~ZuS zr(f}(H58`3#L4hRg7LvWu5-Dp)%7;1L#kGbpZa#!ahW z$zIZ&!x8wK;e9F zPK4oPFSsokBGdY)r(({{JiG4YlwAkSaaJoECcfZISlvp0B$+ zb9K6$*D<+^-E>tl=h1lgH@kJ401#Z9#fP6mdPMppL_-wpPBL_9*DXgW*FyAu{V9VP zcIRr9nN2Ndg^o(faxn%)uVx*8;L`@D^VajWDl+LPz4p}%Xe1RR&N`k|4 zE2frZ>Jti?}ak($l0X$}DpeDDPo_p`sJ6&+DW6 zsxo^_90$7~WVNHY_B+s!_Ani&1!ooOaDgh=0Z30#Xf}yc4#gA+s7xfYOo>@= zy`(m7Smp=AQXQqAaqHez&{OTHitMvuLi=ekuxO{Ltots()8(RLHjvgp$yoALqxfN<6WpbE{384QCm~GWGF~0du zsR`r_Jazt8a{kBceSAZi3g1hI&41BE>f-NaDPLE1u98_!BYwI;>LAfAlh9fq?FNRj z)m@L`g#u`85s$RuVsmzSpr7eTYKEv{8O;Y0xU`wB*9MMe4#*@=rGSC3L}EPklPI#R zRfe!-UxAcrmB$QpgO`}|T6KZ){0laqnWKf^Ye7!9UqAzU1S!1it~}Z7o@LDh@P~GwATRjO6JHN!b@?_}*OtN*yEIs?q1O&*2WxBH^QHu&*iH zmo_CEOssCg^JwqFZ22F0aL4S^jZfDn$-4C6ax^DqzJFHY+^}lo8+odpbj$#4SU#JI z2pB^FWRV@_?Pr`Pc0K@&s?23h-6Y||%bPJyyvrC2i8!$njCIC}`wNij2bU8P$=>+o~MLqjk3s=%G^y}n-dCdY3L9U2&0LUsUv z-2b-ju({(BEK}Xok3H4!j{4QUXJXJh+HEY~@1JMpUjCtKWK?)p`L|^p!PRLFqIf=h z&BR2d*NR1VLTja@1Owc^{?vYftmYMlvuOt%F1gl{LKOZ5#?BJ^f=aBL=VmQXmf4!BEJ&rM56TLL^FMAO zGb(Q1A(w8e`(ICw%QaeDYZcTI89iBEu#1*FbN!Hl$yT0Agv_fsW&d)-BFWo`C9Hiq zx)iWm%o<4H(Sd->a<7B1aMkNP2ZYxBilRkWde4q7Y%)vRLNi%uAQ?y8(F8KlKP+o% z*u97|=NVZqaz5h0FJn#JPwRfC?_YT4cH?pDp~0~{a_8sl@u2>gjBZ;ZrKbxB@p`+{ z6wVGkTq47Ze}X>$DIvGfM>(Bb2g83wo6=ij?DA2M#>+m+Ht`wIa#;740K%VmQdR?g6n8*s258ReQpe;sca%m`tLYf|RCM zXZRw|Q?vy|Z$bcJ`jZ;y5M@&IsfoAZM{kbu?5*>dl7lRT1;?LT!9t33b@zVY534^4VUyCQL`rBN!SlGNI}8Vv+9bn?Fpd-jzVYLx)YP zp8s(R4+2y~75H1TDbj`S-ndV8A;AFl_O?!EVxQ7z7{;hW*4qnrAynZ;v}KCiy?c|FFeyS93v&ET9;uC&zH7`!52px4q6M#u4o zQ2eJ-A;b5M@pfGE4)6Ll6ywz{r}C5hmbXNV?ld$a_my(?%C2DD+e(E#1Ayfz=yb@* z(9GdeXR%Hc5#5$Bp~v_el=GkN4Izbiba5G2G87w`vpNj#%4{E@aJ>tp6FL3VKNnX- z8z&d$!1PABM&-Vqfo2Tl`*OD(Lo*ZQWs1i%Sh*&@bN&aFQ8r(Qvt+`}iRT77v$9GD zeHTM!Q~CPd{pf&OzKz7VdF-#C_{Vp&{_w;kTpG|L0qxSyN5_ty^UUPdQkJl!-}No* z$DEK0oIR?m=|#nWlyxVIn#dE0=eS08%_Sdji&Z1yYlps84S#J`6L-VYTyVh(-aDVg z>6hi@G>sy%sd_G}+Dfpp!Ruqh8s23!U%tLmgsD=&(u@_T9>jy3k$Fi14QOr zXWI^$rWU&=V*75I(pgK3{+paMKb5Y$D)LiH5Ue=LQLkco?Hy*f?!GU>u7VuFM!_u4 zWb@naE2aSLUIsV+dU*>yc;8WPH!h#;bLG%h!;(VemVMYc&b-F!0Q`yl&^p~wgqPt> zACI|!QCWFfhP-GY-}#^gzpOTO|1mvz9?I)GLNDyB&|5)UfLkoGNY2oy@8AtO1&K=XlcX#0>s$g+JHal%2TZKZqpjbo(iI3!o>;xQ_}sd5FD+ z<(it+y%PrNUa^p|h;If^fvPFb+sa%LVz09_=v@U2e3!}LuUo>DTVK=6rFLcni6AwP zlGr)DBP%k2Qw;;$&oGw|BYWQ@TjlT0E?FMhY5hI z8J*Vv>Z)zvz1JA&&^L!4{@q=7*lWvJ$Ri>{FRGsT5BUVpx2<`|bNbx>l%ua%p`Ehy zKmI>b55H%tc5T}@QdfoE%kcB=BjxmovoKw;-hE;JbWihvRFJ~ZrM*=)wSuyup3h88 z+>fP2!a@ZAQi?P9dMeIjz;2~fLyX`WT*~(KxodDsAvsS``q0R&j63qk?2eX)ZR-h{ z@>#i=UwI|q7mBKxfBj=3()b+g>|1w~F|(|oqo{>&3R!eO$k0I}a>>UFL2z{z8?IEi zxA@)AM#<1H6#3>%_AW?9_0su8rOEe7)B#CVC+(|nc4LU~XDY+w`qz}UG#KePRr7d^ zosF%^@kH%lHdFXnxr#SlTJhnn#o}E?E*ERYXA$j{DqW zvohG`i5};|;gN@H>I)@gS45T9@f2y|f}q#8MyF3>SPta49JNqpaYoK2Um48En6TEa z4QVLpfR48hc{Eh#&ARs6{bsdl=E2G@|57gg`zDx2tSwJQmH7+&j4Hu7qBjFDEQFrz z#CGb1`%(wMi3AyxMec>w8^cDwCEx=lFpMG1`l@JOGJ%TAlcUUjxI?|De(V$d3$|K& zG(+Ue!h`E+d5M=P##mnsB~{e=foZ!kyKc!K`<%zG0(L$t>)RL7g;X`AC!W}&WLC1I z6ovp7qRw$dvg4q8PGcE~-q~V1ntZu^&2MZ{YDW=;`0e39_Nqa)0uU{`KJF5<>mQ9$ z9Rg+?syPO@si7Vwvk5Gm0%NYHCT&KMMol@pUDqf*Q!0>*ocdQcV!Zq%m|Uq^SJX-K z1TzuNPm5Xe~Q)SCUvEWXFLDsee1CN?TzVBRmuj!?p)wzHx~)JxqQHJVSLqf;&?c zXZVe?&_nAg-yHT-tFU$4Jp;<`srIKEZc~7>KXOF$Yjt~h%iTG|jV;v7$)PQzA^svu zkkBkCdqK1+F;=5)7@aoMeugqmFXSA@$H?Ife?t0oBEq7ai^I}dU8tn^$} z8%q&ht+VzV*hB8_14=mK8Ktyc#+&@grW~4hZ~Q%C%e^;l;a6D(Or>9t)g8= zVys)2$AAlDiU5DT`lBoN87iXw12k!jP?M8VW=8#MQrySM;0GMl0m1am5$RFNw%Hed zIyM^8veK;AD|iLnU*CJFB(AW1z)g<0W6GTmo#gv;)z}w&I^O-J>XbU0inI7bYM$j! zz-k9@&*X)D^@%@~8@_MYFTD^2bctA}7OE9lR}N$dIjzisdH1c-IjAHk>aqjsd2~ic zz7h!Ynjit&m$fEVr_>n_^snLWF-o9#Pj)%-Vzg&)I+n-Ae2{w5qR&17{V7tRv{Eb` zzfLLEtoyMm1C6vdSb0>XlI2kRIc|VP7i3;uIHVnrwaRT*Xpbl6kyNWLPg%0e>HyXB z#R8&M51>(M+qT0V*`RQ0_;$rc0LstvAE2LqWv~U{Puwi7kp^UhnKUX4LTXKow!&dkCvIAN8G8f#&GaFLW|PO3l;5w8G~@MOGxb))`*?6+--bUOOYy z`*R{)=*Qoa>Yfasr`4!2IBwiNJy_+6T`;uM@Ha6>Z+*_Q77qsu#rl~lbA_}K!Q`j0VcPC1Of*NdzaOP{NNS{ zC@B^tdeVL(EBv~$cOvxcuHU(JhVzqgnXXbi#0~+{&_I|R4emXGCG9Xb0-HCBpzsI?F?{X0cQ3Sa1o zHPGzR3|{kW{!qo(HJ);HciH*8k5GyFR~KQO(H7IW0w}eg&t7JAEtn-qr)bt`sJ3a8 zGPW;JPgZzWM_g*YYa>Pn3u!6X?GkXI`4X43hyR#Su*hYFlYW`x{a8uW)@%dp#ghV+ z4)kjyFUZ6m&qK{!rx=T(QI#I-KfDx6HIgmYTY}b zHtA3_*1e?$Dz7ac|7iqy*3>d}v(~c>O2Ef)JlGMu9C1F-ZB5_Oq}4`#83JK)?{vbQ zwqzax+TeM8okwufNwu+QVNFfJK->gBZIKW$w>>)G^?3vGnCNs8a4ozcPE0MD3)f># zF3-J$MV&sZYAC5he|ah;Y&(hySk3r(AEM$QeOZFK7ITAmhk!L-s0Fi;CRO}d|8z#f zRRT3(N`ZN#5fOZF7st(2#Fr{-eW3MBT_ti3l3TF_dSs_RdT$2yz3Vfl_O44bBOOcb zU(TnsCjXqNs4K2=E{7)VZR5lFF6%pF0G$k&%!vW+7#CA3GrM_suVGl0t}S!LON&v6 zNa$7*`CP1mquSA~aMRUKmj0Pvl}uUHD|-#`@~JbG$Uk5qAhU3Z%k(|yN#9=$nBJZc z64sd+v^YN)b%$kk71TmOax)jm#mc1(ck0KJAEZsp0nf5 z(la$*kZLikPZJ87)y#QE(oT*JoZypENYhJ;Euk)5Pq&RyOf0+Ty10p&ee_1LwuSc) zyQ-4)xyF?YJB-tjmJlYJp@MNWokN-?pgn6^Wib^6&Zv!?UAC1+Ze7Tja;jE80cNr9 z@^uq7Su@+Uj?|rpnJg+EclW#fP5(#BY2F8Id1j8^ZL*_eaM%kUj)%d5bvm=AJN6t? zNHkI&;|xzs4JKYsE!f7w18%j)0W6tx&oQ>8Z%7V%$JS=A^=Q&x$5sG3=V}o4>=5i` z+4tcqN!C1GZsBi$HKl>$y<2N(LJWJmQ^vuyEu|PDg$N=cd37RGGY$?VCfLa^Wvhk* zm+E0}P=jTO0P7S{1d-Q{Q%M_8)Z+SzQ54;6!2IA{Mi>*_7XPF-AE7< zQ&rpr)^-|4lF~h#P$v~QKY_Fdmivak!GWc%y1W`8R#N!$l=9KUgCyK~i!;@IDeA*a z4QdcBCsSW^7*xt9AWpekda&*_tkG9cXvm=*f*mWnf z#1BgZ*g!FDXZjR7`%>%)37pWUmB2ZZ2XwE621=~y0%c$|##wJhVV(ASIw@>T!5hTC zwA?=fG{J0b^~KbJD!`5=z<=g?KzsA@rn6W^VtjGJN!T^@Gu2aGY`|RnPGJ$?OA5a& zNE|1+S?-GEs@^tyuZ9ULj#a!+A}bL;u|f1r{yDJ6agNHxyNd#_&5LQTD)x~hTKF9` z%qY7rkpyBOuTqMZEG^LDsmab9#MXU*#SH%VL)f=}sS-ZUwpFhaUR~fEt2E#4`?s<| zpZ8;*J0+R}4p@IdjS#{prJpn0KL%`<@FLN-qb&hf8YbWu7u&xGDgQR`sAuI_@=R+e z6o$KmjI0L;X@(u-2|9+|LG2QU(2o1ajIJz#kZStq&m$ z)3`Vdtf10#HGLwt+r%r=0`DfK*wD$osq^v`FXBuHkGkc|mvTVb{Ju;Pw{Ur>6#|(r z@ax!~b#~7eXX|ChFusURYHm%JnuAc^VR9a-8_zDQyIyPL&m?y4@505c!~z`pLbbDg zpp%zKE&ZLPKx4haEzR}M3g;}S9cVDQZ#Asw2o4jw`c;t6TZ0iYz0u@V$ZLyw(b9p+ ziL~yhen^zuZMcEEN2&pr`OKS4J*&5+pwAi@J8Ql10RYi`!Ez=O9PsDy7MKMtZ2OPp zJt)64Ng5IC9ha8|Jc&nn@pJp8z*p@{7V;Of^xNsU+C6f;wLW!N4k&9i2?MZFeM|~hDp7%y$R|?*L zjh#xAE+<-5GXvVc<<;vb-+l#-_R*Wdk;ap~eF*OE2=0QS&ivq*Ak|QkmrXA;7K;tL z>ZNeS0eE?t_a*jsC6(qv&Ck#cn`ukfQ@=Zl^%T|yGNa~XmKT2noO;ip({>sSmdg3X znVGPVLzSX=+#Wv%&g0m+5)ajr4zcV(wqH!n|73gqZD#uYr8f*rO+?8hR%|ug2N3T zFb-IlP4Q^76y19--Ho6{CrOLd&4Af7-~eM0+P3>w%vGgHh1ba!xxj>4AN~dn*!2s6 zd!_lAD27Bxy$!Pq-Xtw`(&uCfAP0EdY84`2x!36#1+k%h#gsmP+isnJ7a0{%cg9iS z>y2AEpX&}u9ml?f$lEltYP|gG*R)oRuOuy|RGD|*9O4#TetcPBsd!i|Pw`Y*?zb$p z7%RnGLco{`NPYhO-I;l&ANU?|AQP^Tjs~*W-g&<#H>8RleBb~B2xwhx#{+H}tp~d@ z>TSlIaG`!oeNR~t?8yL1Hn6MO5-lWvdt8HFr6<%?S_1MwrsALy1f%)_(;i&+{tzoP zu%5q=bi`yE!23b1fE+$Ig7;Tf(l+-L=s&XVWZ4H_xB-IS5w#_J>Y10(Rd{b4Pcr9x z=a=80x^afm?bB|qvI^9mYqAgHd- z0VY7t@h{WhFIUCk0LGeS+gKWIS2aT4Fa4q91Pk8-RuSCT zT-ecU`moWtq6<)*fcP|8c-=Mpx53kopg#IA;uyyG4gH$ZY}QLk7LXw$yUVk`lJll9 zOuGF>^J<1uTHF(L9CHG28h#Won`38(R&~r!zZt(E$I^+PH5gUlgl~Q=%D=5*`RJv{ zeFheY!ZZWzB}1ErMO<(Nh)U(NDaY;HJjVrq^*v8>u9iia{swsX6)MDoJ8fAnb$~{M37Cln5|{+Pq`mH(*oXj( z1aWFW`*v@7u#92F=gR!Lznr}^lFsSo#hV(eIAIUN8M4fFCNuqTzBN7t5u->1#N@7v z&4`W#>Q9Q6OA6n*U#DMd#Asb{^NidSU#8s$fD4R0C7!|hhu9EKe8cxIb^E%0xbNWl z9$vC)5x86gUUV+%|3}$dN5z>g+rtS2PjCxPu%N*;xI=IW?ykYLAq0m2!QI{6-GjR| z?(Xj2n{#I7p2?ka*Z2D`D@m{Je%^YjcJ11`T8q~c!L)s?vKG1YrCw71gz<6B?rE)P z3i7&NqD4Vx$M3Q6g5iS_%rEGdjFxF&vjDWrC>~a8c3R0rcaqc8Y`tkkuT=WXUhZnR z{1S=0r9QUv0h(n%=l`~c;*NOX^AdKjVWMQw@aN!f#7q5jkjO`ciwpKOH|WzfYpKf^ zYF4LSM|DIjFXqa5u*t0;Nt$$+f8O8LlKBt!?{)7F8+r?#?10yk@wa$>Yv!eiPk{QC zQFEJBq=5=a(O=-?NM?$7v@ot@e60L%3P?)D5So9M)XBAYuNs}8oL|q(VTcCyZ@%$A z>Awo@u7(Yf@KGQW0fzs3GntC-*|&2sXYN!HERRe++b{lLnvdS9#>R8$j&C$rzGjB% zFDWz-&TL1UK~(jPS~-t?Z5|k{ee10vs7szOZ~n_w!)MJiLjq#Na0>!pRN&ejcTo2} z&1l0n3I@t2t-80(TwH^o-w*dUHs`k?=hol}JdZ>%gaq$Y(TcY*r+I;uJjXmVBD&sJ}*x@$@z1qC2u*yRehI zF6JIzW*W~R8;8IzX?lBU1q-x33&TgEjrDJ`FYjgFV^&fYMO$&vUT;bxe{po@akK>F zv!s|Z&OOy!>GD@->&NY9`1^`M!)49lI-d?KZ^)l*s+^dq!NsR~x;Zbxu!Z#*v7w^S zVNZ7aeN~T%0g+%|8Eg05>Q3aW)=hzwgG$`*4b`v0#4e!2_w)5@*m}OP9Hgky?%exh zl;!&aMbaZ6hdJx+->$iqnZ^O?YN0zSwzoM|$d5hiBbk7C{#`vMRRFWNt-dB1!04#U z&)S}m*)%J{0vOMGb&QQ@fkLx{7q<+yvB#qM4ocKS}l#w zwSYwQ!MqdM!??7&ubcI+LiwA-%WDDxppAo1Ax45mDyB4vr0*38U`z2p9cj>?bW_8GNsJ@Hgk^G0c2Kd*L^#*wewbNur_^Fq^&H0Hn5y-k0@ZRGA zipxxj{?BhwKqN+455i2b7iGcW?>t(j1I-(=g)KE*(nY|Oo;;jxLY~*ygHqbxCP&{U zWKj(z+71L9mzQ2JH8pNS0}g((aVw_~QfTRlhh_kpzawO@;|mAha&h{0V7 z$p^rodUO9EwF+!Mig{lDwxG+H$EB=m7Q{=S>9&ynJ?`)Gc|I=%2!NF80pyOZd+9^Z zlIEcI<@oQ_y<@J_$OIg4*Htc!1{_{4V(zV`0sdF8b({*?<~)H!fm_|s!uQx3&G*y# zluEV4SOIj&T$i+)Ypyabsk=#Y!XF|Z8HT?bk32pare>C8|4c#FoTj}yZbH|@EL;7W z+dl)Lp4dO@QLC;#nPcm+sl5_?SUCm=Zt@8b)IW?Sj$9%iqwf>DzOR3pt>lg>d;X%J z&hpC_o_W7$=1DK|C-(X+A^jF}fAMtaDD+gQzWjg1CLaX^(0@18n-g2%mJ>iX-+4NI z`c;CVHiR8Gk_{%D9Nz>s;XDzHB{7nz&Yit7se6afVDZOXfH%$W;IT^A`?@Ndls8u(_H!exFQ|)yE1*6T|GvwP$~gF< zPr!AShC>OXP+>wNfFydqi*!y{??fjM+vIc5R*jl-0z?;IhwM$AZ~HPg&Z(ZfWi?jg zPKiRMo^=gP1fVGfB9vfX7{a>)YXz7@GT+YcqR+RC%be~FyMXk<4;4T)m(Qh0ywIk^ zFp=$@(*<;LT6gN)K%2hFDn!%ZVOD7J@mo?xZTIm^ZI{6Ly!7GLGw2f$wcbkz?sYuy ze$TYofSxSN5Cu(ZW%lyon_`SFY#wD5qz_#~%OuK8$AqPQdiva(1M6To zQYfi*CGVw41KpMq*GtPM?NigGW=;Gpk3Y-SUy%Vs(261ipn#QUPPINuZ3D(>!EyLO zJ<;Dbqf6T-a76(d@(csLd+58<5LdPV*vjIfIx9nYwymS(`xID9NlBEZPT>n*F z$sYUFzi#?EqRRNo7B(s^V^j~%a?~S>GT{UMFYAIy#r`qFcUPp-`rTy~?G1_234Ni# zH?Y^@y%mR*U9-Nnv?l1Lo$B8Mn`~y)gzgaKNmFR~KS9d?Q7`m;Aenp%v+nLf#a3PK zy{e<)Anm(UQ4Cdk`M{>E)AMml(N$b$wri29AoC;qa&ZI`iDe~2AI%Jx^YLphG_)g> z=Q+d`g~JJ18wU0#uZ+k zdKyMnFLD~?%SDXBMQB{?&DYF{F9}!K9A3?f8=xFJBZ{U^{J>h8oyTGdZMot{WjpV< zfm#g|rd_a(>0;_p$&gYp2^GvR?JaESVUwb}$U>2=B#6u1ntLXjqsf~)65Yi%aefcb zOOXicU7{PTpOPhLi!Lijf0X_!0sd!v{})W>)k33lFpzA#{3i<`tGyyLgz4^bgEH`H z#H^NF3f0|Z%lzirZxwVU05X-6Hq9_7u5o~R#vC~&>?VppAEe{t)7gUL8Dt(KN4c3lB6;9bI2Jk z6|{)&gL|%D7|`yn3k@kZs$bCGk@WD+AF(GxvCG#>UkSi$lRec`{wO%6E*fgT>cC)^ zy{ex=)0c#FzPk+*lKA;AA_mZ26l}W~L0Un70ID*Yc^3rsf@^ErN&s~^ksZecr?*k^ zqS6C_@`lDsJJCWT%LYBcYFghIxXs?)XE4S@Y;xsA0vqM3)Jd!{l@A@mjz`Q!2 zt2N-?HF9riwQgpe-Oo{c1aIkC@SMKO@)`h&iQDVKnfM>b>;$T7czvM_S~T(*hchIA zirl8|ERo>6ssB^w4eJZiUdbv+IoP?F~&%S^Xeol!Y@ya;ZTtYecxF>tI*A&1{~)D| z4X74%e#CHq{)c(>mk#@u1+6pFx-B#VBjIA?E#O^s>ZjH81rPy;Am^ah@9^l)7~RQ+ zXt4^98OaCQaJ+HBUCtu}g{N;_ZE(&G+aFJx`6f7A0C(YPL6H;kYNX9DL$M=3Ibcfj zu60{tsep#6lsrWI1|rwWpc3zzRFC%)#HV2@DVnGKbR#p5DW60MC*) zpqyhdpNR2;7S-|sAP3DnE5f)l3vDf+tpUvRFuzt!Rm|Ce;jbh*Xh}TU#%cTAd0nL; zsSeVT;q#;kNurleNo1bbt=S zvlnV2{~+A}d-u1cl%(_Vna(I-}*bv^oLAj6+Q^8X6}j>bZL2i2b+ zaQ&ID!LaVh&)D*UMj6^|VpF)^fz2WpPo7->qaxQ#YivQpZNb{nq@W~ITwjc6ecXcB zD7mCiRs3!5jkD3Zi3Z1xRF>bcEb~=-yPpVM*IpBh?6R8c){*paYlA-Bch@lKu(^u! z5{AaZ1dXi5nxOqFHO!U6lJDHT{kX#k48lfbzvh0H);_?xF(!fQDS@VYz+nMjJw(y? z!K8aEYQOfs8neCMJ0WBM>=U1)-T9KtQCNk_OLu;)ZnAtrGqEZy{~-IJg!aw5 zLQ6W^T>`|ACg@m1_c_Ki`NB{OuG@keP>a}uVwL$+mSpWYu%u6b84gUSZ?(KkRt>0p4lgHcjR`xj2A35j&{_xLCb(#y)+Lcg`p88&x|uv=IU9b zi4e4$V<*I!im2pn2+-%czfuoCa&FyZjV+ z+f!L2!CmC;HGhM6q|2c6BO9<*j90E`?`C-zWnEa@VUc`>jSZ}BC(b3fP zwsBK{=Tlst@UYuu<>2r?4u{}n+iZSquflxuh|RAB7b>~dN}KDa6`%_F8B00a7uuHhLrhj5sC+wnmOkXIp6qh~}#J zY4@QgK!|Fg{NBxPOn&9EINRC62=BFP^3YHZbi=%cXu%J=3Ig@8nSp|N&Fp^Y`z_Pp zH$P@lhix0&#l(yo-40t8)yb$~t7O&TB%NTC-)OtAR;cto`wQ*?0jCAJs1Go`a_V|2K; z#{ksg0?1(67T!A~vDV;&MKG7z$$EKiw*mOW>bIvbfQH7u@~bLn0XAXjcbQMm+=i(t zElnXrv*4k(cD9O2o%f|$Nm0mAAF%=35d|OiEzH^2GAnk)jQutAv;pPK;D9rKW$GI^ zL!guB)}yKoa7#{Xc$L&6K3$Ej4{B$Mi~ADRL(8RYr@NFN7x_ff6ExEmCOd&`AWd*_H?in#XGvW6T`4BdCw`4o0==3Op=2c30Hc0^<=m#e}BG zr{(6C1U6!DV@KSQ=58dwPytfCYq=etUVVO(Za|53EBN{mit3!Q)wtgMlFgLfh-$wr@RTC7kUr)p~| zav5OX>h^<{^(-4XlM%8k6|I`sc(1wdt~9Og?Aj^Th_$I$r~vG~ znS!U~Dv>)js;{|mD33F>%5N&qt6?VCjWpzN0>}r8{H?Nz@ipJt?>GE3SFZWkPR$}y zA5kGF^u~UKty*2kRpYCBOY*7%>AIpiA!pMxm$G((nH5-B1FZ1-X?hlp8jfj`3@m~R zGPCaJw8&DJZQyEycb;Fo{) zW`E>`pD2K`4HH;QQvL3H%Ps!fM%JilvT0wKeZ#V?( zk2f-~p9}Dh+eos5&N0>(vu&OhhBCE7L*`SeIcbZiCC1&68|2p(l(nS^x75emy{Q+L!OOt_6a+g zOirT~Ycm9fi)-?b2XM*wiD)fazRgAi_N?m6U8&vx;^?5)&fH9;%65=E;Ad)p=oP6- zR3G`61%3opeFV=o+kG(r0BxwUWt%a~6B3}f_G*0^)t=P~V}bGX2XvAc!Tjzf@l8!t zx`e;v60U_7oEZttU@uWXAOcWAYUJjh8;ccATe;4V+{>fgJDOBdwC>Xbx@Hwdq^O@Fz2HMkQA;9qwZ1Qs$Az5-^5YJY+r zN%aqaX(3+k(A{?Bd9D%ZB(ISRy$*kON$^pFtPb>&KE?;?p8-s}5{@y!vo_#KZCVM&DrbHfY4n z15P}yemlu+=RQ-0abTM=yboDW9K|IiL9B&Ua@JnN{jd|u|HkQZfNLcCp&-_$6))*i zBRbooD~~5Z^_4Q?P_RJ@7X41guHW0#(OGtz)7Q^<+%>GL&tI`ddu*2<60b(yk5RuO zdhrsL?*#<%*B5{Ou~SaR{o&StQK*nWP5+u$jk+o9Fify%L{#HDSnpVN5u`S0AB2RP z%PB)oIxF{>u*XOu7@@TNBSOcuf8=KxLiBi)OJcm~44jkX%@&KzRyXx0cCuUegcRG5 z4ig{#zrELgye%@e+De9v3~ZvXCjEslZ%Xq=>-e&E9Y<{_N%Cfi%nV3t4+*mkMNaF3 z)`vXwB+dP5kp|a2t|&~F$o&^x54A&cV&yqw8uz-%8VhYFe!GMUA{QFd`C*%A+t7>j zk0g5aV~gb*oewV${BE&khfbvX>bx<21o>MSq2yW&kmCy^qR+R(fu=s0-pJHs+ zM^>l(!CeZGv9PU?gvyD~r~mnBf1OtwpUzy2E3|4;Zk}oFxG2=n5^jcY8$8X(_0V+? ztd1SK=_aD%{`hMl%iVG$cdGmHzPwEJE%LrlTGx zm%Mm3somU24=z#69;+iqWY@*S_?vMf8NT{YLcFPW1dC2;l-y-$zE;WS#bvo8h4#u< zkIW>O+fi@bsDyoUB1D)zUJLwq&6=j`pKa8}#DfGHgGucN#j=RbT5tM;INfKq#rFHK zmi=3H^z%v+owe}_GY9&&FO8ipZwCf7x!I9^52fD^>_218E1ZVD!ciKhPuui6{=dH< z@(T!cs?^*yKN*mG;9QhAR*2^~1qe!lVts97U8~<;xOQx8I%MGR^!K>CSu`!w8F>KYhx$evhqMJG&P`>hKuA~R$ACmdW*O{4iz zjwdLQf5eh2zJ<;$Zm$vEJHtv@cvz}6nlAAsLx!T&>ir`ZNdAns$d7*QY&N<10$d^~ z_Q2u2F6u>dzI(ABSu+m&FY%`o(r0}o=PYF%fev3Y1+k#x3f8gU`R$1ma4l(d?EKH& zim^nuQq;3n5;jGZ7ZtH*g<9DZY$I9QwaHW)&gv?kI?1_^ASMx-K7S#xd=L7nv7wl1 zA?p{0xFGJI*!tE!W@KV8P9dK3s{8r5Tc8_mN3!-q776V#W4>D+snjCOuCL{JUj6+~ z*;pGo*jE=|*#-|V4i1`I!g7J-0q0KSGvuA+*PXvd+`n>zmo9DE)zS+T(I%wz!{*Nj zrRL|J$KXY*%=&G5ko^jsQ>jIrBPArb8}d!R z$8-Sia8a^ZZ8U2YUm;}7;Oy>E9?RzO07hNnbtzZ7<*jHD(9Mq-$j2=9*xOu%B~*94 zxY&Z3gjb19ltP4kAFsd2z&5TvVL0-(QW(bN<20SnrXnduaEp^PC zr#XMSKt7K#S$d1|sV6fK4r{=qxG2BVG&kC){^-g z(YNvOnCZSd2aOD`pp?pHWp zkRGFzv1?pRmx!dA&@3yD6sImuX%^V!_WF!UQIJvgGg*Hk<+k_m%TOWUU(-B_m1dnd za?2TSoC(Vmr(ErIu$%h+s=-!m!Dd_KV|*k^I+avzcRCe8`)`*c3Rbc9_((nYaWgqM zFGpc9X+QmrZFfj8nE++`lOJ|#NacXqa_v(2GW?f`a_6x1i>TBI+RB!Uduc8)W248w z48e(osvc8oh(*@rrjpHKL=6hYy$+vy=g+W(A9mW>`F~woT!-FP$9%uindt&@4M&Tx zVqwSE5dZb~e?OalLqHw~H6GJ&jK3hqYuZuW;`AxuT0~HI=iC4VT{diH1r!5&R3~jV z`zblMD{Jk8-kJ>3lb5-NQy-hs$MvI#z4Q3;-27p$S7%T`IMe+|5h&q?DIYQ~1EqSQ zf97T-0vyHusXe1H0>#wEQg<}ATMWiKzovapFLy;>Sg0I2uT_!Mj_=YpO&nZ>x9 ze)(ptgcivo``3Je|R7>*GoTqnH4@r@d-i>p^V-{@`3g`?L_x1$GDvu|D zQUB(-_(5te(?0D~A$6txC-H;!1*0!(Fr$+X&ll`EJqNW}V~-07+N?YN&Hvts&KX@;7G-`tu5 zq+;JVxn+Vy1Ysw-C^8{ma;DC*j1T&zHRr-}2?jN)d|QV89!mV5aOvMU6x$KvRCoRT zbe2bD$`Hl~luyWnVQz7>q|!_T2A8%o{$v`bOd7?P28#}Jb<2YO*JGjuL9wVbR`4Yk z$jgOGN|hDIf~JTJRstPR=vHE~k?-E?cVEBSg1g3A`JV>hx5y=W;njv5@LD|QZ3lS} z`v$@%>4xt)q_p9LJH&eFWr3SFKIhz3uql!mVb0d9g(PfNC_~Z;PXtJXoZlFb4!)fh zvYwfx@NPMEq_GS_Td^7<*rnVS@3t4ol79QE=lJ(qdVNK6Hg-a*zMQR}s!q=e31wEV z+Z5GXhWm9dn=AdKaY2fs9mT1%hWMmQgr!%`PeC+yo$;m>;|uH*;j9Y@qQrM?vl1(7 zO)B79UWHw6+@6W3$uG6~s<-DFcbW9cj->`DwDCCGHN2EqRP#mh3F&YC?0WwA(&P}D z)8wvh%PbcgF>f_y^pKdk81vb%BTWLH!9_c<(y4yo{*GY?p`zVn8)W!^@`fQDH^T;V>+0e5Tl~u=?YhNar4*UzgJyyJX$c!JgqXCZTI>Ckl*y z`2Tn_hatQeIwQ}C!U_JkoL+6Hv!Ac&4vRb%DTIA-*LQ=OV%^7MdAa%mcmglfNNQ29 zra*krhqnu7ZW8Wkr%YyhJO}xKYv%fTTa=-~X|`S+ch&vgWI{o>*;L$vIW$2?19CXS zAFV7FID+i9;;^VfFVR&NZs6+0o;IqI>U=xi38JLP7q%#mSEaO2x(PWDkiku(FY{k& zc1sA5^^yvI%3@boarcy4MzBtQ<4;KHZ@xj-=6JW`w$ot~h9tXsKT7$D90ULX zu%eeQSXJ`4SY6mW_?R?zpq}Wj8F#eCKe2W%j@rD{V2T%R=8)hm+$wc2ZvMa?S?R%@i^N zJIDL1Z?xVmY|i#(Dq{KCf#>c zp8tIv!%0Rh?Z$DraO&PT?{0Bg)rZg4Ld;V)=B33P-!WJpS|Cs7tvY#nn3sA7?YSy; znlj_uZLf`8^i1jZ8Jsk+v{g-(wK#szjusSY-mWP?i2SkA5m;Weenfe(DurgErdBrt zo2)GOjNEg#ON(Zr_`Ts8rfap;-H=t2g{0lQH3dhpCUoHviMxIU=WqA4O;pDX082ng zAm(U&E)9w{XXfOA;;QW@?kKQQ26!SJk~5N+8Vk=r*TK9S_{Q>w6hz z15|Cc1z&{*YcqGL9_MBVj#Co5Ctdr&tD#Sp${`CgGpxQ7wz2*8q<+Vi&aoU=dbC&0 z<+hVZ5?0qZc<|6A^b|T6gdb%B+VutyJfD&F9v= zN*+-)QGhzgigip9Ojh;?#)K}+=f{%ZO+3R)=DADJ!S4ttadYngeyKxS`|bsYrsL7$ z>!X!mpbjHSS}reV65`h-0(L>pV!AtwK+nuISQ;;>O&JBy=k$@Ff@7+Tf~#bWd#1O8 z1?Ssc$@!fAwXX=VmW2^xJuzz^%61(0YO0;7QDz|dRw7PEU`z9TZki$xCGly8w7<66 zfat;y|Doos5ECucW?cO&byanaT}WqrQ+b0Z$%4V+p2bOsfIB68L*&KUhP6B_+2qsl zx;%)?ajNJb*s@Y_G(5%{V;cq1ID0XTibut}dq%f3;Q`u|#ZLzxV(%aB@t;q+=#~6C z3I*kZZ@Mhx+HZRBSpB4jZbJ5ss&Ke9Q))jsAG$l!#*?;Cd{MsAR=OV)Z;g*2p~xR* zLPcw{BK4T^b{aevSsu!|85_$TjoP4&+Ymtg9cp36{|kn`b=LHco<6YNiog|rBq?)O z=bj0T-9Fcbv`|omsbtXLX7W;dV(_n7X7P=o?aP^$mddf~?HvuVL)|6ZHXf~QO%ZB5 ziWkx2@+91r2}pNOAFgJTNqf7CQZb;)%o7v3#2d-_XvDY(5`hm1jc!ry+lZoXcs{TP z)2b{u%SRlvz`!WhsKTUn*!}ha7hXyC-LM3@L9Jk?Kpb{7zGTV7vdf`_%@EJR0_uK`-FXm%U2k zD{T&0qOJ4tV6cNUb^juG4pkpEmY(x0Zzp5=!YuCtCH2+oOYsGRohsJ6rJ@Nbv%Xwv zaLstqMIvc!ELb+F3IKMf_*S=SX0Tue)b~Z&lIM)adQpcr%xm9H8PYTJtFL!Xu}DAS zVzr71P%pEfu)RUXDsgH!sNfu8JfE{@+uBL@mfAO*8eeATc6EFfq)RQFcT!N@zt*so zlxk?aqUGehmV;;O5q}fDNXH#intAYz6#5{~BZM`Ihp7DW#KO^N`q5r`c-ftmy>UXo z`at!aMOVwTF(`C0R3fo8E0=X7%RHx9CX@ZS2!U1q^!VZ2H*gK8q>2kSHf7Pg8T*@$ z_c`f>J`xE$fHUyMb4;{lgsd=AVP|-MZG_`cN( z<0U?i*D}wzDbt9TJ4**svPr!ta9+uQ6OhGf}MoTFTUr#DBf=)?E8De`zKnbJwy^8w~ zn<8O0RpJy~%X0g1Tx8CJ2d)2vh}-@Whw?&6LUfd&vPYP@tx(FB)R{iTrJ7rn;qWse z7BjWwN9a`ihfcA#j6HDwB?-?#tUXNZ$Ua*Y)T!5Dxfli zzqu&w&J-`5p#Nawq=a>d%HvF!id8#4WEUCdfR-^cJ}8F*A{>mc6}y;bsYk~su)>A3 zp{IVGCFWS#%?1my zS53zA`GNXZANQ}eyKNK#IyrC{|6WF|`Wc*#yJ8`WpmNZE?4{3gqB4Qq02(F_dM$1g zjp{;#j1G|>uCQBl&^o^D|AdZynIZNJU#D@Pg~q(s5%^3!#_JmRxcYx|4gd5oAq4pr zX$IP`Aq)O|A(0qVR|tPA@7=4Rfu`VlSb+-^`^}A+9be1b$Y8vM`*TAWwGb~xy)E1Q ziZqYv<)QxhnlHH8MhB)H83)>S17Tf)2HK@!VwUl3SB=y*onR3r1b61$5;F^m`2CkwR^!CBcsytOCZE1kP$<0;8 zW^ZY+&)w*5yR*bQwtCwg@yzZbmZ2-?|Q>TL!PQ8cPr^H9psBCXDU#QH;8B08d2MvlF|fV|_a4u-h|nZA2-h zHzsJ?_u}dPnljWf@`OoGYisdabm+EhxVmp!{G6v8N->SS%pun=%<2P`+!#&9hyFL@ z^hZkx%jX5;2PGvAO~e9=<#Z~Tuod`K7OiSgfgAQ}N(devDpFyG5bi7GDUJm)`os#w zMNvDTCElxH!Ix|;J>qU~?qJHAp;|67bp%WOahoqzz7O8#<*n*-f*Wi|-{9)|{%@%K ztHge#@v=D$HmEjUoZZ{WNMDN!wy0o%n*>Lq&0)yt%5Gej(g3(%)Mz`RedJx`)Fd~v2~2z zP4e1j+^E4-bvFB<==s-%YFN3Hb(!c(qBt zC4Y$W*Cqry7nUnLRF4vZoR}0wUDnXZju5zxktv~7(&C=F84A_1#{MU6q7S!VOLG*DXCVY!j9gho6P#>e>FuZc+*VBY|AlRMASBsl z#>6v8;>obIGqq~6LjkxC|Jo}75f`MqAb_2h)o?|QJtu$0i(K=8JJh=5GOpYydG&rJZw)uvr@T zG@!aH8*^)Kl$o4zW_Q=}0Q@Lm)8U})JCs*KFEi=Bm88}v*FC>`ON5La4sqW55DJew z4S$VdjUT?=o0g3baD7wB*>zu{u0j_1qc(# zarBCZ>p~O<*AtOUbfez9Uk>MlX2iJY~XmN5geLrM_shM>@#ugf;`%c z6Nb1YRimc-jnEtetn3FOD-9~TCwwEFR-G^vP2~d!uw1i%a{AjbJ4!`DGHRo|p3P!) zQ^gBBqu|Ev9@-3m_VM5AKdiSn7pR??)Ig@-rsUA`4Z(1JN>yw4u#pwKfDau|olznnjaALeG?J-^GX6-E3PIPjx zZz}FGK9@gC3(A)|8c^_y08cL3{#&kW5vg;jUj9+ZIN}%&o=Z(vtNHwmFRI>YYvG!D z?kb2gLl_pJT41eecLNgr3oWRPC)#6{^e*UX{Cl5P^&|~8GE@pxr@1Ivg13Y*)HbC3 z34xxCmZe%HG;z9$=ErhWdD?=Jk#zcT82Ku2q<%6def!Rk`?quSTrSTo@QSuYVwEEUEhFurMr)J9$!#+ zR9#&#yh_(TIJvL5cwbSu6|ydWJ*&RMx6auw*|br2ZkzH+N=pFfN+OFwr8#sxEZx#h z?eHb1|3k2S`;=DS$o!Lvr+k56)nVJZ zpCCPX%33xtd#ww)<83Bg1Uab&-}c5sNY^dQ6FVZahsbg?x3qskD=8L-9}O{!E$0ya zC3QmN6@pT!6H>HBE{m+%Tfklv?Ma;)!n6svvrjwW@k#wWV;lD zi+9CaS6{ol1v#~k;+y!uY8cfMy8&QO99ir~qzw6zho|m<2XDt<`S%JybPN4xg+L$&+f0|o9_Al=*Ry^ z14K7a)6ol(wW(FUbIl6CgoY09n!WjlCnp=8%yFOHK6>CIO&ZFPs$24Hv%LoadV~L0 znwP~Q6h*CN0xF)m4fAew24q6(y3}p9Ak@gRnQtGEwA?suZC~#o{Qiah&t%jo%*Ukx z{mtgjaR+h|#M-M2rTY?M|B0>0mr2QwF9H$Vk#b2G+#zOG6>BWF6SO64a|fg`xl*Ng zq@ZgMdc@u$fsq5XC)WHN7T#A3of~cshp3Zs8RdO_*!!GUpua5}i=I3X68kxJE=sCA z=e01%1>UwHiIi@mWJ4@Sr}5@#1&3b#{z+J2bbal+I5J0OuxdSiB5%FZ-?GX{{%0w~v--CxlxvucY#QUT;Um&BczY zy;m9g%g{C~vDc|TtHn-_NrN+!%?ZT_79iG)h}_JUt_Fy@-Xtb8AlV+O4`m(soM@C( z<6AC%YQ9n~0f|YqG#X`3=9p~jdx?w3-dFXGAT7$^N)VoyrtZA{rxU&rAR@L%+OwjX zKUdmb32$4ikhSd9Qp(R1Q0U7GR*WVY_0G-JC~oMY!%dYc?g|+&&e1BZYteFR{1VnD zO3`&(;BxL`XDjWqLt-j1j>FbSMpw1t+sU(BG7Q{*eVRNFQry|@ zsQ2&puL?FVcCPC$fMOw+nB8Gnsw@g~m=6kmsx)P^r11n>auHyuxl!*-C1Z_JbB$zr z5AF8}Bi1e|Ivr#n!F!62Y>#9*N`}lkN__Yp%A;zUH?oEY;2P>%eC`VeDv*XP+mw?_ z$~LKoCBok42|x#sMd3Si4rH62?CFcV_zsQdw?Vcegy&qsHb>tOSuN9YYX-9-az++e zPF-7S>^^YU9-?=jTf;c%O!`kO$hG3QgZIy!S08(U;i%R;rRkTfO)gi*eab5L8Q-c} zD~!uo^^ZBGm5Sqjok-)I%c1E`SK2blZn3>rPc5)qo}N(Oay?J4M*+uTu5s;9HqdZ> zv|`+QN1;?@orx4|jkT31om=4OXpVFdoGm&;p4{^*i5W*OeTs}M`GG-FecIB1v{N2} zcJF}{%M99bc=N)BZeloL#$+y(Y4>t5Hge}X(7Lzx?u;6YM&|Zi2z%i*XUZn8wMO=mMLu@G z*Nq2aj~dmvJK(yif(Nyucg#hf&?p)6)-V2Rce_<;A*_CejKe#@2oRW%)BFEGAb+jaTb<6cJA#$$^LB8d0R@Y1yE;E_ zA;Zl_Sjz?PH=SCTCzYtbrelFEch5KBmSw5P=bM+Lai+&xVf9|M7~D3n=u^`2fZ zX~Ujl%Qs@a-&AF+CYrOjA9GY9^k?Km^g#`V<-9@f$!lbai?fdr>~0kWni_4-g(PvL zz5NOjDOl&*3TalbAF`iTr+S3%_m(hNTjGTP8ZjoJ!P~8qP+2=sfzc{A5YCGwJZWmy zPa&l%08Yan&7`%q9ucz-0}jt}k<8MOCEj?o0Oj8^o-y5hWi(Y0J+={d*Bl>{Zp+z$>g&)Y1mr=$e6<6c4~eH z|2r^%>s_L^ubb9#=2f?t6ldByT=L%a^d!?RI7Ko{l8J9$O*Qjw_$>paP_DFDQy$SN z#3*-p<4C?O<+!|dwDI1W$R^ypx)&giOn=F8CW!u=u>7wcc7+JJ$WF9tXhs=pQTiBj zfykVvd~r_FJlIoEojTTb^drOO*fj0MMa&#PCzb@w(|C{?Y?+$G^UZfAXTLgx7X4f;Gd|{S@ znd4ifsxf{Ve-e0qR=pKSFGKacxC{AZ-E5@md+Q+-a&JD=S_n-4;3aVW6U&?zJ}}(l zJ)ykr9a?mBJ=ixpdVHk@vo8rYxm?QOqn5Pg2FgBlJuQyFAN1@WnC<3Zl+f2@{Oq{? zjMT~Fh$L$Qo0~<>y?7q8=~-Lh=@hmJzzs$F6$aTg;B|2B`{!q! zB7ilX@BrD8m0HXGyH%~Qz>Do?zp>VqA)N+Z{{q05C=0RXf$`yxJ=eO}W7;=4!3M^# zn@;Cf0to-=9QL75aDffjKIMGOjQH0*{vR~?UrPxvETVsP;Ux$C7yqG?h2Rd_K*1qw zjRUy2P3drShH!wN`EYmBrnzu`CJdw7!)~=WX@9T@?32;c!fi`KADl! zs-WA6qg%GeCP4UBuZ7T1@8(rWvT~K>W&&ZKw|3g1{N@b*1$e&hs&s4zeVZ+@=Y422 zs>)K0umn?T)o#@^T=3T@c@32snL9y>@mGU677`%|ipfP;itQ?6Uxi-D${ z(aR>4L8tBwRt)g}ZzTX5p7}D0ad0b95nwo$X6?G4N6uxZxA!{c#gZnl31c#8ynOP2 z%d@kIza8G0Z2>u)FwA|?=jFC@)|8Fv8aZuXKiD^pbC<5k6cB1v}+{ zInFY%WXy@hPH_ZmO9o^|QTXe0X~nfcTJxa%6K+F?8KEne#!COC1viXG$0O-+(>E3C zFwkB8VcD?yj1Fq%Fez6zz>7bH&1`DfHzZvQKkfU}+X%KElTc`bJ`;0SI)t8pE?#Z| ziIifJ!cun|Z7c1_z-1!wqs<_a=LJ;t`|sJzyoYeiS5YhzeA)3$#wL+^-e-Ip?hi?iWSRoC z4(u`^gO{3fzGHq5$-$1~LGBON=)Cry-wlQ=j+oCR{(HE1Vd`poOKpyf?#4fNz82K@ zd>-{(8`vI5XdF|?3-HDD&*^(3BUaqP4v5<1$j6d6ro9%r_%A9cBlpVyHcD}#Jok91 zJ?F?9P$SIGf&$cB`vLu?%^_}|e=0D)NY+9*ddUN>$+!M85#cGZjy9~%DjOmq2e#aVXM^5;zGzs?nsU5vq<4L?x(UR!&raMr2l7j!Ip+-XQ{Mh@6)IG z^L2O>EARZvZnholxBD9Vuy8>sF{kQOW;X%A@Zn=gsE#|T5xpI?y2i)Lr`yYgvjOp< zDU(g+*oBzf)Qxu{CW1EUS~lSxTEQ1aiQ5xbd!I>nLoqO8j8D0h7jDG0JpuTTHvkq| z?O_*xbTf~leo$XfukBZ7T5S-SRnhhGaXd>zXDx~*ym&@g?GfrOmxmBO=Hu+=m_alB z1fR9qP%ON#^48xP%7bwi<1UPzxO`@5Yd&-=@$*Zd1tOD5y#y7}HAMp{F|$uRRzYhm z8_7Aa}z4n;t^yQI6>Al)U>-Q8W%E#2K9 z9h_D@mj(v=Pz1M$HxSPd<2^_TusRK}8{mI3RHL2OQo*&2gC-OQ4DiFet~!UD7aq z6~2GaJ;sCx!5m+EHny2?8KVH<#O#avm#NTbASp`%^rHB$b#EuCm=OXg?B{UgH?b36 z^`p`?ggEs47zuAilTa9$UQP%&na4kCq!7~x2nO-9`W1MoyV zV0l%3;ssjx$Cyo;j43;+dyYKHM}H=c{hmu&;GvLnf>fM(CD{nK$bl)-M;{~;xhRT3 z6fD-x2E!YS{Now~^Sz?fD5qi)zrK~?fXow4lf~2%YeF&wn=cvfWxOvl0@}DnTVlNy zLWa#u(xRMVq(YJwo~CvL5keYi-9|3Ruj{36+1X!9ep><{hdg91<&%1k%eYYy*sXWh zMt#$DR`dR`xOkHcXpp|`roshuAlysbR1!_VtSY0L7u3XcgEC8cQ?CV5!cRJ#Tud2J z&)FqCT9Qn~D@BMb`S4>>dQO?IAkdr?i(MXT#;EAUB+ut42?9{Tj@m8!XuAF>Z{&?~ z4tyGY*$FVl8?|)V)-(i&88Y!A#ya-r!(Y^~#_(-UC`hf#GhZ_OnLhOR9)Ws6O{jt~ zvLtZXy4G+8^Sos4QuFBx#OKq}GXmH7^@i5Q7cFC72%4)3!b~M%(v_Is*)3P27>mG&@s2hH)4u+)nG9f_=joMX7*B={(V1<4> zOAK=$JXxtL43Y!7jri#2d+hVaNFb&B7m&0GoabGyEid405qMKHX3PBZXR8Tu=XcUI z0U5)!4|iTZPgl5gQmpPX2M#D;DOa=^Qmz(UU z>}N79k2Jua_it05{L140KDzM5yDO+LR{rN<-@wE>iEL*)u|GQaxb-e$WEdcOQpg=7 z_|SYt?#*O95tBsg^mf1a!Q3t7^7R70m5Te=5$#Q(Vs)5%&Z+VSOfoH@Jq@eth}BRO z4~4nX6c(kqrDf?hLY9$)KL+cUC~FcQ$;|Fh5(;s>Dx+PV4`=E=<=RhKkVncAEScYy zTukp*N|{)EGRqv9mS?CD%N|me_@tvU?XJ5rl~r>T@z~&S7z+xR@B(zBU6zGIfdS$& zlq37^Xj-Euvnxx(0LDwrsqRl>7O)?l?A5ca1R*Hzw!6K*X`^?;3(&ku#jcPhY%Nl# zADd-mk5+~K$VCm!LCx%n@7J-oKXu0qqBVd29lZ6Tb3mtpiur8Pc2^oBSP2=*DD0RO zO-82E!0+yjGw&oNya3`Kv(3M22{@d`m?e<2S(PVt4cvBTRX&!^;^Q%vW!dz$cIRHF z^$vd9M+h4-9NDWc-&*Y7Qh;V~uIgoOl%0cEnveB5j`(4GaaVjf_NHuB1ns#t zRL!Z~z5vzLkge%V+34mYa8();r6WtkU4hT_cn5^>Gd@5z(GTZf++gZ)==`2MsEbj5 zhm6APA`EnVwjN?iby3*jj6Hs>8m&J21es@&O6xMd1;}=+ms`}kc9*;V=@mf7T(d2^ zP9U0p<;K|EKP}sn%1DnJ!A5ruCJuSqHd@FAy@%k@d91hu|+MZcP2#~Eq zTwQXLkXg>3c72l0qV!n5Jj-9X_R?JFB$IUGVNdB(p|)+G^XuL}90Dg5Kv+f&fGJpx zE}2>2j*}tq3K+w=5oEH<&tx;oGs1xy)R}gH$0?#*V1DyIxYMgr7yuKUt}pw=Vj3}g zA6A}m(~FlCn=~`gkCs(i!UKH%yI)X7O)0fL3}8Ay)YlY5afuK)z`FB1hl5N2zAwLy z!g#pADkN_Ocb>4?btk zEaiCfwQS2<;qXJqJovUl?Li*Zv7g@(88ZXY1|845H7$9nk{}a-%-CUDhJ9$}`jRTUKe)aT43${Rlreng1CssGAj zi@*>zP`rdYC?F>%$8}w;08C8+upT7fW*N`{EeXE3SWT=nOXf1&kM!Pi=UKTUL>H;g z2temc_o^>O`t;zy`ie}%&1$Qpvie*-->?shOk@gXT=1o_DTB5|y6H)rvCOOJ3_kzh zrGvf2M>mZFVd!};o&gZ-xnMbb1xMX9$x0~c2dq{iFbc(!qk|oDRgCJR*JTVIKuFT_ zU`XdELaMA<5x_<>eD?c8`sq>tn)Q@z>HcvBbRSh)kdp<>sJ}YH1G2L0?}zX%2VMgo zYojs0UOri108?Ep7-hA!Ex4rtEu8Fi(-M_ICQUa6D>OCcuHqe5F5mj@cl9Pq=hK~Y z0!LN7@bIm*QYAI9M{X$h19PaP>dipHZ-Y#{6gC@y`#TT+K{Y(C-dp_yd8V1`Sdyq9 zP+0%S#RHhQGWIaP6*fAV0)pRai)=oDMe*n0MB1EuyeD4bSJNJnw|AdKI}qfgn&VaR zf!2m7a!!)+o#}~lPpzOp$_Ga?|F!dE99Nq)>1Bq5gWI$#v}S`2r}PN|fb}gb5%$8V zZta^4PBBFjKdLswLhn-wY{Jw7tS0>2TN0wRsd(pp;LN|hl-pDgYLrC7E#%FfaqzY; zPuEL58jMz>M(f!8Lx0)8*J~#BDOvvZJh5rhZHPzC;a@~aP)ey|JDIHZlx}9G+tGE8 z2=GO8C=NFU1?^26?TRO^-OYmwsgsxI8 z>^t5qJFDjeZSX4c6+oWu*S&ShuiM(idX_iQrHMOaUGv9NhE8Y!TIPAR*KlLyo7qbu z02@1YsyN+R%Dbv0CqKLnV5Yxqc~Z@lzIEC# z>1pCm3bRQ2w5wddN-KYBh_2gp!r#}myo_y**Y zSyfQU2|K;B3-+5cw-K~5+zGMj?w4yLDshT-=CwWNF9hVK zt7cR_s(kkLF%~l<^4tY+F;$=h>4mF--l>a!LeKr-=gQK@HJ{Cy1Q38%-m2)h2N`Tx zV+LOmN3q=7Zw0b}6+KY7o0sMQGDCAPQWC5mpI=tzkWapMY2)LIgNnJy zezS&;g<`MTVhgFI1jp~{P-@K3Niq_b_;h|gucVXWBC zxzuqzD4Hn)s{~1WPN7|!wpm0m<~V;4`D`p?3Jj!2c2j&g0U|%KRfV}l7eI_+vN%mz zjCW|@;oQq^>d4_{c{Usfyo886D3CWru&ZBQKJB7uF)Bh~IPmhsXG%UP-}+B_(EmDm zDe~cQmyhaDghEqxyE$HM&L5+@CVR7Nk8@R(vojBZd4L!rYN5PT)76pEM`Dpn&XTuZ=o!f8DA>wBL%Rrqg_4q zn@#i1wc~YAd4CQ9xLoXknRc5K>&D|SZU&?r?PM(YU$ANa%Ub^OaUDu!JIcD78x8oLp6J~3R)9x`EM4y`-$=7wN`;#z9t`ql*>-Ize!t{0SyE_8r&#v zg1}|=IFh%l&30&kK_wxNksUuhXSqf?%_y#TH7trZc_!dXGLnUnOgO27m*-W%>6BMi z?~TlCkqQXkjer_)d%+WYP1ekF?80*E;1xh{MHZC2;K)!kZ}Y-M#+uNK(k=QKm=~R8 z`wjA&Z-9>BIc_|*6mwcEA@qCO8`q)3n_K^qr9-r>(sAUJ*0%%!(p?s^5d^9TtHu*K z2;bw!Lnvz){oM?Xc>t)}RgbXt%WmIeqST2kxhW!ZeZpM7i>ByV{`QuSMo7R!2WS@b z5CU0qwD@_43()Kpuv+xo$Xr+}3g`mY8!I?AEV`A6)T97p&&>P0^dUg~l$9IGBv5vT zY#rvMu-6<7D3T|#z6K--X z*cTigeE^1bTDt}b6ZSRmWWo2Tuu21^V%Bo_DoYeEO>I%NFCfcWjK`}_e&KXg)@4ip zsL0Hc757(xeJtnO>8UN_aOHX5*okP}D+|g6Yg}JuTD(I`J!>S(2cCV61hy@3` z3$XZ zV@ZV3(k3PR3e-4%!pD~6rPcfRlooRv`{n5;7#MV!0B=X2Y~M5Z86>2P4G>rAhCO9x zgU=L{FbKbFU(t*h=()Q;+Lo>W`k#6-#Np5-EsL}A@i;enNwuu#Ua5i5&vU|!2p~d;o}OL+L@Vn8I!-%} zsrlNYz=m%}lP&Ak(pIZE7zzt>{m2y+pc@8?g|rL0BcFb4qw#ekViR?gv?;P2wb z6L^Bb_nqHilAj#?P*%+4p+xm_Rud0efDLg9CU3%u4R?kS7j2q_;AaRmKdb2$#*a4E zLi3<`7&yDAp1&zVBhxGaVkGxBE2!IB@N-9#gNe4KnG!hM7Q8c)BJIr?{e$M5Ta7h1 z>Q^6z4lGs)oWO9;J3`l=0kV2)e!&k;Nn{^lp^H~pCi!k4GiD|mEE*)ybg5%6g`JUt zHnr?k@+vQ>lGR_a{tZy_)JPRmDs-~n6WLgOYuFBOaU@@CzBovlQ9sFE`^;|UCqmhz z&%=0DmqrWIQA@Vm^d&@eUrPqe&hC~2FmA-GiQxa{FTY9^OUG0?MRxI1R=A_@lhHKJRe^z#yLN*ci6Gm zGAYHKg)tC#V1?Jb^H12bQ%;CoLzxIPK`7fOzQTmP-f zngSTFL;tai`NZ~&2{hNU|LNW_U#1`{0j%psJNKGb(2ktvnIT#e0gIokl?5n?Wv1+I zOV%#T3yO! z)yYs%ehS{}`L(?DIK@}o{1Wqo2o2P`h0R+h)}(7~A{R<$m+zM_O>ECh>L0SS;b^n{ zNLC3!s#lOwbvM@j)*l!H#G)+%V3B=2o;8F{ZrX;qA@jbP_J?f;^nkvp!*89T$A@GW z=Ji+j{0I(piG1^=ERG>5cz{de#}Qey1)~_k&W~vHh=jH z4{hHK^B_zQlqocj38Qn@Lb*`J1u&5Tu>%LT?LLHrWAY`+pHaylO6fmGwnvXso^83z z;{F$1fB||E^FF$K0KpsP3!~l#3KI_6JGFSu9hO;{qr`G(*DvT6lPo)#G~RnT=w6ws z+Xz3N_PBfI_XC-Jd{kBfp!{rrgnY8k#i>nqX|WlqHE>0g%M1`5#0PtN&-dEW`_IU| z{R7iel5VFk2C3M!hT{yycDHRyw*!gVD+Un!xJu4--`(QKQ`q7VZ&%*jfsM-SbMr$K z-wxGfn!C4{n93Zh?Cw3#+zmVe$+^V+RGYHx5bDLn*kZn(Cc3At;F=WtsE5ZO_W#@Fpu`3p}JX^FmtdImCqjE+`cJ5Wdi7_z=nUeD4IKm z_pg1)@rqjt0+tUwX`?EGI>(Vj=bsM?DiMv%me2-3hsZX4jW-Mi6ZnBQ>pryh| zu}qF<$^;fiksgARxJWnD;nWJ5Y+S8q0u(9mC1xolb-cjX$4YBPZmxDnht^6~E`n%M z2R9GPgyUSqEI(g8q)}ep*{w9vO>%^2yMMz+9zMaH!^M`+?cJ@PF39#8lmtC}=9aU3 z^64?KSO91XBJm8IIsigqK=diMIc{9p)|>&iycAJ+d0y5wOT$t04%Dm-W#s~s(>M6g z3t~=k%A1>feUsF>0r9B5v;1w}%1`*fR|-FFH{ES{u;EVOv>nZX&U@qFz1X$MtWTk1 zyj31?q_K2<5W4aJj*+Xxb06%i zl5M#K{VY~{mSON5uAzl^wUA$d1|886F)H#=@!b$g<+)4d2OL2E$0jZTkHO=5!Nt?_ zfyl9FMaIcYf-)bR?Kw-(nia@HVVc%fN6>MJ3in4-;LCSs^HXV9%Mz5x zip!fq05deNR24-&)uUMwHX_R#Xc(~{*-2L=tr8$!g7?2h_rI3Q<&Jkkju_a!JbS9= zVrZz+JJI_djaeJ!`0ULAPlr2%;Fcv%`M}6i&-Dapkd`$7{w80jM zc4(S&n*t`)^l|eF^EKw(vs81(d402Qs3-Aw*Fd%8HmjH;t=V+Gh<)@G32LKD9t%ck z0B7tvh4Q9Q`XxC{KdGrVp1)t<#RRFjC+e1;z)Jdx2T$;)5=phw8$eME@Qim@qLJ-j z#}718YjY|sPEI|qnABP57j4d4>|2z@~@0e^UlkCEG4JrPIr&~I5-1_Oje>}@aP_5L54}3acqXjL0Y?56>egiPI3VpFO?h*=UJ){Ls@szEe z;CA_~ODXI+bIc!4w2Zwwy8z}Lz=rbhwXC_FA=-aa^t{D`R-?sY zhELdp>64yP=Cd=Pi?N=gktb;a*0biCE)BjOfM@@Xql}NU!U@Z7oFtE5pF1~6QdPTS z_hRpoiD%h)!r?nKeH!+^oVZxZ1+fD3ltD)#?V_}d;9AGZ%5;8)di2yxX^Tc0U?^3S zg_kJ89V}ezlyY!v`n_RTk;@LdC%gN{I zQw}7hB$1cbeB#wN_YKjx_p&T7_?vk;JbWNK#Ow4|7UdqqXB6R+eA)EvfLN|1EkIZ+ z@+BYwf_p*=M|iaCI0_GjKc7vKo6yhdRanj#7=_g4%?)P5@#^Pomr9FUQ32`pl+aOY zdww1oW1ZA5j9rYb0gy+$&A3P-_B!{2sO?H%fmHCuiJWa!lEz1_+gIDg8|5gS;bMMg zw*F?#hk-41;Y(vcQ~G0$UiCl%8{KD%1x}Jhp^WofFy-^}_l7dun#zSb`a7W0jT&O5!G|(86L(T-rfil?5`~jjkx^W z6+HlYL>tZ}%9!#D#L0{*$K!KKSdFis>qMV*+pyhB1pjOJ_3veKLqazRKSZ=NVKaCD z<~6N6Y0gyqR(#$80>nUv7fn7C?k^gNKRf4tVn6WMg&y14quEdc(dM_CeOU`7q|%gS z(RcSC@(qog!{0}gaHfwNqleOIp9n3O=Mh{y5BYg7f4EcV2DpnIZhSgDL{J2qKly^iFOd%1H1K-UOR10(RO>-9Xmr-uUS+W2AG)%+B2fJTm?xUF{Ahpb7LGrgFgV#YB5qMir zmG1&up(cY~r8<4vA3D19gQXOg+H><3YLDllc6L^EaVbfX*AEU?wwxn>*1lYXltR*B z4ilZ#s^jsWL)3%gd5Wh_?WZTntG6n!oH*`Dq_@>2H=%6wgrWYSDdhghz@u~jiOV%! zVxkppMKZum+yZn_fHYh4<(jQDpdXEl`CPW62FUPelMfLaYat>NwOphRi~8!eO}g<| zvMmVX0|Kx{9$1M-caQMMpLy?ONO0x-5G$ncYD0n_*E5kq<+k+))}*xBSu73{w<^2A z1N&A9nE)k{$d}meN^gX&TfYZ(@Z@5K*vV^U%V)cV4oMH9KkeG4a)penKJuoI>>G?m zz-a$V(^TiPYZP^cJM1qggt&>Nxqmw^{G*xtmb8dJ@NvHH4AALq};Y1B70u48h21l=w)vvFx&vHmQAaGW41+A-hMzPZN5s-2@s z9WPK4;CDz98FeK?ct3_DiwnAZzL(WcLD-pk+voEEfcrbU1jrDILahdC*ywDZ?rQss?;&P%%GT{<(SS#X z*{yHLuXd~)*18X*-EmK#3L;z`zvK#>H60`%$b!)uv!Di0fWYM?S zK1jTc_y9l9Lfm%`6u~nIp8hT_tBjvC>8OxLvc6qfdL2iU*ZwZ(6Du6FWC*;il5sHi z##sxN3!;3zG#351k-#QEJ@~Q``Sh|+%&5`-pYfPImPt$R4!zpq2k^yUL4q6H&+)?t zNj3qsecT#a#Dg5iX4JKndMO})sglHk9RO$Cb`(H0w!mRPoRo6?2H-Y#4X(DLKv6eC zfXx`ak!R^gk_3<{-FUnnL2vhVy)?)(bIi$PO9p%kKmr*p<|yBt=S+i?4MP;C2~+3o zqzjPaZSvmTG&&6B3D_>zkOM^xcIL!qjZM`O=CB%tUeMU&@Bkxk&c$Jw+Rl5K|24Az zrIL3~a^I}?oIdjs`#s(Al>t|kRSi++x9?vd6B~q=P82f!(N@SCArZ(Mk?EL*53K~p zrp`iXbR`!1=rd`cZP)t4!W{3?qw!&N=Nku|XMl2;eLpdr9AGvfs2(&=iL4$ny!`Bws99R5Jn0_L39R#0sal;9RLxDlaY$zzSItU0XD zHx4h@USy!VJ;O7b`*5(^oLn4to-En>@`Ve!S&{R|Pg+we^{cxS;Tv4_jOB_JzFZ!T zAD_j1W8DkjVg6Cha$2RKf-qjZ0d|>kc+}F z!4U`6Ieq~o{TlKF(0}T>{R}OyrU9x&)%Y-|g-(yqROKMXHOg*Q$3z}yhk0<@`m-5v z)jPTz4&})=AnJy>fTjB;F2_By{yN5;w#JQTjIoX1u#1s0zp8&plOv4QRHbmSQ*pU& zepHETyQ2 z^@?&zg1N*tgKzy-@VuUMIE(@x$%|&)_I`+#ryLYJ6wqN6G^znno=F*By|VsXe5UI2 zGr%r@_)D7wKsrf7vi(&{z=430^u43~eGo};M9?a%hlJ`A#xH@Lydwrwu95}Z8$nG8 z8^KpuvrGWXG^*MxJ7`^U1SoA7Cc0VZQe_!kiPv1ijWkFQBs_pkP_?^$B*y;DW0JVH zb4?-UstEFxX2e$FQ4-4rW+8`aYJTK^wD;m;#@E=_`WjT-R01;ouREhkFY{>IhTwVFE$LjGPTgu1 z!f>1Yf#qw@Aw;w?D!c28*pfZ=6NQ=c7dBjg>c-4&2kF7yOZK2@-#x6Xm~rC=?OJrw3kT!pwU546gaFBw;{aokK+CkA_ENwDjzOnl>? z{@5QQ6w(-_Y%i!@Go?n>IAfBqJj>VXWG>if&!5NBh}is1=4!WeT*Roe2x+%wG7CbzUhP}Q5>oQanYEE9%n zS6Mk|Pv4{#VE=#^pe;-XSTor=oWKHLK>uklKJDWEVD&s60DC&O5QL%Enb=l!0d!Y` zFea^Ae~ICKZ3GYBMI?N@cZmH=5b8JR*J6ovQM^mfF@LjXNtj)D#IDW)DC^3#hhIW@ zP+9^~cz|Q4*4xKI$3|3AGqZPJW>0u%CO`G0D@51fVDGb@ML9&<8;wQpfT1m050hgn zeI11+i$-deLByk6k?1iL^!xXix?#}hUBq@=D{M!LqTy$5Ly@6cs;iATTK5{f#+i_P z?#=mJhPpRN5WNBvP{$}<3_?mQDdWZ~q(~f<{aP=j23&*`S{ljuC1z+wVe*vG*pQE*vZO53&}^v5Mj5`U!g` zA~$}k`lxKuvR|1*g*0n=#a&&zX0mg-KeZpmtYx1G7t)MjdAfSWDMq%rq}XI*d2W$Y z4qwKK!p&o_JmA>l^Ou|c%LNVJLl>$Sl{-U9Z1H1zbi*qI?*(FF3jzs8T$aKkeD6i} z<5K7t8Hyub$>z?1I{lEsV7v~(RSnES1IZg+Ez=ge7_-FbwT5!853%>V0$kSH<8)q z+R;*~M$Ne&q4$pV%EhjC@AcLXawud6r_D2M@Xl$3F{6O3E^MX<_Xu34u%L`nNci1`7BGrX~meT61h6flXJjgpS0|ML?a;n z`OAO%SO5J3HjE47B{yBoF*}2S`8pmZR}Z`h>tt0IM`N{xcsfq1rM>O&Y@4HHuPBGU zp>7MT$=;Pb!agg0S4s>Sx=^j7E>V?nXkkRcv>Q%oL9#?@*{AA62v3)248A&kFi&U{ zaJAbdV7ECTMp?4RDY9vFwLozJN1 z>35znFx@EyAPt~LIN#Scy^{6+?ydjE1pS6@kl=*1*1*+6jpK+^I2fSRa$8U-szOIg9KL_r>Hjp7PhtWcJFG?uQU;7&K8mcdNt0{l z3OSxW4|pa#nMhvZ7$-{Ki(CECMkp&6v}N^GM1{l&mlfoPlbqVDXr@{w#{_1bscfGl zNsBh*_H~u}YKhMh%R`xqO#Zd7U|}+s-^cq9>oJJm%iezB_4_YIKX(D-i`lw}wNcai z#$-vfsI#5&Tvl$mw%dfgI)rIrKa8fvJ4fJ$MaNFmHFWl@ryDjdnAkIjCa&;P)(+w7 z(1Av^pAKmZ%F}~BdlaQSDw1YK1!M-`GsqdmsQo?`(Cd;HKSkfDYI&ejc%i3L>Gf= zByjE$_75r?_gm9VJfKhFTY9-sdcKb%kkVYeELkT(`x#aLZ%>B)=FVQ)m*e=`qj>2L zrFzay$BEp)i0Zev8Vftynalm!vU~|{O|H>kTFI9@(emy2R;B>#fk|zIYE^&M{?6LK z4bCl@d9VoA`lm%Scm$NiDexd|Qi`9QQ-($s{tNPcbf^pafIv zs`zY*lK| zU9(mZHOC%rj%l-{WyS4)ikA3lRd(|OJ(Vvv{O+YOxJ$TwY&*Z1UV;V_=S50Jt^S^7#D#ek2g(<|a&Bim zNxgcDK=XFC>2sSKN%!+~CsU}W(R?xOloso1W^ca|LMPlY46K^@~zIi|G z@COhPkN{km&$d(~)@4Gj&L;EPC&%YV2R7Sjtm1XH@LRUxId(f8cFf*2EW)T1fsPMo zazvC@JNE@~&v|GfMrp&A;kzJJeS$!%Al=-)zrFMUAP*Oop(!1tp#p)sLfb&NDF*Z2QbD4W{rzR5 zWqF0Zn$WKR(W_4|JF{OpCMPH`D>eiDU9TM;M`-^zr1HBsOhd;G&&Py; zfN8;JaWa&;4^u0!0+NvtLi2QlFK*PPYM>FgJOJY_FFv(WetQwzLY4dl?RR(ok7fS) zQwtbsQT=EH+)hmNTf96~^uRQUYN$HlsMX(bx&`^uh7?SwfUQ;SaqZYm%S((3>K6<{ z+{ru=dr2AIIC^Hk1X*o!)|iO>qIip;E?>R# z1-?~zVs7SWL3=EiarmksQ+8#__;2{5?L-y_4I2B2*HzH4K7`hbvGqIIOM!wn8qqK2 zO~jzm?GQ3Q1V>~C-}XY@th#D2#@E%JxQ|efP`?pW$s9f8BC!~Tm8lW26M7FGF@eg zhf_;|rHmKYz#P?V^pq1}Zu88C{~%&ueTX8^UJ)`QQ4+|=fC+xlYq64>k`{#OTO-}4r4)B?$=7e0`>DX+#mRJe;k~q;QN(PjIg?(&p)d7f8IEUKqwF(Mc7fJR1 z0j(H6^7Nks#1gn&i#wHXyH4+bsx(8j>F@^|yU~S(uF<|(ymtO|O+&-&>sqT$$^n}n z%rCV0Hi5{umZZ*#jXHDB&ygwm?Z8caLw{-KzC(rxiUTfp2?2bg{?;A^yjO>k0%wRH}wd?DucOx|jc3sOg5lmEiyJjxkyootg z!u?<#te9Z1^6%T9}WmN?%o4I4S-o|d%bbzQp<%Fqg7(KPrE(>UcH1-j_r=e$X zEBz)=-R`Bc9=QzZtFP^(8^ptVP7yIiYvthVF)HOkXY6>zd@Q_N@+51G2V7`IC9`PK zBuo49UMyv=#{chv>)TQopnur#3{^j1j7Br3vBQXZL-t&J?TgkDT2nKQe!%UW2iCrT zPo^W0=mAA3c)^$IRuOyfE;h`;H%dae&7yl{b_|{^rM{^`>geCe>%G(^Zg3%%x z*enxc9CWfLiZj_)e&e)WNbfdL#G(nCZ$cGi(99t}YlhTB+hK62_?-LI7-R9snaQAm z7ZE*_1hh(_d^r=uuGV&?PeP^6e#Z1!cwn%D2En!V7o~cY1+W;{mGqN5PuI;*(8+o} zg{ZFK&5bKF%Tuqvdlr91xL40&&ya+eej>n@dZ>fV1ybfBpGENXe` zv@Bw{c~WGnzOOblf(lJ%Cgw=h2Msy~$4P@V-hD0ZGL&q@^S7zwb8(8hu^B6qnF+T! z?YK`;Rz1#*WHH@6t4qe}C$oWge*h6%BD(-vp}Tt5F_uCf65$cWrY&qzT$xfE4g3|! zR*5uT@Eu3FJ6_C4!j^8Q1j(9W9*GA{YL`>9EUfyrBAkAN02xx<2OIIIfyU;XeD<2hj}@NZO3W6{VnrnbwNmZ@ zJC2K(SR)^R69sdQgl~+t6$6B?hMotAuiu9!_ClPsg?}$>|Lh(QuXI2bKQT^Qj%Hgp z22myyvU92wF%QO{&VkKXHcjAaw6`cjlZT3^*faQL)Q$9&aCZ?iNJ|M3Y-bZd1+>Ka z@#bY}@R9hOb5Z)0@BaMfe-U+COrV1B*UPgn=;}5Q7*yB3O1q7cZp@Aft%GkZcF_B# z-i@Dy-``H;jgD*e-@RxeNGZ5X;DiL$`8GBap6xl^Hh$PaK=m-Y)(lgZKLBf(S+Bie zHybAeg^0GaU`X*6T=#E8=w9Ek-sE2>m?Syd{4i_I577QKnE1u@zU+pI_Tc*58T^~= zdeEiP3SM2Y@jG9e1bulX$2C0Qt%j^*cXhxIsEFJwqQ-(?ei9e z`aYrIVxDN?qNi?0|L$J6Bw(O8szY}h_&nHH!d39&-}b|DSm`3`&R2Mz; z%c(-CpUCCg#A^Cgc)6-I!t-f=*oq4CFq&(Px34Sv z=yS3(Ntav8XsdI6g04R{emy8l>(3dL*>&dX|wn2fduJxZG#K-fKjEMMcU%z(vc0%+HFAhzy<34{` zn{r<3W3U~#RTu4rbh6`_@XF zT*`X&M&sqI1NO|+eUGzsIbRpfNI71wSuZr{y%6@AivSL=%NKP>jGT7S4<^mTW*$s6 zVE9i$n7bm3!V6yN3I+>Q?kP)x80%<6Nu@VFy^hc-A*}WqR1YWpY zGlwXps@-MbQ#X;D+GA!`;#HLZzzK88ktfUZZkA*wOQi>KA#1HR^Y8cqTR7QS`-UC5 zL}Ez=MPoCr1_$co?G%~{oJ-WL#+fA$sUO#8@M~ONq32o9MXmbYeBbo4*w2kL_?AeW z5sum8J$~Y%fdcc#=ken>Nu8(81>^L zna!D~VLhr4V#RL{x~>xQvluwRf_rR2A7Vot7tsv3oMKfQ`!j-pj(~`4*JC}XBnzy! z2Spd$pn|N0$>BM@5P;LaxNN1V$f4gcC>I|Wnb01!;rk6hx5DM+Xw}j}G3~VSG_`_0 zJdMh3 zby1?LawV_L0&~W3=P*;tF}pc?FJ@Smmc@>TY_wNM&jj1LfbsSif>0IS zAG^K(;)4m$RC+V4U%-3=2{2tZ0H1ExFyV)AyT1^^+&1Bzxs_5L#VI3?gun^+As`?m27_b?+d78alK=K`ZTag-uIi=Ul z#{4;`i5C{i5uV9*HwxwWAnc@zJ4>;9pN%X+m=^Ee;u3rXKdNOh&dkyZCEY^Q7gF}=y9gsb9`B+q;xLRvV`S>}oG-xebObw~d$Reu;hUUE*~+TvjQ zJwzCyOOd~eVl|(5PAtV4!)*Gt@^l#<0Vzn*at}%?T50dy4fT7iJ%dpro2KsilHNu6 zGY`K!{BXs+=7f>`Lba9UnyY<<1(j54JhQ#}FyDfaw7iEp90~0d%%L~Do-VP^u#;;< z^ITQ2UV1seB(x=PjxMw_*t$BsWd0;{*J5^AfsiJM?&W=+ zr;SZ2jF1v}vOSnH_Pg%T4_S>(80XhwxvL%1rPTNt`1tt)3OUpqpLnmJ44lcNj1Ld6 zdcrbDXpGZ`I)${Mq101z_ift!EIV`kqVPIz#pb3SVInq(0#N95!rSDR@#GZuAu^p_ zBrH{)7Lby>ncbw#lkVz1^j>A23e&7mvq98^mRjn&{|s@d%jD5HCGOQU3c8HFKmA$& z${R`X`YOt<`r0evw)R7{Nnf6$A|OxOwBzOY+emim=25u?kFNXdXqFGCfVZOy@^qTV zl!_)*a?I4sPz?^bC=|iN73w-&JPU1l0Q#eerUDkqXV;DPm$FP_3yOZ?#oV%<&iq#N zG3FV+=WAW(-rBnF)|k5b8)t*@miWKGGJkfv$0_ip)NX>5s@9-^6asGHaS-$=8{Q~s z-?ROwsis<)!t)m8rKZ#k*$2xEm(}ZEgm;|2q7-yk)pxiA2WIsx^MV}}nOunJ%sDml zdN!yqkI!{Hf}B#q+GgeJLf-OlsRHwm*nKPbmo-qDk+OmrYc&uX=hT|Xp^=IqdnR0l&v={uCrS&7- zTM+%E@40nj8~zJ}&ns;igH~-W9uiI!*GX!-XlRK)wEJ3&vdvQy6i>=DG1bOYY%M*# z$ze9+=}s~e6tC9gXqZVtuDI*+*XM*ueMzJ|2m9{Iq|+AsO~Pwuc&#%Uuf`d4|Xk0DU$??=}PM?!iU5$yVQ3lm7X@pi3y zFve&jg^glr<`)TZ$OOKIXZoZ0Mvsmv>-~EYl4*)AI}v{1D#Ys8-%~deG|43J$b%o| znK2LhX&Mnkh$Q(9P$Dsq*lE6#%?J(?AST=@fS>w{(?1;emOa!Zb02dE1sB`oW?)FX zIA-mq`DUgN0i;yF09v2VsJbQ{eKLy|QLx-72SC3my}w(@`9c_7D_UBCw_aJ7Nm z)LqbKll>@FDK=Eo3G|izN$age)`QkhJbL|pd~Cn*Ty|;`5&p~0SzSHWH-!cgNplVb zoH#o8ZuwVxtni#=0hXP6)fhX$Ir`srzT^5nq!6DNC^W^-Y^by|!{{^=a|rV5%Y&n(K$6^7Iem4SI%%u?Yj`#b%Pd?dTA3 zE}q5wg3qAj833pvt4Ko}X>#h6&o3fv8l&k#(FLH%d$u#~NO)DHNKRmv$S`ekh1OFT zH{jQuCM-j)uF}UM-^Ji2Da^%$i=Pce!5@5&hMB{~Ld^zb)w zpWIH67btO~EejF9Bp0eSBts4K)CsgvUzs}2$T|-a{h{psX$pUATcrBA*X6vI-ZSQY zkN-7o5P{dcyAhTUY-M1vN_II`N8g)F3lSDI2qGW?1(gB#{kVIU9+-KOs;{0;ebSV_ z5lX(Wj>a<_JnBI;Q3+hz9za-Mm{-jL2C)%1A2}?cf9sj)b-ND{LcZo+qguW?Ombfs zAu&pSpI=^iH%RVMtEAY{`$Gv7VR4Bq3QxAGU~X?k zE*x;p{oS>lp|q!hp;r_lw{v`1-G^pbD8hU>Z)1|iwO>8=V^^CpVh3!KKkDsBI*?VS5`7}9X{ozd5(BJ49M=eB;#8w&~JjavgDN9aq@*mkV8Vuy9QzI zGVEHC%(e9=kx(Jdi*NsEivPCObmeDu@B|Xe5i6O}X4ZsgS4HFa`TDiN^(DovsRpu! znofEWRnW63omMj9g!!J#?pVn3EGp2N0`*SB4Z6>-_BI~>va3<}>g#@r#_?{GwIf?-$%A3-YI9t=8Wzv zA7wPq7y^SW6R+D8_Ox9$1@fOQ(FF``;YZH~am?yVyMBvN8Nb#C=EVC648xcwRHnS3lad>PT(bO>f&3RPXq{ zK3fT7nKcAC%?l2kzD7oKZq0Koyb2ifgmrl)eAj3hR2>h!22u#+V6m$zw<>=@6#p{X zOW%&b57D(?i;&Izi2(5oK&;xS)dQuR(6-bH2tb;Ff` zWt$&8*71s(R_{nBp=&l2X*ISLlhk@`KTd9BH97@nh&0}6oY3Rg!h^{yQ+SBEmLNg! zTitfBD48;BiU0yB-eP32AmVWYNUibT6B){5A< z%xLl>H{JLHSNl&IBbCbWIu|a{oU_#~Xly#T2u{dlo&+U-3R<$nyX#@z8b&kF=I_8F z{Y1|>V7`f&fBx3+5}UvaprxmzlqORe9UGwMpnWe+a|0M9eM-L{34o+O_00tsA*q*1 z6qXiaXKm(!{ z_qiK*z3r-M3;@IqiFJCZ(>_rqCA#;s)#{w#v%Em@(bgq{XOH)J?RSuxnE{baE{7Uj z(}b+iIQ})^KW~bkA5&@b&fdqa&co}UFO_@DbiwDeb3nMw)26I2wd^HkZppMeqsbCU ztN(FCVSzT=AGbgvSkvwZKdtC{{n?#$&qVxF-@#3?C?-&I9X}Jt*LVd~TCwk-EmyLl z4D(%)Fk@F=$km|K4GnLqzYGu{-T0QyogljLSl9UYt;w6J4{a8fYp(SjB@P4bB3hBW z;ZS(GqM^g0ep^g8PZTN7pp29 z;h6jR*;II~Gm)5f%=59u3&-OnPuI@e@3~-PTyN@G_VbIFYz$e*j_kPxA`Gupu;>6? z`N!N6Cz@Z!u0I~%3$LYhm*u9Lu>yvY+lTWWZ{B>dFrASt&tBnLOc~u>1X$k3=&ZDm z3-Z9yYMxy)=ExINZnf6BlU(~ow9`+Io63RZOh3UC@}@Osm1G;Z+)anwIdFg#^&TLZ z|A${(pAI1C64_kEtR_xAnAY0Qx0}TVJ*nPtmU-gv%oFPgDVDoQctofJW@Q@W=WBA{tP**H`f4B;`?TEkVadFa11khy?Vaek-> zh#I*1Qlp4t@N>j=l^r^M$Sw=&r({?IzA~-*zjT)@BV+ z3FRkc$AKz!6MZY=k=Q9)T1VsO&$;5^ogDtzPqAVgPtL{%B0@#S_Xy*aJQQfrrscf* z7HR6%VL?f>60(C-Mc9Ya^fy+YaEQQ3!wKF?tIt2SIR7Ij_R^S;mqj~JHEA+g8nfuL zT^t$v87+zRce{*txZ?fA( zf9MJMQujXlBd#Ve{9T~+seySfs-$|IYXm=`%D)Yp`x?G8 zYdmW(MLY}jM=NVusNT3oo$DF}e6Psrk?fe@!2aoFZb9S@tmP=+g6!c$|Eev>-#%sA z*Yxe8>oQIePh8b)jt;c+h+MA^YsyRB!zt3@xaT1`*~TpQ*Zc%rr43JftQT(ee(dB( zM4zz$Xf}-&*k7JbdO6!VpVleQ@t0>W^-{7Z{7z2+rn?lO4+s;@DWn$T(Y7J&bEkQ# z_*qfg+^}U(K^C(mSDOmnp6mtgX+xs|z%9andFDNqy)sHC5VyMPmQ(rfR?35ExbH(% z&T*zY5E&TMsK_yJj@vUZ6QQbJI$kWayHMD5-TZQ7A9E9D0?*jt@A6mviXHqn>;^p* z9@ePuwjCFxdnDp=i-n37@HR``s(KTnq}&(3aP0RsU+e1m@%D!K!!HjMo=$S9O<|^% zpVtWVrq)lCH(0(S9fz`RVOZ}HNjzwvS*A$yubmUTMm@=%#_6}M%w~F==dcNHDb!MF`ArJ0w2|HOAHkRV;QyvrsQuY z+F0n;Wt%YYYn7HEwlg z;`e43#&R@V>HE(90w`eXPCj61l1T*t=Y2EfWg-Z*q81uc%!Bo)L$9Q&!Qrz@*JUgK z13gbYK$Y0t_u2hv6Ei4^xA*CKtH$d$6(WKi4Dz1OaDtix$qmu&P@_(PrzuT5cbu(O zNmg5?HAAW2lZdb~=yIl=B#JkzK2c}>Km~c|p9M0zmhZ6x?oXw{{Mbs_u|_weef+Z( zs$d%_d}~fD`G(eC8Tj07_AO@t8Oot~(bI|-;^R?0$G_~NtA66GtA6;3mt!6_ka3)7 z+nde?;NQ@pm*F1ayQ;L!TTvdOmq;gzqO!UpMP;`|l(crPh?tG1U73|$>n;quPQOZE zmL?28{M>ct{&mo1oz}C{pVYwIQ^EmJ0-Q2Ii3`Cw-|P4CjG0lfvdW_|vYL%fxh;+h zJXQ^bT;2~PIU0>;?2i&h6WiG<${nIK<@$4NYmO+U?4_&vwLCD%E{KEZi7YOoWwi?V=q|67f*E2k`lp z$ev!j-i)|=%4E4bldT>|<(X^<5O!uBXv5JRk~8;$kLlF`oL+F#kdGWjdq0 zo~SJYFN38x~-ZoDcf^J}VOFVKXO7c$WSXbmdKj!q}1n#>|84m9V z5;&aq-%>C>^yHYSMOZ64ajd+~@(kN7kHb)cbGkdyc*9bzj)aOf@h$wAICKo23G5w#e$2CF`>`MUh*R^SvC# z`TFqKs=>ZktuR>iSy~yM)~X1Y-lv369spC;Sf-s^7#N*H-s&&KRy~{0H$b4DSx8uV zYv=I0!r}p^Xn_rZEH1`$Z5^yfaGDV^iQ>L=s|g;9x*4PJy|Yr6R7sF{dd57d00&i@G?M~0VlClA|q~RAnRISVbD7rkTP~~|2?nzdU;?;-wkR@ zH`VGDUE-X8 zlAP}_kc=S z0lS{B9KxRtDM07Rfrtzo$3Ik67qk~~*pQGn;@xplwv8OGqM#;EYn{0eWTV{!ltfkd zP8l`zeo7x0RWL~|nI=gKxfZ$9H_$KO4V?B@NNH)ju|>AcylEsIvFGm>|)iluqJuqh`TKsr@|la17liQ+-UXZ(gYHn)Z{YrmBHIgpG^8sRrq1N#CTYt{C{*4y?^(b9G{ZoYo z$Url%f5Y1{y1Gc?!PhE(ABj7&t=B1O#N=x}3%c!$agh7{t?S{~D9T*C)1r1^HT;`G z|6JjdqF438dr4x&u^nTQhqF{i>~;V)yfltD>OQ?Ft9lJ6FQ;1SGA9$nh41*( zmPeeh%@dj;;y}&Dm6z2z5|;t@lpu3!EG5N!(>qdR`y|--816kFS4FGoiX(E$Efx=! zA~=WekhEU8^^GGwSgbhuG*YbMyWfFAU50OCll#v}FOR;fTAEOAJD7pB$1WO26} z(4zGeRqh3u1fhJU*}dUbj!_iV=+=mVARtSl$079x9O|@B)}isrt3!|D+t#3)r1E6Rt?-WyPgV!$c^MQ`sE^bTMfr>^D1m~Ho3^Vh^Sv-Ebk_drM~nnhKM6BW z#+#U_xcej&ag3QH6g}_TqhHQH>`Yo_`gM_94yPQd7gB6C{}NoEO+_Ol?~qWZh16dl z_z11O*K%rRU8YqROApkEAu6KE*%k&I(`9_~TicJ9IpyQod(dTU%IAv*))~XQ3k#_m zutxcxPBQinK;nVli`VbyNopy#W*UBaYi1MO*pO8(fF0KKUktyj5L-80W7EsW08M3( z4bie08YAtZ6Dvr&>TT9F;oLR1YvidqM0Yj!(!Xr{f7SNBJ@+#UnB(~V`4Sw6Y=8vZ z?d5r)!7O>z*n%8(oE}=pOT0nI;bQrl8OX}c5K!^aw}Rf`a*#4U z9)}bQB(qcc#3u{F!xNV&um2`S|0Hm84{u9u5cF(C0-@iwQU0lfn*m(6++=U8T&71| zqosIA1P*A?5Ot~O2xzSKxGB^>zDoaKc(gU@;0T$IrJ3JUh}5cf7L7Z%L@Pn z!n2#X=dI@c8GyODFTiajaY2H`rQ89AIPb7?FW#Q4r2D0XnHD{ebO5H+RpG+ zdHu;yG5@E5->&H-dIy9kiOYU`5Y@yx!zYJUfZN6?+UsX%!;zAKV4i~nL%fPl5A!GU zjzKj+HQl?)w@{2gAl8#-a2G(kjb@}gXg2`*@|dz7t9y$>gRy|)Obc;$AGn;h!kA}^ zw_EL{Ykc|^*VHv7`rJ-{!J&9g!ZE&3-RJ-p5dqm6dR-RT#F**LmjIeaNuzsKoWze1 zA%vY$^j*Yt+93PV!)cNOR~ND$(lY1J<2C)Biw$*{#pVOARvk~?nWhp(!`Kt)PM!At z%1@y5hYaeUE%1(7_ai@2XkI$@(ovl{eg~s;^ zj<3g6PJs?}kghM2>6aNqBU1z*9g&TQp~kqOv4{G{O}CX($Wq;M=DUp#U-T6838T(uc{vs?YNku@jGM~!`L_|1Cd zoQT!VVoV(yNAEh^c!Xpvw;31hF||1ji%DYekJILHK#KJc^n@}x!fLf1QytFw?Alrs zCK1dXv}T7%V_+t0on6+vHX&E)mpAr446`6IHakmFRvP#P)?H*>~H9-Z>A3 zRR3~Ee_7^x)%uF$_nLMf10S?CQwgHvkXc^ejwa0uAZQB*gwRJB3&rAG!fCk+UDVexxgT!wXs&eL zWNVP}@J;s&cv3@pkFeg?TT=*mwDaPgS?+#efxpqGtHzH(E9S#@+0Wm9Y}y9Js!9S8 zh6fErMvr3vH%$^Iu~LZG%cs8NeE+vVlHFX4!dz z2Eg14XZ5X~f!fd&Ey3l~1g8`n@m+qudV00li+|1lBcAkXV2q+T3wG(6;;Gwwt-&W`;iA|t$!BAvq4a|47ThqwXV6@c8 zMj!F$LA#nVG8=Gobi0^$FGcJUmriWgIZ&zbPCZtAJbCMTte%BZVd7PkKH@&&>TImii=c=8E=gA&}fKB1paVr0F zSRqhVGdj52Zxu#xpfF<+i@m#p5-&?X$gGYAa%Bu~!js|Ja?{Q6n zKIJGOoI1}iUr3N&aU6-^ixqJ$Gr1}6e^k)*6*)0>pT~&wULo3zBj`>qjTeZcgWo`# zr(E`J!T-zg{|&GHG8p#I1CoPCkeYNy_e$OZ{mPqEEj7;wV~&tVqB!khPLo2(i}t_m z2%fcG*15RTee-9+bcOPNYEsS10nP^@RV3!HMJdda>Xm;W=_SF_OTh8m5mLfF39^xj zUwzjS2SAiS&Xt;W_bI4SFOrvalT@8z=J-&JBCOeMivWaad{3aSw62-(rh1$MC1NSU zYIHKBWowF0eaQ_z*s79tOscvMZ7AQv?=>vwZPFszj53_qbLYAYGg3wC)yz_Ts)ZIo z&tWN8K)b+Apb&sL8D9OmTB_)9L{Ka^RWxtqO&bIJfNSvj0`dg(8d%|^CsB&2uv_)4~$fj;x;+EeIV0sD6vvwB(mBf_^$;%Z?n z99?fMX?Wv#dx!7V?09E@t!GxyqLBL7FJQ!O89f~hlQ;&=U^rDVF(|*Chfg$9#LkF% z*-g#%oRr>iR@(C9<=Hju2}_yQugDxMFaw=WDnP`P-B@>^XSl}g$c~LqmRK9fbl!Bj zd&lR!f%tcP5y!b`4V{L^Zc|X!tGnK@BJ~6@B9gc<1NSa{mti!rj=#y5>74>@H2Ele z+$hj5Mca31H}vN$fDZ~w?*EwM;fzWy>aC}}1J%BT|Cja3Uk3hfgnr}Q`_3IJHGrK{ zaz8D|W{+%vh{#Zh^DoXp5194i8Q}m%8fGCzA5NgX=>0OtW)9G=y3~&%P7+u|vC%dTlmJP8 z`FoE<1~$4E+7w@CX?bz6K zFwkt*iwB!JwKD)}VUU66dt*Q&vhz%Cz{~J$o7SazSIOy@b!tc>^_kLQ?k+hGFnMJf7xmYMLR`m7GrQlM!|%D&n?Qpo3#OOM zZG18w19=bVjt+t)LDi1}aa{*EpdD{hhqO?|3v5@0Pv_vh@r0d2doDl~4!j;nP(P|G#bo;aJhf9y1s3|4na}@IlJ`_sG z51B+fYo&#OGTps2E2!4toY{kUv5>#mre8UzN<`?Y;YT>%mu7z+{2aYXe1V z*kuKESb#@d_ZuS~lg)W*lYBw}u7M^)Aj+bBII{2wjN#e6fARTSpjcd)?HF%^+>Ov~ z>W^pyjTLc#j1Rop$IZ}Okq(+hlLdHoPDc%;;`A+xC@NUGOKJRQYv(8L(XC}jq+ zg&!;uSp$*m=&<_Q?A>lyxik>T*s=O*;ksv?)BMJ{bDZ;XD1a7j_3 z-j+PR&GmDY{#e1Fy!~TxaGOEEIXSCKN$__4o{YmH*1wPy^Jb55-xQy2Ws$ySVBw>u z`k-!tQ19s|b5_2tRgE>q5i||vfw{SyAYJznp^5|h%PSO~C8A;YUuOTi5>78{gj#!CHZzOo@|(kx zru>s|hf2Zhyn1d|^GCQ`Fz&Nc1(5MO5^t zTyzbS8_Jrn4#GAeGd1c(hD91`2YHb!ry(i&Xp^+5DuaGL?&^wqAOR4yHT`;2-Wdug zn(J*#h=5jH2kF&Y-l#S;$~X7%l6uo(0Rp-b1bwM<k2+ax@Xd?;Ag) zv+1>}s_6?mkDVZu2_MvFGn%B4b4^Nx#;yrtXukm}Gj@;q9ma_1=r3dN73p(FkN{#r zXtC#t#Z_vC8k+?0Udr2G+{m0TB$l0OKfP{(O$|Io|$vnbkPmZF9HDPzVu3=S!J$S8@r6v8#}3mvvMBa%>j| z-;{z}KdF1YhA;&+GnCkDg5UAw?(y|L3tA_PqcaxGlhl3bd7U zQ^-T~uq*TkZd6RPGd7Z8jq8hA1?@#gqHpWfV5jBGjj1&)4E=d}ThSRiwsTD2Oke3s z0opo~GSp?CbkF$l%3T<^>%>&t9ws!`^#u(F5Z;vmS9H8Vn0)`+?|wMmK}Emsx>cxm z?TZaauX&kuC*zNb?ml;{9vJX+s{7Q>aIh0@l~w+35AAo%K8ZueQS#@D?Ao^Hwf4*5 z75zkQ2NA!Wv%(`P>ti!E?)6t0Ot1afT>1xJBK_)8u5TK)tJ70sJ$OK zv(svH$yPZJ^6=0$Mo-y)YP;`3%CV&s&i(e+ z*Zy<-^Ydc_;v9CI{Hy1s6E^h6HyzMsuIPLegRn5&>L8&aUB0fP(f+*7ZfP67teeEZ zV)|B|=XC4PbH5E@xJLEUE`I5i{=j9{-g)Mh$)Wr+Vey0B!N~}tjGG#bLp~wy3$IK# za%z(gaBesC{MG^{A0Quo>nqR68e7p&Cgq>Z&%22O0G!( zXLs}3JodrNtrU17oG*4_Va>M#|Cua7q6-)|aqFCp2x9>r9r>BTc$&U⋙}(tcB-y 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%0D<|GO?@_&# zS|?v(?P$MU;zHb8as=%?f+}H{dN9m4_DwpGTQFIVIS)&Dd2u${E%TxJuWXrzk8Ac~ z0MR2=c3q}=sGj_jE#6`mtZ!_7*knTf){19z<_;me>U0>vsdV+3k6fr3Ws|@MWv@gT zy@vuBUc<*wlLb1M<5xg0!98#iZ~^=a6WI=4pcR0ko7z@J?W`WE%)WPr&n8ld6h}`A zn6t#PwImRbmX#H(pqDE+>)bdY+#^HEYvV9nd%rQo-J7j!xq{Srd(V{0gW_VAFt{xr zIMDAQJJ%n$dKNQuoMQEc8R+e(rq~%agjuxdneyE)3mwl)$8%DwS+WURMr6gtKu$$( zb|`lm&J6un>u8oDZ2){ze!1C~eYu~n8CI-=oO77V^@4I@mIw%C&p-7H&%`#UHCC$B zKHu~5b(ezgqVE}QauC|`7ku|un~cIiJGrSXLIIYe!_)A(*dA`Qo;rCF8F8s9SC}S% zU=c^j4x=)?Z8E;i-8Fq(({fdZcYu#?%{n(LugKS<^VR^haMBJ{65Vqh71;LAiO~hw zvTvmM)=S-OO{oMn!>c+hkHp6&c;Q!=7hOGUY^&>#7gh4Bc!HR%(-HzJ-Au-Nau8dj z9y@jn3!bxRJl8X*Pji+>IOtcO9KctJ^tPeW9dnM(tBzX_*)&zk-pepe(Xuf~RV=1(nRVrM!3kSR@bn9a z_iJL5Ta5VVxZ(3EW;isBk-^M`)!-;Zf()w702eV;#!ub|nl^R`AC^zca2Tl!)Fzzw zYIkn1;m7@9+UiN&)s~a+-~>ydF`j16l4lLU)>Rtkh#A66S|RfmUOQVv_SLqKe)0#7 zaU$s+Vb-krxjY8?=j}z~$fZ5Q9OLMiK_&C6t^Su8w+ut{eVPsVz#v%WK78_HeIySc z+AU!f5;0*%IcJkieSdRhYwOc*{08#xPb|eZ7cPE0`$|YDtSn1&KsIhDWFvz5?j?rj zD{FF76k3s&3zr&+J(f?6!8%01-ggL7hel}u)%%mkV2AZ&iutgH;Or_50?ww;*)eh? z^89#NZf&+V-h>~*OxE6FY-s*zNh^zC6CvjX&H>imM&UA7rY3g5W(G(p%|eCbb{wE?kon+{`vK>a1uf)Cwq<ooH z%fzb1j!-feep1d~m=8xMmmGyIQQ(Oac0|;r+G(Xe4uS;IH1$g`p_q7=`^&ZK*L@0W zLjSq)0U^Ulu~K~ESp{7RM+~XY<<%GqR@kXu*byoLBk9fUD!I zpEUZi;-Q*@benHlAaPGw?RMw2Y_8!OvE;D!9h^CQo|MTIsY(ezreT;5` z`Jc>Lc%ttjmX>-tjM;y3XOaGXq`X(!!}m0B5#v5Ke!krV3%9aD`+jPn)kS`N*|Kag z>Tym=Zws3+m)DXf?4;Y3cJ5_MB^$f~Q0(!Ul zjV)*Wk$!pE43n62YZg=?iMm=F#Ip^1C&EO$fJOJKY+;U~n%Ql_C)dySy~yByxw zp+bKnaeR6rG3v8y#*-DDM1i||7K#GgEH1Vxq}vvj^X&8{WN(L2-NeQ*_2rk!=hMtp zuKfJZ)eU_F%|CtFqneV1vz%qg{9Tv>o4EwvMZQh)is6s7%Ar?9(cn^8mpxAo`0uCT z^FSEn4+wGbx zZVuO!jvwV##UO>KuvKqj&`Ba*qHzF)uU3lWf#8$Id#tf5&m~S<7to^Ll?`(dhpnSR z8l}Bc9Cd>|%Ds?S(k87;(oa=+4jFC}=chKG)iIiqz%y^(s4OSMJ7U|C( z8`7;U(2X-ZMKK1C4(K3VEG}

EQ5+M(IF$V(v=QN@|l0SN4BRV?CTPjT1AkY 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%0A1yjZ~*)dQ?iSp`-7X*&Nk&-m7S`J znfx&uJbG?-wEnwImALPFe=T4-mbqF0JDNuZT^Jw+dhe@OK?45}|J5Uva$aPY3|pw~ znO8_GcC|fBKL_HS1un+Hqp5zW!`pU6-GW2STb^Njh z>pv7Slh}%Ta_~T&Shuj!e{%lRP2$^Y4N2o_d355(Q2`K!#2D}G&wXjy$SOdfVGQ+r=$3N zKgi(d9+&&-9;P~qD6J1~`AC=X(&faP>bP=IvpDg7QI^PU);+^ZOE$U#Q0iI1Q}yZ~ z-Z@+B4hAcFFNyM0O>RJ2|RIa!WZvSAYcw(gmRY z?tX9oA?JNF8k)4$q-r7|lj)6oU*-U|y`Bo3<^8S8%Y@5k9`KUlb!*-yWp1H7lli-4 zL%AvOCmetQ`?E<`g|U*SIlisPPY6BRUcU6Xn|f!uKX#o4fSfPR$D<|o{L_(G(-u6TuOE{!e?x~IpAdfThJQ)tJ`ts^`HB#!=!#FGs&%3iT~ zesq>NzgJA18Qse0Ny==#>&fKMy^ju2HROsmtcN7e z6HJx{0iB1Jvb`SFftOlLF|omA*PLRyi@uL64E?--T>V&~p2@_{c<)pn>p8D^AYu-H z;PtU4%)En-paXA7jHawv%8Q6MPcL6uki7mZoqam-s1d@~fnK^Ew|>jUrY|8z8PX0+ zMb!+};;8-8OWLx$^ecud@GXA^&bp4^J`E zwBG{w?^@Hpo$IC_deVVrH}$z^#abDrkx|PM;^k3OtL)+C8S>kgV)mVA$Umq@(xnA( zO})NsEhdsuBwg2-tUh0}%AM4^1RSWNE6>jv>&`41DXfQPxqEC86TEe>1I@Ef;It3m zET)Rw-!oZnv!+r!0nIH8kN%V3`~<1_;VFHmLkIcITmy9p{xILLYYclW{L{P{gyw4K z$;v@2*Ym5$2=bCwGJQY~+^7PG_P6;kXZtFMU~X$rIUd^+Me3gF1Q@nDLnvnx$iN%y zDsziy8*sCEns-PyAh?yDvb6YIP{B4vK@t1DzdOZc53)6|KF{wH=ifyx&av8Retgig zx4kcA^1y&J>U3oo+_EgA%F?9TVOH$G#7q!Lo*&Qai5;=~Y@b=?0ML1$#QSz#S0Yf} z#t&f)df`Zv9}Rq*{wrs0PLZ*p*F5zYw2i8bVb)ol8cEm+X)l>cTLEOX6>9tU!}5fW zDCgNvy^7h9LMZ%}ZCCO7XXM+L%W~H*SuDj-pkzOb)f}m%xOS%^fIk&LbfJS;fJDu`t$r2Mk?Y!hddkUXP`w`3NYUdqF7hP9g8F8L%TZ6nqE1xU zF;@C*w!I1H?XE0E#5|23MBr?F^fPMv6Po?)6f503%+UInr_ofhK^2|b)Z(O>Q+toG zrzu$Ifw^IK=j{YbBDeug>dz%d!T2rfgfa!xscPrA5}bgMbvYwq^CYS za+shvDTEKYgbQ{ao{(o(8k@;FLyp75)NQ$19oCw_-C3hA>awr2m>o^ypXweV9mb@F@m_r?WfSf#PEa zR};rC=%h!rYHTib<;2eeONpF>Nr`K@%nQyZa9}bC7${$YH0hLn242#6vDJGdosnps zB;NCyVt^0l@9k$6nmQdYAq0AqG6Xe_^CL`~)_{lya(ci2H8A*>4Kdg0;>-gC=s(3V z_wCiFYT&xf!jgQg!SmPXd&%|}bd#>TA^Q5VJEwLk9{BsXqX@Nw^?8c*3;PJ$osy)P z-mTMl)@$b}>ixAV>d21=&sgVoZly2c6zwvb224iQrmPT!6RMtWjkPiY2;btX+Yk@% zGHAI$*Uo>gS=X)0Xw8CNRs2G^o8xEv-p^{)jKITq%ObKNs5b{S{W~o@1EukHJu)Lz zf_zB-9<%wZkNe5~;6gk}u~pQlYB^!%iO6Hwqaf~D-K=F2^bOhzvbB`^HOe79KrDh! z(9zLyf%FosG(&EQBlvurr~z&9MJ9#?2VD_awl>5i7UV9`Bf9?8EwDfb4c3N>H!d0x6zT-@$Ylzml1~yfeFvj&lle4$%xS$@)&Y`mv=mAmK)b! z`=+zjW0F~M!mH5jxAGO1#?QNxS#ch`wAniMnCr+6D)cX9`lj?UEM9(tm*StDEoo-4 zSjJ$NtomJ*de?nM{BnYV!|admmZ7{8_}i?}gYCFsujN77=MU@fOPif&m9L_wJuMPS zZG&Ga`ru2&$xN`p!em{$afAHxD@E_v*Xe$Rx@4~$LIv!r|Hf38XO|$mUU5aN4xG~I zKv{%?zrLBzl=yF|N%HkOE-?zNz&X>%B2gR=_x%;@4@yjxCHs55i*=R9ZS)?=Qa#3@i%iD7R+EEgOdhv<0wgOnEoGNjnU`EgXNR}9y z5OP*r$|C!Hi~ zIlE_){-GXKIgjkVo*I73>eO|xAXLqS=g4#iyfAj-kmBx%2xdpYmf{=kiK#v#S^ib+*{&! z5D&{)Qe+YjO3!O`oHUOXe6uTg6V_&DgO!-#`8W0bK1lxTDWTGTtd5d;PCed#EmtId zCctq$>}chPqSWm2E5fi^V0dxmI^rv}LfLQNv=Vjy5sBhJNNCR7M{aHfDS&zS1ZoI; z3*FfjE96bOCT*S$AiOJ1dALOpN_d~v!patI78MTdoH*Z6HE%fgHN|S{g;bZ|${yL{ z-{kk8s$qDcG zWIzjm$)E!LMbzu$%Pmw)%yI#I;kQ@KH?yvrTCd1~0z(3a?x7ZgTBN3(I^L0d2k>dF zSpyEaMux^Rgsg{*#t8PI_xtPwc5)oLzh9Ki;Z)cq>+nyhjxHTPiBf`e6#U-zlI3pX zrqVN3JGP;hqwTwDMh#-$wbc*;%`bP`a`URPcM0l3WG%6j9x&L_IIrl=R%>BYM>pRp zU{;p%&kS?dmt2U2Z;pAy*MaeEA?T##`ffdSKgfzdcNf3%di_-F0f_lP2eW4h?XX?0 zJywla={0vp-`EYVzMG=^=Ue^fQ5gd!AxZQwlaYZKxoS;#hg+6;RbGn2^$PJbt z(}pjP0n;Xdh66KYBemt-|*cx&dPMpsVuu$+hLMJU-CC+|Za+TN+>ioO7GG ztZrs*m08Mc+0O@b7wAD{x*+50#TUgC5i3t0g#KGJ@-P2`FgU%rM`+jC|A(Q5x(kiU zMu$~Te6)~aaXoGD$-d@Xy+pO6ksAV0N;Jt4_Bi-Qy+ zowkH!2Te~LvylN<4hO1!NaJ6C)Kfx1Q^^N)%zu`A{KR>#ryrJIp~JJzLm|g;+)g-S zSL15X`uq!{`u9Z(ip$In6|xUcwrx7-tyOlrC+>jxXGLeom5Hga4(%uv<+|pR&M7%@ z%@@gO&niZPI{mwyj-`z}jX~QmcRpJw#Bf~2tZ!s{<2$Bj$LRT!u7AVzP`2YI6|%`_ zzTST0BR&4F)GNuI*pQUNifQZ$9_$Le6d!_GzzN5z!73D5oT3ghw~=Nov}PYLn_WNk z#cwN{YSQ&Ij_*p8U=(||U)qz66cbx)wA6Lz%IJA;m4CYwTCzx$NR=E0-p?MyWc9+N zyAq}gJbGVxj#2c^8SmhDtjm7kwz0c%O7>qmv*RZ>j?j$DWv0C!6^`~j2sL={srZw7 z&L^EftLeHH%U#st4)xGpLbmrRfLV2HH^n3!NI^KNNku>KSu@~{x{-(44%QojR-_Im4XPDHE(LY{37hmS_w8kj?Y^1s|UOs0Dk z17eDSa5tdY>p+M7l=h<^?N1?-eHHZUqzgP6!+Pps8M^W`egwr&n7bvFldp{gOi!my zYb9W0S~H9j%bA@;B!@KYy}W7b-lD`_`Htz{X64Aug%{uKxg?V%Mi&->BvMUo_@BqW zOqX@yp~omPt6e2;3p*#YDWAcHpqF8rCqD-j;z*7p4a<=I(pwpgOMr{Y;z5lOu@sv1 z3C6?p8wz%0#dy7tp1ckmQsn`#pW@H^uE(>x`W9)UK*2OBpsMoAZ>p|XNfE~# zH0AWe7M2Me)D!MqX8NB<-FKEn;zXm>J)ui`LfJTP-+ssEQM~N7s+1%fTC&<|M^(rc z+|?h1n*VW-Yr(gnzMzh;9;+qHw${21@Kuoux1^ zP|HpB^{*eMb&|SMV^B@OK@B5w;PFc8@W%PEu9LgCpP!MyU--`*fxTg2aljDRfF_LV zVBtV42`bdZ6C?TzIU+TkT>{!8tK-BwZf%Aq+KG*wc)xyI>v9Nz^ zr%#fSO<*(8+{4EsjW`b;K-G&pgNJ-elQ)ZML$jMnnc-i}e_D z4H+52SNSzDqWkd@dq`(geYU(RSlMbvMOtK;PQUn5c{OIch9+pE7(8L80B$@#QuD&& zV#I0(f7)h;>hN`Ad*OrDy)4^ssxmc1vY1w8`)REO4W?rtU@BM@-1_TxB9(@fqct;q zCEHOV?r;9g(}uEfJU=#^zX(E_egzx8-hRD>kSo$W62RZW+8x6?I5WpJ^4@4QFk-9@ z@tQazUK6m!r?Ht|eKX`UtKao-G`ue?d{2O|%#kHMM1a_xZd!Auv1AyXd)dw|tbg{;VJ+0BKHOgVkv-Z(5b+Bd?<3S3v(RE~(V z8p<69$bweX?bi&)sT$hsvCFfTK+Ac>_)d%dJqi#L`Vnb=T}c(Cxu9-h>cT7ZW{@r> z&uR1A4ZcA2KlcLQ1FCS6lc?7@mpnQ!siw5$3bN*rH4Dw1mH}+9-kDB6V>c#@`w1R# z(Cuz0B9F~;Y@$?Zugta6o40uTo`>S^wA-_-XY1^aagl!<4E9*DrL?aOHy6G1q)mPR zGZufNY{(HiP9hEOP0>1E@sg^;gBHbJb4oW~a6i5bLh$C4&l^HO9w&s?*Z%P{hAz6$>27UnrmD6o zYL{w@)>><7Z>uP3jfgEtRnbz>4Yjw3*wfmDSgL4ksWmMkNC_c=h#(@r%$alE@0s`1 zjCs%b{fFoA>U_F>yiMT+Ih2-I9X_JfL1jFBe`}cbRB+r8GYOkq z#rg}}$-cpe)+M!cySc}I@30T=uo_!^;EJXVekjlU5y7kx-&Y2^kkg>^PD5{B^&AKq zpShEJp22b_1@e_ziY?!mTe@c8EibFpCe#);bUG}@?S?@N5MTE5FxG}X z2HueLymAxEoAv&!Q;^16M^f>mDy&N0sbh0S_z!K+*iXC<&U#}D-)UsSPgY>frhS`+MwnpeQJHeoWF+sUR?i?RELo1_ zl-SQ#f_J0@zy?FbG)WY4Oy0o^+%?nNUnVV;Ju1!bYWv{BY6@z|xmHeuC)Iynjhoqg zh>?Pc7{F(H{g!y~ww1)vC^ATEhI~1mem`?}?S|%;7km!meB84Az2({S$mJrVqz$K#jQM3hREI-GM;h8#y6+*4OZ?yG z4QnrhRz5E@r{L>wWOMPYk~3qIyzTP9Yug&-v~xV+;d)h|%Xcsv`ILq6i z%^{*G=IwF_QE1sX=|2+BUzW6;^;iVQIK3q&ur*~RGOzIRXJv(HbzN*ztO;4;^0nkT z;XoP7>bNkiYV9d-WW~eBVucDN9ZJ{L_c2-y#M*;#w>rU+&~d3Mb_!Yq$1e)B!Ig73 za|HJ%E;CRflL+c2c+j{fDbHj?o>B`G?g#LL?o%X@r>V9W9DLGDScKzzvT zAeOATrbQktn0H_4Ts9wY=wK#?bb|)n)&kf#i@bc0w{a{LU!LB*@@`>W*#!-AS{%X` zdhAGe`*(gW)fAqLLz}gE=_)y+cw~i=Br?35Xzp2vN6zjsc#Jp<)KMvwKPt1ykfAj8Y zy_Bsz#Jq8#VI>j6VS5f8%P`z3Ob;`9z4A`>!gf$YRe{HE@x$JP@KXzOyonhO7CQ;g z#pC{~E&YF9?mV#|7=G;VXm##->r0BRW!a#m#BAXKP~3D>?(NT)c45Yrva;m(W=acd z1kcMVwdKgXh^Yse+9Z$0Q0LU46zyMBrqMb>c7E)Lz>(4rZ=be(^VRWMK9F=g*5?x& zhGUH`x&YdVr|2Xbl|`Y$Q&5!$vxKN$Zzqqgq$GM$5g7a@b=rg4Y^*# zMV}2fqSd%sR;M9DOaG;I#quUXGU9M%aC>m)tc1&(1LB@RwexAAqpTnylK}Vb;rMTr zmr^Ve_O%yH>Crt*x#vwrVgBY}0k|TU^Qk3E$5=J${pIBZ$lV zOZ4Ea;O1XG=MT-pU%d}zKen&oC2PJ;k9+vnN_2}USwr3GPD(d_*9RlTn3P!L)Jyk4 zA6f=|#T|b>dD2lYU&f)@ND52Pu#WYh=N~;eFqzhV)-B?^GH|)>Oa-Zu7UI=HCK!Jm zmbUp^S_{^=Lhu*2aGWzVtcaS2k&Y&m{ML?@b|w7vm$lr%Hob~tth1U)V9kc2mpbAp z&Q0{zI`T6$Q;o6=4OdOHQ79+>sr%1p0rG35-D;>B9Njr3c4bP(N6W#0PVnB>e4*F% zD#+VO!m&FiFkPtIIhlMXo|G$(p^_kh1_XvZ438=b@^%WoY)cQ0knXkGVu4ltcsA4j zq^Iwr z^0!$ogq6OT5d@#ykq*&DnIGMFFbk>=98EBiy4$Z@QKvP*uYdV^nM{r&{#66Vj`44F63v;M^~;1fD43OO?V${vR&yymqD-2ZEQ$_mqJQDTX^{)f z+o5$!fJ7(&6vIzdYtR!F5bb>wm1 zkqWZ6`^fAbZN@K7RTJ7sTuDs^O6@bU3Q#}|nzUQ$r4!vy1hcS}-G0Db%-E52Sg|E7&-_v&yhUY!I z(U(Sag*uwaKg{c>Ka&95D3~{_hm8hzs-Y?T{MtvtO0qy^)}aFTo((-6zN$Om7y=FQ zu%pz77mi|P;sjpKIM70gTA?c6LU6-)mT@s`^-Z87yM6-SP;#umk;VUaeQkVvBuFdo zTw^XdzIa8L-v@3s{+>^{y(G7Pz`V0y&7}j>UWrQY<+#X|iHbvPn42D_mg>xrO8WbN zQK5klO;@#7#6WV5$7bm39k}-%7@~1z%KCHHZ|^5_ad!RyGJ$!`CmvIziwixNeHKm{ z#%OJpQOYl;m;n^1`$z|IV_RggMXrSpJ)2Wb-wxl_m=xc}x2_2b>!!(FCl>Bsd~(Z= z*@W4-U$m)f!ChcPv}y6P%O8ei|5Z@sf_!+};p+8VA#`_P5A|+Nk>{OR4IzsXi{LlG zc(7a|W||4g1m^GI#|Y;1oy6ZMR=E4A?J(&aiZNb^i`&GZ0JoMB23l%eE_^8&5-K;V zo)WEkM=d4Q9nKnb7=5gxVh@|vhQH#2elrA|Iqx9O;vV!6!Blquc~|uf#UuNR^soFq z&Q*QJlhH85oC@zA$V;aatv_m^CfzZyl#q;>Gkqxl#;s2;TFcX0H8~ZUP8YPo%j*bB zM!oG}ItxF)bWI@Cl-e>&pvmsNBFX+K5<6#`W*sf8mjepsLiJ4P8E)F*=vt9a=i>@L z8zp;w0&Nl+IPw)W0~T&MC@Q3u;uuN*NpDeuKwvLYzr;WN;nz8lKifeIzTwDdnyWm| zF3tRlPHZG5(@EoWeuyCZ)sx6uf7$W~!wDjB*tf0ku# z6QtF3zI)(~h3v|$56vOw2MStlb_a;-MM3=`$`n|4E!!}e+oVvtMyJ<xsd;_*a2{AIAJskHaMEqP^zhY}d|RA~_djUE3r}E`_{I->Oyj z{~w9^n)40$U6XMdg|CDc7NAN^KI%t&jB1rH>?GO>DnF@wn_4=b%whas?b{kk6?NwX;2U< z{lz7>e=|po&ipxQcbxU5Gb}3G^N`bOJs@+#$kXkwziLiDF>qL}3uv-(S`L|K_>rv> zLp_#%w(4?_V@`c)n`^#o3W?sZk}c?E0L}s2tN=L}ociPlV^=^5U<|Q zX(++4jceK%|D7e4H< zENz-%{TQP|J6OE~JCzV{tKbCkRb|J{v%(@n4K5zeUrLC1q8;^@dc-ZAmMtH?))>W% zZ@i($*RhYzj}2?+0M0mlE+&TR5}Lls{FZMG3JG8FG$^~?o*G)A8@a;lAECIng8IF1 z$-)`pRhM($Tij@-yL!4Ak~Mt>dX+i8m%CM@VtAAQiWswyn;a&Ul-H7I3=6&m`u~ups~*fMmjf+{hbWs`(evJ zAM)S4I;Og(oM`RrsoT|^Vq0-3Zt78r&6}Q6efe3R!^8sA_0k2*j%Ej_U3ELGM4}(6 zJHXbPJ&zq2+6lo!VHNCt?-HWZz^RG^e}jB2^7~YWs$npQdrCb*09Ha|5?tM7-eVGHxA&Pg}%SJp++#QWU_muJ08od)zeZGzi5veMxu8P`OZ~3_ZCB-yn zjm_h)X^MItO;9h7Tk4b*AE+Iq!`_a7z_9H#Bwh@OrCV3AJ(R@(F68Ph`e8DvE>eRb z_gA(hPB9+cIa%%aK=*^;2Twe`?KzPbuSoxKULU%5`48Ei{+lBFJFJiO@g?F1JOY#* z(4M)8o^pC!%m-7K-+YznE3a~UphUHGb&#u0TZXmtdXAc5iUzX{$!vorFlyc6_=sbo zfWL>te2`Oq2JQx3O}e{7+v`(XVjZoLE(-B%L6xkQx+EETOt17O4KNh`5jo+E#)JX+ zjx5>UpKVTI<0EiBB z=kg(M2ZaAi5*)MHwXr0gXX7;Rl2{Bq&6`dSt(1>82VTmJZC9dc8?ArIi?6ud|ES8Y zJFax0SF&R#7XCD9a&*O)2|GL=VQ#_zQVml}LcgwIhz0C$))IoX>DURD*n_c49P%BN z^Pt?3pv)DyqqL?OF!1A$-@aOqWjNK*qT^j*Tu*&s`&h6v{>pJ>Qa-h)qoZUx1}~41 z(LxPq;kzsoLfuk)Xr{FmG&V~tl#pNvs+=vM7hh|lA^Wvy2dl94 zlbHtw>#*N4U}K)dt}Iwiy%57539p>q9L43&(zj^b_I=3bp%^^KlOk9qTI*w_VBLpF{mnshPoVgifuHlUixfOV3 z#F2>g1=MBJZntz1{nx^A>nHYvR6SYOk;Mxn%;=F3gSqwSc{WMwm7}>dkG}nh_Hj9G z`7okh4hxml{d&Rydlt$GWmZC%sHIpyaS(L~tA%z1m)DckqMnaQ^Kya zd*O$;jrH~;plq20(FKVWoY!5YCx0HK{P(<`w4cLQO*!@qVJAzvI847wCeKPQj=^ty z6nSLBmI_J^(9RVBfAaZSFBmc9U@{4A01xkkSS$}0cD%RKo(5%V*NDNbVxJC1dm%B| z!+tg)97Gnzk%k#r`s(S}KxL~qz`iX>FlU>uQ`n9cDnQO9Nd00gMGH#K`yrep@5@Lj zbvh0#UUL~(qU8nNG7lEBoYkM?FgYbgP?zCukA1S0NNZzcd;(e0YVbkKsRH5}qC>ur zBh9(QE)=FXz35GU!1e7jPki2Qkh!yGjRLTOQ$YN0P$^_bTu27_K_YZ6x9W&}cTkDO zr2na)`IUDE&?=fvQA%#PHHt_j083N806m_izWgE964Gu1^MRQp)D(yG^hv2Cgv{Ap z^ca9XKh37MJgJ(J6t-Q)iAZlIJNL0F!TJsynO?T80sycG*md-~q2xzrXWt{5s$iTYno*_^;g}<4Y1%1{=I^>AyEO z8}LN^1z-C9{ii)$-1KLOtGbK~jF090#@z>0 z6-$QhIu!f2DF6zrtqT(H1D%2Wb4ebmqqC#k{ScGzx^rlBZGS-$}r#Zh32A(hO2Nf%87;qTy6NgLAtv0YJ z;}ZKKUI?nj@KCD;rbj;qp-{Vt!mSWr)T`-BE2aqFRiuzLmU*px1?M^IoIq$WW1sWo>>vET z2R;_OyFUZiTpqg(tZ$_Mw9uDth%59O(j8mf!(}isz%_|;;L>`Jw(;M8c+0{K9yrbP zv=S0-nL~cBPaYz&OvNI7XQDlXahPC~e`AGdO9_Ry{b)na(3qcn&RTuLWS={QZcN~QsIj`iTS6(X|nkAlO!DyqUxQXG6gDusLgeLHx(Lr87I|Vb%23I&(hUL8z!k;Mg37suj zjJTF-%}plTiu>I4tjQjA9G-7x0L<)@t%Ior#Axweulo-hcOUWHTP|vG8qwc!g~(zMd+%#s1U1IyMcu1%Mtyut71B(lg7(im{s1 z08ysfad7_74ypF=II&USICcVl!>ou?0=Q3=-Ylxb4NC}zeREzHQR~$TuYLnx!f&RA z4j26+R%&$P4`ZZe3#G16ahmZ5|Llv5_3>VM(mRWPiCxqhU<0*_ixI7{h|`yiEouVJ zt|*flILZ5xryMe@`uTuCa=cw!>Td2N4FP`a+Y1YaWKi;^=0_wE=#Y>(7_P52bzy_7 zU!o!WGJn1_V8F$;4?(Y_C(?6G?LdxTr}_017g{ZqkvfmpM}p93J5r=|{g=M=S+7x) zm-tUS0*8Zc85EB`X$2Aoz62Q-ccpq%cnE!!Q<}Ig0yI5{c(+@B{FU@EddH0ZWy_9X ziA{~B+<0Xy!T0HuoW*i(=p~HSA??J8%EDf?JW{%7X5V5(>gZ?yVHUvxS5=H((3lnX z2vzD^S=k4ka_pVTVO9~ZqpA(@dALCqjokZ-rKqIU{8Q+@69m^`uu+g`7cQ#u9JHFfru2pX>9%{&6- zd<-*v<_e9sIcv@_EWX!Y?(c3O-N0}t4jAnp0>B7Nfh`J>B4@*wH2_;&{JqJMG&&)d z@%9Hrd)|!Xi}|L!f8qWJzFat zj#=leI=H*(_4jf5JG!ho!lPi|b9LNGsv#6u9AZ&sQ$nu^P`K*Wk+=5L)4B(~^XK%X zHI%)HnyG5Mx=Pw4)4apUfPn-bwGxx*J#L!uK;sly1{B!#pratJKXF5QE)NlpUM> zFf*ebABrH<$1~~(;L#O6J2@4?Ag05rD(QCE*Qz9!Ho7^0GRSB^idGcb#S3tA@?*Dn zeB|?)y?OI5lQ+-1Vp4ZvUrc-n~kIb^16FYb5^P8ggG(q@--)MnsmXZuRwhi)v-h_8+= zClw!Oe z`73+SA1TY9U6nK+^MnVO#cfovAA51$w9#<4hS@(?9nAkL+O*8$Q#TG+T8rTfx?NEo zP=2o8^&zigl-_b<8Yvji8hqN|1yU)4TQtZBz1f81=v__50nLJzbw~3bdD;wbRuq1+HKyyDCW*k4M9z>!7RVx|D6L*K^6s|HypAYR-h3%WzS;<` z{%SMmZ9AgvZ2JmNm-J|oc}!z@sEWYKTHu717HwoP*sh*j#A@^++qrxO>(4V}3MT6l zoHZyRob-TSyB);j7AVZa4XfZ{C@1BDN^XFnw33i;if@iFD@Lu2Y177-EVXP?uu-3H zS3-v((icLy6!OZ`d6Z=fmd1^>Mn^4y?InQKoljmCV0P|P?HpJt34kXrNx4DW5v_Z<=T(O1$6eHZ7yE#Z3H|;BJw4+?3Xp*V|E~v4uS!V98$R^Y)vZmXV(6$B7`s_d*+Ta| zx1cESF1^G1GY}-dzBd{chf>b04-onAz2gB0ijK-T0ECE$hLZm_`a~BFP~uF{*!Ya|7mW1`q*)A@yfneO{W(2 z@(ry!av<*;;BC0{F70MlCRPgYrY(ZTDlv%sPjHC)zl|pkt#Y|E3(Yv<>}zqH^^(3tVc1U{%XkpShnh;C5pP=x9ed(^l|TU9tt#J?&UfTnpaMA#ZjxuD=E&1H>F1`KfE?MP(F7~lNzK! zJ!Z(fuhvE=?>H2Fuv-GrbSPFlb+zy*F)ma*B*l`jqb_fL&&=k;9P8=P2yh!byMY9A zp{TXHLBmE+Ebrf%AO6j|4sSl)C_le{xM3H28)LPqzTw^7gT3J@mwxY2ra~Q-M?zHv-|8kbeUi9pX_q~Anz1Q_e+ShpUV72y}&vSVfzFKBa zdww7YTfAg?oHcl1W6Y3A>a|0~j;Ers1#+mC>m$n*K2kX;1ud`J#~A&HSka>p2S>=T zxKtllC5*7MB-%&?TQ9P1D?K|jokZdC|Iitk);(gD&D?T@w$9Bp!-9B?`LatWQD^jO zxx8wtqkqkq=A2-3}?SVKX9u;VD~$)9G5xjm6LB>I%vg|x4;TShYqZX zWYzUhLY@ah?+%1|2eb6&KR980Xp!dPA6^SUTPL_)0ah#55wkH6oVnPy zB*iUmtty4D*m;08QWn(cn}&^h5Xm^!K007#*ZKoyms(XX15ta(qy{u45=h&<1bw4^ zUdH?jOosgh5id%p4TSi3+@U?kCQ$CKYqSKY2!S#dukB~|%Yv~`jVtN?$F-tNw1BiI zyjCS+#dBx{_8UmF*s)L*ed`(PKJxBesa1{yODHMrG`4=M8gp2Y(4A#{d0|7SF!W-V z-_hGdfIKfz!2WUkKJ&8xv8v`D<87+B%wvS5`b@3!#7J`!KkYATaq)MG()jqm0w}0z7MQ=_7;F~OTRbq>#s()9AA9xXYjZ4+H&9Y8ci48z7 zL+=^FIZl-MtH!BRe1XOnZ^f6pPCVs(a642G6PgJittmoVKU6xSgh7nkrW%MmQKC41 z=F9F`)$S=a=shg=9H&)A#>sM*sQj+S|fzEFF*MZCz(W4li#B}lAi)Uvf#Ld zh(s>@!12-B;^OboTJjnnyUQ{TuFXeX#FuAFA+yZbVvCrFQre)( z;fik#;;IegKJDfD_;z!ZI*zL>zBll5I($RXmPPn`jG%4tnqXbIUgi-<^U&;27WQ{I zlO-4ZxKJzqxh7^IH)Hq#u&iGw&sY=27SWB@x1w)MY?85b@?d21j`<8BE zXF>;OjxDQ^HLr9f)QlDz0{D^Ib5pjP6℘3wT~ho0Hfbc)oBr>C}Qoh8>(5%3o}c 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

-u@B8lGAM8DaPI>lq@mBm?PN|MWhMKc! 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 literal 0 HcmV?d00001 diff --git a/experimental/rag-developer-chatbot/notebooks/rapids_notebook.ipynb b/experimental/rag-developer-chatbot/notebooks/rapids_notebook.ipynb new file mode 100644 index 000000000..0d01317f5 --- /dev/null +++ b/experimental/rag-developer-chatbot/notebooks/rapids_notebook.ipynb @@ -0,0 +1,575 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "4272a6e3-00e8-4c89-a345-50497b529390", + "metadata": {}, + "source": [ + "### Developer RAG Chatbot\n", + "\n", + "In this notebook, we are going to build a basic developer chatbot. The Developer RAG Chatbot is intended to provide an example RAG workflow for developers. This example uses RAPIDS cuDF source code and API documentation as a representative dataset of a developer's codebase. We will use this dataset to create a code chatbot/assistant that can answer questions about cuDF and provide examples of using the API. Note that the example is intended to make it easier for developers to interact and come up to speed with a code base, but not necessarily fully generate code for the developer.\n", + "\n", + "To build this application, we'll be using Llama3 70B hosted on NV AI Foundation as the LLM and the E5-Large embedding model. We'll add the embeddings into a FAISS vector database and use Langchain to build the logic tying the pieces together. Finally, we'll use Gradio as the interface for accessing the chatbot.\n", + "\n", + "![title](diagram.png)\n", + "\n", + "Prerequisites\n", + "\n", + "1. Setup your NVIDIA NGC account and generate an API Key: https://python.langchain.com/docs/integrations/chat/nvidia_ai_endpoints/#setup\n", + "2. An NVIDIA GPU with at least 4 GB of memory is required to run the embedding model and create the necessary vectorstores" + ] + }, + { + "cell_type": "markdown", + "id": "449d505b-2dca-4239-ac9c-bcacd6d7d1f2", + "metadata": {}, + "source": [ + "### Step 1: Pull cuDF Dataset\n", + "First, we pull the cuDf 24.04 release from GitHub." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a4de388e-b4fe-4bb2-a75b-9f0fb14e6973", + "metadata": {}, + "outputs": [], + "source": [ + "!wget https://github.com/rapidsai/cudf/archive/refs/tags/v24.04.00.tar.gz\n", + "!tar -xzf v24.04.00.tar.gz" + ] + }, + { + "cell_type": "markdown", + "id": "1c9d911d-47ca-44a5-be3c-d8183a43fd7d", + "metadata": {}, + "source": [ + "### Step 2: Parse Source Code and Documentation\n", + "Next, we parse the relevant python source code and related documentation." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "43793ae9-f25f-4e9d-a7a5-13b64f02b115", + "metadata": {}, + "outputs": [], + "source": [ + "from langchain.document_loaders import DirectoryLoader, TextLoader, PythonLoader\n", + "import os\n", + "\n", + "CLONE_DIR = \"cudf-24.04.00\"\n", + "SOURCE_DIR = os.path.join(CLONE_DIR, \"python\", \"cudf\", \"cudf\")\n", + "SOURCE_DOC_DIR = os.path.join(CLONE_DIR, \"docs\", \"cudf\", \"source\", \"user_guide\")\n", + "\n", + "text_loader_kwargs={'autodetect_encoding': True}\n", + "\n", + "code_loader = DirectoryLoader(SOURCE_DIR, glob=\"**/*.py\", use_multithreading=True, loader_cls=PythonLoader)\n", + "code_data = code_loader.load()\n", + "print(\"Code files found: \" + str(len(code_data)))\n", + "\n", + "#delete index files to avoid irrelevant results\n", + "doc_index = os.path.join(SOURCE_DOC_DIR,\"index.md\")\n", + "api_doc_index = os.path.join(SOURCE_DOC_DIR,\"api_docs\",\"index.rst\")\n", + "if(os.path.isfile(doc_index)):\n", + " os.remove(doc_index)\n", + "if(os.path.isfile(api_doc_index)):\n", + " os.remove(api_doc_index)\n", + "\n", + "doc_loader = DirectoryLoader(SOURCE_DOC_DIR, glob=\"**/*.md\", use_multithreading=True, loader_cls=TextLoader)\n", + "doc_data = doc_loader.load()\n", + "doc_loader = DirectoryLoader(SOURCE_DOC_DIR, glob=\"**/*.ipynb\", use_multithreading=True, loader_cls=TextLoader)\n", + "doc_data = doc_data + doc_loader.load()\n", + "print(\"Documentation files found: \" + str(len(doc_data)))\n", + "\n", + "api_loader = DirectoryLoader(SOURCE_DOC_DIR, glob=\"**/*.rst\", use_multithreading=True, loader_cls=TextLoader)\n", + "api_data = api_loader.load()\n", + "print(\"API files found: \" + str(len(api_data)))" + ] + }, + { + "cell_type": "markdown", + "id": "8ba71a28-312d-47c5-a9a7-efa8c8878e5d", + "metadata": {}, + "source": [ + "### Step 3: Split Data to Prepare for Embedding\n", + "In this step, we split our data into smaller chunks for the embedding process.\n", + "\n", + "**Note: It may take several minutes for the e5-large-v2 model to download.**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5fea998e-c776-4763-b811-b42b6372fcb9", + "metadata": {}, + "outputs": [], + "source": [ + "import time\n", + "from langchain.text_splitter import (Language, SentenceTransformersTokenTextSplitter, RecursiveCharacterTextSplitter)\n", + "\n", + "TEXT_SPLITTER_MODEL = \"intfloat/e5-large-v2\"\n", + "TEXT_SPLITTER_CHUNK_SIZE = 512\n", + "TEXT_SPLITTER_CHUNK_OVERLAP = 256\n", + "\n", + "text_splitter = SentenceTransformersTokenTextSplitter(\n", + " model_name=TEXT_SPLITTER_MODEL,\n", + " chunk_size=TEXT_SPLITTER_CHUNK_SIZE,\n", + " chunk_overlap=TEXT_SPLITTER_CHUNK_OVERLAP,\n", + ")\n", + "\n", + "python_splitter = RecursiveCharacterTextSplitter.from_language(\n", + " language=Language.PYTHON, chunk_size=512, chunk_overlap=256)\n", + "\n", + "start_time = time.time()\n", + "\n", + "code_docs = python_splitter.split_documents(code_data)\n", + "\n", + "documents = text_splitter.split_documents(doc_data)\n", + "\n", + "api_docs= text_splitter.split_documents(api_data)\n", + "\n", + "print(f\"--- {time.time() - start_time} seconds ---\")" + ] + }, + { + "cell_type": "markdown", + "id": "c72a07ff-119a-468c-ab68-f8f6e9f7c6fc", + "metadata": {}, + "source": [ + "### Step 4: Generate Embeddings and Store Embeddings in the Vector Store \n", + "Next, we generate our embeddings from our dataset, and store them in the appropriate vector stores.\n", + "This process will generally take several minutes, depending on your hardware.\n", + "A cached version of each vector store will be saved locally for use in future notebook runs." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3ee3be33-5f78-4937-9e07-a7cc93d5d7df", + "metadata": {}, + "outputs": [], + "source": [ + "from langchain.embeddings import HuggingFaceEmbeddings\n", + "from langchain_community.vectorstores import FAISS\n", + "import time\n", + "import os\n", + "\n", + "start_time = time.time()\n", + "\n", + "#load embeddings model\n", + "model_name = \"intfloat/e5-large-v2\"\n", + "model_kwargs = {\"device\": \"cuda\"}\n", + "encode_kwargs = {\"normalize_embeddings\": False}\n", + "embeddings = HuggingFaceEmbeddings(\n", + " model_name=model_name,\n", + " model_kwargs=model_kwargs,\n", + " encode_kwargs=encode_kwargs,\n", + " show_progress=True\n", + ")\n", + "\n", + "vectorstore_docs_path = \"doc_index\"\n", + "vectorstore_code_path = \"code_index\"\n", + "vectorstore_api_path = \"api_index\"\n", + "\n", + "vectorstore_doc = None\n", + "vectorstore_code = None\n", + "vectorstore_api = None\n", + "\n", + "\n", + "\n", + "#load or create individual vectorstores as appropriate\n", + "\n", + "if os.path.exists(vectorstore_docs_path):\n", + " #load doc vectorstores\n", + " vectorstore_doc = FAISS.load_local(vectorstore_docs_path, embeddings, allow_dangerous_deserialization=True)\n", + "else:\n", + " #run to create doc vectorstore\n", + " vectorstore_doc = FAISS.from_documents(documents, embeddings)\n", + " vectorstore_doc.save_local(vectorstore_docs_path)\n", + "\n", + "if os.path.exists(vectorstore_code_path):\n", + " #load code vectorstore\n", + " vectorstore_code = FAISS.load_local(vectorstore_code_path, embeddings, allow_dangerous_deserialization=True)\n", + "else:\n", + " # create code vectorestore\n", + " vectorstore_code = FAISS.from_documents(code_docs, embeddings)\n", + " vectorstore_code.save_local(vectorstore_code_path)\n", + "\n", + "if os.path.exists(vectorstore_api_path):\n", + " #load api vectorstore\n", + " vectorstore_api = FAISS.load_local(vectorstore_api_path, embeddings,allow_dangerous_deserialization=True)\n", + "else:\n", + " #create api vectorstore\n", + " vectorstore_api = FAISS.from_documents(api_docs, embeddings)\n", + " vectorstore_api.save_local(vectorstore_api_path)\n" + ] + }, + { + "cell_type": "markdown", + "id": "bc71d0c9-aeab-4a26-959f-5493ca1f2f02", + "metadata": {}, + "source": [ + "### Step 5: Test Embeddings\n", + "Here we pass in a simple test query to ensure we are pulling relevant chunks from our code vector store. Notice it should include the 'size' function definition from the frame.py script as part of the retrieved context." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d7998432-e6d2-4da8-8781-798f43835d19", + "metadata": {}, + "outputs": [], + "source": [ + "retriever_docs = vectorstore_code.as_retriever(search_kwargs= {\"k\":3})\n", + "\n", + "test_docs = retriever_docs.get_relevant_documents(\"How can I check the size of my dataframe?\")\n", + "\n", + "for doc in test_docs:\n", + " print(doc, end=\"\\n\")\n", + " print(\"\\n\")\n" + ] + }, + { + "cell_type": "markdown", + "id": "026b7e51-6029-4fc4-ba16-905e49946308", + "metadata": {}, + "source": [ + "### Step 6: Connect to LLM\n", + "Here we create the connection to the Llama3-70b model via the NVIDIA AI Foundation Endpoint." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8cddceb0-1f58-48c4-aba4-cc1962ed8806", + "metadata": {}, + "outputs": [], + "source": [ + "from langchain_nvidia_ai_endpoints import ChatNVIDIA\n", + "import getpass\n", + "\n", + "#if you haven't already passed in your NVIDIA API KEY in the docker file, you can enter it manually here\n", + "if not os.environ.get(\"NVIDIA_API_KEY\", \"\").startswith(\"nvapi-\"):\n", + " nvapi_key = getpass.getpass(\"Enter your NVIDIA API key: \")\n", + " assert nvapi_key.startswith(\"nvapi-\"), f\"{nvapi_key[:5]}... is not a valid key\"\n", + " os.environ[\"NVIDIA_API_KEY\"] = nvapi_key\n", + "\n", + "#Try using the llama3-8b-instruct model to see how results can differ!\n", + "llm = ChatNVIDIA(\n", + " temperature=0.01,\n", + " max_tokens=1024,\n", + " model=\"meta/llama3-70b-instruct\",\n", + " stream= True\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "225fc935-4bc9-4957-a476-6d23d147e664", + "metadata": {}, + "source": [ + "### Step 7: Create prompt pipeline\n", + "Next we create the prompt for our chatbot. We've broken it into several pieces to make it easier to understand the individual portions of the prompt. We bring the individual pieces of the prompt together using a pipeline prompt at the end of the section." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1c6c95bf-3a18-4d76-9625-bf28b08fc1a9", + "metadata": {}, + "outputs": [], + "source": [ + "from langchain.prompts.pipeline import PipelinePromptTemplate\n", + "from langchain.prompts import PromptTemplate\n", + "\n", + "#Llama3 Prompt template\n", + "full_template = \"\"\" [INST] <>\n", + "{introduction}\n", + "{example}\n", + "<>\n", + "|\n", + "{start} [/INST]\"\"\"\n", + "\n", + "full_prompt = PromptTemplate.from_template(full_template)\n", + "\n", + "introduction_template = \"\"\" You are an expert on the RAPIDs cuDF framework. Only provide answers around cuDF functionality. Don't return answers for topics that aren't related to cuDF. If you don't know the answer, just say that you don't know, don't try to make up an answer.\"\"\"\n", + "introduction_prompt = PromptTemplate.from_template(introduction_template)\n", + "\n", + "example_template = \"\"\"Here's an example of an interaction:\n", + "\n", + "Question: {example_q}\n", + "Answer: {example_a}\n", + "\n", + "Use the following context to answer the user's question. Context: {context} Chat History: {history} Only return the helpful answer below and nothing else. Don't make up functions, variables, or properties. Only include functions, variables, or properties for which you have a source. Provide only a single, best example when answering the question.\"\"\"\n", + "example_prompt = PromptTemplate.from_template(example_template)\n", + "\n", + "start_template = \"\"\" Assume the user is asking about the Python implementation. Don't provide an answer if it's unrelated to cuDF. Question: {question} Answer:\"\"\"\n", + "start_prompt = PromptTemplate.from_template(start_template)\n", + "\n", + "input_prompts = [\n", + " (\"introduction\", introduction_prompt),\n", + " (\"example\", example_prompt),\n", + " (\"start\", start_prompt),\n", + "]\n", + "pipeline_prompt = PipelinePromptTemplate(\n", + " final_prompt=full_prompt, pipeline_prompts=input_prompts\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "e97ad763-1714-47d3-8cc8-e62e95775cae", + "metadata": {}, + "source": [ + "### Step 8: Create Retrievers\n", + "In this section, we create retrievers to access the data in our vector stores. We add additional parameters and filtering to ensure only the most relevant documents are returned." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a98be643-46b4-4cd2-825a-4cdaafa2c418", + "metadata": {}, + "outputs": [], + "source": [ + "from langchain.retrievers.merger_retriever import MergerRetriever\n", + "from langchain.retrievers import ContextualCompressionRetriever\n", + "from langchain.retrievers.document_compressors import DocumentCompressorPipeline\n", + "from langchain.retrievers.document_compressors import EmbeddingsFilter\n", + "\n", + "#create merger retriever to combine results from multiple vectorstores\n", + "merger_retriever = MergerRetriever(retrievers=[])\n", + "retriever_code = vectorstore_code.as_retriever(search_type = \"similarity_score_threshold\", search_kwargs= {\"k\":4, \"score_threshold\": 0.75})\n", + "retriever_docs = vectorstore_doc.as_retriever(search_type = \"similarity_score_threshold\", search_kwargs= {\"k\":4, \"score_threshold\": 0.7})\n", + "retriever_api = vectorstore_api.as_retriever(search_type = \"similarity_score_threshold\", search_kwargs= {\"k\":4, \"score_threshold\": 0.7})\n", + "\n", + "filter_ordered_by_retriever = EmbeddingsFilter(embeddings=embeddings, k = 5, sorted = True)\n", + "\n", + "pipeline = DocumentCompressorPipeline(transformers=[filter_ordered_by_retriever])\n", + "compression_retriever = ContextualCompressionRetriever(\n", + " base_compressor=pipeline, base_retriever=merger_retriever)\n", + "\n", + "#update merger_retriever based on selected vectorstores\n", + "def update_retriever(kb_code, kb_docs, kb_api, merger_retriever):\n", + " retrievers = []\n", + "\n", + " if kb_code:\n", + " retrievers.append(retriever_code)\n", + " if kb_docs:\n", + " retrievers.append(retriever_docs)\n", + " if kb_api:\n", + " retrievers.append(retriever_api)\n", + "\n", + " merger_retriever.retrievers = retrievers" + ] + }, + { + "cell_type": "markdown", + "id": "704480ed-8af7-42e0-a14f-345328a5533f", + "metadata": {}, + "source": [ + "### Step 9: Implement Chatbot Logic\n", + "In this section, we implement the main logic for our chatbot. This includes the chatbot response function, managing the size of the chat history, and adding sources to the response." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fd381232-b5a7-4691-a2ea-ca252d4a1328", + "metadata": {}, + "outputs": [], + "source": [ + "from langchain_core.output_parsers import StrOutputParser\n", + "from langchain_core.runnables import RunnablePassthrough, RunnableParallel, RunnableLambda\n", + "import gradio as gr\n", + "import re\n", + "\n", + "welcome_message = [(None, \"Hello! I'm your cuDF Assistant! How can I help you?\")]\n", + "\n", + "example_questions = [[\"How do I check the size of a data frame?\"],\n", + " [\"What are the main differences between the cuDF and pandas APIs?\"],\n", + " [\"What is the default data type value returned inside a dataframe when calling get_dummies?\"],\n", + " [\"Is output order guaranteed when using the join function?\"] ]\n", + "\n", + "def choose_chat_response(message, history, knowledge_base):\n", + " if not message or message.isspace():\n", + " yield \"Please enter a question.\"\n", + " else:\n", + " kb_docs = True if 0 in knowledge_base else False\n", + " kb_api = True if 1 in knowledge_base else False\n", + " kb_code = True if 2 in knowledge_base else False\n", + "\n", + " use_kb = False\n", + " #if any knowledge bases selected, use RAG pipeline\n", + " if kb_code or kb_docs or kb_api:\n", + " update_retriever(kb_code, kb_docs, kb_api, merger_retriever)\n", + " use_kb = True\n", + " yield from chat_response(message, history, use_kb)\n", + "\n", + "#reset chat history\n", + "def reset(z):\n", + " return welcome_message, []\n", + "\n", + "def format_docs(docs):\n", + " return \"\\n\\n\".join(doc.page_content for doc in docs)\n", + "\n", + "def limit_chat_history(chat_history, char_limit):\n", + " total_chars = sum( 0 if user is None else len(user) + 0 if bot is None else len(bot) for user, bot in chat_history)\n", + " while total_chars > char_limit:\n", + " # Remove the oldest message pair\n", + " removed_user, removed_bot = chat_history.pop(0)\n", + " total_chars -= (0 if removed_user is None else len(removed_user) + len(removed_bot))\n", + "\n", + " history_text = \"\"\n", + " #go through history and add each q+a pair\n", + " for qa_pair in chat_history:\n", + " q = qa_pair[0]\n", + " a = qa_pair[1]\n", + "\n", + " #initial user input is None due to initialization value\n", + " if q is not None:\n", + " history_text+= (\"user: \" + q + \"\\n\")\n", + " #only pass along the response without sources so the LLM doesn't learn to include them automatically\n", + " history_text+=(\"response: \" + a.split(\"Sources:\")[0] + \"\\n\")\n", + "\n", + " return history_text\n", + "\n", + "#get sources from doc metadata and format appropriately\n", + "def get_sources(docs):\n", + " try:\n", + " sources=[]\n", + " for doc in docs:\n", + " metadata = doc.metadata\n", + " source = metadata['source']\n", + "\n", + " if source.endswith('.md') or source.endswith('.ipynb') or source.endswith('.rst'):\n", + " url_start = \"https://docs.rapids.ai/api/cudf/stable\"\n", + " source = source.replace('cudf-24.04.00/docs/cudf/source', url_start)\n", + " source = source.replace('.md','')\n", + " source = source.replace('.ipynb','')\n", + " source = source.replace('.rst','')\n", + "\n", + " elif source.endswith('.py'):\n", + " url_start = \"https://github.com/rapidsai/cudf/blob/branch-24.04/python/cudf\"\n", + " source = source.replace('cudf-24.04.00/python/cudf',url_start)\n", + "\n", + " if source not in sources:\n", + " sources.append(source)\n", + " if(len(sources) == 0):\n", + " sources.append(\"No relevant sources found within the selected knowledge bases.\")\n", + " return sources\n", + " except:\n", + " print(\"source parse error\")\n", + "\n", + "def chat_response(message, history, use_kb):\n", + "\n", + " #prompt is currently around ~1500 chars\n", + " #context is ~500x5 = ~2500 chars\n", + " #Llama3 context limit 8k\n", + " #limiting history to 4k chars for now\n", + " history_text = limit_chat_history(history,4000)\n", + "\n", + " formatted_context = None\n", + " if use_kb:\n", + " context = compression_retriever.get_relevant_documents(message)\n", + " formatted_context = format_docs(context)\n", + "\n", + " build_prompt = pipeline_prompt.format_prompt( context= formatted_context, example_q = \"How can I check what's in the first row of my dataframe?\", example_a = \"\"\"You can check what's in the first row of your dataframe by using the head() function. For example:\n", + "\n", + "import cuDF\n", + "\n", + "# create a sample dataframe\n", + "df = cuDF.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})\n", + "\n", + "# print the first row of the dataframe\n", + "print(df.head(1))\n", + "\n", + "This will output the first row of the dataframe, which in this case is:\n", + "\n", + " A B\n", + "0 1 4 \"\"\", question = message, history= history_text)\n", + "\n", + " llm_chain = (\n", + " llm\n", + " | StrOutputParser()\n", + " )\n", + "\n", + " result = \"\"\n", + " for txt in llm_chain.stream(build_prompt):\n", + " result += txt\n", + " yield result\n", + "\n", + " if use_kb:\n", + " sources = get_sources(context)\n", + " ranked_list = [f\"{index+1}: {value}\" for index, value in enumerate(sources)]\n", + " result = result +\"\\n\\nSources:\\n\" + \"\\n\".join(ranked_list)\n", + "\n", + " yield result" + ] + }, + { + "cell_type": "markdown", + "id": "14b1a3ad-a2da-4d3f-acb4-3d0bfe9d5028", + "metadata": {}, + "source": [ + "### Step 10: Start Chatbot\n", + "We're finally ready to start our chatbot. Run the cell below to create the Gradio interface and begin interacting with your chatbot!\n", + "Note the differences in the responses when enabling the various knowledge bases, and compare that to the same response without using any knowledge bases." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dcbf4ba3-a056-45ef-a7a0-c84114371465", + "metadata": {}, + "outputs": [], + "source": [ + "#You may need to explicitly hit the STOP button and try to relaunch your gradio interface when re-running this cell. This is a known Jupyter Notebook environment issue.\n", + "chatbot = gr.Chatbot(value = welcome_message)\n", + "with gr.Blocks() as demo:\n", + " knowledge_base = gr.CheckboxGroup(label = \"Knowledge Base Sources\", info= \"Choose which sources to use\",choices=[\"Docs\", \"API Docs\", 'Source Code',], type='index', value=['Docs', 'API Docs','Source Code'], render=False)\n", + " input_box = gr.Textbox(value = \"How do I check the size of a data frame?\", scale=4, render = False)\n", + " chat = gr.ChatInterface(choose_chat_response,\n", + " additional_inputs_accordion = gr.Accordion(open=True, label = \"Options\", render=False),\n", + " additional_inputs=[knowledge_base],\n", + " examples = example_questions,\n", + " textbox = input_box,\n", + " title = \"cuDF RAG Chatbot\",\n", + " chatbot=chatbot,\n", + " concurrency_limit=1)\n", + " #need to reset chat history when checkbox clicked so that the chatbot doesn't have potential answers from previous time question was asked\n", + " knowledge_base.input(fn=reset, inputs=knowledge_base, outputs=[chatbot, chat.chatbot_state])\n", + "\n", + "try:\n", + " demo.launch(server_name=\"0.0.0.0\", debug=True, show_api=False)\n", + " demo.close()\n", + "except Exception as e:\n", + " demo.close()\n", + " print(e)\n", + " raise e" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.14" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/experimental/rag-developer-chatbot/notebooks/requirements.txt b/experimental/rag-developer-chatbot/notebooks/requirements.txt new file mode 100644 index 000000000..52ed6861d --- /dev/null +++ b/experimental/rag-developer-chatbot/notebooks/requirements.txt @@ -0,0 +1,7 @@ +langchain==0.2.1 +langchain-community==0.2.1 +sentence-transformers==2.2.2 +jupyterlab==4.0.8 +langchain-nvidia-ai-endpoints==0.0.20 +gradio==4.16.0 +faiss-gpu==1.7.2 \ No newline at end of file diff --git a/integrations/langchain/__init__.py b/integrations/langchain/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/integrations/langchain/embeddings/__init__.py b/integrations/langchain/embeddings/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/integrations/langchain/embeddings/nemo_embed.py b/integrations/langchain/embeddings/nemo_embed.py deleted file mode 100644 index a8c0320b5..000000000 --- a/integrations/langchain/embeddings/nemo_embed.py +++ /dev/null @@ -1,102 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""Nemo Embedding Microservice""" - -import requests -import json -import logging -from typing import Any, List, Sequence, Optional - -from langchain.pydantic_v1 import BaseModel -from langchain.schema.embeddings import Embeddings - -logger = logging.getLogger(__name__) - -class NemoEmbeddings(BaseModel, Embeddings): - """A custom Langchain Embedding class that integrates with Nemo Embedding MS - - Arguments: - server_url: (str) The URL of the Nemo Embedding MS to use. - model_name: (str) The name of the Nemo Embedding MS model to use. - """ - server_url: str = "http://localhost:9080/v1/embeddings" - model_name: str = "NV-Embed-QA-003" - - def __init__(self, *args: Sequence, **kwargs: Any): - super().__init__(*args, **kwargs) - - def _embed( - self, - query: Optional[str] = "", - input_type: Optional[str] = "query", - request_timeout: Optional[int] = 5, - **kwargs, - ) -> List[float]: - """ Function to get the embeddings from Nemo MS using REST API""" - - headers = {"accept": "application/json", "Content-Type": "application/json"} - data = {} - if query: - data["input"] = query - - if not data["input"]: - logger.warning("Valid query/passage not found in request") - return [] - - if self.model_name: - data["model"] = self.model_name - - if input_type: - data["input_type"] = input_type - - data["encoding_format"] = "float" - data["truncate"] = "END" - - response = None - request_timeout = int(request_timeout) - - if self.server_url is None: - logger.warning( - "Nemo Embedding Microservice URL not provided" - ) - return [] - - try: - response = requests.post(self.server_url, headers=headers, data=json.dumps(data), timeout=request_timeout) - response.raise_for_status() - except requests.exceptions.Timeout: - logger.info("Http request to Nemo Embedding Microservice timed out.") - except requests.exceptions.RequestException as e: - logger.info(f"An error occurred in Http request to Nemo Embedding Microservice endpoint {str(e)}") - - if response and response.json(): - response_data = response.json().get("data", {}) - if len(response_data): - return response_data[0].get("embedding", []) - else: - return [] - - else: - logger.info(f"Invalid or empty response returned by the Nemo Embedding Microservice endpoint {response}") - return [] - - def embed_query(self, text: str) -> List[float]: - """Input pathway for query embeddings.""" - return self._embed(query=text, input_type="query") - - def embed_documents(self, texts: List[str]) -> List[List[float]]: - """Input pathway for document embeddings.""" - return [self._embed(query=text, input_type="passage") for text in texts] \ No newline at end of file diff --git a/integrations/langchain/embeddings/nv_aiplay.py b/integrations/langchain/embeddings/nv_aiplay.py deleted file mode 100644 index a3eacee7a..000000000 --- a/integrations/langchain/embeddings/nv_aiplay.py +++ /dev/null @@ -1,75 +0,0 @@ -"""Chat Model Components Derived from ChatModel/NVAIPlay""" - -import asyncio -from collections import abc -from typing import Any, List, Literal, Sequence - -from langchain_nvidia_ai_endpoints import ClientModel, NVCRModel -from langchain.pydantic_v1 import Field -from langchain.schema.embeddings import Embeddings - - -class NVAIPlayEmbeddings(ClientModel, Embeddings): - """NVIDIA's AI Playground NVOLVE Question-Answer Asymmetric Model.""" - - client: NVCRModel = Field(NVCRModel) - model: str = Field("nvolveqa") - max_length: int = Field(2048, ge=1, le=2048) - - def __init__(self, *args: Sequence, **kwargs: Any): - if "client" not in kwargs: - kwargs["client"] = NVCRModel(**kwargs) - super().__init__(*args, **kwargs) - - def _embed(self, text: str, model_type: Literal["passage", "query"]) -> List[float]: - """Embed a single text entry to either passage or query type""" - if len(text) > self.max_length: - text = text[: self.max_length] - output = self.client.get_req_generation( - model_name=self.model, - payload={ - "input": text, - "model": model_type, - "encoding_format": "float", - }, - ) - return output.get("embedding", []) - - def embed_query(self, text: str) -> List[float]: - """Input pathway for query embeddings.""" - return self._embed(text, model_type="query") - - def embed_documents(self, texts: List[str]) -> List[List[float]]: - """Input pathway for document embeddings.""" - return [self._embed(text, model_type="passage") for text in texts] - - async def aembed_batch_queries( - self, - texts: List[str], - max_concurrency: int = 10, - ) -> List[List[float]]: - """Embed search queries with Asynchronous Batching and Concurrency Control.""" - semaphore = asyncio.Semaphore(max_concurrency) - - async def embed_with_semaphore(text: str) -> abc.Coroutine: - async with semaphore: - return await self.aembed_query(text) - - tasks = [embed_with_semaphore(text) for text in texts] - return await asyncio.gather(*tasks) - - async def aembed_batch_documents( - self, - texts: List[str], - max_concurrency: int = 10, - ) -> List[List[float]]: - """Embed search docs with Asynchronous Batching and Concurrency Control.""" - semaphore = asyncio.Semaphore(max_concurrency) - - async def embed_with_semaphore(text: str) -> abc.Coroutine: - async with semaphore: - return await self.aembed_documents([text]) - - tasks = [embed_with_semaphore(text) for text in texts] - outs = await asyncio.gather(*tasks) - return [out[0] for out in outs] diff --git a/integrations/langchain/llms/__init__.py b/integrations/langchain/llms/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/integrations/langchain/llms/nemo_infer.py b/integrations/langchain/llms/nemo_infer.py deleted file mode 100644 index 299db18f8..000000000 --- a/integrations/langchain/llms/nemo_infer.py +++ /dev/null @@ -1,157 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import json -from functools import partial -from typing import Any, Callable, Dict, List, Optional - -import requests -from langchain.callbacks.manager import CallbackManagerForLLMRun -from langchain.llms.base import LLM - - -class NemoInfer(LLM): - """A custom Langchain LLM class that integrates with NemoInfer MS. - - Arguments: - server_url: (str) The URL of the NemoInfer MS to use. - model_name: (str) The name of the NemoInfer MS model to use. - temperature: (str) Temperature to use for sampling - top_p: (float) The top-p value to use for sampling - stop: (List[str]) The words indicate stop generation of response - frequency_penalty: (float): penalty to each token that appears more frequently - streaming: (bool): Stream response - tokens: (int) The maximum number of tokens to generate. - """ - model: str = "llama" - temperature: Optional[float] = 1 - stop: Optional[List[str]] = ["", ""] - n: Optional[int] = 1 - top_p: Optional[float] = 0.01 - frequency_penalty: Optional[float] = 0 - server_url: Optional[str] = "http://localhost:9999" - streaming: Optional[bool] = True - tokens: Optional[int] = 50 # This corresponds with max_tokens in openai schema - - @property - def _llm_type(self) -> str: - return "NemoInfer" - - @property - def _default_params(self) -> Dict[str, Any]: - """Get the default parameters for calling NemoInfer MS API.""" - - normal_params: Dict[str, Any] = { - "frequency_penalty": self.frequency_penalty, - "n": self.n, - "model": self.model, - "max_tokens": self.tokens, - "stream": self.streaming - } - - # Either temperature or top_p should be set not both - if self.temperature: - normal_params["temperature"] = self.temperature - elif self.top_p: - normal_params["top_p"] = self.top_p - - return {**normal_params} - - def _stream_response_to_generation_chunk(self, chunk): - """parse json response from nemo ms api - """ - try: - chunk = json.loads(chunk) - chunk = chunk.get("choices", [{}])[0].get("text", "") - return chunk - except Exception as e: - return "" - - def _call( - self, - prompt: str, - stop: Optional[List[str]] = None, - run_manager: Optional[CallbackManagerForLLMRun] = None, - **kwargs: Any, - ) -> str: - """ - Execute an inference request. - - Args: - prompt: The prompt to pass into the model. - stop: A list of strings to stop generation when encountered - - Returns: - The string generated by the model - """ - - text_callback = None - # Register text_callback for streaming response - if run_manager: - text_callback = partial(run_manager.on_llm_new_token, verbose=self.verbose) - - if stop is None: - stop = self.stop - - # Request to Nemo Infer MS - data = {"prompt": prompt, "stop": stop, **self._default_params} - # Nemo MS uses max_tokens instead of token - if "tokens" in kwargs: - data["max_tokens"] = kwargs.get("tokens") - - if self.streaming: - return self._streaming_request( - data, text_callback, **kwargs - ) - try: - response = requests.post(self.server_url, json=data) - resp = response.json() - resp = resp.get("choices", [{}])[0].get("text", "") - return resp - except Exception as e: - print(f"Exception: {e} while generating response") - return "" - - def _streaming_request( - self, - data: Dict[str, Any], - text_callback: Optional[Callable[[str], None]] = None, - **kwargs: Any, - ) -> str: - """parse streaming response from nemo ms api - """ - response = requests.post(self.server_url, json=data, stream=True) - current_string = "" - resp = "" - - # Check the response status - if response.status_code == 200: - for chunk in response.iter_lines(): - chunk = chunk.decode("utf-8") - if chunk: - # data: is appended before every chunk, remove it to parse json - chunk = chunk.lstrip("data: ") - chunk = self._stream_response_to_generation_chunk(chunk) - # Unlike openai ms returns complete response instead of token - # find new generated chunk and send it for streaming - resp = chunk[len(current_string) :] - - # Nemo Infer MS sends stop words along response - if resp in data.get("stop", self.stop): - continue - if text_callback: - text_callback(resp) - current_string = chunk - return resp \ No newline at end of file diff --git a/integrations/langchain/llms/nv_aiplay.py b/integrations/langchain/llms/nv_aiplay.py deleted file mode 100644 index baafb49f5..000000000 --- a/integrations/langchain/llms/nv_aiplay.py +++ /dev/null @@ -1,759 +0,0 @@ -## NOTE: This class is intentionally implemented to subclass either ChatModel or LLM for -## demonstrative purposes and to make it function as a simple standalone file. - -from __future__ import annotations - -import asyncio -import json -import logging -import re -from typing import ( - Any, - AsyncIterator, - Callable, - Dict, - Generator, - Iterator, - List, - Optional, - Sequence, - Tuple, - Union, -) - -import aiohttp -import requests -from requests.models import Response - -from langchain.callbacks.manager import ( - AsyncCallbackManager, - AsyncCallbackManagerForLLMRun, - CallbackManager, -) -from langchain.llms.base import LLM -from langchain.pydantic_v1 import BaseModel, Field, SecretStr, root_validator -from langchain.schema.messages import BaseMessage, ChatMessageChunk -from langchain.schema.output import ChatGenerationChunk, GenerationChunk -from langchain.utils import get_from_dict_or_env - -logger = logging.getLogger(__name__) - - -class ClientModel(BaseModel): - """ - Custom BaseModel subclass with some desirable properties for subclassing - """ - - saved_parent: Optional[ClientModel] = None - - def __init__(self, *args: Sequence, **kwargs: Any[str, Any]): - super().__init__(*args, **kwargs) - - def subscope(self, *args: Sequence, **kwargs: Any) -> Any: - """Create a new ClientModel with the same values but new arguments""" - named_args = dict({k: v for k, v in zip(getattr(self, "arg_keys", []), args)}) - named_args = {**named_args, **kwargs} - out = self.copy(update=named_args) - out.validate(dict(out._iter(to_dict=False, by_alias=False, exclude_unset=True))) - for k, v in self.__dict__.items(): - if isinstance(v, ClientModel): - setattr(out, k, v.subscope(*args, **kwargs)) - out.saved_parent = self - return out - - def dict(self, *args: Sequence, **kwargs: Any) -> dict: - """Handle saved_parent bleeding into dict""" - out = super().dict(*args, **kwargs) - if "saved_parent" in out: - out.pop("saved_parent") - return out - - def get(self, key: str) -> Any: - """Get a value from the ClientModel, using it like a dictionary""" - return getattr(self, key) - - def transfer_state(self, other: Optional[ClientModel]) -> None: - """Transfer state from one ClientModel to another""" - if other is None: - return - for k, v in self.__dict__.items(): - if k in getattr(self, "state_vars", []): - setattr(other, k, v) - elif hasattr(v, "transfer_state"): - other_sub = getattr(other, k, None) - if other_sub is not None: - v.transfer_state(other_sub) - - @staticmethod - def desecretize(v: Any) -> Any: - """Desecretize a collection of values""" - recurse = ClientModel.desecretize - if isinstance(v, SecretStr): - return v.get_secret_value() - if isinstance(v, str): - return v - if isinstance(v, dict): - return {k: recurse(v) for k, v in v.items()} - if isinstance(v, list): - return [recurse(subv) for subv in v] - if isinstance(v, tuple): - return tuple(recurse(subv) for subv in v) - return v - - def __enter__(self) -> ClientModel: - return self - - def __exit__(self, type: Any, value: Any, traceback: Any) -> None: - self.transfer_state(self.saved_parent) - self.saved_parent = None - - -class NVCRModel(ClientModel): - - """ - Underlying Client for interacting with the AI Playground API. - Leveraged by the NVAIPlayBaseModel to provide a simple requests-oriented interface. - Direct abstraction over NGC-recommended streaming/non-streaming Python solutions. - - NOTE: AI Playground does not currently support raw text continuation. - """ - - ## Core defaults. These probably should not be changed - fetch_url_format: str = Field("https://api.nvcf.nvidia.com/v2/nvcf/pexec/status/") - call_invoke_base: str = Field("https://api.nvcf.nvidia.com/v2/nvcf/pexec/functions") - get_session_fn: Callable = Field(requests.Session) - get_asession_fn: Callable = Field(aiohttp.ClientSession) - - ## Populated on construction/validation - nvapi_key: Optional[SecretStr] - is_staging: Optional[bool] - available_models: Optional[Dict[str, str]] - - ## Generation arguments - max_tries: int = Field(5, ge=1) - stop: Union[str, List[str]] = Field([]) - headers = dict( - call={"Authorization": "Bearer {nvapi_key}", "Accept": "application/json"}, - stream={ - "Authorization": "Bearer {nvapi_key}", - "Accept": "text/event-stream", - "content-type": "application/json", - }, - ) - - ## Status Tracking Variables. Updated Progressively - last_inputs: Optional[dict] = Field(None) - last_response: Optional[Any] = Field(None) - last_msg: dict = Field({}) - available_functions: List[dict] = Field([{}]) - state_vars: Sequence[str] = Field( - [ - "last_inputs", - "last_response", - "last_msg", - "available_functions", - ] - ) - - @root_validator() - def validate_model(cls, values: Dict[str, Any]) -> Dict[str, Any]: - """Validate and update model arguments, including API key and formatting""" - values["nvapi_key"] = get_from_dict_or_env(values, "nvapi_key", "NVAPI_KEY") - if "nvapi-" not in values.get("nvapi_key", ""): - raise ValueError("Invalid NVAPI key detected. Should start with `nvapi-`") - values["is_staging"] = "nvapi-stg-" in values["nvapi_key"] - for header in values["headers"].values(): - if "{nvapi_key}" in header["Authorization"]: - nvapi_key = ClientModel.desecretize(values["nvapi_key"]) - header["Authorization"] = SecretStr( - header["Authorization"].format(nvapi_key=nvapi_key), - ) - if isinstance(values["stop"], str): - values["stop"] = [values["stop"]] - return values - - def __init__(self, *args: Sequence, **kwargs: Any): - """Useful to define custom operations on construction after validation""" - super().__init__(*args, **kwargs) - self.fetch_url_format = self._stagify(self.fetch_url_format) - self.call_invoke_base = self._stagify(self.call_invoke_base) - try: - self.available_models = self.get_available_models() - except Exception as e: - raise Exception("Error retrieving model list. Verify your NVAPI key") from e - - def _stagify(self, path: str) -> str: - """Helper method to switch between staging and production endpoints""" - if self.is_staging and "stg.api" not in path: - return path.replace("api", "stg.api") - if not self.is_staging and "stg.api" in path: - return path.replace("stg.api", "api") - return path - - #################################################################################### - ## Core utilities for posting and getting from NVCR - - def _post(self, invoke_url: str, payload: dict = {}) -> Tuple[Response, Any]: - """Method for posting to the AI Playground API.""" - self.last_inputs = dict( - url=invoke_url, - headers=self.headers["call"], - json=payload, - stream=False, - ) - session = self.get_session_fn() - self.last_response = session.post(**ClientModel.desecretize(self.last_inputs)) - self._try_raise(self.last_response) - return self.last_response, session - - def _get(self, invoke_url: str, payload: dict = {}) -> Tuple[Response, Any]: - """Method for getting from the AI Playground API.""" - self.last_inputs = dict( - url=invoke_url, - headers=self.headers["call"], - json=payload, - stream=False, - ) - session = self.get_session_fn() - self.last_response = session.get(**ClientModel.desecretize(self.last_inputs)) - self._try_raise(self.last_response) - return self.last_response, session - - def _wait(self, response: Response, session: Any) -> Response: - """Wait for a response from API after an initial response is made.""" - i = 1 - while response.status_code == 202: - request_id = response.headers.get("NVCF-REQID", "") - response = session.get( - self.fetch_url_format + request_id, - headers=ClientModel.desecretize(self.headers["call"]), - ) - if response.status_code == 202: - try: - body = response.json() - except ValueError: - body = str(response) - if i > self.max_tries: - raise ValueError(f"Failed to get response with {i} tries: {body}") - self._try_raise(response) - return response - - def _try_raise(self, response: Response) -> None: - """Try to raise an error from a response""" - try: - response.raise_for_status() - except requests.HTTPError as e: - try: - rd = response.json() - except json.JSONDecodeError: - rd = response.__dict__ - rd = rd.get("_content", rd) - if isinstance(rd, bytes): - rd = rd.decode("utf-8")[5:] ## lop of data: prefix - try: - rd = json.loads(rd) - except Exception: - rd = {"detail": rd} - title = f"[{rd.get('status', '###')}] {rd.get('title', 'Unknown Error')}" - body = f"{rd.get('detail', rd.get('type', rd))}" - raise Exception(f"{title}\n{body}") from e - - #################################################################################### - ## Simple query interface to show the set of model options - - def query(self, invoke_url: str, payload: dict = {}) -> dict: - """Simple method for an end-to-end get query. Returns result dictionary""" - response, session = self._get(invoke_url, payload) - response = self._wait(response, session) - output = self._process_response(response)[0] - return output - - def _process_response(self, response: Union[str, Response]) -> List[dict]: - """General-purpose response processing for single responses and streams""" - if hasattr(response, "json"): ## For single response (i.e. non-streaming) - try: - return [response.json()] - except json.JSONDecodeError: - response = str(response.__dict__) - if isinstance(response, str): ## For set of responses (i.e. streaming) - msg_list = [] - for msg in response.split("\n\n"): - if "{" not in msg: - continue - msg_list += [json.loads(msg[msg.find("{") :])] - return msg_list - raise ValueError(f"Received ill-formed response: {response}") - - def get_available_models(self) -> dict: - """Get a dictionary of available models from the AI Playground API.""" - invoke_url = self._stagify("https://api.nvcf.nvidia.com/v2/nvcf/functions") - self.available_functions = self.query(invoke_url)["functions"] - live_fns = [v for v in self.available_functions if v.get("status") == "ACTIVE"] - return {v["name"]: v["id"] for v in live_fns} - - def _get_invoke_url( - self, model_name: Optional[str] = None, invoke_url: Optional[str] = None - ) -> str: - """Helper method to get invoke URL from a model name, URL, or endpoint stub""" - if not invoke_url: - if not model_name: - raise ValueError("URL or model name must be specified to invoke") - available_models = self.available_models or self.get_available_models() - if model_name in available_models: - invoke_url = available_models.get(model_name) - else: - for key in sorted(available_models.keys()): - if model_name in key: - invoke_url = available_models[key] - break - if not invoke_url: - raise ValueError(f"Unknown model name {model_name} specified") - if "http" not in invoke_url: - invoke_url = f"{self.call_invoke_base}/{invoke_url}" - return invoke_url - - #################################################################################### - ## Generation interface to allow users to generate new values from endpoints - - def get_req_generation( - self, - model_name: Optional[str] = None, - payload: dict = {}, - invoke_url: Optional[str] = None, - ) -> dict: - """Method for an end-to-end post query with NVCR post-processing.""" - invoke_url = self._get_invoke_url(model_name, invoke_url) - if payload.get("stream", False) is True: - payload = {**payload, "stream": False} - response, session = self._post(invoke_url, payload) - response = self._wait(response, session) - output, _ = self.postprocess(response) - return output - - def postprocess(self, response: Union[str, Response]) -> Tuple[dict, bool]: - """Parses a response from the AI Playground API. - Strongly assumes that the API will return a single response. - """ - msg_list = self._process_response(response) - msg, is_stopped = self._aggregate_msgs(msg_list) - msg, is_stopped = self._early_stop_msg(msg, is_stopped) - return msg, is_stopped - - def _aggregate_msgs(self, msg_list: Sequence[dict]) -> Tuple[dict, bool]: - """Dig out relevant details of aggregated message""" - content_buffer: Dict[str, Any] = dict() - content_holder: Dict[Any, Any] = dict() - is_stopped = False - for msg in msg_list: - self.last_msg = msg - if "choices" in msg: - ## Tease out ['choices'][0]...['delta'/'message'] - msg = msg.get("choices", [{}])[0] - is_stopped = msg.get("finish_reason", "") == "stop" - msg = msg.get("delta", msg.get("message", {"content": ""})) - elif "data" in msg: - ## Tease out ['data'][0]...['embedding'] - msg = msg.get("data", [{}])[0] - content_holder = msg - for k, v in msg.items(): - if k in ("content",) and k in content_buffer: - content_buffer[k] += v - else: - content_buffer[k] = v - if is_stopped: - break - content_holder = {**content_holder, **content_buffer} - return content_holder, is_stopped - - def _early_stop_msg(self, msg: dict, is_stopped: bool) -> Tuple[dict, bool]: - """Try to early-terminate streaming or generation by iterating over stop list""" - content = msg.get("content", "") - if content and self.stop: - for stop_str in self.stop: - if stop_str and stop_str in content: - msg["content"] = content[: content.find(stop_str) + 1] - is_stopped = True - return msg, is_stopped - - #################################################################################### - ## Streaming interface to allow you to iterate through progressive generations - - def get_req_stream( - self, - model: Optional[str] = None, - payload: dict = {}, - invoke_url: Optional[str] = None, - ) -> Iterator: - invoke_url = self._get_invoke_url(model, invoke_url) - if payload.get("stream", True) is False: - payload = {**payload, "stream": True} - self.last_inputs = dict( - url=invoke_url, - headers=self.headers["stream"], - json=payload, - stream=True, - ) - raw_inputs = ClientModel.desecretize(self.last_inputs) - response = self.get_session_fn().post(**raw_inputs) - self.last_response = response - self._try_raise(response) - call = self.copy() - - def out_gen() -> Generator[dict, Any, Any]: - ## Good for client, since it allows self.last_input - for line in response.iter_lines(): - if line and line.strip() != b"data: [DONE]": - line = line.decode("utf-8") - msg, final_line = call.postprocess(line) - yield msg - if final_line: - break - self._try_raise(response) - - return (r for r in out_gen()) - - #################################################################################### - ## Asynchronous streaming interface to allow multiple generations to happen at once. - - async def get_req_astream( - self, - model: Optional[str] = None, - payload: dict = {}, - invoke_url: Optional[str] = None, - ) -> AsyncIterator: - invoke_url = self._get_invoke_url(model, invoke_url) - if payload.get("stream", True) is False: - payload = {**payload, "stream": True} - self.last_inputs = dict( - url=invoke_url, - headers=self.headers["stream"], - json=payload, - ) - async with self.get_asession_fn() as session: - raw_inputs = ClientModel.desecretize(self.last_inputs) - async with session.post(**raw_inputs) as self.last_response: - self._try_raise(self.last_response) - async for line in self.last_response.content.iter_any(): - if line and line.strip() != b"data: [DONE]": - line = line.decode("utf-8") - msg, final_line = self.postprocess(line) - yield msg - if final_line: - break - - -class NVAIPlayClient(ClientModel): - """ - Higher-Level Client for interacting with AI Playground API with argument defaults. - Is subclassed by NVAIPlayLLM/NVAIPlayChat to provide a simple LangChain interface. - """ - - client: NVCRModel = Field(NVCRModel) - - model: str = Field("llama") - labels: dict = Field({}) - - temperature: float = Field(0.2, le=1.0, gt=0.0) - top_p: float = Field(0.7, le=1.0, ge=0.0) - max_tokens: int = Field(1024, le=1024, ge=32) - streaming: bool = Field(False) - - inputs: Any = Field([]) - stop: Union[Sequence[str], str] = Field([]) - - gen_keys: Sequence[str] = Field(["temperature", "top_p", "max_tokens", "streaming"]) - arg_keys: Sequence[str] = Field(["inputs", "stop"]) - valid_roles: Sequence[str] = Field(["user", "system", "assistant"]) - - class LabelModel(ClientModel): - creativity: int = Field(0, ge=0, le=9) - complexity: int = Field(0, ge=0, le=9) - verbosity: int = Field(0, ge=0, le=9) - - #################################################################################### - - def __init__(self, *args: Sequence, **kwargs: Any): - super().__init__(*args, **kwargs) - - @root_validator() - def validate_model(cls, values: Dict[str, Any]) -> Dict[str, Any]: - values["client"] = values["client"](**values) - if values.get("labels"): - values["labels"] = cls.LabelModel(**values["labels"]).dict() - return values - - @classmethod - def is_lc_serializable(cls) -> bool: - return True - - @property - def available_models(self) -> List[str]: - """List the available models that can be invoked""" - return list(getattr(self.client, "available_models", {}).keys()) - - def get_model_details(self, model: Optional[str] = None) -> dict: - """Get more meta-details about a model retrieved by a given name""" - if model is None: - model = self.model - model_key = self.client._get_invoke_url(model).split("/")[-1] - known_fns = self.client.available_functions - fn_spec = [f for f in known_fns if f.get("id") == model_key][0] - return fn_spec - - def get_generation(self, *args: Sequence, **kwargs: Any) -> dict: - """Call to client generate method with call scope""" - with self.subscope(*args, **kwargs) as call: - payload = call.get_payload(stream=False) - out = call.client.get_req_generation(call.model, payload=payload) - return out - - def get_stream(self, *args: Sequence, **kwargs: Any) -> Iterator: - """Call to client stream method with call scope""" - with self.subscope(*args, **kwargs) as call: - payload = call.get_payload(stream=True) - out = call.client.get_req_stream(call.model, payload=payload) - return out - - def get_astream(self, *args: Sequence, **kwargs: Any) -> AsyncIterator: - """Call to client astream method with call scope""" - with self.subscope(*args, **kwargs) as call: - payload = call.get_payload(stream=True) - out = call.client.get_req_astream(call.model, payload=payload) - return out - - def get_payload(self, *args: Sequence, **kwargs: Any) -> dict: - """Generates payload for the NVAIPlayClient API to send to service.""" - - def k_map(k: str) -> str: - return k if k != "streaming" else "stream" - - out = {**self.preprocess(), **{k_map(k): self.get(k) for k in self.gen_keys}} - return out - - def preprocess(self) -> dict: - """Prepares a message or list of messages for the payload""" - if ( - isinstance(self.inputs, str) - or not hasattr(self.inputs, "__iter__") - or isinstance(self.inputs, BaseMessage) - ): - self.inputs = [self.inputs] - messages = [self.prep_msg(m) for m in self.inputs] - labels = self.labels - if labels: - messages += [{"labels": labels, "role": "assistant"}] - return {"messages": messages} - - def prep_msg(self, msg: Union[str, dict, BaseMessage]) -> dict: - """Helper Method: Ensures a message is a dictionary with a role and content.""" - if isinstance(msg, str): - return dict(role="user", content=msg) - if isinstance(msg, dict): - if msg.get("role", "") not in self.valid_roles: - raise ValueError(f"Unknown message role \"{msg.get('role', '')}\"") - if msg.get("content", None) is None: - raise ValueError(f"Message {msg} has no content") - return msg - raise ValueError(f"Unknown message received: {msg} of type {type(msg)}") - - -class NVAIPlayBaseModel(NVAIPlayClient): - """ - Base class for NVIDIA AI Playground models which can interface with NVAIPlayClient. - To be subclassed by NVAIPlayLLM/NVAIPlayChat by combining with LLM/SimpleChatModel. - """ - - @property - def _llm_type(self) -> str: - """Return type of NVIDIA AI Playground Interface.""" - return "nvidia_ai_playground" - - def _call( - self, - messages: Union[List[BaseMessage], str], - stop: Optional[List[str]] = None, - run_manager: Optional[CallbackManager] = None, - **kwargs: Any, - ) -> str: - """hook for LLM/SimpleChatModel. Allows for easy standard/streaming calls""" - kwargs["labels"] = kwargs.get("labels", self.labels) - kwargs["stop"] = stop if stop else getattr(self.client, "stop") - if kwargs.get("streaming", self.streaming) or kwargs["stop"]: - buffer = "" - for chunk in self._stream(messages, run_manager=run_manager, **kwargs): - buffer += chunk if isinstance(chunk, str) else chunk.text - responses = {"content": buffer} - else: - inputs = self.custom_preprocess(messages) - responses = self.get_generation(inputs, **kwargs) - outputs = self.custom_postprocess(responses) - return outputs - - def _get_filled_chunk( - self, text: str, role: Optional[str] = "assistant" - ) -> Union[GenerationChunk, ChatGenerationChunk]: - """LLM and BasicChatModel have different streaming chunk specifications""" - if isinstance(self, LLM): - return GenerationChunk(text=text) - return ChatGenerationChunk(message=ChatMessageChunk(content=text, role=role)) - - def _stream( - self, - messages: Union[List[BaseMessage], str], - stop: Optional[List[str]] = None, - run_manager: Optional[CallbackManager] = None, - **kwargs: Any, - ) -> Iterator[Union[GenerationChunk, ChatGenerationChunk]]: - """Allows streaming to model!""" - inputs = self.custom_preprocess(messages) - kwargs["labels"] = kwargs.get("labels", self.labels) - kwargs["stop"] = stop if stop else getattr(self.client, "stop") - for response in self.get_stream(inputs, **kwargs): - chunk = self._get_filled_chunk(self.custom_postprocess(response)) - yield chunk - if run_manager: - async_mtypes = (AsyncCallbackManager, AsyncCallbackManagerForLLMRun) - if isinstance(run_manager, async_mtypes): - ## Edge case from LLM/SimpleChatModel default async methods - asyncio.run(run_manager.on_llm_new_token(chunk.text, chunk=chunk)) - else: - run_manager.on_llm_new_token(chunk.text, chunk=chunk) - - async def _astream( - self, - messages: Union[List[BaseMessage], str], - stop: Optional[List[str]] = None, - run_manager: Optional[AsyncCallbackManager] = None, - **kwargs: Any, - ) -> AsyncIterator[Union[GenerationChunk, ChatGenerationChunk]]: - inputs = self.custom_preprocess(messages) - kwargs["labels"] = kwargs.get("labels", self.labels) - kwargs["stop"] = stop if stop else getattr(self.client, "stop") - async for response in self.get_astream(inputs, **kwargs): - chunk = self._get_filled_chunk(self.custom_postprocess(response)) - yield chunk - if run_manager: - await run_manager.on_llm_new_token(chunk.text, chunk=chunk) - - def custom_preprocess(self, msgs: Union[str, Sequence]) -> List[Dict[str, str]]: - is_one = isinstance(msgs, (str, BaseMessage)) - is_list = not is_one and hasattr(msgs, "__iter__") - is_solo = is_list and len(msgs) == 1 and isinstance(msgs[0], (str, BaseMessage)) - msg_list: Sequence[Any] = [] - if is_one or is_solo: - msg_val: Union[str, BaseMessage] = msgs if not is_list else msgs[0] - msg_str: str = getattr(msg_val, "content", msg_val) - msg_list = re.split("///ROLE ", msg_str.strip()) - msg_list = [m for m in msg_list if m.strip()] - elif not is_list: - msg_list = [msgs] - elif is_list: - msg_list = msgs - out = [self.preprocess_msg(m) for m in msg_list] - return out - - def preprocess_msg( - self, msg: Union[str, Sequence[str], dict, BaseMessage] - ) -> Dict[str, str]: - ## Support for just simple string inputs of ///ROLE SYS etc. inputs - if isinstance(msg, str): - msg_split = re.split("SYS: |USER: |AGENT: |CONTEXT:", msg) - if len(msg_split) == 1: - return {"role": "user", "content": msg} - role_convert = { - "agent": "assistant", - "sys": "system", - "context": "context", - } - role, _, content = msg.partition(": ") - role = role_convert.get(role.strip().lower(), "user") - return {"role": role, "content": content} - ## Support for tuple inputs - if type(msg) in (list, tuple): - return {"role": msg[0], "content": msg[1]} - ## Support for manually-specified default inputs to AI Playground - if isinstance(msg, dict) and msg.get("content"): - msg["role"] = msg.get("role", "user") - return msg - ## Support for LangChain Messages - if hasattr(msg, "content"): - role_convert = {"ai": "assistant", "system": "system"} - role = getattr(msg, "type") - cont = getattr(msg, "content") - role = role_convert.get(role, "user") - if hasattr(msg, "role"): - cont = f"{getattr(msg, 'role')}: {cont}" - return {"role": role, "content": cont} - raise ValueError(f"Invalid message: {repr(msg)} of type {type(msg)}") - - def custom_postprocess(self, msg: dict) -> str: - if "content" in msg: - return msg["content"] - logger.warning( - f"Got ambiguous message in postprocessing; returning as-is: msg = {msg}" - ) - return str(msg) - - -#################################################################################### - - -class GeneralBase(NVAIPlayBaseModel): - model: str = Field("llama2_13b") - - -class CodeBase(NVAIPlayBaseModel): - model: str = Field("llama2_code_13b") - - -class InstructBase(NVAIPlayBaseModel): - model: str = Field("mistral") - - -class SteerBase(NVAIPlayBaseModel): - model: str = Field("steerlm") - arg_keys: Sequence[str] = Field(["inputs", "labels", "stop"]) - labels: dict = Field({"creativity": 0, "complexity": 9, "verbosity": 9}) - - -class ContextBase(NVAIPlayBaseModel): - model: str = Field("_qa_") - valid_roles: Sequence[str] = Field(["user", "context"]) - max_tokens: int = Field(512, ge=32, le=512) - - -class ImageBase(NVAIPlayBaseModel): - model: str = Field("neva") - arg_keys: Sequence[str] = Field(["inputs", "labels", "stop"]) - labels: dict = Field({"creativity": 0, "complexity": 9, "verbosity": 9}) - - -#################################################################################### - - -class NVAIPlayLLM(NVAIPlayBaseModel, LLM): - pass - - -class GeneralLLM(GeneralBase, LLM): - pass - - -class CodeLLM(CodeBase, LLM): - pass - - -class InstructLLM(InstructBase, LLM): - pass - - -class SteerLLM(SteerBase, LLM): - pass - - -class ContextLLM(ContextBase, LLM): - pass - - -class ImageLLM(ImageBase, LLM): - pass diff --git a/integrations/langchain/llms/nv_api_catalog/__init__.py b/integrations/langchain/llms/nv_api_catalog/__init__.py deleted file mode 100644 index f231ae513..000000000 --- a/integrations/langchain/llms/nv_api_catalog/__init__.py +++ /dev/null @@ -1,48 +0,0 @@ -""" -**LangChain NVIDIA AI Foundation Model Playground Integration** - -This comprehensive module integrates NVIDIA's state-of-the-art AI Foundation Models, featuring advanced models for conversational AI and semantic embeddings, into the LangChain framework. It provides robust classes for seamless interaction with NVIDIA's AI models, particularly tailored for enriching conversational experiences and enhancing semantic understanding in various applications. - -**Features:** - -1. **Chat Models (`ChatNVIDIA`):** This class serves as the primary interface for interacting with NVIDIA's Foundation chat models. Users can effortlessly utilize NVIDIA's advanced models like 'Mistral' to engage in rich, context-aware conversations, applicable across diverse domains from customer support to interactive storytelling. - -2. **Semantic Embeddings (`NVIDIAEmbeddings`):** The module offers capabilities to generate sophisticated embeddings using NVIDIA's AI models. These embeddings are instrumental for tasks like semantic analysis, text similarity assessments, and contextual understanding, significantly enhancing the depth of NLP applications. - -**Installation:** - -Install this module easily using pip: - -```python -pip install langchain-nvidia-ai-endpoints -``` - -## Utilizing Chat Models: - -After setting up the environment, interact with NVIDIA AI Foundation models: -```python -from integrations.langchain.llms.nv_api_catalog import ChatNVIDIA - -ai_chat_model = ChatNVIDIA(model="llama2_13b") -response = ai_chat_model.invoke("Tell me about the LangChain integration.") -``` - -# Generating Semantic Embeddings: - -Use NVIDIA's models for creating embeddings, useful in various NLP tasks: - -```python -from integrations.langchain.llms.nv_api_catalog import NVIDIAEmbeddings - -embed_model = NVIDIAEmbeddings(model="nvolveqa_40k") -embedding_output = embed_model.embed_query("Exploring AI capabilities.") -``` -""" # noqa: E501 - -from integrations.langchain.llms.nv_api_catalog.chat_models import ChatNVIDIA -from integrations.langchain.llms.nv_api_catalog.embeddings import NVIDIAEmbeddings - -__all__ = [ - "ChatNVIDIA", - "NVIDIAEmbeddings", -] diff --git a/integrations/langchain/llms/nv_api_catalog/_common.py b/integrations/langchain/llms/nv_api_catalog/_common.py deleted file mode 100644 index 4da7efe62..000000000 --- a/integrations/langchain/llms/nv_api_catalog/_common.py +++ /dev/null @@ -1,720 +0,0 @@ -from __future__ import annotations - -import json -import logging -import os -import time -from copy import deepcopy -from functools import partial -from typing import ( - Any, - AsyncIterator, - Callable, - Dict, - Generator, - Iterator, - List, - Literal, - Optional, - Sequence, - Tuple, - Union, -) - -import aiohttp -import requests -from langchain_core.pydantic_v1 import ( - BaseModel, - Field, - PrivateAttr, - SecretStr, - root_validator, -) -from requests.models import Response - -from integrations.langchain.llms.nv_api_catalog._statics import MODEL_SPECS, Model - -logger = logging.getLogger(__name__) - -_MODE_TYPE = Literal["catalog", "nvidia", "nim", "open", "openai"] - - -class NVEModel(BaseModel): - - """ - Underlying Client for interacting with the AI Foundation Model Function API. - Leveraged by the NVIDIABaseModel to provide a simple requests-oriented interface. - Direct abstraction over NGC-recommended streaming/non-streaming Python solutions. - - NOTE: Models in the playground does not currently support raw text continuation. - """ - - ## Core defaults. These probably should not be changed - _api_key_var = "NVIDIA_API_KEY" - base_url: str = Field( - "https://api.nvcf.nvidia.com/v2/nvcf", - description="Base URL for standard inference", - ) - get_session_fn: Callable = Field(requests.Session) - get_asession_fn: Callable = Field(aiohttp.ClientSession) - endpoints: dict = Field( - { - "infer": "{base_url}/pexec/functions/{model_id}", - "status": "{base_url}/pexec/status/{request_id}", - "models": "{base_url}/functions", - } - ) - - api_key: SecretStr = Field(..., description="API Key for service of choice") - is_staging: bool = Field(False, description="Whether to use staging API") - - ## Generation arguments - timeout: float = Field(60, ge=0, description="Timeout for waiting on response (s)") - interval: float = Field(0.02, ge=0, description="Interval for pulling response") - last_inputs: dict = Field({}, description="Last inputs sent over to the server") - last_response: dict = Field({}, description="Last response sent from the server") - payload_fn: Callable = Field(lambda d: d, description="Function to process payload") - headers_tmpl: dict = Field( - ..., - description="Headers template for API calls." - " Should contain `call` and `stream` keys.", - ) - _available_functions: Optional[List[dict]] = PrivateAttr(default=None) - _available_models: Optional[dict] = PrivateAttr(default=None) - - @classmethod - def is_lc_serializable(cls) -> bool: - return True - - @property - def lc_secrets(self) -> Dict[str, str]: - return {"api_key": self._api_key_var} - - @property - def headers(self) -> dict: - """Return headers with API key injected""" - headers_ = self.headers_tmpl.copy() - for header in headers_.values(): - if "{api_key}" in header["Authorization"]: - header["Authorization"] = header["Authorization"].format( - api_key=self.api_key.get_secret_value(), - ) - return headers_ - - @root_validator(pre=True) - def validate_model(cls, values: Dict[str, Any]) -> Dict[str, Any]: - """Validate and update model arguments, including API key and formatting""" - values["api_key"] = ( - values.get(cls._api_key_var.lower()) - or values.get("api_key") - or os.getenv(cls._api_key_var) - ) - values["is_staging"] = "nvapi-stg-" in values["api_key"] - if "headers_tmpl" not in values: - call_kvs = { - "Accept": "application/json", - } - stream_kvs = { - "Accept": "text/event-stream", - "content-type": "application/json", - } - shared_kvs = { - "Authorization": "Bearer {api_key}", - "User-Agent": "langchain-nvidia-ai-endpoints", - } - values["headers_tmpl"] = { - "call": {**call_kvs, **shared_kvs}, - "stream": {**stream_kvs, **shared_kvs}, - } - return values - - @root_validator(pre=False) - def validate_model_post(cls, values: Dict[str, Any]) -> Dict[str, Any]: - """Additional validation after default values have been put in""" - values["stagify"] = partial(cls._stagify, is_staging=values["is_staging"]) - values["base_url"] = values["stagify"](values.get("base_url")) - return values - - @property - def available_models(self) -> dict: - """List the available models that can be invoked.""" - if self._available_models is not None: - return self._available_models - live_fns = self.available_functions - if "status" in live_fns[0]: - live_fns = [v for v in live_fns if v.get("status") == "ACTIVE"] - self._available_models = {v["name"]: v["id"] for v in live_fns} - else: - self._available_models = {v.get("id"): v.get("owned_by") for v in live_fns} - return self._available_models - - @property - def available_functions(self) -> list: - """List the available functions that can be invoked.""" - if self._available_functions and isinstance(self._available_functions, list): - return self._available_functions - if not self.endpoints.get("models"): - raise ValueError("No models endpoint found, so cannot retrieve model list.") - try: - invoke_url = self.endpoints.get("models", "").format(base_url=self.base_url) - query_res = self.query(invoke_url) - except Exception as e: - raise ValueError(f"Failed to query model endpoint {invoke_url}.\n{e}") - output: list = [] - if isinstance(query_res.get("functions"), list): - output = query_res.get("functions") - elif isinstance(query_res.get("data"), list): - output = query_res.get("data") - else: - raise ValueError( - f"Unexpected response when querying {invoke_url}\n{query_res}" - ) - self._available_functions = output - return self._available_functions - - def reset_method_cache(self) -> None: - """Reset method cache to force re-fetch of available functions""" - self._available_functions = None - self._available_models = None - - @staticmethod - def _stagify(path: str, is_staging: bool) -> str: - """Helper method to switch between staging and production endpoints""" - if is_staging and "stg.api" not in path: - return path.replace("api.", "stg.api.") - if not is_staging and "stg.api" in path: - return path.replace("stg.api.", "api.") - return path - - #################################################################################### - ## Core utilities for posting and getting from NV Endpoints - - def _post( - self, - invoke_url: str, - payload: Optional[dict] = {}, - ) -> Tuple[Response, Any]: - """Method for posting to the AI Foundation Model Function API.""" - self.last_inputs = { - "url": invoke_url, - "headers": self.headers["call"], - "json": self.payload_fn(payload), - "stream": False, - } - session = self.get_session_fn() - self.last_response = response = session.post(**self.last_inputs) - self._try_raise(response) - return response, session - - def _get( - self, - invoke_url: str, - payload: Optional[dict] = {}, - ) -> Tuple[Response, Any]: - """Method for getting from the AI Foundation Model Function API.""" - self.last_inputs = { - "url": invoke_url, - "headers": self.headers["call"], - "stream": False, - } - if payload: - self.last_inputs["json"] = self.payload_fn(payload) - session = self.get_session_fn() - self.last_response = response = session.get(**self.last_inputs) - self._try_raise(response) - return response, session - - def _wait(self, response: Response, session: Any) -> Response: - """Wait for a response from API after an initial response is made""" - start_time = time.time() - while response.status_code == 202: - time.sleep(self.interval) - if (time.time() - start_time) > self.timeout: - raise TimeoutError( - f"Timeout reached without a successful response." - f"\nLast response: {str(response)}" - ) - request_id = response.headers.get("NVCF-REQID", "") - endpoint_args = {"base_url": self.base_url, "request_id": request_id} - self.last_response = response = session.get( - self.endpoints["status"].format(**endpoint_args), - headers=self.headers["call"], - ) - self._try_raise(response) - return response - - def _try_raise(self, response: Response) -> None: - """Try to raise an error from a response""" - try: - response.raise_for_status() - except requests.HTTPError: - try: - rd = response.json() - if "detail" in rd and "reqId" in rd.get("detail", ""): - rd_buf = "- " + str(rd["detail"]) - rd_buf = rd_buf.replace(": ", ", Error: ").replace(", ", "\n- ") - rd["detail"] = rd_buf - except json.JSONDecodeError: - rd = response.__dict__ - rd = rd.get("_content", rd) - if isinstance(rd, bytes): - rd = rd.decode("utf-8")[5:] ## remove "data:" prefix - try: - rd = json.loads(rd) - except Exception: - rd = {"detail": rd} - status = rd.get("status", "###") - title = rd.get("title", rd.get("error", "Unknown Error")) - header = f"[{status}] {title}" - body = "" - if "requestId" in rd: - if "detail" in rd: - body += f"{rd['detail']}\n" - body += "RequestID: " + rd["requestId"] - else: - body = rd.get("detail", rd) - if str(status) == "401": - body += "\nPlease check or regenerate your API key." - raise Exception(f"{header}\n{body}") from None - - #################################################################################### - ## Simple query interface to show the set of model options - - def query( - self, - invoke_url: str, - payload: Optional[dict] = None, - request: str = "get", - ) -> dict: - """Simple method for an end-to-end get query. Returns result dictionary""" - if request == "get": - response, session = self._get(invoke_url, payload) - else: - response, session = self._post(invoke_url, payload) - response = self._wait(response, session) - output = self._process_response(response)[0] - return output - - def _process_response(self, response: Union[str, Response]) -> List[dict]: - """General-purpose response processing for single responses and streams""" - if hasattr(response, "json"): ## For single response (i.e. non-streaming) - try: - return [response.json()] - except json.JSONDecodeError: - response = str(response.__dict__) - if isinstance(response, str): ## For set of responses (i.e. streaming) - msg_list = [] - for msg in response.split("\n\n"): - if "{" not in msg: - continue - msg_list += [json.loads(msg[msg.find("{") :])] - return msg_list - raise ValueError(f"Received ill-formed response: {response}") - - def _get_invoke_url( - self, - model_name: Optional[str] = None, - invoke_url: Optional[str] = None, - endpoint: str = "", - ) -> str: - """Helper method to get invoke URL from a model name, URL, or endpoint stub""" - if not invoke_url: - endpoint_str = self.endpoints.get(endpoint, "") - if not endpoint_str: - raise ValueError(f"Unknown endpoint referenced {endpoint} provided") - if "{model_id}" in endpoint_str: - if not model_name: - raise ValueError("URL or model name must be specified to invoke") - if model_name in self.available_models: - model_id = self.available_models[model_name] - elif f"playground_{model_name}" in self.available_models: - model_id = self.available_models[f"playground_{model_name}"] - else: - available_models_str = "\n".join( - [f"{k} - {v}" for k, v in self.available_models.items()] - ) - raise ValueError( - f"Unknown model name {model_name} specified." - "\nAvailable models are:\n" - f"{available_models_str}" - ) - else: - model_id = "" - - endpoint_args = {"base_url": self.base_url, "model_id": model_id} - invoke_url = endpoint_str.format(**endpoint_args) - - if not invoke_url: - raise ValueError("URL or model name must be specified to invoke") - - return invoke_url - - #################################################################################### - ## Generation interface to allow users to generate new values from endpoints - - def get_req( - self, - model_name: Optional[str] = None, - payload: dict = {}, - invoke_url: Optional[str] = None, - stop: Optional[Sequence[str]] = None, - endpoint: str = "", - ) -> Response: - """Post to the API.""" - invoke_url = self._get_invoke_url(model_name, invoke_url, endpoint=endpoint) - if payload.get("stream", False) is True: - payload = {**payload, "stream": False} - response, session = self._post(invoke_url, payload) - return self._wait(response, session) - - def get_req_generation( - self, - model_name: Optional[str] = None, - payload: dict = {}, - invoke_url: Optional[str] = None, - stop: Optional[Sequence[str]] = None, - endpoint: str = "infer", - ) -> dict: - """Method for an end-to-end post query with NVE post-processing.""" - invoke_url = self._get_invoke_url(model_name, invoke_url, endpoint=endpoint) - response = self.get_req(model_name, payload, invoke_url) - output, _ = self.postprocess(response, stop=stop) - return output - - def postprocess( - self, response: Union[str, Response], stop: Optional[Sequence[str]] = None - ) -> Tuple[dict, bool]: - """Parses a response from the AI Foundation Model Function API. - Strongly assumes that the API will return a single response. - """ - msg_list = self._process_response(response) - msg, is_stopped = self._aggregate_msgs(msg_list) - msg, is_stopped = self._early_stop_msg(msg, is_stopped, stop=stop) - return msg, is_stopped - - def _aggregate_msgs(self, msg_list: Sequence[dict]) -> Tuple[dict, bool]: - """Dig out relevant details of aggregated message""" - content_buffer: Dict[str, Any] = dict() - content_holder: Dict[Any, Any] = dict() - usage_holder: Dict[Any, Any] = dict() #### - is_stopped = False - for msg in msg_list: - usage_holder = msg.get("usage", {}) #### - if "choices" in msg: - ## Tease out ['choices'][0]...['delta'/'message'] - msg = msg.get("choices", [{}])[0] - is_stopped = msg.get("finish_reason", "") == "stop" - msg = msg.get("delta", msg.get("message", msg.get("text", ""))) - if not isinstance(msg, dict): - msg = {"content": msg} - elif "data" in msg: - ## Tease out ['data'][0]...['embedding'] - msg = msg.get("data", [{}])[0] - content_holder = msg - for k, v in msg.items(): - if k in ("content",) and k in content_buffer: - content_buffer[k] += v - else: - content_buffer[k] = v - if is_stopped: - break - content_holder = {**content_holder, **content_buffer} - if usage_holder: - content_holder.update(token_usage=usage_holder) #### - return content_holder, is_stopped - - def _early_stop_msg( - self, msg: dict, is_stopped: bool, stop: Optional[Sequence[str]] = None - ) -> Tuple[dict, bool]: - """Try to early-terminate streaming or generation by iterating over stop list""" - content = msg.get("content", "") - if content and stop: - for stop_str in stop: - if stop_str and stop_str in content: - msg["content"] = content[: content.find(stop_str) + 1] - is_stopped = True - return msg, is_stopped - - #################################################################################### - ## Streaming interface to allow you to iterate through progressive generations - - def get_req_stream( - self, - model: Optional[str] = None, - payload: dict = {}, - invoke_url: Optional[str] = None, - stop: Optional[Sequence[str]] = None, - endpoint: str = "infer", - ) -> Iterator: - invoke_url = self._get_invoke_url(model, invoke_url, endpoint=endpoint) - if payload.get("stream", True) is False: - payload = {**payload, "stream": True} - self.last_inputs = { - "url": invoke_url, - "headers": self.headers["stream"], - "json": self.payload_fn(payload), - "stream": True, - } - response = self.get_session_fn().post(**self.last_inputs) - self._try_raise(response) - call = self.copy() - - def out_gen() -> Generator[dict, Any, Any]: - ## Good for client, since it allows self.last_inputs - for line in response.iter_lines(): - if line and line.strip() != b"data: [DONE]": - line = line.decode("utf-8") - msg, final_line = call.postprocess(line, stop=stop) - yield msg - if final_line: - break - self._try_raise(response) - - return (r for r in out_gen()) - - #################################################################################### - ## Asynchronous streaming interface to allow multiple generations to happen at once. - - async def get_req_astream( - self, - model: Optional[str] = None, - payload: dict = {}, - invoke_url: Optional[str] = None, - stop: Optional[Sequence[str]] = None, - endpoint: str = "infer", - ) -> AsyncIterator: - invoke_url = self._get_invoke_url(model, invoke_url, endpoint=endpoint) - if payload.get("stream", True) is False: - payload = {**payload, "stream": True} - self.last_inputs = { - "url": invoke_url, - "headers": self.headers["stream"], - "json": self.payload_fn(payload), - } - async with self.get_asession_fn() as session: - async with session.post(**self.last_inputs) as response: - self._try_raise(response) - async for line in response.content.iter_any(): - if line and line.strip() != b"data: [DONE]": - line = line.decode("utf-8") - msg, final_line = self.postprocess(line, stop=stop) - yield msg - if final_line: - break - - -class _NVIDIAClient(BaseModel): - """ - Higher-Level AI Foundation Model Function API Client with argument defaults. - Is subclassed by ChatNVIDIA to provide a simple LangChain interface. - """ - - client: NVEModel = Field(NVEModel) - - _default_model: str = "" - model: Optional[str] = Field(description="Name of the model to invoke") - infer_endpoint: str = Field("{base_url}/chat/completions") - curr_mode: _MODE_TYPE = Field("nvidia") - - #################################################################################### - - @root_validator(pre=True) - def validate_client(cls, values: Any) -> Any: - """Validate and update client arguments, including API key and formatting""" - if not values.get("client"): - values["client"] = NVEModel(**values) - elif isinstance(values["client"], NVEModel): - values["client"] = values["client"].__class__(**values["client"].dict()) - if not values.get("model"): - values["model"] = cls._default_model - assert values["model"], "No model given, with no default to fall back on." - - # the only model that doesn't support a stream parameter is kosmos_2. - # to address this, we'll use the payload_fn to remove the stream parameter for kosmos_2. - # if a user tries to set their own payload_fn, this patch will be overwritten. - # todo: get kosmos_2 api updated to support stream parameter - if values["model"] == "kosmos_2": - def kosmos_patch(payload): - payload.pop("stream", None) - return payload - values["client"].payload_fn = kosmos_patch - - return values - - @classmethod - def is_lc_serializable(cls) -> bool: - return True - - @property - def lc_secrets(self) -> Dict[str, str]: - return {"api_key": self.client._api_key_var} - - @property - def lc_attributes(self) -> Dict[str, Any]: - attributes: Dict[str, Any] = {} - if getattr(self.client, "base_url"): - attributes["base_url"] = self.client.base_url - - if self.model: - attributes["model"] = self.model - - if getattr(self.client, "endpoints"): - attributes["endpoints"] = self.client.endpoints - - return attributes - - @property - def available_functions(self) -> List[dict]: - """Map the available functions that can be invoked.""" - return self.__class__.get_available_functions(client=self) - - @property - def available_models(self) -> List[Model]: - """Map the available models that can be invoked.""" - return self.__class__.get_available_models(client=self) - - @classmethod - def get_available_functions( - cls, - mode: Optional[_MODE_TYPE] = None, - client: Optional[_NVIDIAClient] = None, - **kwargs: Any, - ) -> List[dict]: - """Map the available functions that can be invoked. Callable from class""" - nveclient = (client or cls(**kwargs)).mode(mode, **kwargs).client - nveclient.reset_method_cache() - return nveclient.available_functions - - @classmethod - def get_available_models( - cls, - mode: Optional[_MODE_TYPE] = None, - client: Optional[_NVIDIAClient] = None, - list_all: bool = False, - **kwargs: Any, - ) -> List[Model]: - """Map the available models that can be invoked. Callable from class""" - nveclient = (client or cls(**kwargs)).mode(mode, **kwargs).client - nveclient.reset_method_cache() - out = sorted( - [ - Model(id=k.replace("playground_", ""), path=v, **MODEL_SPECS.get(k, {})) - for k, v in nveclient.available_models.items() - ], - key=lambda x: f"{x.client or 'Z'}{x.id}{cls}", - ) - if not list_all: - out = [m for m in out if m.client == cls.__name__ or m.model_type is None] - return out - - def get_model_details(self, model: Optional[str] = None) -> dict: - """Get more meta-details about a model retrieved by a given name""" - if model is None: - model = self.model - model_key = self.client._get_invoke_url(model).split("/")[-1] - known_fns = self.client.available_functions - fn_spec = [f for f in known_fns if f.get("id") == model_key][0] - return fn_spec - - def get_binding_model(self) -> Optional[str]: - """Get the model to bind to the client as default payload argument""" - # if a model is configured with a model_name, always use that - # todo: move from search of available_models to a Model property - matches = [model for model in self.available_models if model.id == self.model] - if matches: - if matches[0].model_name: - return matches[0].model_name - if self.curr_mode == "catalog": - return f"playground_{self.model}" - if self.curr_mode == "nvidia": - return "" - return self.model - - def mode( - self, - mode: Optional[_MODE_TYPE] = "nvidia", - base_url: Optional[str] = None, - model: Optional[str] = None, - api_key: Optional[str] = None, - infer_path: Optional[str] = None, - models_path: Optional[str] = "{base_url}/models", - force_mode: bool = False, - force_clone: bool = True, - **kwargs: Any, - ) -> _NVIDIAClient: - """Return a client swapped to a different mode""" - if isinstance(self, str): - raise ValueError("Please construct the model before calling mode()") - out = self if not force_clone else deepcopy(self) - - if mode is None: - return out - - out.model = model or out.model - - if base_url and not force_mode: - ## If a user tries to set base_url, assume custom openapi unless forced - mode = "open" - - if mode in ["nvidia", "catalog"]: - key_var = "NVIDIA_API_KEY" - if not api_key or not api_key.startswith("nvapi-"): - api_key = os.getenv(key_var) or out.client.api_key.get_secret_value() - if not api_key.startswith("nvapi-"): - raise ValueError(f"No {key_var} in env/fed as api_key. (nvapi-...)") - - if mode in ["openai"]: - key_var = "OPENAI_API_KEY" - if not api_key or not api_key.startswith("sk-"): - api_key = os.getenv(key_var) or out.client.api_key.get_secret_value() - if not api_key.startswith("sk-"): - raise ValueError(f"No {key_var} in env/fed as api_key. (sk-...)") - - out.curr_mode = mode - if api_key: - out.client.api_key = SecretStr(api_key) - - catalog_base = "https://integrate.api.nvidia.com/v1" - openai_base = "https://api.openai.com/v1" ## OpenAI Main URL - nvcf_base = "https://api.nvcf.nvidia.com/v2/nvcf" ## NVCF Main URL - nvcf_infer = "{base_url}/pexec/functions/{model_id}" ## Inference endpoints - nvcf_status = "{base_url}/pexec/status/{request_id}" ## 202 wait handle - nvcf_models = "{base_url}/functions" ## Model listing - - if mode == "nvidia": - ## Classic support for nvcf-backed foundation model endpoints. - out.client.base_url = base_url or nvcf_base - out.client.endpoints = { - "infer": nvcf_infer, ## Per-model inference - "status": nvcf_status, ## 202 wait handle - "models": nvcf_models, ## Model listing - } - - elif mode == "catalog": - ## NVIDIA API Catalog Integration: OpenAPI-spec gateway over NVCF endpoints - out.client.base_url = base_url or catalog_base - out.client.endpoints["infer"] = infer_path or out.infer_endpoint - ## API Catalog is early, so no models list yet. Undercut to nvcf for now. - out.client.endpoints["models"] = nvcf_models.format(base_url=nvcf_base) - - elif mode == "open" or mode == "nim": - ## OpenAPI-style specs to connect to NeMo Inference Microservices etc. - ## Most generic option, requires specifying base_url - assert base_url, "Base URL must be specified for open/nim mode" - out.client.base_url = base_url - out.client.endpoints["infer"] = infer_path or out.infer_endpoint - out.client.endpoints["models"] = models_path or "{base_url}/models" - - elif mode == "openai": - ## OpenAI-style specification to connect to OpenAI endpoints - out.client.base_url = base_url or openai_base - out.client.endpoints["infer"] = infer_path or out.infer_endpoint - out.client.endpoints["models"] = models_path or "{base_url}/models" - - else: - options = ["catalog", "nvidia", "nim", "open", "openai"] - raise ValueError(f"Unknown mode: `{mode}`. Expected one of {options}.") - - out.client.reset_method_cache() - - return out diff --git a/integrations/langchain/llms/nv_api_catalog/_statics.py b/integrations/langchain/llms/nv_api_catalog/_statics.py deleted file mode 100644 index 9971ac278..000000000 --- a/integrations/langchain/llms/nv_api_catalog/_statics.py +++ /dev/null @@ -1,113 +0,0 @@ -from typing import Optional - -from langchain_core.pydantic_v1 import BaseModel - - -class Model(BaseModel): - id: str - model_type: Optional[str] = None - model_name: Optional[str] = None - client: Optional[str] = None - path: str - - -MODEL_SPECS = { - "playground_smaug_72b": {"model_type": "chat"}, - "playground_kosmos_2": {"model_type": "image_in"}, - "playground_llama2_70b": {"model_type": "chat"}, - "playground_nvolveqa_40k": {"model_type": "embedding"}, - "playground_nemotron_qa_8b": {"model_type": "qa"}, - "playground_gemma_7b": {"model_type": "chat"}, - "playground_mistral_7b": {"model_type": "chat"}, - "playground_mamba_chat": {"model_type": "chat"}, - "playground_phi2": {"model_type": "chat"}, - "playground_sdxl": {"model_type": "image_out"}, - "playground_nv_llama2_rlhf_70b": {"model_type": "chat"}, - "playground_neva_22b": {"model_type": "image_in"}, - "playground_yi_34b": {"model_type": "chat"}, - "playground_nemotron_steerlm_8b": {"model_type": "chat"}, - "playground_cuopt": {"model_type": "cuopt"}, - "playground_llama_guard": {"model_type": "classifier"}, - "playground_starcoder2_15b": {"model_type": "completion"}, - "playground_deplot": {"model_type": "image_in"}, - "playground_llama2_code_70b": {"model_type": "chat"}, - "playground_gemma_2b": {"model_type": "chat"}, - "playground_seamless": {"model_type": "translation"}, - "playground_mixtral_8x7b": {"model_type": "chat"}, - "playground_fuyu_8b": {"model_type": "image_in"}, - "playground_llama2_code_34b": {"model_type": "chat"}, - "playground_llama2_code_13b": {"model_type": "chat"}, - "playground_steerlm_llama_70b": {"model_type": "chat"}, - "playground_clip": {"model_type": "similarity"}, - "playground_llama2_13b": {"model_type": "chat"}, -} - -MODEL_SPECS.update( - { - 'ai-codellama-70b': {'model_type': 'chat', 'model_name': 'meta/codellama-70b'}, - # 'ai-embedding-2b': {'model_type': 'embedding'}, - 'ai-fuyu-8b': {'model_type': 'image_in'}, - 'ai-gemma-7b': {'model_type': 'chat', 'model_name': 'google/gemma-7b'}, - 'ai-google-deplot': {'model_type': 'image_in'}, - 'ai-llama2-70b': {'model_type': 'chat', 'model_name': 'meta/llama2-70b'}, - 'ai-microsoft-kosmos-2': {'model_type': 'image_in'}, - 'ai-mistral-7b-instruct-v2': {'model_type': 'chat', 'model_name': 'mistralai/mistral-7b-instruct-v0.2'}, - 'ai-mixtral-8x7b-instruct': {'model_type': 'chat', 'model_name': 'mistralai/mixtral-8x7b-instruct-v0.1'}, - 'ai-neva-22b': {'model_type': 'image_in'}, - # 'ai-reranking-4b': {'model_type': 'chat'}, - # 'ai-sdxl-turbo': {'model_type': 'image_out'}, - # 'ai-stable-diffusion-xl-base': {'model_type': 'iamge_out'}, - } -) - - -MODEL_SPECS.update( - { - "babbage-002": {"model_type": "completion"}, - "dall-e-2": {"model_type": "image_out"}, - "dall-e-3": {"model_type": "image_out"}, - "davinci-002": {"model_type": "completion"}, - "gpt-3.5-turbo-0125": {"model_type": "chat"}, - "gpt-3.5-turbo-0301": {"model_type": "chat"}, - "gpt-3.5-turbo-0613": {"model_type": "chat"}, - "gpt-3.5-turbo-1106": {"model_type": "chat"}, - "gpt-3.5-turbo-16k-0613": {"model_type": "chat"}, - "gpt-3.5-turbo-16k": {"model_type": "chat"}, - "gpt-3.5-turbo-instruct-0914": {"model_type": "completion"}, - "gpt-3.5-turbo-instruct": {"model_type": "completion"}, - "gpt-3.5-turbo": {"model_type": "chat"}, - "gpt-4-0125-preview": {"model_type": "chat"}, - "gpt-4-0613": {"model_type": "chat"}, - "gpt-4-1106-preview": {"model_type": "chat"}, - "gpt-4-turbo-preview": {"model_type": "chat"}, - "gpt-4-vision-preview": {"model_type": "chat"}, - "gpt-4": {"model_type": "chat"}, - "text-embedding-3-large": {"model_type": "embedding"}, - "text-embedding-3-small": {"model_type": "embedding"}, - "text-embedding-ada-002": {"model_type": "embedding"}, - "tts-1-1106": {"model_type": "tts"}, - "tts-1-hd-1106": {"model_type": "tts"}, - "tts-1-hd": {"model_type": "tts"}, - "tts-1": {"model_type": "tts"}, - "whisper-1": {"model_type": "asr"}, - } -) - -client_map = { - "asr": "None", - "chat": "ChatNVIDIA", - "classifier": "None", - "completion": "NVIDIA", - "cuopt": "None", - "embedding": "NVIDIAEmbeddings", - "image_in": "ChatNVIDIA", - "image_out": "ImageGenNVIDIA", - "qa": "ChatNVIDIA", - "similarity": "None", - "translation": "None", - "tts": "None", -} - -MODEL_SPECS = { - k: {**v, "client": client_map[v["model_type"]]} for k, v in MODEL_SPECS.items() -} diff --git a/integrations/langchain/llms/nv_api_catalog/callbacks.py b/integrations/langchain/llms/nv_api_catalog/callbacks.py deleted file mode 100644 index 7f74e015b..000000000 --- a/integrations/langchain/llms/nv_api_catalog/callbacks.py +++ /dev/null @@ -1,305 +0,0 @@ -"""Callback Handler that prints to std out.""" -from __future__ import annotations - -import logging -import threading -from collections import defaultdict -from contextlib import contextmanager -from contextvars import ContextVar -from typing import Any, Dict, Generator, List, Optional - -from langchain_core.callbacks import BaseCallbackHandler -from langchain_core.outputs import LLMResult -from langchain_core.tracers.context import register_configure_hook - -logger = logging.getLogger(__name__) - -## This module contains output parsers for OpenAI tools. Set here for version control - -""" -### **Usage/Cost Tracking** - -For tracking model usage and , you can use the `get_usage_callback` context manager to track token information similar to `get_openai_callback`. Additionally, you can specify custom price mappings as necessary (`price_map` argument), or provide a custom callback manager for advanced use-cases (`callback` argument). - -**NOTE:** This feature is currently not supported in streaming modes, but works fine for non-streaming `invoke/ainvoke` queries. - -``` -from integrations.langchain.llms.nv_api_catalog import ChatNVIDIA, NVIDIAEmbeddings -from integrations.langchain.llms.nv_api_catalog.callbacks import get_usage_callback - -## Assume a price map per 1K tokens for a particular deployment plan -price_map = { - "mixtral_8x7b": 0.00060, - "gemma_7b": 0.0002, - "nvolveqa_40k": 0.000016, -} - -llm_large = ChatNVIDIA(model="mixtral_8x7b", temperature=0.1) -llm_small = ChatNVIDIA(model="gemma_2b", temperature=0.1) -embedding = NVIDIAEmbeddings(model="nvolveqa_40k") -models = [llm_large, llm_small, embedding] - -with get_usage_callback(price_map=price_map) as cb: - ## Reset either at beginning or end. Statistics will run until cleared - cb.reset() - - llm_large.invoke("Tell me a joke") - print(cb, end="\n\n") - # llm_large.invoke("Tell me a short joke") - # print(cb, end="\n\n") - # ## Tracking through streaming coming soon - # [_ for _ in llm_small.stream("Tell me a joke")] - # print(cb, end="\n[Should not change yet]\n\n") - ## Tracking for streaming supported - embedding.embed_query("What a nice day :D") - print(cb, end="\n\n") - # ## Sanity check. Should still be tracked fine - # llm_small.invoke("Tell me a long joke") - # print(cb, end="\n\n") - -## Out of scope. Will not be tracked -llm_small.invoke("Tell me a short joke") -print(cb, end="\n[Should not change ever]\n\n") -cb.model_usage -``` -""" - - -DEFAULT_MODEL_COST_PER_1K_TOKENS: Dict[str, float] = {} - - -def standardize_model_name( - model_name: str, - price_map: dict = {}, - is_completion: bool = False, -) -> str: - """ - Standardize the model name to a format that can be used in the OpenAI API. - - Args: - model_name: Model name to standardize. - is_completion: Whether the model is used for completion or not. - Defaults to False. - - Returns: - Standardized model name. - - """ - model_name = model_name.lower() - if ".ft-" in model_name: - model_name = model_name.split(".ft-")[0] + "-azure-finetuned" - if ":ft-" in model_name: - model_name = model_name.split(":")[0] + "-finetuned-legacy" - if "ft:" in model_name: - model_name = model_name.split(":")[1] + "-finetuned" - if model_name.startswith("playground_"): - model_name = model_name.replace("playground_", "") - if ( - is_completion - and model_name + "-completion" in price_map - and ( - model_name.startswith("gpt-4") - or model_name.startswith("gpt-3.5") - or model_name.startswith("gpt-35") - or ("finetuned" in model_name and "legacy" not in model_name) - ) - ): - return model_name + "-completion" - else: - return model_name - - -def get_token_cost_for_model( - model_name: str, num_tokens: int, price_map: dict, is_completion: bool = False -) -> float: - """ - Get the cost in USD for a given model and number of tokens. - - Args: - model_name: Name of the model - num_tokens: Number of tokens. - price_map: Map of model names to cost per 1000 tokens. - Defaults to AI Foundation Endpoint pricing per https://www.together.ai/pricing. - is_completion: Whether the model is used for completion or not. - Defaults to False. - - Returns: - Cost in USD. - """ - model_name = standardize_model_name( - model_name, - price_map, - is_completion=is_completion, - ) - if model_name not in price_map: - raise ValueError( - f"Unknown model: {model_name}. Please provide a valid model name." - "Known models are: " + ", ".join(price_map.keys()) - ) - return price_map[model_name] * (num_tokens / 1000) - - -class UsageCallbackHandler(BaseCallbackHandler): - """Callback Handler that tracks OpenAI info.""" - - ## Per-model statistics - _model_usage: defaultdict = defaultdict( - lambda: { - "total_tokens": 0, - "prompt_tokens": 0, - "completion_tokens": 0, - "successful_requests": 0, - "total_cost": 0.0, - } - ) - - llm_output: dict = {} - price_map: dict = {k: v for k, v in DEFAULT_MODEL_COST_PER_1K_TOKENS.items()} - - ## Aggregate statistics, compatible with OpenAICallbackHandler - @property - def total_tokens(self) -> int: - """Total tokens used.""" - return self._model_usage["total"]["total_tokens"] - - @property - def prompt_tokens(self) -> int: - """Prompt tokens used.""" - return self._model_usage["total"]["prompt_tokens"] - - @property - def completion_tokens(self) -> int: - """Completion tokens used.""" - return self._model_usage["total"]["completion_tokens"] - - @property - def successful_requests(self) -> int: - """Total successful requests.""" - return self._model_usage["total"]["successful_requests"] - - @property - def total_cost(self) -> float: - """Total cost in USD.""" - return self._model_usage["total"]["total_cost"] - - def __init__(self) -> None: - super().__init__() - self._lock = threading.Lock() - - def __repr__(self) -> str: - return ( - f"Tokens Used: {self.total_tokens}\n" - f"\tPrompt Tokens: {self.prompt_tokens}\n" - f"\tCompletion Tokens: {self.completion_tokens}\n" - f"Successful Requests: {self.successful_requests}\n" - f"Total Cost (USD): ${self.total_cost:.8g}" - ) - - @property - def model_usage(self) -> dict: - """Whether to call verbose callbacks even if verbose is False.""" - return dict(self._model_usage) - - def reset(self) -> None: - """Reset the model usage.""" - with self._lock: - self._model_usage.clear() - - @property - def always_verbose(self) -> bool: - """Whether to call verbose callbacks even if verbose is False.""" - return True - - def on_llm_start( - self, serialized: Dict[str, Any], prompts: List[str], **kwargs: Any - ) -> None: - pass - - def on_llm_new_token(self, token: str, **kwargs: Any) -> None: - pass - - def on_llm_end(self, response: LLMResult, **kwargs: Any) -> None: - if not response.llm_output: - response.llm_output = {} - if not self.llm_output: - self.llm_output = {} - - response.llm_output = {**self.llm_output, **response.llm_output} - self.llm_output = {} - - if not response.llm_output: - return None - - # compute tokens and cost for this request - token_usage = response.llm_output.get( - "token_usage", response.llm_output.get("usage", {}) - ) - completion_tokens = token_usage.get("completion_tokens", 0) - prompt_tokens = token_usage.get("prompt_tokens", 0) - model_name = response.llm_output.get("model_name", "") - if model_name in self.price_map: - completion_cost = get_token_cost_for_model( - model_name, completion_tokens, self.price_map, is_completion=True - ) - prompt_cost = get_token_cost_for_model( - model_name, prompt_tokens, self.price_map - ) - else: - completion_cost = 0 - prompt_cost = 0 - - # update shared state behind lock - with self._lock: - for base in (self._model_usage["total"], self._model_usage[model_name]): - base["total_tokens"] += token_usage.get("total_tokens", 0) - base["prompt_tokens"] += prompt_tokens - base["completion_tokens"] += completion_tokens - base["total_cost"] += prompt_cost + completion_cost - base["successful_requests"] += 1 - for key in base.keys(): - base[key] = round(base[key], 10) - - def __copy__(self) -> "UsageCallbackHandler": - """Return a copy of the callback handler.""" - return self - - def __deepcopy__(self, memo: Any) -> "UsageCallbackHandler": - """Return a deep copy of the callback handler.""" - return self - - -## get_usage_callack variable construction, registration, management - -usage_callback_var: ContextVar[Optional[UsageCallbackHandler]] = ContextVar( - "usage_callback", default=None -) - -register_configure_hook(usage_callback_var, True) - - -@contextmanager -def get_usage_callback( - price_map: dict = {}, - callback: Optional[UsageCallbackHandler] = None, -) -> Generator[UsageCallbackHandler, None, None]: - """Get the OpenAI callback handler in a context manager. - which conveniently exposes token and cost information. - - Returns: - OpenAICallbackHandler: The OpenAI callback handler. - - Example: - >>> with get_openai_callback() as cb: - ... # Use the OpenAI callback handler - """ - if not callback: - callback = UsageCallbackHandler() - if hasattr(callback, "price_map"): - if hasattr(callback, "_lock"): - with callback._lock: - callback.price_map.update(price_map) - else: - callback.price_map.update(price_map) - usage_callback_var.set(callback) - yield callback - usage_callback_var.set(None) diff --git a/integrations/langchain/llms/nv_api_catalog/chat_models.py b/integrations/langchain/llms/nv_api_catalog/chat_models.py deleted file mode 100644 index fa51b8a79..000000000 --- a/integrations/langchain/llms/nv_api_catalog/chat_models.py +++ /dev/null @@ -1,410 +0,0 @@ -"""Chat Model Components Derived from ChatModel/NVIDIA""" - -from __future__ import annotations - -import base64 -import io -import logging -import os -import sys -import urllib.parse -from typing import ( - Any, - AsyncIterator, - Callable, - Dict, - Iterator, - List, - Literal, - Mapping, - Optional, - Sequence, - Type, - Union, -) - -import requests -from langchain_core.callbacks.manager import ( - AsyncCallbackManagerForLLMRun, - CallbackManagerForLLMRun, -) -from langchain_core.language_models import BaseChatModel, LanguageModelInput -from langchain_core.messages import ( - BaseMessage, - ChatMessage, - ChatMessageChunk, -) -from langchain_core.outputs import ( - ChatGeneration, - ChatGenerationChunk, - ChatResult, -) -from langchain_core.pydantic_v1 import BaseModel, Field -from langchain_core.runnables import Runnable -from langchain_core.runnables.config import run_in_executor -from langchain_core.tools import BaseTool - -from integrations.langchain.llms.nv_api_catalog import _common as nvidia_ai_endpoints - -_CallbackManager = Union[AsyncCallbackManagerForLLMRun, CallbackManagerForLLMRun] -_DictOrPydanticClass = Union[Dict[str, Any], Type[BaseModel]] -_DictOrPydantic = Union[Dict, BaseModel] - -try: - import PIL.Image - - has_pillow = True -except ImportError: - has_pillow = False - -logger = logging.getLogger(__name__) - - -def _is_url(s: str) -> bool: - try: - result = urllib.parse.urlparse(s) - return all([result.scheme, result.netloc]) - except Exception as e: - logger.debug(f"Unable to parse URL: {e}") - return False - - -def _resize_image(img_data: bytes, max_dim: int = 1024) -> str: - if not has_pillow: - print( # noqa: T201 - "Pillow is required to resize images down to reasonable scale." - " Please install it using `pip install pillow`." - " For now, not resizing; may cause NVIDIA API to fail." - ) - return base64.b64encode(img_data).decode("utf-8") - image = PIL.Image.open(io.BytesIO(img_data)) - max_dim_size = max(image.size) - aspect_ratio = max_dim / max_dim_size - new_h = int(image.size[1] * aspect_ratio) - new_w = int(image.size[0] * aspect_ratio) - resized_image = image.resize((new_w, new_h), PIL.Image.Resampling.LANCZOS) - output_buffer = io.BytesIO() - resized_image.save(output_buffer, format="JPEG") - output_buffer.seek(0) - resized_b64_string = base64.b64encode(output_buffer.read()).decode("utf-8") - return resized_b64_string - - -def _url_to_b64_string(image_source: str) -> str: - b64_template = "data:image/png;base64,{b64_string}" - try: - if _is_url(image_source): - response = requests.get(image_source) - response.raise_for_status() - encoded = base64.b64encode(response.content).decode("utf-8") - if sys.getsizeof(encoded) > 200000: - ## (VK) Temporary fix. NVIDIA API has a limit of 250KB for the input. - encoded = _resize_image(response.content) - return b64_template.format(b64_string=encoded) - elif image_source.startswith("data:image"): - return image_source - elif os.path.exists(image_source): - with open(image_source, "rb") as f: - encoded = base64.b64encode(f.read()).decode("utf-8") - return b64_template.format(b64_string=encoded) - else: - raise ValueError( - "The provided string is not a valid URL, base64, or file path." - ) - except Exception as e: - raise ValueError(f"Unable to process the provided image source: {e}") - - -class ChatNVIDIA(nvidia_ai_endpoints._NVIDIAClient, BaseChatModel): - """NVIDIA chat model. - - Example: - .. code-block:: python - - from integrations.langchain.llms.nv_api_catalog import ChatNVIDIA - - - model = ChatNVIDIA(model="llama2_13b") - response = model.invoke("Hello") - """ - - _default_model: str = "mixtral_8x7b" - infer_endpoint: str = Field("{base_url}/chat/completions") - model: str = Field(_default_model, description="Name of the model to invoke") - temperature: Optional[float] = Field(description="Sampling temperature in [0, 1]") - max_tokens: Optional[int] = Field(description="Maximum # of tokens to generate") - top_p: Optional[float] = Field(description="Top-p for distribution sampling") - seed: Optional[int] = Field(description="The seed for deterministic results") - bad: Optional[Sequence[str]] = Field(description="Bad words to avoid (cased)") - stop: Optional[Sequence[str]] = Field(description="Stop words (cased)") - labels: Optional[Dict[str, float]] = Field(description="Steering parameters") - streaming: bool = Field(True) - - @property - def _llm_type(self) -> str: - """Return type of NVIDIA AI Foundation Model Interface.""" - return "chat-nvidia-ai-playground" - - def _generate( - self, - messages: List[BaseMessage], - stop: Optional[List[str]] = None, - run_manager: Optional[CallbackManagerForLLMRun] = None, - **kwargs: Any, - ) -> ChatResult: - responses = self._call(messages, stop=stop, run_manager=run_manager, **kwargs) - self._set_callback_out(responses, run_manager) - message = ChatMessage(**self.custom_postprocess(responses)) - generation = ChatGeneration(message=message) - return ChatResult(generations=[generation], llm_output=responses) - - async def _agenerate( - self, - messages: List[BaseMessage], - stop: Optional[List[str]] = None, - run_manager: Optional[AsyncCallbackManagerForLLMRun] = None, - **kwargs: Any, - ) -> ChatResult: - return await run_in_executor( - None, - self._generate, - messages, - stop=stop, - run_manager=run_manager.get_sync() if run_manager else None, - **kwargs, - ) - - def _call( - self, - messages: List[BaseMessage], - stop: Optional[Sequence[str]] = None, - run_manager: Optional[CallbackManagerForLLMRun] = None, - **kwargs: Any, - ) -> dict: - """Invoke on a single list of chat messages.""" - inputs = self.custom_preprocess(messages) - responses = self.get_generation(inputs=inputs, stop=stop, **kwargs) - return responses - - def _get_filled_chunk(self, **kwargs: Any) -> ChatGenerationChunk: - """Fill the generation chunk.""" - return ChatGenerationChunk(message=ChatMessageChunk(**kwargs)) - - def _stream( - self, - messages: List[BaseMessage], - stop: Optional[Sequence[str]] = None, - run_manager: Optional[CallbackManagerForLLMRun] = None, - **kwargs: Any, - ) -> Iterator[ChatGenerationChunk]: - """Allows streaming to model!""" - inputs = self.custom_preprocess(messages) - for response in self.get_stream(inputs=inputs, stop=stop, **kwargs): - self._set_callback_out(response, run_manager) - chunk = self._get_filled_chunk(**self.custom_postprocess(response)) - if run_manager: - run_manager.on_llm_new_token(chunk.text, chunk=chunk) - yield chunk - - async def _astream( - self, - messages: List[BaseMessage], - stop: Optional[Sequence[str]] = None, - run_manager: Optional[AsyncCallbackManagerForLLMRun] = None, - **kwargs: Any, - ) -> AsyncIterator[ChatGenerationChunk]: - inputs = self.custom_preprocess(messages) - async for response in self.get_astream(inputs=inputs, stop=stop, **kwargs): - self._set_callback_out(response, run_manager) - chunk = self._get_filled_chunk(**self.custom_postprocess(response)) - if run_manager: - await run_manager.on_llm_new_token(chunk.text, chunk=chunk) - yield chunk - - def _set_callback_out( - self, - result: dict, - run_manager: Optional[_CallbackManager], - ) -> None: - result.update({"model_name": self.model}) - if run_manager: - for cb in run_manager.handlers: - if hasattr(cb, "llm_output"): - cb.llm_output = result - - def custom_preprocess( - self, msg_list: Sequence[BaseMessage] - ) -> List[Dict[str, str]]: - return [self.preprocess_msg(m) for m in msg_list] - - def _process_content(self, content: Union[str, List[Union[dict, str]]]) -> str: - if isinstance(content, str): - return content - string_array: list = [] - - for part in content: - if isinstance(part, str): - string_array.append(part) - elif isinstance(part, Mapping): - # OpenAI Format - if "type" in part: - if part["type"] == "text": - string_array.append(str(part["text"])) - elif part["type"] == "image_url": - img_url = part["image_url"] - if isinstance(img_url, dict): - if "url" not in img_url: - raise ValueError( - f"Unrecognized message image format: {img_url}" - ) - img_url = img_url["url"] - b64_string = _url_to_b64_string(img_url) - string_array.append(f'') - else: - raise ValueError( - f"Unrecognized message part type: {part['type']}" - ) - else: - raise ValueError(f"Unrecognized message part format: {part}") - return "".join(string_array) - - def preprocess_msg(self, msg: BaseMessage) -> Dict[str, str]: - if isinstance(msg, BaseMessage): - role_convert = {"ai": "assistant", "human": "user"} - if isinstance(msg, ChatMessage): - role = msg.role - else: - role = msg.type - role = role_convert.get(role, role) - content = self._process_content(msg.content) - return {"role": role, "content": content} - raise ValueError(f"Invalid message: {repr(msg)} of type {type(msg)}") - - def custom_postprocess(self, msg: dict) -> dict: - kw_left = msg.copy() - out_dict = { - "role": kw_left.pop("role", "assistant") or "assistant", - "name": kw_left.pop("name", None), - "id": kw_left.pop("id", None), - "content": kw_left.pop("content", "") or "", - "additional_kwargs": {}, - "response_metadata": {}, - } - for k in list(kw_left.keys()): - if "tool" in k: - out_dict["additional_kwargs"][k] = kw_left.pop(k) - out_dict["response_metadata"] = kw_left - return out_dict - - ###################################################################################### - ## Core client-side interfaces - - def get_generation( - self, - inputs: Sequence[Dict], - **kwargs: Any, - ) -> dict: - """Call to client generate method with call scope""" - stop = kwargs["stop"] = kwargs.get("stop") or self.stop - payload = self.get_payload(inputs=inputs, stream=False, **kwargs) - out = self.client.get_req_generation(self.model, stop=stop, payload=payload) - return out - - def get_stream( - self, - inputs: Sequence[Dict], - **kwargs: Any, - ) -> Iterator: - """Call to client stream method with call scope""" - stop = kwargs["stop"] = kwargs.get("stop") or self.stop - payload = self.get_payload(inputs=inputs, stream=True, **kwargs) - return self.client.get_req_stream(self.model, stop=stop, payload=payload) - - def get_astream( - self, - inputs: Sequence[Dict], - **kwargs: Any, - ) -> AsyncIterator: - """Call to client astream methods with call scope""" - stop = kwargs["stop"] = kwargs.get("stop") or self.stop - payload = self.get_payload(inputs=inputs, stream=True, **kwargs) - return self.client.get_req_astream(self.model, stop=stop, payload=payload) - - def get_payload(self, inputs: Sequence[Dict], **kwargs: Any) -> dict: - """Generates payload for the _NVIDIAClient API to send to service.""" - attr_kwargs = { - "temperature": self.temperature, - "max_tokens": self.max_tokens, - "top_p": self.top_p, - "seed": self.seed, - "bad": self.bad, - "stop": self.stop, - "labels": self.labels, - } - if model_name := self.get_binding_model(): - attr_kwargs["model"] = model_name - attr_kwargs = {k: v for k, v in attr_kwargs.items() if v is not None} - new_kwargs = {**attr_kwargs, **kwargs} - return self.prep_payload(inputs=inputs, **new_kwargs) - - def prep_payload(self, inputs: Sequence[Dict], **kwargs: Any) -> dict: - """Prepares a message or list of messages for the payload""" - messages = [self.prep_msg(m) for m in inputs] - if kwargs.get("labels"): - # (WFH) Labels are currently (?) always passed as an assistant - # suffix message, but this API seems less stable. - messages += [{"labels": kwargs.pop("labels"), "role": "assistant"}] - if kwargs.get("stop") is None: - kwargs.pop("stop") - return {"messages": messages, **kwargs} - - def prep_msg(self, msg: Union[str, dict, BaseMessage]) -> dict: - """Helper Method: Ensures a message is a dictionary with a role and content.""" - if isinstance(msg, str): - # (WFH) this shouldn't ever be reached but leaving this here bcs - # it's a Chesterton's fence I'm unwilling to touch - return dict(role="user", content=msg) - if isinstance(msg, dict): - if msg.get("content", None) is None: - raise ValueError(f"Message {msg} has no content") - return msg - raise ValueError(f"Unknown message received: {msg} of type {type(msg)}") - - def bind_tools( - self, - tools: Sequence[Union[Dict[str, Any], Type[BaseModel], Callable, BaseTool]], - *, - tool_choice: Optional[Union[dict, str, Literal["auto", "none"], bool]] = None, - **kwargs: Any, - ) -> Runnable[LanguageModelInput, BaseMessage]: - raise NotImplementedError( - "Not implemented, awaiting server-side function-recieving API" - " Consider following open-source LLM agent spec techniques:" - " https://huggingface.co/blog/open-source-llms-as-agents" - ) - - def bind_functions( - self, - functions: Sequence[Union[Dict[str, Any], Type[BaseModel], Callable]], - function_call: Optional[str] = None, - **kwargs: Any, - ) -> Runnable[LanguageModelInput, BaseMessage]: - raise NotImplementedError( - "Not implemented, awaiting server-side function-recieving API" - " Consider following open-source LLM agent spec techniques:" - " https://huggingface.co/blog/open-source-llms-as-agents" - ) - - def with_structured_output( - self, - schema: _DictOrPydanticClass, - *, - method: Literal["function_calling", "json_mode"] = "function_calling", - return_type: Literal["parsed", "all"] = "parsed", - **kwargs: Any, - ) -> Runnable[LanguageModelInput, _DictOrPydantic]: - raise NotImplementedError( - "Not implemented, awaiting server-side function-recieving API" - " Consider following open-source LLM agent spec techniques:" - " https://huggingface.co/blog/open-source-llms-as-agents" - ) diff --git a/integrations/langchain/llms/nv_api_catalog/embeddings.py b/integrations/langchain/llms/nv_api_catalog/embeddings.py deleted file mode 100644 index 50740a008..000000000 --- a/integrations/langchain/llms/nv_api_catalog/embeddings.py +++ /dev/null @@ -1,77 +0,0 @@ -"""Embeddings Components Derived from NVEModel/Embeddings""" -from typing import List, Literal, Optional - -from langchain_core.embeddings import Embeddings -from langchain_core.outputs.llm_result import LLMResult -from langchain_core.pydantic_v1 import Field - -from integrations.langchain.llms.nv_api_catalog._common import _NVIDIAClient -from integrations.langchain.llms.nv_api_catalog.callbacks import usage_callback_var - - -class NVIDIAEmbeddings(_NVIDIAClient, Embeddings): - """NVIDIA's AI Foundation Retriever Question-Answering Asymmetric Model.""" - - _default_model: str = "nvolveqa_40k" - infer_endpoint: str = Field("{base_url}/embeddings") - model: str = Field(_default_model, description="Name of the model to invoke") - max_length: int = Field(2048, ge=1, le=2048) - max_batch_size: int = Field(default=50) - model_type: Optional[Literal["passage", "query"]] = Field( - None, description="The type of text to be embedded." - ) - - def _embed( - self, texts: List[str], model_type: Literal["passage", "query"] - ) -> List[List[float]]: - """Embed a single text entry to either passage or query type""" - response = self.client.get_req( - model_name=self.model, - payload={ - "input": texts, - "model": self.get_binding_model() or model_type, - "encoding_format": "float", - }, - endpoint="infer", - ) - response.raise_for_status() - result = response.json() - data = result.get("data", result) - if not isinstance(data, list): - raise ValueError(f"Expected data with a list of embeddings. Got: {data}") - embedding_list = [(res["embedding"], res["index"]) for res in data] - self._invoke_callback_vars(result) - return [x[0] for x in sorted(embedding_list, key=lambda x: x[1])] - - def embed_query(self, text: str) -> List[float]: - """Input pathway for query embeddings.""" - return self._embed([text], model_type=self.model_type or "query")[0] - - def embed_documents(self, texts: List[str]) -> List[List[float]]: - """Input pathway for document embeddings.""" - # From https://catalog.ngc.nvidia.com/orgs/nvidia/teams/ai-foundation/models/nvolve-40k/documentation - # The input must not exceed the 2048 max input characters and inputs above 512 - # model tokens will be truncated. The input array must not exceed 50 input - # strings. - all_embeddings = [] - for i in range(0, len(texts), self.max_batch_size): - batch = texts[i : i + self.max_batch_size] - truncated = [ - text[: self.max_length] if len(text) > self.max_length else text - for text in batch - ] - all_embeddings.extend( - self._embed(truncated, model_type=self.model_type or "passage") - ) - return all_embeddings - - def _invoke_callback_vars(self, response: dict) -> None: - """Invoke the callback context variables if there are any.""" - callback_vars = [ - usage_callback_var.get(), - ] - llm_output = {**response, "model_name": self.model} - result = LLMResult(generations=[[]], llm_output=llm_output) - for cb_var in callback_vars: - if cb_var: - cb_var.on_llm_end(result) diff --git a/integrations/langchain/llms/nv_api_catalog/image_gen.py b/integrations/langchain/llms/nv_api_catalog/image_gen.py deleted file mode 100644 index ee30b740f..000000000 --- a/integrations/langchain/llms/nv_api_catalog/image_gen.py +++ /dev/null @@ -1,156 +0,0 @@ -"""Embeddings Components Derived from NVEModel/Embeddings""" -import base64 -from io import BytesIO -from typing import Any, List, Optional - -import requests -from langchain_core.callbacks.manager import CallbackManagerForLLMRun -from langchain_core.language_models import LLM -from langchain_core.pydantic_v1 import Field -from langchain_core.runnables import Runnable, RunnableLambda -from PIL import Image - -from integrations.langchain.llms.nv_api_catalog._common import _NVIDIAClient - - -""" -## Image Generation Models - -Due to the similarity of the underlying API, a selection of **Image Generation Models** can be supported using the LLM interface. One example is the [**Stable Diffusion XL**](https://catalog.ngc.nvidia.com/orgs/nvidia/teams/ai-foundation/models/sdxl/api) model, which expects a prompt and some other arguments as input and produces an image (passed back as a b64-encoded string). - -``` -from integrations.langchain.llms.nv_api_catalog import ImageGenNVIDIA - -ImageGenNVIDIA.get_available_models() ## Only shows models supported by ImageGenNVIDIA - -sdxl = ImageGenNVIDIA(model="sdxl") - -out = sdxl.invoke("A picture of a cat, aesthetic") -out[:100] + "..." -``` - -To see the image, we can either convert it manually or use the built-in conversion utility `` - -``` -from integrations.langchain.llms.nv_api_catalog.image_gen import ImageParser - -# from io import BytesIO -# from PIL import Image -# import base64 - -# Image.open(BytesIO(base64.decodebytes(bytes(out[10:], "utf-8")))) -ImageParser().invoke(out) ## Runnable that does it all for you -``` - -In addition to the prompt, we can do a bit of hyperparameter tweaking and add some negative prompt components that we'd like to avoid. We will also use the `ImageParser` runnable automatically by calling the `.as_pil()` method. - -``` -sdxl = ImageGenNVIDIA( - inference_steps = 100, - negative_prompt = "ugly,bad eyes,low-res,crooked nose, smudged, painted", -) - -sdxl.as_pil().invoke("A picture of a big green dog, futuristic cyberpunk") -``` - -Note that under the hood, `as_pil` returns a merger of the `ImageGenModel` object with the `ImageParser` output parser. As a result, you may have trouble interacting with the aggregation. Note that you can reference the first half of the pipeline via `.first` or similar. - -## Example of image generation with OpenAI and DALL-E - -``` -from integrations.langchain.llms.nv_api_catalog import ImageGenNVIDIA -from getpass import getpass -import os - -if not os.environ.get("OPENAI_API_KEY", "").startswith("sk-"): - os.environ["OPENAI_API_KEY"] = getpass("Enter your OPENAI Key: ") - -llm = ImageGenNVIDIA().mode("openai") -llm.available_models -``` - -``` -from integrations.langchain.llms.nv_api_catalog import ImageGenNVIDIA - -dalle = ImageGenNVIDIA().mode("openai", model="dall-e-3") - -def payload_fn(d): - if d: - drop_keys = ["guidance_scale", "seed", "negative_prompt", "sampler"] - d = {k: v for k, v in d.items() if k not in drop_keys} - return d - -dalle.client.payload_fn = payload_fn - -dalle.as_pil().invoke("City skyline, neon green tint, aesthetic futuristic realistic") -print(dalle.client.last_inputs['json']) -dalle.client.last_response.json() -``` -""" - - -def _get_pil_from_response(data: str) -> Image.Image: - if data.startswith("url: "): - body = requests.get(data[4:], stream=True).raw - elif data.startswith("b64_json: "): - body = BytesIO(base64.decodebytes(bytes(data[10:], "utf-8"))) - else: - raise ValueError(f"Invalid response format: {str(data)[:100]}") - return Image.open(body) - - -def ImageParser() -> RunnableLambda[str, Image.Image]: - return RunnableLambda(_get_pil_from_response) - - -class ImageGenNVIDIA(_NVIDIAClient, LLM): - """NVIDIA's AI Foundation Retriever Question-Answering Asymmetric Model.""" - - _default_model: str = "sdxl" - infer_endpoint: str = Field("{base_url}/images/generations") - model: str = Field(_default_model, description="Name of the model to invoke") - negative_prompt: Optional[str] = Field(description="Sampling temperature in [0, 1]") - sampler: Optional[str] = Field(description="Sampling strategy for process") - guidance_scale: Optional[float] = Field(description="The scale of guidance") - seed: Optional[int] = Field(description="The seed for deterministic results") - - @property - def _llm_type(self) -> str: - """Return type of NVIDIA AI Foundation Model Interface.""" - return "nvidia-image-gen-model" - - def _call( - self, - prompt: str, - stop: Optional[List[str]] = None, - run_manager: Optional[CallbackManagerForLLMRun] = None, - **kwargs: Any, - ) -> str: - """Run the Image Gen Model on the given prompt and input.""" - payload = { - "prompt": prompt, - "negative_prompt": kwargs.get("negative_prompt", self.negative_prompt), - "sampler": kwargs.get("sampler", self.sampler), - "guidance_scale": kwargs.get("guidance_scale", self.guidance_scale), - "seed": kwargs.get("seed", self.seed), - } - if self.get_binding_model(): - payload["model"] = self.get_binding_model() - response = self.client.get_req( - model_name=self.model, payload=payload, endpoint="infer" - ) - response.raise_for_status() - out_dict = response.json() - if "data" in out_dict: - out_dict = out_dict.get("data")[0] - if "url" in out_dict: - output = "url: {}".format(out_dict.get("url")) - elif "b64_json" in out_dict: - output = "b64_json: {}".format(out_dict.get("b64_json")) - else: - output = str(out_dict) - return output - - def as_pil(self, **kwargs: Any) -> Runnable: - """Returns a model that outputs a PIL image by default""" - return self | ImageParser(**kwargs) diff --git a/integrations/langchain/llms/nv_api_catalog/llm.py b/integrations/langchain/llms/nv_api_catalog/llm.py deleted file mode 100644 index 2624d8139..000000000 --- a/integrations/langchain/llms/nv_api_catalog/llm.py +++ /dev/null @@ -1,207 +0,0 @@ -from __future__ import annotations - -from typing import ( - Any, - AsyncIterator, - Dict, - Iterator, - List, - Optional, - Sequence, - Union, -) - -from langchain_core.callbacks.manager import ( - AsyncCallbackManagerForLLMRun, - CallbackManagerForLLMRun, -) -from langchain_core.language_models import LLM -from langchain_core.outputs import GenerationChunk -from langchain_core.pydantic_v1 import Field - -from integrations.langchain.llms.nv_api_catalog import _common as nvidia_ai_endpoints - -_CallbackManager = Union[AsyncCallbackManagerForLLMRun, CallbackManagerForLLMRun] - - -""" -### Code Generation - -These models accept the same arguments and input structure as regular chat models, but they tend to perform better on code-genreation and structured code tasks. An example of this is `llama2_code_70b`. - -``` -prompt = ChatPromptTemplate.from_messages( - [ - ( - "system", - "You are an expert coding AI. Respond only in valid python; no narration whatsoever.", - ), - ("user", "{input}"), - ] -) -chain = prompt | ChatNVIDIA(model="llama2_code_70b") | StrOutputParser() - -for txt in chain.stream({"input": "How do I solve this fizz buzz problem?"}): - print(txt, end="") -``` - -In addition, the [**StarCoder2**](https://catalog.ngc.nvidia.com/orgs/nvidia/teams/ai-foundation/models/starcoder2-15b) model also supports code generation, but subscribes to a regular completion API. For this, you should use the LLM-style `NVIDIA` class: - -``` -from integrations.langchain.llms.nv_api_catalog import NVIDIA - -starcoder = NVIDIA(model="starcoder2_15b", stop=["```"]) - -# print(chain.invoke("Here is my implementation of fizzbuzz:\n```python\n", stop="```")) -for txt in starcoder.stream("Here is my implementation of fizzbuzz:\n```python\n"): - print(txt, end="") -``` -""" - -class NVIDIA(nvidia_ai_endpoints._NVIDIAClient, LLM): - """NVIDIA chat model. - - Example: - .. code-block:: python - - from integrations.langchain.llms.nv_api_catalog import ChatNVIDIA - - - model = NVIDIA(model="starcoder2_15b") - response = model.invoke("Here is my fizzbuzz code:\n```python\n") - """ - - _default_model: str = "starcoder2_15b" - infer_endpoint: str = Field("{base_url}/completions") - model: str = Field(_default_model, description="Name of the model to invoke") - temperature: Optional[float] = Field(description="Sampling temperature in [0, 1]") - max_tokens: Optional[int] = Field(description="Maximum # of tokens to generate") - top_p: Optional[float] = Field(description="Top-p for distribution sampling") - frequency_penalty: Optional[float] = Field(description="Frequency penalty") - presence_penalty: Optional[float] = Field(description="Presence penalty") - seed: Optional[int] = Field(description="The seed for deterministic results") - bad: Optional[Sequence[str]] = Field(description="Bad words to avoid (cased)") - stop: Optional[Sequence[str]] = Field(description="Stop words (cased)") - labels: Optional[Dict[str, float]] = Field(description="Steering parameters") - streaming: bool = Field(True) - - @property - def _llm_type(self) -> str: - """Return type of NVIDIA AI Foundation Model Interface.""" - return "nvidia-ai-playground" - - def _call( - self, - prompt: str, - stop: Optional[List[str]] = None, - run_manager: Optional[CallbackManagerForLLMRun] = None, - **kwargs: Any, - ) -> str: - """Invoke on a single list of chat messages.""" - response = self.get_generation(prompt=prompt, stop=stop, **kwargs) - output = self.custom_postprocess(response) - return output - - def _stream( - self, - prompt: str, - stop: Optional[List[str]] = None, - run_manager: Optional[CallbackManagerForLLMRun] = None, - **kwargs: Any, - ) -> Iterator[GenerationChunk]: - """Allows streaming to model!""" - for response in self.get_stream(prompt=prompt, stop=stop, **kwargs): - self._set_callback_out(response, run_manager) - chunk = GenerationChunk(text=self.custom_postprocess(response)) - yield chunk - if run_manager: - run_manager.on_llm_new_token(chunk.text, chunk=chunk) - - async def _astream( - self, - prompt: str, - stop: Optional[List[str]] = None, - run_manager: Optional[AsyncCallbackManagerForLLMRun] = None, - **kwargs: Any, - ) -> AsyncIterator[GenerationChunk]: - async for response in self.get_astream(prompt=prompt, stop=stop, **kwargs): - self._set_callback_out(response, run_manager) - chunk = GenerationChunk(text=self.custom_postprocess(response)) - yield chunk - if run_manager: - await run_manager.on_llm_new_token(chunk.text, chunk=chunk) - - def _set_callback_out( - self, - result: dict, - run_manager: Optional[_CallbackManager], - ) -> None: - result.update({"model_name": self.model}) - if run_manager: - for cb in run_manager.handlers: - if hasattr(cb, "llm_output"): - cb.llm_output = result - - def custom_postprocess(self, msg: dict) -> str: - if "content" in msg: - return msg["content"] - elif "b64_json" in msg: - return msg["b64_json"] - return str(msg) - - ###################################################################################### - ## Core client-side interfaces - - def get_generation( - self, - prompt: str, - **kwargs: Any, - ) -> dict: - """Call to client generate method with call scope""" - stop = kwargs["stop"] = kwargs.get("stop") or self.stop - payload = self.get_payload(prompt=prompt, stream=False, **kwargs) - out = self.client.get_req_generation(self.model, stop=stop, payload=payload) - return out - - def get_stream( - self, - prompt: str, - **kwargs: Any, - ) -> Iterator: - """Call to client stream method with call scope""" - stop = kwargs["stop"] = kwargs.get("stop") or self.stop - payload = self.get_payload(prompt=prompt, stream=True, **kwargs) - return self.client.get_req_stream(self.model, stop=stop, payload=payload) - - def get_astream( - self, - prompt: str, - **kwargs: Any, - ) -> AsyncIterator: - """Call to client astream methods with call scope""" - stop = kwargs["stop"] = kwargs.get("stop") or self.stop - payload = self.get_payload(prompt=prompt, stream=True, **kwargs) - return self.client.get_req_astream(self.model, stop=stop, payload=payload) - - def get_payload(self, prompt: str, **kwargs: Any) -> dict: - """Generates payload for the _NVIDIAClient API to send to service.""" - attr_kwargs = { - "temperature": self.temperature, - "max_tokens": self.max_tokens, - "top_p": self.top_p, - "seed": self.seed, - "bad": self.bad, - "stop": self.stop, - "labels": self.labels, - } - if self.get_binding_model(): - attr_kwargs["model"] = self.get_binding_model() - attr_kwargs = {k: v for k, v in attr_kwargs.items() if v is not None} - new_kwargs = {**attr_kwargs, **kwargs} - return self.prep_payload(prompt=prompt, **new_kwargs) - - def prep_payload(self, prompt: str, **kwargs: Any) -> dict: - """Prepares a message or list of messages for the payload""" - if kwargs.get("stop") is None: - kwargs.pop("stop") - return {"prompt": prompt, **kwargs} diff --git a/integrations/langchain/llms/nv_api_catalog/py.typed b/integrations/langchain/llms/nv_api_catalog/py.typed deleted file mode 100644 index e69de29bb..000000000 diff --git a/integrations/langchain/llms/nv_api_catalog/tools.py b/integrations/langchain/llms/nv_api_catalog/tools.py deleted file mode 100644 index cbaaff407..000000000 --- a/integrations/langchain/llms/nv_api_catalog/tools.py +++ /dev/null @@ -1,272 +0,0 @@ -"""OpenAI chat wrapper.""" - -from __future__ import annotations - -import logging -from operator import itemgetter -from typing import ( - Any, - Callable, - Dict, - Sequence, - Type, - TypeVar, - Union, -) - -from langchain_core.language_models import LanguageModelInput -from langchain_core.messages import BaseMessage -from langchain_core.output_parsers.base import OutputParserLike -from langchain_core.output_parsers.openai_tools import ( - JsonOutputKeyToolsParser, - PydanticToolsParser, -) -from langchain_core.pydantic_v1 import BaseModel -from langchain_core.runnables import Runnable, RunnableMap, RunnablePassthrough -from langchain_core.tools import BaseTool -from langchain_core.utils.function_calling import convert_to_openai_tool - -logger = logging.getLogger(__name__) - -_BM = TypeVar("_BM", bound=BaseModel) - - -## Directly Inspired by OpenAI/MistralAI's server-side support. -## Moved here for versioning/additional integration options. - - -""" -## Agentic Behavior - -``` -%pip install --upgrade --quiet langchain numexpr langchainhub -``` - -### Example Usage Within Conversation Chains - -Like any other integration, ChatNVIDIA is fine to support chat utilities like conversation buffers by default. Below, we show the [LangChain ConversationBufferMemory](https://python.langchain.com/docs/modules/memory/types/buffer) example applied to the `mixtral_8x7b` model. - -``` -from langchain.chains import ConversationChain -from langchain.memory import ConversationBufferMemory - -chat = ChatNVIDIA(model="mixtral_8x7b", temperature=0.1, max_tokens=100, top_p=1.0) - -conversation = ConversationChain(llm=chat, memory=ConversationBufferMemory()) - -messages = [ - "Hi there!", - "I'm doing well! Just having a conversation with an AI.", - "Tell me about yourself.", -] - -for message in messages: - conversation.invoke("Hi there!")["response"] -``` - -### Simple Usage With Tooled ReACT Agent - -You can also use some of the more powerful LLM models for agentic behavior as described in [HuggingFace's Open-source LLMs as LangChain Agents](https://huggingface.co/blog/open-source-llms-as-agents) blog. - -``` -from langchain import hub -from langchain.agents import AgentExecutor, load_tools -from langchain.agents.format_scratchpad import format_log_to_str -from langchain.agents.output_parsers import ( - ReActJsonSingleInputOutputParser, -) -from langchain.tools.render import render_text_description - -# setup tools -llm = ChatNVIDIA(model="mixtral_8x7b", temperature=0.1) -tools = load_tools(["wikipedia"], llm=llm) - -# setup ReAct style prompt -prompt = hub.pull("hwchase17/react-json") -prompt = prompt.partial( - tools=render_text_description(tools), - tool_names=", ".join([t.name for t in tools]), -) - -## Add some light prompt engineering/llm guiding enforcement -prompt[1].prompt.template += "\nThought: " -chat_model_with_stop = llm.bind(stop=["\nObservation"]) - -history = [] - -def add_to_history(x, history, i=0): - history += [[i, x]] - return x - -# define the agent -agent = ( - { - "input": lambda x: x["input"], - "agent_scratchpad": lambda x: format_log_to_str(x["intermediate_steps"]), - } - | prompt - # | partial(add_to_history, history=history, i=1) - | chat_model_with_stop - # | partial(add_to_history, history=history, i=2) - | ReActJsonSingleInputOutputParser() - # | partial(add_to_history, history=history, i=3) -) - -# instantiate AgentExecutor -agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True, handle_parsing_errors=True) - -agent_executor.invoke( - { - "input": "Are there any new LLM news from NVIDIA to be aware of in 2024?'" - } -) -``` - -If an endpoint supports server-side function/tool calling (AKA the model API itself accepts a tooling message), then you can pull in the experimental `ServerToolsMixin` class as follows: - -``` -from integrations.langchain.llms.nv_api_catalog import ChatNVIDIA, ServerToolsMixin - -class TooledChatNVIDIA(ServerToolsMixin, ChatNVIDIA): - pass - -try: - tools = load_tools(["wikipedia", "llm-math"], llm=llm) - llm = TooledChatNVIDIA(model="mixtral_8x7b") - tooled_llm = llm.bind_tools(tools) - tooled_llm.invoke("Hello world!!") -except Exception as e: - print(e) - -llm.client.last_inputs["json"] -``` - -This feature is intended for experimental purposes to help users support and develop tool-calling interfaces. It's also a simple example of how to support and experiment with custom methods via Mixin incorporation. -""" - - -class ServerToolsMixin(Runnable): - def bind_tools( - self, - tools: Sequence[Union[Dict[str, Any], Type[BaseModel], Callable, BaseTool]], - tool_arg: str = "tools", - conversion_fn: Callable = convert_to_openai_tool, - **kwargs: Any, - ) -> Runnable[LanguageModelInput, BaseMessage]: - """Bind tool-like objects to this chat model. - - Assumes model is compatible with OpenAI tool-calling API. - - Args: - tools: A list of tool definitions to bind to this chat model. - Can be a dictionary, pydantic model, callable, or BaseTool. Pydantic - models, callables, and BaseTools will be automatically converted to - their schema dictionary representation. - **kwargs: Any additional parameters to pass to the - :class:`~langchain.runnable.Runnable` constructor. - - EXPERIMENTAL: This method is intended for future support. Invoked in a class: - ``` - class TooledChatNVIDIA(ChatNVIDIA, ToolsMixin): - pass - - llm = TooledChatNVIDIA(model="mixtral_8x7b") - tooled_llm = llm.bind_tools(tools) - tooled_llm.invoke("Hello world!!") - ``` - - ``` - from integrations.langchain.llms.nv_api_catalog import ChatNVIDIA, ServerToolsMixin - from langchain_core.pydantic_v1 import BaseModel, Field - - # Note that the docstrings here are crucial, as they will be passed along - # to the model along with the class name. - class Multiply(BaseModel): - "Multiply two integers together." - a: int = Field(..., description="First integer") - b: int = Field(..., description="Second integer") - - class TooledChatNVIDIA(ServerToolsMixin, ChatNVIDIA): - pass - - llm = TooledChatNVIDIA().mode("openai", model="gpt-3.5-turbo-0125") - llm.bind_tools([Multiply]).invoke("Multiply for me please?") - llm.client.last_response.json() - ``` - - See langchain-mistralal/openai's implementation for more documentation. - """ - formatted_tools = [conversion_fn(tool) for tool in tools] - tool_kw = {tool_arg: formatted_tools} - return super().bind(**tool_kw, **kwargs) - - def with_structured_output( - self, - schema: Union[Dict, Type[BaseModel]], - *, - include_raw: bool = False, - tool_arg: str = "tools", - conversion_fn: Callable = convert_to_openai_tool, - **kwargs: Any, - ) -> Runnable[LanguageModelInput, Union[Dict, BaseModel]]: - """Model wrapper that returns outputs formatted to match the given schema. - - Args: - schema: The output schema as a dict or a Pydantic class. If a Pydantic class - then the model output will be an object of that class. If a dict then - the model output will be a dict. With a Pydantic class the returned - attributes will be validated, whereas with a dict they will not be. If - `method` is "function_calling" and `schema` is a dict, then the dict - must match the OpenAI function-calling spec. - include_raw: If False then only the parsed structured output is returned. If - an error occurs during model output parsing it will be raised. If True - then both the raw model response (a BaseMessage) and the parsed model - response will be returned. If an error occurs during output parsing it - will be caught and returned as well. The final output is always a dict - with keys "raw", "parsed", and "parsing_error". - - Returns: - A Runnable that takes any ChatModel input and returns as output: - - If include_raw is True then a dict with keys: - raw: BaseMessage - parsed: Pydantic BaseModel or Dictionary - parsing_error: Optional[BaseException] - - If include_raw is False then just BaseModel/Dictionary is returned - (depending on schema type). - - EXPERIMENTAL: This method is intended for future support. Invoked in a class: - ``` - class TooledChatNVIDIA(ChatNVIDIA, ToolsMixin): - pass - ``` - - See langchain-mistralal/openai's implementation for more documentation. - """ - if kwargs: - raise ValueError(f"Received unsupported arguments {kwargs}") - is_pydantic_schema = isinstance(schema, type) and issubclass(schema, BaseModel) - llm = self.bind_tools([schema], tool_arg=tool_arg, conversion_fn=conversion_fn) - if is_pydantic_schema and isinstance(schema, BaseModel): - schema_cls: Type[BaseModel] = schema - output_parser: OutputParserLike = PydanticToolsParser( - tools=[schema_cls], first_tool_only=True - ) - else: - key_name = conversion_fn(schema)["function"]["name"] - output_parser = JsonOutputKeyToolsParser( - key_name=key_name, first_tool_only=True - ) - - if include_raw: - parser_assign = RunnablePassthrough.assign( - parsed=itemgetter("raw") | output_parser, parsing_error=lambda _: None - ) - parser_none = RunnablePassthrough.assign(parsed=lambda _: None) - parser_with_fallback = parser_assign.with_fallbacks( - [parser_none], exception_key="parsing_error" - ) - return RunnableMap(raw=llm) | parser_with_fallback - else: - return llm | output_parser diff --git a/integrations/langchain/llms/triton_trt_llm.py b/integrations/langchain/llms/triton_trt_llm.py deleted file mode 100644 index 204b44e25..000000000 --- a/integrations/langchain/llms/triton_trt_llm.py +++ /dev/null @@ -1,567 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""A Langchain LLM component for connecting to Triton + TensorRT LLM backend.""" -# pylint: disable=too-many-lines -import abc -import json -import logging -import queue -import random -import time -from functools import partial -from typing import Any, Callable, Dict, List, Optional, Type, Union - -import google.protobuf.json_format -import numpy as np -import tritonclient.grpc as grpcclient -import tritonclient.http as httpclient -from tritonclient.grpc.service_pb2 import ModelInferResponse -from tritonclient.utils import np_to_triton_dtype - -try: - from langchain.callbacks.manager import CallbackManagerForLLMRun - from langchain.llms.base import LLM - from langchain.pydantic_v1 import Field, root_validator - - USE_LANGCHAIN = True -except ImportError: - USE_LANGCHAIN = False - -logger = logging.getLogger(__name__) - -STOP_WORDS = [""] -RANDOM_SEED = 0 - -if USE_LANGCHAIN: - # pylint: disable-next=too-few-public-methods # Interface is defined by LangChain - class TensorRTLLM(LLM): # LLM class not typed in langchain - """A custom Langchain LLM class that integrates with TRTLLM triton models. - - Arguments: - server_url: (str) The URL of the Triton inference server to use. - model_name: (str) The name of the Triton TRT model to use. - temperature: (str) Temperature to use for sampling - top_p: (float) The top-p value to use for sampling - top_k: (float) The top k values use for sampling - beam_width: (int) Last n number of tokens to penalize - repetition_penalty: (int) Last n number of tokens to penalize - length_penalty: (float) The penalty to apply repeated tokens - tokens: (int) The maximum number of tokens to generate. - client: The client object used to communicate with the inference server - """ - - server_url: str = Field(None, alias="server_url") - - # # all the optional arguments - model_name: str = "ensemble" - temperature: Optional[float] = 1.0 - top_p: Optional[float] = 0 - top_k: Optional[int] = 1 - tokens: Optional[int] = 100 - beam_width: Optional[int] = 1 - repetition_penalty: Optional[float] = 1.0 - length_penalty: Optional[float] = 1.0 - client: Any - streaming: Optional[bool] = True - - @root_validator() # typing not declared in langchain - @classmethod - def validate_environment(cls, values: Dict[str, Any]) -> Dict[str, Any]: - """Validate that python package exists in environment.""" - try: - if values.get("streaming", True): - values["client"] = GrpcTritonClient(values["server_url"]) - else: - values["client"] = HttpTritonClient(values["server_url"]) - - except ImportError as err: - raise ImportError( - "Could not import triton client python package. " - "Please install it with `pip install tritonclient[all]`." - ) from err - return values - - @property - def _get_model_default_parameters(self) -> Dict[str, Any]: - return { - "tokens": self.tokens, - "top_k": self.top_k, - "top_p": self.top_p, - "temperature": self.temperature, - "repetition_penalty": self.repetition_penalty, - "length_penalty": self.length_penalty, - "beam_width": self.beam_width, - } - - @property - def _invocation_params(self, **kwargs: Any) -> Dict[str, Any]: - params = {**self._get_model_default_parameters, **kwargs} - return params - - @property - def _identifying_params(self) -> Dict[str, Any]: - """Get all the identifying parameters.""" - return { - "server_url": self.server_url, - "model_name": self.model_name, - } - - @property - def _llm_type(self) -> str: - return "triton_tensorrt" - - def _call( - self, - prompt: str, - stop: Optional[List[str]] = None, # pylint: disable=unused-argument - run_manager: Optional[CallbackManagerForLLMRun] = None, - **kwargs: Any, - ) -> str: - """ - Execute an inference request. - - Args: - prompt: The prompt to pass into the model. - stop: A list of strings to stop generation when encountered - - Returns: - The string generated by the model - """ - - try: - - text_callback = None - if run_manager: - text_callback = partial( - run_manager.on_llm_new_token, verbose=self.verbose - ) - - invocation_params = self._get_model_default_parameters - invocation_params.update(kwargs) - invocation_params["prompt"] = [[prompt]] - model_params = self._identifying_params - model_params.update(kwargs) - request_id = str(random.randint(1, 9999999)) # nosec - - self.client.load_model(model_params["model_name"]) - if isinstance(self.client, GrpcTritonClient): - return self._streaming_request( - model_params, request_id, invocation_params, text_callback - ) - return self._request(model_params, invocation_params, text_callback) - - except Exception as e: - logger.error(f"Got error while trying reach LLM inference server. Error details: {e}") - if text_callback and isinstance(self.client, GrpcTritonClient): - text_callback("LLM inference server does not seem to up. Check chain-server container logs for more details.") - return "" - - def _streaming_request( - self, - model_params: Dict[str, Any], - request_id: str, - invocation_params: Dict[str, Any], - text_callback: Optional[Callable[[str], None]], - ) -> str: - """Request a streaming inference session.""" - - logger.debug("Generating streaming response from llm") - result_queue = self.client.request_streaming( - model_params["model_name"], request_id, **invocation_params - ) - - response = "" - start_time = time.time() - tokens_generated = 0 - for token in result_queue: - if text_callback: - text_callback(token) - tokens_generated += 1 - response = response + token - total_time = time.time() - start_time - logger.info( - "\n--- Generated %s tokens in %s seconds ---", - tokens_generated, - total_time, - ) - logger.info("--- %s tokens/sec", tokens_generated / total_time) - return response - - def _request( - self, - model_params: Dict[str, Any], - invocation_params: Dict[str, Any], - text_callback: Optional[Callable[[str], None]], - ) -> str: - """Request a streaming inference session.""" - token: str = self.client.request( - model_params["model_name"], **invocation_params - ) - if text_callback: - text_callback(token) - return token - - -class StreamingResponseGenerator(queue.Queue[Optional[str]]): - """A Generator that provides the inference results from an LLM.""" - - def __init__( - self, client: "GrpcTritonClient", request_id: str, force_batch: bool - ) -> None: - """Instantiate the generator class.""" - super().__init__() - self._client = client - self.request_id = request_id - self._batch = force_batch - - def __iter__(self) -> "StreamingResponseGenerator": - """Return self as a generator.""" - return self - - def __next__(self) -> str: - """Return the next retrieved token.""" - val = self.get() - if val is None or val in STOP_WORDS: - self._stop_stream() - raise StopIteration() - return val - - def _stop_stream(self) -> None: - """Drain and shutdown the Triton stream.""" - self._client.stop_stream( - "tensorrt_llm", self.request_id, signal=not self._batch - ) - - -class _BaseTritonClient(abc.ABC): - """An abstraction of the connection to a triton inference server.""" - - def __init__(self, server_url: str) -> None: - """Initialize the client.""" - self._server_url = server_url - self._client = self._inference_server_client(server_url) - - @property - @abc.abstractmethod - def _inference_server_client( - self, - ) -> Union[ - Type[grpcclient.InferenceServerClient], Type[httpclient.InferenceServerClient] - ]: - """Return the prefered InferenceServerClient class.""" - - @property - @abc.abstractmethod - def _infer_input( - self, - ) -> Union[Type[grpcclient.InferInput], Type[httpclient.InferInput]]: - """Return the preferred InferInput.""" - - @property - @abc.abstractmethod - def _infer_output( - self, - ) -> Union[ - Type[grpcclient.InferRequestedOutput], Type[httpclient.InferRequestedOutput] - ]: - """Return the preferred InferRequestedOutput.""" - - def load_model(self, model_name: str, timeout: int = 1000) -> None: - """Load a model into the server.""" - if self._client.is_model_ready(model_name): - return - - self._client.load_model(model_name) - t0 = time.perf_counter() - t1 = t0 - while not self._client.is_model_ready(model_name) and t1 - t0 < timeout: - t1 = time.perf_counter() - - if not self._client.is_model_ready(model_name): - raise RuntimeError(f"Failed to load {model_name} on Triton in {timeout}s") - - def get_model_list(self) -> List[str]: - """Get a list of models loaded in the triton server.""" - res = self._client.get_model_repository_index(as_json=True) - return [model["name"] for model in res["models"]] - - def get_model_concurrency(self, model_name: str, timeout: int = 1000) -> int: - """Get the modle concurrency.""" - self.load_model(model_name, timeout) - instances = self._client.get_model_config(model_name, as_json=True)["config"][ - "instance_group" - ] - return sum(instance["count"] * len(instance["gpus"]) for instance in instances) - - def _generate_stop_signals( - self, - ) -> List[Union[grpcclient.InferInput, httpclient.InferInput]]: - """Generate the signal to stop the stream.""" - inputs = [ - self._infer_input("input_ids", [1, 1], "INT32"), - self._infer_input("input_lengths", [1, 1], "INT32"), - self._infer_input("request_output_len", [1, 1], "UINT32"), - self._infer_input("stop", [1, 1], "BOOL"), - ] - inputs[0].set_data_from_numpy(np.empty([1, 1], dtype=np.int32)) - inputs[1].set_data_from_numpy(np.zeros([1, 1], dtype=np.int32)) - inputs[2].set_data_from_numpy(np.array([[0]], dtype=np.uint32)) - inputs[3].set_data_from_numpy(np.array([[True]], dtype="bool")) - return inputs - - def _generate_outputs( - self, - ) -> List[Union[grpcclient.InferRequestedOutput, httpclient.InferRequestedOutput]]: - """Generate the expected output structure.""" - return [self._infer_output("text_output")] - - def _prepare_tensor( - self, name: str, input_data: Any - ) -> Union[grpcclient.InferInput, httpclient.InferInput]: - """Prepare an input data structure.""" - t = self._infer_input( - name, input_data.shape, np_to_triton_dtype(input_data.dtype) - ) - t.set_data_from_numpy(input_data) - return t - - def _generate_inputs( # pylint: disable=too-many-arguments,too-many-locals - self, - prompt: str, - tokens: int = 300, - temperature: float = 1.0, - top_k: float = 1, - top_p: float = 0, - beam_width: int = 1, - repetition_penalty: float = 1, - length_penalty: float = 1.0, - stream: bool = True, - ) -> List[Union[grpcclient.InferInput, httpclient.InferInput]]: - """Create the input for the triton inference server.""" - query = np.array(prompt).astype(object) - request_output_len = np.array([tokens]).astype(np.uint32).reshape((1, -1)) - runtime_top_k = np.array([top_k]).astype(np.uint32).reshape((1, -1)) - runtime_top_p = np.array([top_p]).astype(np.float32).reshape((1, -1)) - temperature_array = np.array([temperature]).astype(np.float32).reshape((1, -1)) - len_penalty = np.array([length_penalty]).astype(np.float32).reshape((1, -1)) - repetition_penalty_array = ( - np.array([repetition_penalty]).astype(np.float32).reshape((1, -1)) - ) - random_seed = np.array([RANDOM_SEED]).astype(np.uint64).reshape((1, -1)) - beam_width_array = np.array([beam_width]).astype(np.uint32).reshape((1, -1)) - streaming_data = np.array([[stream]], dtype=bool) - - inputs = [ - self._prepare_tensor("text_input", query), - self._prepare_tensor("max_tokens", request_output_len), - self._prepare_tensor("top_k", runtime_top_k), - self._prepare_tensor("top_p", runtime_top_p), - self._prepare_tensor("temperature", temperature_array), - self._prepare_tensor("length_penalty", len_penalty), - self._prepare_tensor("repetition_penalty", repetition_penalty_array), - self._prepare_tensor("random_seed", random_seed), - self._prepare_tensor("beam_width", beam_width_array), - self._prepare_tensor("stream", streaming_data), - ] - return inputs - - def _trim_batch_response(self, result_str: str) -> str: - """Trim the resulting response from a batch request by removing provided prompt and extra generated text.""" - # extract the generated part of the prompt - split = result_str.split("[/INST]", 1) - generated = split[-1] - end_token = generated.find("") - if end_token == -1: - return generated - generated = generated[:end_token].strip() - return generated - - -class GrpcTritonClient(_BaseTritonClient): - """GRPC connection to a triton inference server.""" - - @property - def _inference_server_client( - self, - ) -> Type[grpcclient.InferenceServerClient]: - """Return the prefered InferenceServerClient class.""" - return grpcclient.InferenceServerClient # type: ignore - - @property - def _infer_input(self) -> Type[grpcclient.InferInput]: - """Return the preferred InferInput.""" - return grpcclient.InferInput # type: ignore - - @property - def _infer_output( - self, - ) -> Type[grpcclient.InferRequestedOutput]: - """Return the preferred InferRequestedOutput.""" - return grpcclient.InferRequestedOutput # type: ignore - - def _send_stop_signals(self, model_name: str, request_id: str) -> None: - """Send the stop signal to the Triton Inference server.""" - stop_inputs = self._generate_stop_signals() - self._client.async_stream_infer( - model_name, - stop_inputs, - request_id=request_id, - parameters={"Streaming": True}, - ) - - @staticmethod - def _process_result(result: Dict[str, str]) -> str: - """Post-process the result from the server.""" - message = ModelInferResponse() - generated_text: str = "" - google.protobuf.json_format.Parse(json.dumps(result), message) - infer_result = grpcclient.InferResult(message) - np_res = infer_result.as_numpy("text_output") - - generated_text = "" - if np_res is not None: - generated_text = "".join([token.decode() for token in np_res]) - - return generated_text - - def _stream_callback( - self, - result_queue: queue.Queue[Union[Optional[Dict[str, str]], str]], - force_batch: bool, - result: Any, - error: str, - ) -> None: - """Add streamed result to queue.""" - if error: - result_queue.put(error) - else: - response_raw = result.get_response(as_json=True) - if "outputs" in response_raw: - # the very last response might have no output, just the final flag - response = self._process_result(response_raw) - if force_batch: - response = self._trim_batch_response(response) - - if response in STOP_WORDS: - result_queue.put(None) - else: - result_queue.put(response) - - if response_raw["parameters"]["triton_final_response"]["bool_param"]: - # end of the generation - result_queue.put(None) - - # pylint: disable-next=too-many-arguments - def _send_prompt_streaming( - self, - model_name: str, - request_inputs: Any, - request_outputs: Optional[Any], - request_id: str, - result_queue: StreamingResponseGenerator, - force_batch: bool = False, - ) -> None: - """Send the prompt and start streaming the result.""" - self._client.start_stream( - callback=partial(self._stream_callback, result_queue, force_batch) - ) - self._client.async_stream_infer( - model_name=model_name, - inputs=request_inputs, - outputs=request_outputs, - request_id=request_id, - ) - - def request_streaming( - self, - model_name: str, - request_id: Optional[str] = None, - force_batch: bool = False, - **params: Any, - ) -> StreamingResponseGenerator: - """Request a streaming connection.""" - if not self._client.is_model_ready(model_name): - raise RuntimeError("Cannot request streaming, model is not loaded") - - if not request_id: - request_id = str(random.randint(1, 9999999)) # nosec - - result_queue = StreamingResponseGenerator(self, request_id, force_batch) - inputs = self._generate_inputs(stream=not force_batch, **params) - outputs = self._generate_outputs() - self._send_prompt_streaming( - model_name, - inputs, - outputs, - request_id, - result_queue, - force_batch, - ) - return result_queue - - def stop_stream( - self, model_name: str, request_id: str, signal: bool = True - ) -> None: - """Close the streaming connection.""" - if signal: - self._send_stop_signals(model_name, request_id) - self._client.stop_stream() - - -class HttpTritonClient(_BaseTritonClient): - """HTTP connection to a triton inference server.""" - - @property - def _inference_server_client( - self, - ) -> Type[httpclient.InferenceServerClient]: - """Return the prefered InferenceServerClient class.""" - return httpclient.InferenceServerClient # type: ignore - - @property - def _infer_input(self) -> Type[httpclient.InferInput]: - """Return the preferred InferInput.""" - return httpclient.InferInput # type: ignore - - @property - def _infer_output( - self, - ) -> Type[httpclient.InferRequestedOutput]: - """Return the preferred InferRequestedOutput.""" - return httpclient.InferRequestedOutput # type: ignore - - def request( - self, - model_name: str, - **params: Any, - ) -> str: - """Request inferencing from the triton server.""" - if not self._client.is_model_ready(model_name): - raise RuntimeError("Cannot request streaming, model is not loaded") - - # create model inputs and outputs - inputs = self._generate_inputs(stream=False, **params) - outputs = self._generate_outputs() - - # call the model for inference - result = self._client.infer(model_name, inputs=inputs, outputs=outputs) - result_str = "".join( - [val.decode("utf-8") for val in result.as_numpy("text_output").tolist()] - ) - - # extract the generated part of the prompt - # return(result_str) - return self._trim_batch_response(result_str) diff --git a/integrations/pandasai/llms/nv_aiplay.py b/integrations/pandasai/llms/nv_aiplay.py index eada5545c..e169ec56f 100644 --- a/integrations/pandasai/llms/nv_aiplay.py +++ b/integrations/pandasai/llms/nv_aiplay.py @@ -35,7 +35,7 @@ class NVIDIA(LLM): temperature: Optional[float] = 0.1 max_tokens: Optional[int] = 1000 top_p: Optional[float] = 1 - model: Optional[str] = "llama2_13b" + model: Optional[str] = "meta/llama3-8b-instruct" _chat_model: "ChatNVIDIA" = None @@ -44,7 +44,7 @@ def __init__(self, **kwargs): settings = get_config() if settings.llm.server_url: logger.info(f"Using llm model {settings.llm.model_name} hosted at {settings.llm.server_url} in PandasAI") - self._chat_model = ChatNVIDIA(**self._default_params).mode("nim", base_url=f"http://{settings.llm.server_url}/v1") + self._chat_model = ChatNVIDIA(**self._default_params, base_url=f"http://{settings.llm.server_url}/v1") else: logger.info(f"Using llm model {settings.llm.model_name} from api catalog in PandasAI") self._chat_model = ChatNVIDIA(**self._default_params) diff --git a/notebooks/00-llm-non-streaming-nemotron.ipynb b/notebooks/00-llm-non-streaming-nemotron.ipynb deleted file mode 100644 index f49545ef2..000000000 --- a/notebooks/00-llm-non-streaming-nemotron.ipynb +++ /dev/null @@ -1,144 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "2544460d", - "metadata": {}, - "source": [ - "# Basics: Prompt, Client, and Responses" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "1c60fd08", - "metadata": {}, - "outputs": [ - { - "ename": "ModuleNotFoundError", - "evalue": "No module named 'triton_trt_llm'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[1], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtriton_trt_llm\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m HttpTritonClient\n", - "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'triton_trt_llm'" - ] - } - ], - "source": [ - "from triton_trt_llm import HttpTritonClient" - ] - }, - { - "cell_type": "markdown", - "id": "4c99ac30", - "metadata": {}, - "source": [ - "#### Step 1: Structure the Query in a Prompt Template" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "66c35817", - "metadata": {}, - "outputs": [], - "source": [ - "NEMOTRON_PROMPT_TEMPLATE = (\n", - " \"\"\"System\n", - "{system}\n", - "User\n", - "{prompt}\n", - "Assistant\n", - "\"\"\"\n", - ")\n", - "system = \"You are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe. Please ensure that your responses are positive in nature.\"\n", - "prompt = 'What is the fastest land animal?'\n", - "prompt = NEMOTRON_PROMPT_TEMPLATE.format(prompt=prompt, system=system)" - ] - }, - { - "cell_type": "markdown", - "id": "fdd7ab41", - "metadata": {}, - "source": [ - "#### Step 2: Create the Triton Client" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cc94f643", - "metadata": {}, - "outputs": [], - "source": [ - "triton_url = \"llm:8000\"\n", - "client = HttpTritonClient(triton_url)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "47c24666", - "metadata": {}, - "outputs": [], - "source": [ - "pload = {\n", - " 'prompt':[[prompt]],\n", - " 'tokens':64,\n", - " 'temperature':1.0,\n", - " 'top_k':1,\n", - " 'top_p':0,\n", - " 'beam_width':1,\n", - " 'repetition_penalty':1.0,\n", - " 'length_penalty':1.0\n", - "}" - ] - }, - { - "cell_type": "markdown", - "id": "443f4fbd", - "metadata": {}, - "source": [ - "#### Step 3: Load the Model and Generate Response" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "122d2f10", - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "model_name = \"ensemble\"\n", - "client.load_model(model_name)\n", - "val = client.request(model_name, **pload)\n", - "print(val)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.6" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/notebooks/01-llm-streaming-client.ipynb b/notebooks/01-llm-streaming-client.ipynb deleted file mode 100644 index daef4452f..000000000 --- a/notebooks/01-llm-streaming-client.ipynb +++ /dev/null @@ -1,173 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "b4268da6-98d2-4e23-a984-ce49c70d6a42", - "metadata": {}, - "source": [ - "# LLM Streaming Client\n", - "\n", - "This notebook demonstrates how to stream responses from the LLM. \n", - "\n", - "### Triton Inference Server\n", - "The LLM has been deployed to [NVIDIA Triton Inference Server](https://developer.nvidia.com/triton-inference-server) and leverages NVIDIA TensorRT-LLM (TRT-LLM), so it's optimized for low latency and high throughput inference.\n", - "\n", - "The Triton client is used to communicate with the inference server hosting the LLM and is available in [LangChain](https://github.com/langchain-ai/langchain-nvidia/tree/main/libs/trt). \n", - "\n", - "### Streaming LLM Responses\n", - "TRT-LLM on its own can provide drastic improvements to LLM response latency, but streaming can take the user-experience to the next level. Instead of waiting for an entire response to be returned from the LLM, chunks of it can be processed as soon as they are available. This helps reduce the perceived latency by the user. " - ] - }, - { - "cell_type": "markdown", - "id": "667181db-04d8-4c9d-b433-26c2a14d54e7", - "metadata": {}, - "source": [ - "### Step 1: Structure the Query in a Prompt Template" - ] - }, - { - "cell_type": "markdown", - "id": "7e206005-d153-49ce-8b54-41e425a7de17", - "metadata": {}, - "source": [ - "A [**prompt template**](https://gpt-index.readthedocs.io/en/stable/api_reference/prompts.html) is a common paradigm in LLM development. \n", - "\n", - "They are a pre-defined set of instructions provided to the LLM and guide the output produced by the model. They can contain few shot examples and guidance and are a quick way to engineer the responses from the LLM. Llama 2 accepts the [prompt format](https://huggingface.co/blog/llama2#how-to-prompt-llama-2) shown in `LLAMA_PROMPT_TEMPLATE`, which we modify to be constructed with:\n", - "- The system prompt\n", - "- The context\n", - "- The user's question" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "id": "42a2f2cb", - "metadata": {}, - "outputs": [], - "source": [ - "LLAMA_PROMPT_TEMPLATE = (\n", - " \"[INST] <>\"\n", - " \"{system_prompt}\"\n", - " \"<>\"\n", - " \"[/INST] {context} [INST] {question} [/INST]\"\n", - ")\n", - "system_prompt = \"You are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe. Please ensure that your responses are positive in nature.\"\n", - "context=\"\"\n", - "question='What is the fastest land animal?'\n", - "prompt = LLAMA_PROMPT_TEMPLATE.format(system_prompt=system_prompt, context=context, question=question)" - ] - }, - { - "cell_type": "markdown", - "id": "9e975c7b-3c5e-4ba6-954a-0064e6a91245", - "metadata": {}, - "source": [ - "### Step 2: Create the Triton Client" - ] - }, - { - "cell_type": "markdown", - "id": "c2858c80-ba39-43be-9978-0f8be6e6c3dd", - "metadata": {}, - "source": [ - "
\n", - "WARNING! Be sure to replace `triton_url` with the address and port that Triton is running on. \n", - "
\n", - "\n", - "Use the address and port that the Triton is available on; for example `localhost:8001`. \n", - "\n", - "**If you are running this notebook as part of the AI workflow, you dont have to replace the url**." - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "id": "5670011e-f52b-4c16-be4d-8a782b622541", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain_nvidia_trt.llms import TritonTensorRTLLM\n", - "\n", - "triton_url = \"llm:8001\"\n", - "pload = {\n", - " 'tokens':300,\n", - " 'server_url': triton_url,\n", - " 'model_name': \"ensemble\",\n", - " 'temperature':1.0,\n", - " 'top_k':1,\n", - " 'top_p':0,\n", - " 'beam_width':1,\n", - " 'repetition_penalty':1.0,\n", - " 'length_penalty':1.0\n", - "}\n", - "client = TritonTensorRTLLM(**pload)" - ] - }, - { - "cell_type": "markdown", - "id": "03676629-33d8-46d8-b5fc-557d526609b4", - "metadata": {}, - "source": [ - "Additional inputs to the LLM can be modified:\n", - "- tokens: the maximum number of tokens (words/sub-words) generated\n", - "- temperature: [0,1] -- higher values produce more diverse outputs\n", - "- [top_k](https://docs.cohere.com/docs/controlling-generation-with-top-k-top-p): sample from the k most likely next tokens at each step; lower value will concentrate sampling on the highest probability tokens for each step (reduces variety)\n", - "- [top_p](https://docs.cohere.com/docs/controlling-generation-with-top-k-top-p): [0, 1] -- cumulative probability cutoff for token selection; lower values mean sampling from a smaller nucleus sample (reduces variety)\n", - "- repetition_penalty: [1, 2] -- penalize repeated tokens\n", - "- length_penalty: 1 means no penalty for length of generation" - ] - }, - { - "cell_type": "markdown", - "id": "c526b20b-258a-4eb7-87e6-5430d57e32ea", - "metadata": {}, - "source": [ - "### Step 3: Load the Model and Stream Responses" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "274e4164-7460-4471-8625-90562237cf11", - "metadata": {}, - "outputs": [], - "source": [ - "import time\n", - "import random\n", - "\n", - "start_time = time.time()\n", - "tokens_generated = 0\n", - "\n", - "for val in client.stream(prompt):\n", - " tokens_generated += 1\n", - " print(val, end=\"\", flush=True)\n", - "\n", - "total_time = time.time() - start_time\n", - "print(f\"\\n--- Generated {tokens_generated} tokens in {total_time} seconds ---\")\n", - "print(f\"--- {tokens_generated/total_time} tokens/sec\")" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.13" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/notebooks/05_dataloader.ipynb b/notebooks/01_dataloader.ipynb similarity index 100% rename from notebooks/05_dataloader.ipynb rename to notebooks/01_dataloader.ipynb diff --git a/notebooks/07_Option(1)_NVIDIA_AI_endpoint_simple.ipynb b/notebooks/02_Option(1)_NVIDIA_AI_endpoint_simple.ipynb old mode 100755 new mode 100644 similarity index 99% rename from notebooks/07_Option(1)_NVIDIA_AI_endpoint_simple.ipynb rename to notebooks/02_Option(1)_NVIDIA_AI_endpoint_simple.ipynb index 0ac07d54d..fdc1fb566 --- a/notebooks/07_Option(1)_NVIDIA_AI_endpoint_simple.ipynb +++ b/notebooks/02_Option(1)_NVIDIA_AI_endpoint_simple.ipynb @@ -78,7 +78,7 @@ "source": [ "# test run and see that you can genreate a respond successfully\n", "from langchain_nvidia_ai_endpoints import ChatNVIDIA\n", - " \n", + "\n", "llm = ChatNVIDIA(model=\"ai-mixtral-8x7b-instruct\", nvidia_api_key=nvapi_key, max_tokens=1024)\n", "\n", "result = llm.invoke(\"Write a ballad about LangChain.\")\n", @@ -114,7 +114,7 @@ "embedder = NVIDIAEmbeddings(model=\"ai-embed-qa-4\")\n", "\n", "# Alternatively, if you want to specify whether it will use the query or passage type\n", - "# embedder = NVIDIAEmbeddings(model=\"nvolveqa_40k\", model_type=\"passage\")" + "# embedder = NVIDIAEmbeddings(model=\"ai-embed-qa-4\", model_type=\"passage\")" ] }, { diff --git a/notebooks/07_Option(2)_minimalistic_RAG_with_langchain_local_HF_LLM.ipynb b/notebooks/02_Option(2)_minimalistic_RAG_with_langchain_local_HF_LLM.ipynb similarity index 100% rename from notebooks/07_Option(2)_minimalistic_RAG_with_langchain_local_HF_LLM.ipynb rename to notebooks/02_Option(2)_minimalistic_RAG_with_langchain_local_HF_LLM.ipynb diff --git a/notebooks/02_langchain_simple.ipynb b/notebooks/02_langchain_simple.ipynb deleted file mode 100644 index ec2f4a37f..000000000 --- a/notebooks/02_langchain_simple.ipynb +++ /dev/null @@ -1,346 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "0ffa8e4f", - "metadata": {}, - "source": [ - "# Q&A with LangChain\n", - "\n", - "This notebook demonstrates how to use LangChain to build a chatbot that references a custom knowledge-base. \n", - "\n", - "Suppose you have some text documents (PDF, blog, Notion pages, etc.) and want to ask questions related to the contents of those documents. LLMs, given their proficiency in understanding text, are a great tool for this. \n", - "\n", - "### [LangChain](https://python.langchain.com/docs/get_started/introduction)\n", - "[**LangChain**](https://python.langchain.com/docs/get_started/introduction) provides a simple framework for connecting LLMs to your own data sources. Since LLMs are both only trained up to a fixed point in time and do not contain knowledge that is proprietary to an Enterprise, they can't answer questions about new or proprietary knowledge. LangChain solves this problem.\n", - "\n", - "
\n", - " \n", - "⚠️ The notebook after this one, `03_llama_index_simple.ipynb`, contains the same functionality as this notebook but uses LlamaIndex instead of LangChain. Ultimately, we recommend reading about LangChain vs. LlamaIndex and picking the software/components of the software that makes the most sense to you. \n", - "\n", - "
" - ] - }, - { - "cell_type": "markdown", - "id": "65082404", - "metadata": {}, - "source": [ - "![data_connection](./imgs/data_connection_langchain.jpeg)" - ] - }, - { - "cell_type": "markdown", - "id": "b0ea695d", - "metadata": {}, - "source": [ - "### Step 1: Integrate TensorRT-LLM to LangChain [*(Connector)*](https://docs.llamaindex.ai/en/stable/examples/llm/nvidia_tensorrt.html)" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "f878600a", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain_nvidia_trt.llms import TritonTensorRTLLM\n", - "\n", - "# Connect to the TRT-LLM Llama-2 model running on the Triton server at the url below\n", - "# Replace \"llm\" with the url of the system where llama2 is hosted\n", - "triton_url = \"llm:8001\"\n", - "pload = {\n", - " 'tokens':500,\n", - " 'server_url': triton_url,\n", - " 'model_name': \"ensemble\"\n", - "}\n", - "llm = TritonTensorRTLLM(**pload)" - ] - }, - { - "cell_type": "markdown", - "id": "d4ea84ce", - "metadata": {}, - "source": [ - "#### Note: Follow this step for nemotron models\n", - "1. In case you have deployed a trt-llm optimized nemotron model following steps [here](../RetrievalAugmentedGeneration/README.md#6-qa-chatbot----nemotron-model), execute the cell below by uncommenting the lines. Here we use a custom wrapper for talking with the model server." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f1b35872", - "metadata": {}, - "outputs": [], - "source": [ - "# from triton_trt_llm import TensorRTLLM\n", - "# llm = TensorRTLLM(server_url =\"llm:8000\", model_name=\"ensemble\", tokens=500, streaming=False)" - ] - }, - { - "cell_type": "markdown", - "id": "da50462b", - "metadata": {}, - "source": [ - "### Step 2: Create a Prompt Template [*(Model I/O)*](https://python.langchain.com/docs/modules/model_io/)\n", - "\n", - "A [**prompt template**](https://python.langchain.com/docs/modules/model_io/prompts/prompt_templates/) is a common paradigm in LLM development. \n", - "\n", - "They are a pre-defined set of instructions provided to the LLM and guide the output produced by the model. They can contain few shot examples and guidance and are a quick way to engineer the responses from the LLM. Llama 2 accepts the [prompt format](https://huggingface.co/blog/llama2#how-to-prompt-llama-2) shown in `LLAMA_PROMPT_TEMPLATE`, which we manipulate to be constructed with:\n", - "- The system prompt\n", - "- The context\n", - "- The user's question\n", - "\n", - "Langchain allows you to [create custom wrappers for your LLM](https://python.langchain.com/docs/modules/model_io/models/llms/custom_llm) in case you want to use your own LLM or a different wrapper than the one that is supported in LangChain. Since we are using a custom Llama2 model hosted on Triton with TRT-LLM, we have written a custom wrapper for our LLM. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4d22c1c7", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain.prompts import PromptTemplate\n", - "\n", - "LLAMA_PROMPT_TEMPLATE = (\n", - " \"[INST] <>\"\n", - " \"Use the following context to answer the user's question. If you don't know the answer, just say that you don't know, don't try to make up an answer.\"\n", - " \"<>\"\n", - " \"[INST] Context: {context} Question: {question} Only return the helpful answer below and nothing else. Helpful answer:[/INST]\"\n", - ")\n", - "\n", - "LLAMA_PROMPT = PromptTemplate.from_template(LLAMA_PROMPT_TEMPLATE)" - ] - }, - { - "cell_type": "markdown", - "id": "be6f97af", - "metadata": {}, - "source": [ - "### Step 3: Load Documents [*(Retrieval)*](https://python.langchain.com/docs/modules/data_connection/)\n", - "LangChain provides a variety of [document loaders](https://python.langchain.com/docs/integrations/document_loaders) that load various types of documents (HTML, PDF, code) from many different sources and locations (private s3 buckets, public websites).\n", - "\n", - "Document loaders load data from a source as **Documents**. A **Document** is a piece of text (the page_content) and associated metadata. Document loaders provide a ``load`` method for loading data as documents from a configured source. \n", - "\n", - "In this example, we use a LangChain [`UnstructuredFileLoader`](https://python.langchain.com/docs/integrations/document_loaders/unstructured_file) to load a research paper about Llama2 from Meta.\n", - "\n", - "[Here](https://python.langchain.com/docs/integrations/document_loaders) are some of the other document loaders available from LangChain." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a1377c60", - "metadata": {}, - "outputs": [], - "source": [ - "! wget -O \"llama2_paper.pdf\" -nc --user-agent=\"Mozilla\" https://arxiv.org/pdf/2307.09288.pdf" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "be053f41", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain.document_loaders import UnstructuredFileLoader\n", - "loader = UnstructuredFileLoader(\"llama2_paper.pdf\")\n", - "data = loader.load()" - ] - }, - { - "cell_type": "markdown", - "id": "b909dd82", - "metadata": {}, - "source": [ - "### Step 4: Transform Documents [*(Retrieval)*](https://python.langchain.com/docs/modules/data_connection/)\n", - "Once documents have been loaded, they are often transformed. One method of transformation is known as **chunking**, which breaks down large pieces of text, for example, a long document, into smaller segments. This technique is valuable because it helps [optimize the relevance of the content returned from the vector database](https://www.pinecone.io/learn/chunking-strategies/). \n", - "\n", - "LangChain provides a [variety of document transformers](https://python.langchain.com/docs/integrations/document_transformers/), such as text splitters. In this example, we use a [``SentenceTransformersTokenTextSplitter``](https://api.python.langchain.com/en/latest/sentence_transformers/langchain_text_splitters.sentence_transformers.SentenceTransformersTokenTextSplitter.html). The ``SentenceTransformersTokenTextSplitter`` is a specialized text splitter for use with the sentence-transformer models. The default behaviour is to split the text into chunks that fit the token window of the sentence transformer model that you would like to use. This sentence transformer model is used to generate the embeddings from documents. \n", - "\n", - "There are some nuanced complexities to text splitting since semantically related text, in theory, should be kept together. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bfab1d35", - "metadata": {}, - "outputs": [], - "source": [ - "import time\n", - "from langchain.text_splitter import SentenceTransformersTokenTextSplitter\n", - "TEXT_SPLITTER_MODEL = \"intfloat/e5-large-v2\"\n", - "TEXT_SPLITTER_TOKENS_PER_CHUNK = 510\n", - "TEXT_SPLITTER_CHUNCK_OVERLAP = 200\n", - "\n", - "text_splitter = SentenceTransformersTokenTextSplitter(\n", - " model_name=TEXT_SPLITTER_MODEL,\n", - " tokens_per_chunk=TEXT_SPLITTER_TOKENS_PER_CHUNK,\n", - " chunk_overlap=TEXT_SPLITTER_CHUNCK_OVERLAP,\n", - ")\n", - "start_time = time.time()\n", - "documents = text_splitter.split_documents(data)\n", - "print(f\"--- {time.time() - start_time} seconds ---\")" - ] - }, - { - "cell_type": "markdown", - "id": "cbe64e4e", - "metadata": {}, - "source": [ - "Let's view a sample of content that is chunked together in the documents." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4b48d697", - "metadata": {}, - "outputs": [], - "source": [ - "documents[40].page_content" - ] - }, - { - "cell_type": "markdown", - "id": "0243c9b5", - "metadata": {}, - "source": [ - "### Step 5: Generate Embeddings and Store Embeddings in the Vector Store [*(Retrieval)*](https://python.langchain.com/docs/modules/data_connection/)\n", - "\n", - "#### a) Generate Embeddings\n", - "[Embeddings](https://python.langchain.com/docs/modules/data_connection/text_embedding/) for documents are created by vectorizing the document text; this vectorization captures the semantic meaning of the text. This allows you to quickly and efficiently find other pieces of text that are similar. The embedding model used below is [intfloat/e5-large-v2](https://huggingface.co/intfloat/e5-large-v2).\n", - "\n", - "LangChain provides a wide variety of [embedding models](https://python.langchain.com/docs/integrations/text_embedding) from many providers and makes it simple to swap out the models. \n", - "\n", - "When a user sends in their query, the query is also embedded using the same embedding model that was used to embed the documents. As explained earlier, this allows to find similar (relevant) documents to the user's query. \n", - "\n", - "#### b) Store Document Embeddings in the Vector Store\n", - "Once the document embeddings are generated, they are stored in a vector store so that at query time we can:\n", - "1) Embed the user query and\n", - "2) Retrieve the embedding vectors that are most similar to the embedding query.\n", - "\n", - "A vector store takes care of storing the embedded data and performing a vector search.\n", - "\n", - "LangChain provides support for a [great selection of vector stores](https://python.langchain.com/docs/integrations/vectorstores/). \n", - "\n", - "
\n", - " \n", - "⚠️ For this workflow, [Milvus](https://milvus.io/) vector database is running as a microservice. \n", - "\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "88520151", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain.embeddings import HuggingFaceEmbeddings\n", - "from langchain.vectorstores import Milvus\n", - "import torch\n", - "import time\n", - "\n", - "#Running the model on CPU as we want to conserve gpu memory.\n", - "#In the production deployment (API server shown as part of the 5th notebook we run the model on GPU)\n", - "model_name = \"intfloat/e5-large-v2\"\n", - "model_kwargs = {\"device\": \"cpu\"}\n", - "encode_kwargs = {\"normalize_embeddings\": False}\n", - "hf_embeddings = HuggingFaceEmbeddings(\n", - " model_name=model_name,\n", - " model_kwargs=model_kwargs,\n", - " encode_kwargs=encode_kwargs,\n", - ")\n", - "start_time = time.time()\n", - "vectorstore = Milvus.from_documents(documents=documents, embedding=hf_embeddings, connection_args={\"host\": \"milvus\", \"port\": \"19530\"})\n", - "print(f\"--- {time.time() - start_time} seconds ---\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "59e4764f", - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "# Simple Example: Retrieve Documents from the Vector Database\n", - "# note: this is just for demonstration purposes of a similarity search\n", - "question = \"Can you talk about safety evaluation of llama2 chat?\"\n", - "docs = vectorstore.similarity_search(question)\n", - "print(docs[2].page_content)" - ] - }, - { - "cell_type": "markdown", - "id": "352708d2", - "metadata": {}, - "source": [ - " > ### Simple Example: Retrieve Documents from the Vector Database [*(Retrieval)*](https://python.langchain.com/docs/modules/data_connection/)\n", - ">Given a user query, relevant splits for the question are returned through a **similarity search**. This is also known as a semantic search, and it is done with meaning. It is different from a lexical search, where the search engine looks for literal matches of the query words or variants of them, without understanding the overall meaning of the query. A semantic search tends to generate more relevant results than a lexical search.\n", - "![vector_stores.jpeg](./imgs/vector_stores.jpeg)" - ] - }, - { - "cell_type": "markdown", - "id": "50d81f63", - "metadata": {}, - "source": [ - "### Step 6: Compose a streamed answer using a Chain\n", - "We have already integrated the Llama2 TRT LLM with the help of LangChain connector, loaded and transformed documents, and generated and stored document embeddings in a vector database. To finish the pipeline, we need to add a few more LangChain components and combine all the components together with a [chain](https://python.langchain.com/docs/modules/chains/).\n", - "\n", - "A [LangChain chain](https://python.langchain.com/docs/modules/chains/) combines components together. In this case, we use [Langchain Expression Language](https://python.langchain.com/docs/expression_language/why) to build a chain.\n", - "\n", - "We formulate the prompt placeholders (context and question) and pipe it to our trt-llm connector as shown below and finally stream the result." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8bdb143b", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain_core.runnables import RunnablePassthrough\n", - "import time\n", - "\n", - "chain = (\n", - " {\"context\": vectorstore.as_retriever(), \"question\": RunnablePassthrough()}\n", - " | LLAMA_PROMPT\n", - " | llm\n", - ")\n", - "start_time = time.time()\n", - "for token in chain.stream(question):\n", - " print(token, end=\"\", flush=True)\n", - "print(f\"\\n--- {time.time() - start_time} seconds ---\")" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.6" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/notebooks/08_Option(1)_llama_index_with_NVIDIA_AI_endpoint.ipynb b/notebooks/03_Option(1)_llama_index_with_NVIDIA_AI_endpoint.ipynb old mode 100755 new mode 100644 similarity index 98% rename from notebooks/08_Option(1)_llama_index_with_NVIDIA_AI_endpoint.ipynb rename to notebooks/03_Option(1)_llama_index_with_NVIDIA_AI_endpoint.ipynb index f361a8c08..56769a71b --- a/notebooks/08_Option(1)_llama_index_with_NVIDIA_AI_endpoint.ipynb +++ b/notebooks/03_Option(1)_llama_index_with_NVIDIA_AI_endpoint.ipynb @@ -107,7 +107,7 @@ "nv_embedding = NVIDIAEmbeddings(model=\"ai-embed-qa-4\")\n", "li_embedding=LangchainEmbedding(nv_embedding)\n", "# Alternatively, if you want to specify whether it will use the query or passage type\n", - "# embedder = NVIDIAEmbeddings(model=\"nvolveqa_40k\", model_type=\"passage\")\n" + "# embedder = NVIDIAEmbeddings(model=\"ai-embed-qa-4\", model_type=\"passage\")\n" ] }, { diff --git a/notebooks/08_Option(2)_llama_index_with_HF_local_LLM.ipynb b/notebooks/03_Option(2)_llama_index_with_HF_local_LLM.ipynb similarity index 100% rename from notebooks/08_Option(2)_llama_index_with_HF_local_LLM.ipynb rename to notebooks/03_Option(2)_llama_index_with_HF_local_LLM.ipynb diff --git a/notebooks/03_llama_index_simple.ipynb b/notebooks/03_llama_index_simple.ipynb deleted file mode 100644 index 93f5749c7..000000000 --- a/notebooks/03_llama_index_simple.ipynb +++ /dev/null @@ -1,463 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "d7bbdbd7", - "metadata": {}, - "source": [ - "# Q&A with LlamaIndex\n", - "\n", - "This notebook demonstrates how to use [LlamaIndex](https://docs.llamaindex.ai/en/stable/) to build a chatbot that references a custom knowledge base. \n", - "\n", - "Suppose you have some text documents (PDF, blog, Notion pages, etc.) and want to ask questions related to the contents of those documents. LLMs, given their proficiency in understanding text, are a great tool for this. \n", - "\n", - "
\n", - " \n", - "⚠️ The notebook before this one, `02_langchain_index_simple.ipynb`, contains the same functionality as this notebook but uses some LangChain components instead of LlamaIndex components. \n", - "\n", - "Concepts that are used in this notebook are explained in-depth in the previous notebook. If you are new to retrieval augmented generation, it is recommended to go through the previous notebook before this one. \n", - "\n", - "Ultimately, we recommend reading about LangChain vs. LlamaIndex and picking the software/components of the software that makes the most sense to you. This is discussed a bit further below. \n", - "\n", - "
\n", - "\n", - "### [LlamaIndex](https://docs.llamaindex.ai/en/stable/)\n", - "[**LlamaIndex**](https://docs.llamaindex.ai/en/stable/) is a data framework for LLM applications to ingest, structure, and access private or domain-specific data. Since LLMs are both only trained up to a fixed point in time and do not contain knowledge that is proprietary to an Enterprise, they can't answer questions about new or proprietary knowledge. LlamaIndex helps solve this problem by providing data connectors to ingest data, indices to structure data for storage, and engines to communicate with data. \n", - "\n", - "\n", - "### [LlamaIndex](https://docs.llamaindex.ai/en/stable/) or [LangChain](https://python.langchain.com/docs/get_started/introduction)?\n", - "\n", - "It's recommended to read more about the unique strengths of both LlamaIndex and LangChain. At a high level, LangChain is a more general framework for building applications with LLMs. LangChain is (currently) more mature when it comes to multi-step chains and some other chat functionality such as conversational memory. LlamaIndex has plenty of overlap with LangChain, but is particularly strong for loading data from a wide variety of sources and indexing/querying tasks. \n", - "\n", - "Since LlamaIndex can be used *with* LangChain, the frameworks' unique capabilities can be leveraged together; the combination of the two is demonstrated in this notebook.\n" - ] - }, - { - "cell_type": "markdown", - "id": "953946f1", - "metadata": {}, - "source": [ - "### Step 1: Integrate TensorRT-LLM to LangChain *and* LlamaIndex\n", - "#### Customized LangChain LLM in LlamaIndex\n", - "Langchain allows you to create custom wrappers for your LLM in case you want to use your own LLM or a different wrapper than the one that is supported in LangChain. Since we are using LlamaIndex, we have written a custom langchain wrapper compatible with LlamaIndex.\n", - "\n", - "We can easily take a custom LLM that has been wrapped for LangChain and plug it into [LlamaIndex as an LLM](https://docs.llamaindex.ai/en/stable/understanding/using_llms/using_llms.html#using-llms)! We use the [LlamaIndex LangChainLLM library](https://docs.llamaindex.ai/en/v0.9.48/api_reference/llms/langchain.html) so the LangChain LLM can be used in LlamaIndex. \n", - "\n", - "
\n", - " \n", - "WARNING! Be sure to replace `server_url` with the address and port that Triton is running on. \n", - "\n", - "
\n", - "\n", - "Use the address and port that the Triton is available on; for example `localhost:8001`. **If you are running this notebook as part of the generative ai workflow, your can use the existing url.**" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "7919fd82", - "metadata": {}, - "outputs": [], - "source": [ - "from triton_trt_llm import TensorRTLLM\n", - "from llama_index.llms import LangChainLLM\n", - "trtllm =TensorRTLLM(server_url =\"llm:8001\", model_name=\"ensemble\", tokens=500)\n", - "llm = LangChainLLM(llm=trtllm)" - ] - }, - { - "cell_type": "markdown", - "id": "18600300", - "metadata": {}, - "source": [ - "### Step 2: Create a Prompt Template\n", - "\n", - "A [**prompt template**](https://docs.llamaindex.ai/en/stable/module_guides/models/prompts.html) is a common paradigm in LLM development.\n", - "\n", - "They are a pre-defined set of instructions provided to the LLM and guide the output produced by the model. They can contain few shot examples and guidance and are a quick way to engineer the responses from the LLM. Llama 2 accepts the [prompt format](https://huggingface.co/blog/llama2#how-to-prompt-llama-2) shown in `LLAMA_PROMPT_TEMPLATE`, which we manipulate to be constructed with:\n", - "- The system prompt\n", - "- The context\n", - "- The user's question\n", - " \n", - "Much like LangChain's abstraction of prompts, LlamaIndex has similar abstractions for you to create prompts." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "4fa60e49", - "metadata": {}, - "outputs": [], - "source": [ - "from llama_index import Prompt\n", - "\n", - "LLAMA_PROMPT_TEMPLATE = (\n", - " \"[INST] <>\"\n", - " \"Use the following context to answer the user's question. If you don't know the answer, just say that you don't know, don't try to make up an answer.\"\n", - " \"<>\"\n", - " \"[INST] Context: {context_str} Question: {query_str} Only return the helpful answer below and nothing else. Helpful answer:[/INST]\"\n", - ")\n", - "\n", - "qa_template = Prompt(LLAMA_PROMPT_TEMPLATE)" - ] - }, - { - "cell_type": "markdown", - "id": "6063c0e0", - "metadata": {}, - "source": [ - "### Step 3: Load Documents\n", - "\n", - "
\n", - "\n", - "
\n", - "\n", - "LlamaIndex provides [**data loaders**](https://docs.llamaindex.ai/en/stable/module_guides/loading/connector/root.html#data-connectors-llamahub) through Llama Hub.\n", - "These allow for custom data sources to be connected to your LLM using integrations.\n", - "For example, integrations are available to load documents from\n", - "Jira,\n", - "Outlook Calendar,\n", - "Slack,\n", - "Trello, and many other applications. \n", - "\n", - "At the core of each data loader is a `download_loader` function which downloads the loader file into a module that you can use in your application. Once the loader is downloaded, data is ingested through the loader. The output of this ingestion is data formatted as a LlamaIndex [**Document**](https://docs.llamaindex.ai/en/stable/module_guides/loading/documents_and_nodes/root.html#documents-nodes) (text and metadata). \n", - "\n", - "Similar to the previous notebook with LangChain, an [`UnstructuredReader`](https://llamahub.ai/l/readers/llama-index-readers-file) is used in this example. However, this time it's from from [Llama Hub](https://llamahub.ai/) (LlamaIndex). Again, we load a research paper about Llama2 from Meta. \n", - "\n", - "[Here](https://python.langchain.com/docs/integrations/document_loaders) are some of the other document loaders available from LangChain." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "4f14d618", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "File ‘llama2_paper.pdf’ already there; not retrieving.\n" - ] - } - ], - "source": [ - "! wget -O \"llama2_paper.pdf\" -nc --user-agent=\"Mozilla\" https://arxiv.org/pdf/2307.09288.pdf" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "81fe0d1c", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[nltk_data] Downloading package punkt to /root/nltk_data...\n", - "[nltk_data] Package punkt is already up-to-date!\n", - "[nltk_data] Downloading package averaged_perceptron_tagger to\n", - "[nltk_data] /root/nltk_data...\n", - "[nltk_data] Package averaged_perceptron_tagger is already up-to-\n", - "[nltk_data] date!\n" - ] - } - ], - "source": [ - "from llama_hub.file.unstructured.base import UnstructuredReader\n", - "import time\n", - "\n", - "loader = UnstructuredReader()\n", - "start_time = time.time()\n", - "documents = loader.load_data(file=\"llama2_paper.pdf\")\n", - "print(f\"--- {time.time() - start_time} seconds ---\")" - ] - }, - { - "cell_type": "markdown", - "id": "068e61bd", - "metadata": {}, - "source": [ - "### Step 4: Transform Documents with Text Splitting and a Node Parser\n", - "#### a) Generate Embeddings \n", - "Once documents have been loaded, they are often transformed. One method of transformation is known as **chunking**, which breaks down large pieces of text, for example, a long document, into smaller segments. This technique is valuable because it helps [optimize the relevance of the content returned from the vector database](https://www.pinecone.io/learn/chunking-strategies/). \n", - "\n", - "This is the same process as the previous notebook; again, we use a LangChain text splitter. In this example, we use a [``SentenceTransformersTokenTextSplitter``](https://api.python.langchain.com/en/latest/sentence_transformers/langchain_text_splitters.sentence_transformers.SentenceTransformersTokenTextSplitter.html). The ``SentenceTransformersTokenTextSplitter`` is a specialized text splitter for use with the sentence-transformer models. The default behavior is to split the text into chunks that fit the token window of the sentence transformer model that you would like to use. This sentence transformer model is used to generate the embeddings from documents.\n", - "\n", - "There are some nuanced complexities to text splitting since semantically related text, in theory, should be kept together. \n", - "\n", - "To use the Langchain's `SentenceTransformersTokenTextSplitter` with LlamaIndex we use the [**Langchain node parser**](https://docs.llamaindex.ai/en/stable/module_guides/loading/node_parsers/modules.html#langchainnodeparser) on top of the text splitter from LangChain. This is not required, but since LlamaIndex provides a [**node structure**](https://docs.llamaindex.ai/en/stable/module_guides/loading/documents_and_nodes/root.html#documents-nodes), we choose to use this functionality to level up our storage of documents. \n", - "\n", - "**Nodes** represent chunks of source documents, but they also contain metadata and relationship information with other nodes and index structures. Since nodes provide these additional forms of hierarchy and connections across the data, they can help generate more accurate answers upon retrieval." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "cdcd2b05", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/usr/local/lib/python3.10/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", - " from .autonotebook import tqdm as notebook_tqdm\n" - ] - } - ], - "source": [ - "from langchain.text_splitter import SentenceTransformersTokenTextSplitter\n", - "from llama_index.node_parser import LangchainNodeParser\n", - "\n", - "\n", - "TEXT_SPLITTER_MODEL = \"intfloat/e5-large-v2\"\n", - "TEXT_SPLITTER_TOKENS_PER_CHUNK = 510\n", - "TEXT_SPLITTER_CHUNCK_OVERLAP = 200\n", - "\n", - "text_splitter = SentenceTransformersTokenTextSplitter(\n", - " model_name=TEXT_SPLITTER_MODEL,\n", - " tokens_per_chunk=TEXT_SPLITTER_TOKENS_PER_CHUNK,\n", - " chunk_overlap=TEXT_SPLITTER_CHUNCK_OVERLAP,\n", - ")\n", - "\n", - "node_parser = LangchainNodeParser(text_splitter)" - ] - }, - { - "cell_type": "markdown", - "id": "2b27c7b7", - "metadata": {}, - "source": [ - "Additionally, we use a LlamaIndex [``PromptHelper``](https://docs.llamaindex.ai/en/stable/api_reference/service_context/prompt_helper.html) to help deal with LLM context window token limitations. It calculates available context size to the LLM by taking the initial context token length and subtracting out reserved token space for the prompt template and output. It provides a utility for re-packing text chunks from the index to maximally use the context window to minimize requests sent to the LLM.\n", - "\n", - "- ``context_window``: context window for the LLM -- the context length for Llama2 is 4k tokens\n", - "- ``num_ouptut``: number of output tokens for the LLM\n", - "- ``chunk_overlap_ratio``: chunk overlap as a ratio to chunk size\n", - "- ``chunk_size_limit``: maximum chunk size to use" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "1f429667", - "metadata": {}, - "outputs": [], - "source": [ - "from llama_index import PromptHelper\n", - "\n", - "prompt_helper = PromptHelper(\n", - " context_window=4096,\n", - " num_output=256,\n", - " chunk_overlap_ratio=0.1,\n", - " chunk_size_limit=None\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "ca97830a", - "metadata": {}, - "source": [ - "### Step 5: Generate and Store Embeddings\n", - "#### a) Generate Embeddings \n", - "[Embeddings](https://docs.llamaindex.ai/en/stable/module_guides/models/embeddings.html#embeddings) for documents are created by vectorizing the document text; this vectorization captures the semantic meaning of the text. This allows you to quickly and efficiently find other pieces of text that are similar. \n", - "\n", - "When a user sends in their query, the query is also embedded using the same embedding model that was used to embed the documents. As explained earlier, this allows us to find similar (relevant) documents to the user's query. \n", - "\n", - "Like other sections in this notebook, we can easily take a LangChain embedding object and use with LlamaIndex. We use the [LangchainEmbedding library](https://docs.llamaindex.ai/en/stable/api_reference/service_context/embeddings.html#langchainembedding), which acts as a wrapper around Langchain's embedding models. " - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "0fa4c0fd", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain.embeddings import HuggingFaceEmbeddings\n", - "from llama_index.embeddings import LangchainEmbedding\n", - "\n", - "#Running the model on CPU as we want to conserve gpu memory.\n", - "#In the production deployment (API server shown as part of the 5th notebook we run the model on GPU)\n", - "model_name=\"intfloat/e5-large-v2\"\n", - "model_kwargs = {\"device\": \"cpu\"}\n", - "encode_kwargs = {\"normalize_embeddings\": False}\n", - "hf_embeddings = HuggingFaceEmbeddings(\n", - " model_name=model_name,\n", - " model_kwargs=model_kwargs,\n", - " encode_kwargs=encode_kwargs,\n", - ")\n", - "# Load in a specific embedding model\n", - "embed_model = LangchainEmbedding(hf_embeddings)" - ] - }, - { - "cell_type": "markdown", - "id": "22aa461b", - "metadata": {}, - "source": [ - "#### b) Store Embeddings \n", - "\n", - "LlamaIndex provides a supporting module, [`ServiceContext`](https://docs.llamaindex.ai/en/v0.10.19/api_reference/service_context.html), to bundle commonly used resources during the indexing and querying stage. In this example, we bundle resources we've built: the LLM, the embedding model, the node parser, and the prompt helper. " - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "4a11b80f", - "metadata": {}, - "outputs": [], - "source": [ - "from llama_index import ServiceContext\n", - "service_context = ServiceContext.from_defaults(\n", - " llm=llm,\n", - " embed_model=embed_model,\n", - " node_parser=node_parser,\n", - " prompt_helper=prompt_helper\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "c14162d7", - "metadata": {}, - "source": [ - "Set the service context globally, to avoid passing it to every llm call/" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "48d000dd", - "metadata": {}, - "outputs": [], - "source": [ - "from llama_index import set_global_service_context\n", - "set_global_service_context(service_context)" - ] - }, - { - "cell_type": "markdown", - "id": "7584850f", - "metadata": {}, - "source": [ - "
\n", - " \n", - "⚠️ in the deployment of this workflow, [Milvus](https://milvus.io/) is running as a vector database microservice.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "50b5fbfc", - "metadata": {}, - "outputs": [], - "source": [ - "from llama_index import VectorStoreIndex\n", - "from llama_index.storage.storage_context import StorageContext\n", - "from llama_index.vector_stores import MilvusVectorStore\n", - "\n", - "vector_store = MilvusVectorStore(uri=\"http://milvus:19530\", dim=1024, overwrite=False)\n", - "storage_context = StorageContext.from_defaults(vector_store=vector_store)\n", - "index = VectorStoreIndex.from_vector_store(vector_store)" - ] - }, - { - "cell_type": "markdown", - "id": "6af82726", - "metadata": {}, - "source": [ - "Let's load the documents into the vector database index" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b49c4acf", - "metadata": {}, - "outputs": [], - "source": [ - "import time\n", - "start_time = time.time()\n", - "nodes = node_parser.get_nodes_from_documents(documents)\n", - "index.insert_nodes(nodes)\n", - "print(f\"--- {time.time() - start_time} seconds ---\")" - ] - }, - { - "cell_type": "markdown", - "id": "126cda61", - "metadata": {}, - "source": [ - "### Step 6: Build the Query Engine and Stream Response\n", - "\n", - "#### a) Build the Query Engine\n", - "\n", - "A query engine is an object that takes in a query and returns a response. Each vector index has a default corresponding query engine; for example, the default query engine for a vector index performs a standard top-k retrieval over the vector store.\n", - "\n", - "A query engine contains the following components:\n", - "- Retriever\n", - "- Node PostProcessor\n", - "- Response Synthesizer " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cd24b951", - "metadata": {}, - "outputs": [], - "source": [ - "query_engine = index.as_query_engine(text_qa_template=qa_template, streaming=True)" - ] - }, - { - "cell_type": "markdown", - "id": "90b61943", - "metadata": {}, - "source": [ - "#### b) Stream a Response from the Query Engine\n", - "Lastly, we pass the query engine a user's question and stream the response. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "97a018d6", - "metadata": {}, - "outputs": [], - "source": [ - "import time\n", - "\n", - "start_time = time.time()\n", - "response = query_engine.query(\"what is the context length of llama2?\")\n", - "response.print_response_stream()\n", - "print(f\"\\n--- {time.time() - start_time} seconds ---\")" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.6" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/notebooks/09_Agent_use_tools_leveraging_NVIDIA_AI_endpoints.ipynb b/notebooks/04_Agent_use_tools_leveraging_NVIDIA_AI_endpoints.ipynb similarity index 100% rename from notebooks/09_Agent_use_tools_leveraging_NVIDIA_AI_endpoints.ipynb rename to notebooks/04_Agent_use_tools_leveraging_NVIDIA_AI_endpoints.ipynb diff --git a/notebooks/04_llamaindex_hier_node_parser.ipynb b/notebooks/04_llamaindex_hier_node_parser.ipynb deleted file mode 100644 index 100ac1dd5..000000000 --- a/notebooks/04_llamaindex_hier_node_parser.ipynb +++ /dev/null @@ -1,463 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "be350003", - "metadata": {}, - "source": [ - "# Advanced Q&A with LlamaIndex\n", - "\n", - "This notebook demonstrates how to use [LlamaIndex](https://docs.llamaindex.ai/en/stable/) to build a more complex retrieval for a chatbot. \n", - "\n", - "The retrieval method shown in this notebook works well for code documentation; it retrieves more contiguous document blocks that preserve both code snippets and explanations of code. \n", - "\n", - "
\n", - " \n", - "⚠️ There are many node parsing and retrieval techniques supported in LlamaIndex and this notebook just shows how two of these techniques, [HierarchialNodeParser](https://docs.llamaindex.ai/en/stable/api_reference/service_context/node_parser.html) and [AutoMergingRetriever](https://docs.llamaindex.ai/en/stable/examples/retrievers/auto_merging_retriever.html), can be useful for chatting with code documentation. \n", - "
\n", - "\n", - "In this demo, we'll use the [`llama_docs_bot`](https://github.com/run-llama/llama_docs_bot/tree/main) GitHub repository as our sample documentation to query. This repository contains the content for a development series with LlamaIndex covering the following topics: \n", - "- LLMs\n", - "- Nodes and documents\n", - "- Evaluation\n", - "- Embeddings\n", - "- Retrieval" - ] - }, - { - "cell_type": "markdown", - "id": "547a35c9", - "metadata": {}, - "source": [ - "### Step 1: Prerequisite Setup\n", - "By now you should be familiar with these steps:\n", - "1. Create an LLM client.\n", - "2. Set the prompt template for the LLM.\n", - "3. Download embeddings.\n", - "4. Set the service context.\n", - "5. Split the text\n", - "\n", - "
\n", - " \n", - "WARNING! Be sure to replace `server_url` with the address and port that Triton is running on. \n", - "\n", - "
\n", - "\n", - "Use the address and port that the Triton is available on; for example `localhost:8001`. **If you are running this notebook as part of the generative ai workflow, you can use the existing url." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "df278873", - "metadata": {}, - "outputs": [], - "source": [ - "from triton_trt_llm import TensorRTLLM\n", - "from llama_index.llms import LangChainLLM\n", - "trtllm =TensorRTLLM(server_url =\"llm:8001\", model_name=\"ensemble\", tokens=500)\n", - "llm = LangChainLLM(llm=trtllm)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "80b01c15", - "metadata": {}, - "outputs": [], - "source": [ - "from llama_index import Prompt\n", - "\n", - "LLAMA_PROMPT_TEMPLATE = (\n", - " \"[INST] <>\"\n", - " \"Use the following context to answer the user's question. If you don't know the answer, just say that you don't know, don't try to make up an answer.\"\n", - " \"<>\"\n", - " \"[INST] Context: {context_str} Question: {query_str} Only return the helpful answer below and nothing else. Helpful answer:[/INST]\"\n", - ")\n", - "\n", - "qa_template = Prompt(LLAMA_PROMPT_TEMPLATE)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "30d8fb1e", - "metadata": {}, - "outputs": [], - "source": [ - "from langchain.embeddings import HuggingFaceEmbeddings\n", - "from llama_index.embeddings import LangchainEmbedding\n", - "from llama_index import ServiceContext, set_global_service_context\n", - "\n", - "model_kwargs = {\"device\": \"cpu\"}\n", - "encode_kwargs = {\"normalize_embeddings\": False}\n", - "hf_embeddings = HuggingFaceEmbeddings(\n", - " model_name=\"intfloat/e5-large-v2\",\n", - " model_kwargs=model_kwargs,\n", - " encode_kwargs=encode_kwargs,\n", - ")\n", - "# Load in a specific embedding model\n", - "embed_model = LangchainEmbedding(hf_embeddings)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c47d0437", - "metadata": {}, - "outputs": [], - "source": [ - "service_context = ServiceContext.from_defaults(\n", - " llm=llm,\n", - " embed_model=embed_model\n", - ")\n", - "set_global_service_context(service_context)" - ] - }, - { - "cell_type": "markdown", - "id": "eb9b7488", - "metadata": {}, - "source": [ - "When splitting the text, we split it into a parent node of 1024 tokens and two children nodes of 510 tokens. Our leaf nodes' maximum size is 512 tokens, so we need to make the largest leaves that can exist under 512 tokens. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "797170a7", - "metadata": {}, - "outputs": [], - "source": [ - "from llama_index.text_splitter import TokenTextSplitter\n", - "text_splitter_ids = [\"1024\", \"510\"]\n", - "text_splitter_map = {}\n", - "for ids in text_splitter_ids:\n", - " text_splitter_map[ids] = TokenTextSplitter(\n", - " chunk_size=int(ids),\n", - " chunk_overlap=200\n", - " )" - ] - }, - { - "cell_type": "markdown", - "id": "c1395c0e", - "metadata": {}, - "source": [ - "### Step 2: Clone the Llama Docs Bot Repo \n", - "This repository will be our sample documentation that we chat with. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bbf2a3ae", - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "!git clone https://github.com/run-llama/llama_docs_bot.git" - ] - }, - { - "cell_type": "markdown", - "id": "e977334a", - "metadata": {}, - "source": [ - "### Step 3: Define Document Loading and Node Parsing Function\n", - "\n", - "Assuming hierarchical node parsing is set to true, this function:\n", - "- Parses each directory into a single giant document\n", - "- Chunks the document into a hierarchy of nodes with a top-level chunk size (1024) and children chunks that are smaller (aka **hierarchical node parsing**)\n", - " ```\n", - " 1024\n", - " /--------\\\n", - " 1024//2 1024//2\n", - "\n", - " ```\n", - "\n", - "#### Hierarchical Node Parser\n", - "The novel part of this step is using LlamaIndex's [**Hierarchical Node Parser**](https://docs.llamaindex.ai/en/stable/api/llama_index.core.node_parser.HierarchicalNodeParser.html#llama_index.core.node_parser.HierarchicalNodeParser). This parses nodes into several chunk sizes. \n", - "\n", - "During retrieval, if a majority of chunks are retrieved that have the same parent chunk, the larger parent chunk is returned instead of the smaller chunks.\n", - "\n", - "#### Simple Node Parser\n", - "If hierarchical parsing is false, a simple node structure is used and returned." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cff5b264", - "metadata": {}, - "outputs": [], - "source": [ - "from llama_index import SimpleDirectoryReader, Document\n", - "from llama_index.node_parser import HierarchicalNodeParser, SimpleNodeParser, get_leaf_nodes\n", - "from llama_index.schema import MetadataMode\n", - "from llama_docs_bot.llama_docs_bot.markdown_docs_reader import MarkdownDocsReader\n", - "\n", - "# This function takes in a directory of files, puts them in a giant document, and parses and returns them as:\n", - "# - a hierarchical node structure if it's a hierarchical implementation\n", - "# - a simple node structure if it's a non-hierarchial implementation\n", - "def load_markdown_docs(filepath, hierarchical=True):\n", - " \"\"\"Load markdown docs from a directory, excluding all other file types.\"\"\"\n", - " loader = SimpleDirectoryReader(\n", - " input_dir=filepath,\n", - " required_exts=[\".md\"],\n", - " file_extractor={\".md\": MarkdownDocsReader()},\n", - " recursive=True\n", - " )\n", - "\n", - " documents = loader.load_data()\n", - "\n", - " if hierarchical:\n", - " # combine all documents into one\n", - " documents = [\n", - " Document(text=\"\\n\\n\".join(\n", - " document.get_content(metadata_mode=MetadataMode.ALL)\n", - " for document in documents\n", - " )\n", - " )\n", - " ]\n", - "\n", - " # chunk into 3 levels\n", - " # majority means 2/3 are retrieved before using the parent\n", - " large_chunk_size = 1536\n", - " node_parser = HierarchicalNodeParser.from_defaults(node_parser_ids=text_splitter_ids, node_parser_map=text_splitter_map)\n", - "\n", - " nodes = node_parser.get_nodes_from_documents(documents)\n", - " return nodes, get_leaf_nodes(nodes)\n", - " ########## This is NOT a hierarchical parser for demonstration purposes later in the notebook ##########\n", - " else:\n", - " node_parser = SimpleNodeParser.from_defaults()\n", - " nodes = node_parser.get_nodes_from_documents(documents)\n", - " return nodes" - ] - }, - { - "cell_type": "markdown", - "id": "3905a5b6", - "metadata": {}, - "source": [ - "### Step 4: Load and Parse Documents with Node Parser \n", - "\n", - "First, we define all of the documentation directories we want to pull from. \n", - "\n", - "Next, we load the documentation and store parent nodes in a `SimpleDocumentStore` and leaf nodes in a `VectorStoreIndex`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6311a28d", - "metadata": {}, - "outputs": [], - "source": [ - "docs_directories = {\n", - " \"./llama_docs_bot/docs/community\": \"Useful for information on community integrations with other libraries, vector dbs, and frameworks.\",\n", - " \"./llama_docs_bot/docs/core_modules/agent_modules\": \"Useful for information on data agents and tools for data agents.\",\n", - " \"./llama_docs_bot/docs/core_modules/data_modules\": \"Useful for information on data, storage, indexing, and data processing modules.\",\n", - " \"./llama_docs_bot/docs/core_modules/model_modules\": \"Useful for information on LLMs, embedding models, and prompts.\",\n", - " \"./llama_docs_bot/docs/core_modules/query_modules\": \"Useful for information on various query engines and retrievers, and anything related to querying data.\",\n", - " \"./llama_docs_bot/docs/core_modules/supporting_modules\": \"Useful for information on supporting modules, like callbacks, evaluators, and other supporting modules.\",\n", - " \"./llama_docs_bot/docs/getting_started\": \"Useful for information on getting started with LlamaIndex.\",\n", - " \"./llama_docs_bot/docs/development\": \"Useful for information on contributing to LlamaIndex development.\",\n", - "}\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6ef673e8", - "metadata": {}, - "outputs": [], - "source": [ - "from llama_index import VectorStoreIndex,StorageContext, load_index_from_storage\n", - "from llama_index.query_engine import RetrieverQueryEngine\n", - "\n", - "from llama_index.tools import QueryEngineTool, ToolMetadata\n", - "from llama_index.storage.docstore import SimpleDocumentStore\n", - "import os\n", - "import time\n", - "\n", - "start_time = time.time()\n", - "for directory, description in docs_directories.items():\n", - " nodes, leaf_nodes = load_markdown_docs(directory, hierarchical=True)\n", - "\n", - " docstore = SimpleDocumentStore()\n", - " docstore.add_documents(nodes)\n", - " storage_context = StorageContext.from_defaults(docstore=docstore)\n", - "\n", - " index = VectorStoreIndex(leaf_nodes, storage_context=storage_context)\n", - " index.storage_context.persist(persist_dir=f\"./data_{os.path.basename(directory)}\")\n", - "\n", - "print(f\"--- {time.time() - start_time} seconds ---\")" - ] - }, - { - "cell_type": "markdown", - "id": "511e1c67", - "metadata": {}, - "source": [ - "### Step 5: Define Custom Node Post-Processor\n", - "\n", - "A [**Node PostProcessor**](https://docs.llamaindex.ai/en/stable/module_guides/querying/node_postprocessors/node_postprocessors.html#node-postprocessor-modules) takes a list of retrieved nodes and transforms them (filtering, replacement, etc). \n", - "\n", - "This custom node post-processor provides a simple approach to approximate token counts and returns the most nodes that fit within the token count (2500 tokens). Nodes are already sorted, so the most similar ones are returned first. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "546442b4", - "metadata": {}, - "outputs": [], - "source": [ - "from typing import Callable, Optional\n", - "\n", - "from llama_index.utils import globals_helper, get_tokenizer\n", - "from llama_index.schema import MetadataMode\n", - "\n", - "class LimitRetrievedNodesLength:\n", - "\n", - " def __init__(self, limit: int = 2500, tokenizer: Optional[Callable] = None):\n", - " self._tokenizer = tokenizer or get_tokenizer()\n", - "\n", - " self.limit = limit\n", - "\n", - " def postprocess_nodes(self, nodes, query_bundle):\n", - " included_nodes = []\n", - " current_length = 0\n", - "\n", - " for node in nodes:\n", - " current_length += len(self._tokenizer(node.node.get_content(metadata_mode=MetadataMode.LLM)))\n", - " if current_length > self.limit:\n", - " break\n", - " included_nodes.append(node)\n", - "\n", - " return included_nodes" - ] - }, - { - "cell_type": "markdown", - "id": "1fbddf64", - "metadata": {}, - "source": [ - "### Step 5: Build the Retriever and Query Engine\n", - "\n", - "#### AutoMergingRetriever\n", - "The [`AutoMergingRetriever`](https://docs.llamaindex.ai/en/stable/examples/retrievers/auto_merging_retriever.html) takes in a set of leaf nodes and recursively merges subsets of leaf nodes that reference a parent node beyond a given threshold. This allows for a consolidation of potentially disparate, smaller contexts into a larger context that may help synthesize disparate information. \n", - "\n", - "#### Query Engine\n", - "A query engine is an object that takes in a query and returns a response.\n", - "\n", - "It may contain the following components:\n", - "- **Retriever**: Given a query, retrieves relevant nodes.\n", - " - This example uses an `AutoMergingRetriever` if it's a hierarchial implementation.\n", - " *This replaces the retrieved nodes with the larger parent chunk*. \n", - "- **Node PostProcessor**: Takes a list of retrieved nodes and transforms them (filtering, replacement, etc.)\n", - " - This example uses a post-processor that filters the retrieved nodes to a limited length. \n", - "- **Response Synthesizer**: Takes a list of relevant nodes and synthesizes a response with an LLM." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a76d6820", - "metadata": {}, - "outputs": [], - "source": [ - "from llama_index.retrievers import AutoMergingRetriever\n", - "from llama_index.query_engine import RetrieverQueryEngine\n", - "\n", - "retriever = AutoMergingRetriever(\n", - " index.as_retriever(similarity_top_k=12),\n", - " storage_context=storage_context\n", - " )\n", - "\n", - "query_engine = RetrieverQueryEngine.from_args(\n", - " retriever,\n", - " text_qa_template=qa_template,\n", - " node_postprocessors=[LimitRetrievedNodesLength(limit=2500)],\n", - " streaming=True\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "b294862c", - "metadata": {}, - "source": [ - "### Step 6: Stream Response" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "695a42a1", - "metadata": {}, - "outputs": [], - "source": [ - "query = \"How do I setup a weaviate vector db? Give me a code sample please.\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7b319f0c", - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "import time\n", - "\n", - "start_time = time.time()\n", - "response = query_engine.query(query)\n", - "response.print_response_stream()\n", - "print(f\"\\n--- {time.time() - start_time} seconds ---\")" - ] - }, - { - "cell_type": "markdown", - "id": "5ec1e497", - "metadata": {}, - "source": [ - "To clear out cached data run:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9892b18a", - "metadata": {}, - "outputs": [], - "source": [ - "!rm -rf data_*" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.6" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/notebooks/10_RAG_for_HTML_docs_with_Langchain_NVIDIA_AI_Endpoints.ipynb b/notebooks/05_RAG_for_HTML_docs_with_Langchain_NVIDIA_AI_Endpoints.ipynb similarity index 55% rename from notebooks/10_RAG_for_HTML_docs_with_Langchain_NVIDIA_AI_Endpoints.ipynb rename to notebooks/05_RAG_for_HTML_docs_with_Langchain_NVIDIA_AI_Endpoints.ipynb index 2a9202fcc..2f945afbb 100644 --- a/notebooks/10_RAG_for_HTML_docs_with_Langchain_NVIDIA_AI_Endpoints.ipynb +++ b/notebooks/05_RAG_for_HTML_docs_with_Langchain_NVIDIA_AI_Endpoints.ipynb @@ -32,92 +32,10 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "fd4dcc8b", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com\n", - "Requirement already satisfied: langchain in /usr/local/lib/python3.10/dist-packages (0.1.9)\n", - "Requirement already satisfied: PyYAML>=5.3 in /usr/local/lib/python3.10/dist-packages (from langchain) (6.0)\n", - "Requirement already satisfied: SQLAlchemy<3,>=1.4 in /usr/local/lib/python3.10/dist-packages (from langchain) (2.0.29)\n", - "Requirement already satisfied: aiohttp<4.0.0,>=3.8.3 in /usr/local/lib/python3.10/dist-packages (from langchain) (3.9.3)\n", - "Requirement already satisfied: async-timeout<5.0.0,>=4.0.0 in /usr/local/lib/python3.10/dist-packages (from langchain) (4.0.2)\n", - "Requirement already satisfied: dataclasses-json<0.7,>=0.5.7 in /usr/local/lib/python3.10/dist-packages (from langchain) (0.6.4)\n", - "Requirement already satisfied: jsonpatch<2.0,>=1.33 in /usr/local/lib/python3.10/dist-packages (from langchain) (1.33)\n", - "Requirement already satisfied: langchain-community<0.1,>=0.0.21 in /usr/local/lib/python3.10/dist-packages (from langchain) (0.0.26)\n", - "Requirement already satisfied: langchain-core<0.2,>=0.1.26 in /usr/local/lib/python3.10/dist-packages (from langchain) (0.1.29)\n", - "Requirement already satisfied: langsmith<0.2.0,>=0.1.0 in /usr/local/lib/python3.10/dist-packages (from langchain) (0.1.39)\n", - "Requirement already satisfied: numpy<2,>=1 in /usr/local/lib/python3.10/dist-packages (from langchain) (1.22.2)\n", - "Requirement already satisfied: pydantic<3,>=1 in /usr/local/lib/python3.10/dist-packages (from langchain) (1.10.7)\n", - "Requirement already satisfied: requests<3,>=2 in /usr/local/lib/python3.10/dist-packages (from langchain) (2.31.0)\n", - "Requirement already satisfied: tenacity<9.0.0,>=8.1.0 in /usr/local/lib/python3.10/dist-packages (from langchain) (8.2.3)\n", - "Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.10/dist-packages (from aiohttp<4.0.0,>=3.8.3->langchain) (1.3.1)\n", - "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp<4.0.0,>=3.8.3->langchain) (23.1.0)\n", - "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from aiohttp<4.0.0,>=3.8.3->langchain) (1.3.3)\n", - "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.10/dist-packages (from aiohttp<4.0.0,>=3.8.3->langchain) (6.0.4)\n", - "Requirement already satisfied: yarl<2.0,>=1.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp<4.0.0,>=3.8.3->langchain) (1.9.2)\n", - "Requirement already satisfied: marshmallow<4.0.0,>=3.18.0 in /usr/local/lib/python3.10/dist-packages (from dataclasses-json<0.7,>=0.5.7->langchain) (3.21.1)\n", - "Requirement already satisfied: typing-inspect<1,>=0.4.0 in /usr/local/lib/python3.10/dist-packages (from dataclasses-json<0.7,>=0.5.7->langchain) (0.9.0)\n", - "Requirement already satisfied: jsonpointer>=1.9 in /usr/local/lib/python3.10/dist-packages (from jsonpatch<2.0,>=1.33->langchain) (2.4)\n", - "Requirement already satisfied: anyio<5,>=3 in /usr/local/lib/python3.10/dist-packages (from langchain-core<0.2,>=0.1.26->langchain) (3.7.1)\n", - "Requirement already satisfied: packaging<24.0,>=23.2 in /usr/local/lib/python3.10/dist-packages (from langchain-core<0.2,>=0.1.26->langchain) (23.2)\n", - "Requirement already satisfied: orjson<4.0.0,>=3.9.14 in /usr/local/lib/python3.10/dist-packages (from langsmith<0.2.0,>=0.1.0->langchain) (3.10.0)\n", - "Requirement already satisfied: typing-extensions>=4.2.0 in /usr/local/lib/python3.10/dist-packages (from pydantic<3,>=1->langchain) (4.10.0)\n", - "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests<3,>=2->langchain) (3.1.0)\n", - "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests<3,>=2->langchain) (3.4)\n", - "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests<3,>=2->langchain) (2.2.1)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests<3,>=2->langchain) (2022.12.7)\n", - "Requirement already satisfied: greenlet!=0.4.17 in /usr/local/lib/python3.10/dist-packages (from SQLAlchemy<3,>=1.4->langchain) (3.0.3)\n", - "Requirement already satisfied: sniffio>=1.1 in /usr/local/lib/python3.10/dist-packages (from anyio<5,>=3->langchain-core<0.2,>=0.1.26->langchain) (1.3.1)\n", - "Requirement already satisfied: exceptiongroup in /usr/local/lib/python3.10/dist-packages (from anyio<5,>=3->langchain-core<0.2,>=0.1.26->langchain) (1.1.1)\n", - "Requirement already satisfied: mypy-extensions>=0.3.0 in /usr/local/lib/python3.10/dist-packages (from typing-inspect<1,>=0.4.0->dataclasses-json<0.7,>=0.5.7->langchain) (1.0.0)\n", - "\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\u001b[0m\u001b[33m\n", - "\u001b[0mLooking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com\n", - "Requirement already satisfied: langchain_nvidia_ai_endpoints in /usr/local/lib/python3.10/dist-packages (0.0.4)\n", - "Requirement already satisfied: aiohttp<4.0.0,>=3.9.1 in /usr/local/lib/python3.10/dist-packages (from langchain_nvidia_ai_endpoints) (3.9.3)\n", - "Requirement already satisfied: langchain-core<0.2.0,>=0.1.5 in /usr/local/lib/python3.10/dist-packages (from langchain_nvidia_ai_endpoints) (0.1.29)\n", - "Requirement already satisfied: pillow<11.0.0,>=10.0.0 in /usr/local/lib/python3.10/dist-packages (from langchain_nvidia_ai_endpoints) (10.3.0)\n", - "Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.10/dist-packages (from aiohttp<4.0.0,>=3.9.1->langchain_nvidia_ai_endpoints) (1.3.1)\n", - "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp<4.0.0,>=3.9.1->langchain_nvidia_ai_endpoints) (23.1.0)\n", - "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from aiohttp<4.0.0,>=3.9.1->langchain_nvidia_ai_endpoints) (1.3.3)\n", - "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.10/dist-packages (from aiohttp<4.0.0,>=3.9.1->langchain_nvidia_ai_endpoints) (6.0.4)\n", - "Requirement already satisfied: yarl<2.0,>=1.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp<4.0.0,>=3.9.1->langchain_nvidia_ai_endpoints) (1.9.2)\n", - "Requirement already satisfied: async-timeout<5.0,>=4.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp<4.0.0,>=3.9.1->langchain_nvidia_ai_endpoints) (4.0.2)\n", - "Requirement already satisfied: PyYAML>=5.3 in /usr/local/lib/python3.10/dist-packages (from langchain-core<0.2.0,>=0.1.5->langchain_nvidia_ai_endpoints) (6.0)\n", - "Requirement already satisfied: anyio<5,>=3 in /usr/local/lib/python3.10/dist-packages (from langchain-core<0.2.0,>=0.1.5->langchain_nvidia_ai_endpoints) (3.7.1)\n", - "Requirement already satisfied: jsonpatch<2.0,>=1.33 in /usr/local/lib/python3.10/dist-packages (from langchain-core<0.2.0,>=0.1.5->langchain_nvidia_ai_endpoints) (1.33)\n", - "Requirement already satisfied: langsmith<0.2.0,>=0.1.0 in /usr/local/lib/python3.10/dist-packages (from langchain-core<0.2.0,>=0.1.5->langchain_nvidia_ai_endpoints) (0.1.39)\n", - "Requirement already satisfied: packaging<24.0,>=23.2 in /usr/local/lib/python3.10/dist-packages (from langchain-core<0.2.0,>=0.1.5->langchain_nvidia_ai_endpoints) (23.2)\n", - "Requirement already satisfied: pydantic<3,>=1 in /usr/local/lib/python3.10/dist-packages (from langchain-core<0.2.0,>=0.1.5->langchain_nvidia_ai_endpoints) (1.10.7)\n", - "Requirement already satisfied: requests<3,>=2 in /usr/local/lib/python3.10/dist-packages (from langchain-core<0.2.0,>=0.1.5->langchain_nvidia_ai_endpoints) (2.31.0)\n", - "Requirement already satisfied: tenacity<9.0.0,>=8.1.0 in /usr/local/lib/python3.10/dist-packages (from langchain-core<0.2.0,>=0.1.5->langchain_nvidia_ai_endpoints) (8.2.3)\n", - "Requirement already satisfied: idna>=2.8 in /usr/local/lib/python3.10/dist-packages (from anyio<5,>=3->langchain-core<0.2.0,>=0.1.5->langchain_nvidia_ai_endpoints) (3.4)\n", - "Requirement already satisfied: sniffio>=1.1 in /usr/local/lib/python3.10/dist-packages (from anyio<5,>=3->langchain-core<0.2.0,>=0.1.5->langchain_nvidia_ai_endpoints) (1.3.1)\n", - "Requirement already satisfied: exceptiongroup in /usr/local/lib/python3.10/dist-packages (from anyio<5,>=3->langchain-core<0.2.0,>=0.1.5->langchain_nvidia_ai_endpoints) (1.1.1)\n", - "Requirement already satisfied: jsonpointer>=1.9 in /usr/local/lib/python3.10/dist-packages (from jsonpatch<2.0,>=1.33->langchain-core<0.2.0,>=0.1.5->langchain_nvidia_ai_endpoints) (2.4)\n", - "Requirement already satisfied: orjson<4.0.0,>=3.9.14 in /usr/local/lib/python3.10/dist-packages (from langsmith<0.2.0,>=0.1.0->langchain-core<0.2.0,>=0.1.5->langchain_nvidia_ai_endpoints) (3.10.0)\n", - "Requirement already satisfied: typing-extensions>=4.2.0 in /usr/local/lib/python3.10/dist-packages (from pydantic<3,>=1->langchain-core<0.2.0,>=0.1.5->langchain_nvidia_ai_endpoints) (4.10.0)\n", - "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests<3,>=2->langchain-core<0.2.0,>=0.1.5->langchain_nvidia_ai_endpoints) (3.1.0)\n", - "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests<3,>=2->langchain-core<0.2.0,>=0.1.5->langchain_nvidia_ai_endpoints) (2.2.1)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests<3,>=2->langchain-core<0.2.0,>=0.1.5->langchain_nvidia_ai_endpoints) (2022.12.7)\n", - "\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\u001b[0m\u001b[33m\n", - "\u001b[0mLooking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com\n", - "Collecting faiss-cpu\n", - " Downloading faiss_cpu-1.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.6 kB)\n", - "Requirement already satisfied: numpy in /usr/local/lib/python3.10/dist-packages (from faiss-cpu) (1.22.2)\n", - "Downloading faiss_cpu-1.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (27.0 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m27.0/27.0 MB\u001b[0m \u001b[31m16.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n", - "\u001b[?25hInstalling collected packages: faiss-cpu\n", - "Successfully installed faiss-cpu-1.8.0\n", - "\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\u001b[0m\u001b[33m\n", - "\u001b[0m" - ] - } - ], + "outputs": [], "source": [ "!pip install langchain\n", "!pip install langchain_nvidia_ai_endpoints\n", @@ -157,7 +75,7 @@ "metadata": {}, "outputs": [ { - "name": "stdin", + "name": "stdout", "output_type": "stream", "text": [ "Enter your NVIDIA API key: ······································································\n" @@ -243,7 +161,7 @@ "Read html files and split text in preparation for embedding generation\n", "Note chunk_size value must match the specific LLM used for embedding genetation\n", "\n", - "Make sure to pay attention to the chunk_size parameter in TextSplitter. Setting the right chunk size is critical for RAG performance, as much of a RAG’s success is based on the retrieval step finding the right context for generation. The entire prompt (retrieved chunks + user query) must fit within the LLM’s context window. Therefore, you should not specify chunk sizes too big, and balance them out with the estimated query size. For example, while OpenAI LLMs have a context window of 8k-32k tokens, Llama2 is limited to 4k tokens. Experiment with different chunk sizes, but typical values should be 100-600, depending on the LLM." + "Make sure to pay attention to the chunk_size parameter in TextSplitter. Setting the right chunk size is critical for RAG performance, as much of a RAG’s success is based on the retrieval step finding the right context for generation. The entire prompt (retrieved chunks + user query) must fit within the LLM’s context window. Therefore, you should not specify chunk sizes too big, and balance them out with the estimated query size. For example, while OpenAI LLMs have a context window of 8k-32k tokens, Llama3 is limited to 8k tokens. Experiment with different chunk sizes, but typical values should be 100-600, depending on the LLM." ] }, { @@ -311,8 +229,8 @@ " Returns:\n", " None\n", " \"\"\"\n", - " embeddings = NVIDIAEmbeddings(model=\"nvolveqa_40k\")\n", - " \n", + " embeddings = NVIDIAEmbeddings(model=\"ai-embed-qa-4\")\n", + "\n", " for document in documents:\n", " texts = splitter.split_text(document.page_content)\n", "\n", @@ -336,7 +254,7 @@ "source": [ "### Second stage is to load the embeddings from the vector store and build a RAG using NVIDIAEmbeddings\n", "\n", - "Create the embeddings model using NVIDIA Retrieval QA Embedding endpoint. This model represents words, phrases, or other entities as vectors of numbers and understands the relation between words and phrases. See here for reference: https://catalog.ngc.nvidia.com/orgs/nvidia/teams/ai-foundation/models/nvolve-40k" + "Create the embeddings model using NVIDIA Retrieval QA Embedding endpoint. This model represents words, phrases, or other entities as vectors of numbers and understands the relation between words and phrases. See here for reference: https://build.nvidia.com/nvidia/embed-qa-4" ] }, { @@ -358,7 +276,7 @@ "\n", "create_embeddings()\n", "\n", - "embedding_model = NVIDIAEmbeddings(model=\"nvolveqa_40k\")\n" + "embedding_model = NVIDIAEmbeddings(model=\"ai-embed-qa-4\")\n" ] }, { @@ -386,7 +304,7 @@ "id": "01153bc4", "metadata": {}, "source": [ - "Create a ConversationalRetrievalChain chain using NeMoLLM. In this chain we demonstrate the use of 2 LLMs: one for summarization and another for chat. This improves the overall result in more complicated scenarios. We'll use Llama2 70B for the first LLM and Mixtral for the Chat element in the chain. We add a question_generator to generate relevant query prompt. See here for reference: https://python.langchain.com/docs/modules/chains/popular/chat_vector_db#conversationalretrievalchain-with-streaming-to-stdout" + "Create a ConversationalRetrievalChain chain using NeMoLLM. In this chain we demonstrate the use of 2 LLMs: one for summarization and another for chat. This improves the overall result in more complicated scenarios. We'll use Llama3 70B for the first LLM and Mixtral for the Chat element in the chain. We add a question_generator to generate relevant query prompt. See here for reference: https://python.langchain.com/docs/modules/chains/popular/chat_vector_db#conversationalretrievalchain-with-streaming-to-stdout" ] }, { @@ -396,13 +314,13 @@ "metadata": {}, "outputs": [], "source": [ - "llm = ChatNVIDIA(model=\"llama2_70b\")\n", + "llm = ChatNVIDIA(model=\"meta/llama3-70b-instruct\")\n", "\n", "memory = ConversationBufferMemory(memory_key=\"chat_history\", return_messages=True)\n", "\n", "question_generator = LLMChain(llm=llm, prompt=CONDENSE_QUESTION_PROMPT)\n", "\n", - "chat = ChatNVIDIA(model=\"mixtral_8x7b\", temperature=0.1, max_tokens=1000, top_p=1.0)\n", + "chat = ChatNVIDIA(model=\"ai-mixtral-8x7b-instruct\", temperature=0.1, max_tokens=1000, top_p=1.0)\n", "\n", "doc_chain = load_qa_chain(chat , chain_type=\"stuff\", prompt=QA_PROMPT)\n", "\n", @@ -489,7 +407,7 @@ "metadata": {}, "outputs": [], "source": [ - "llm = ChatNVIDIA(model=\"llama2_70b\", temperature=0.1, max_tokens=1000, top_p=1.0)\n", + "llm = ChatNVIDIA(model=\"meta/llama3-70b-instruct\", temperature=0.1, max_tokens=1000, top_p=1.0)\n", "\n", "qa_prompt=QA_PROMPT\n", "\n", diff --git a/notebooks/11_LangGraph_HandlingAgent_IntermediateSteps.ipynb b/notebooks/06_LangGraph_HandlingAgent_IntermediateSteps.ipynb similarity index 98% rename from notebooks/11_LangGraph_HandlingAgent_IntermediateSteps.ipynb rename to notebooks/06_LangGraph_HandlingAgent_IntermediateSteps.ipynb index 42d6eb703..8a85c7712 100644 --- a/notebooks/11_LangGraph_HandlingAgent_IntermediateSteps.ipynb +++ b/notebooks/06_LangGraph_HandlingAgent_IntermediateSteps.ipynb @@ -50,9 +50,12 @@ "metadata": {}, "outputs": [], "source": [ - "!pip install wikipedia\n", - "!pip install langgraph\n", - "!pip install faiss-gpu" + "!pip install --upgrade pip\n", + "!pip install wikipedia==1.4.0\n", + "!pip install langchain-community==0.2.2\n", + "!pip install langchain==0.2.2\n", + "!pip install langgraph==0.0.62\n", + "!pip install faiss-gpu==1.7.2" ] }, { @@ -115,8 +118,8 @@ "from langchain_nvidia_ai_endpoints import ChatNVIDIA\n", "from langchain_nvidia_ai_endpoints import NVIDIAEmbeddings\n", "\n", - "llm = ChatNVIDIA(model=\"ai-mixtral-8x7b-instruct\", nvidia_api_key=nvapi_key, max_tokens=2048)\n", - "embedder = NVIDIAEmbeddings(model=\"ai-embed-qa-4\")\n" + "llm = ChatNVIDIA(model=\"mistralai/mixtral-8x7b-instruct-v0.1\", nvidia_api_key=nvapi_key, max_tokens=2048)\n", + "embedder = NVIDIAEmbeddings(model=\"NV-Embed-QA\")\n" ] }, { @@ -185,7 +188,7 @@ "outputs": [], "source": [ "## If you previously preprocessed and saved the vector store to disk, then reload it here\n", - "faissDB = FAISS.load_local(\"/workspace/save_embedding/sv\", embedder)\n", + "faissDB = FAISS.load_local(\"/workspace/save_embedding/sv\", embedder, allow_dangerous_deserialization=True)\n", "retriever = faissDB.as_retriever()" ] }, diff --git a/notebooks/12_Chat_wtih_nvidia_financial_reports.ipynb b/notebooks/07_Chat_with_nvidia_financial_reports.ipynb similarity index 94% rename from notebooks/12_Chat_wtih_nvidia_financial_reports.ipynb rename to notebooks/07_Chat_with_nvidia_financial_reports.ipynb index 634bc10d8..9ad5c16a7 100644 --- a/notebooks/12_Chat_wtih_nvidia_financial_reports.ipynb +++ b/notebooks/07_Chat_with_nvidia_financial_reports.ipynb @@ -5,9 +5,9 @@ "id": "4ff7339a", "metadata": {}, "source": [ - "# Notebook: Chating with NVIDIA Financial Reports\n", + "# Notebook: Chatting with NVIDIA Financial Reports\n", "\n", - " In this notebook, we are going to use milvus as vectorstore, the **mixtral_8x7b as LLM** and **nvolveqa_40k embedding** provided by [NVIDIA_AI_Endpoint](https://python.langchain.com/docs/integrations/text_embedding/nvidia_ai_endpoints) as LLM and embedding model, and build a simply RAG example for chatting with NVIDIA Financial Reports.\n", + " In this notebook, we are going to use milvus as vectorstore, the **mixtral_8x7b as LLM** and **ai-embed-qa-4 embedding** provided by [NVIDIA_AI_Endpoint](https://python.langchain.com/docs/integrations/text_embedding/nvidia_ai_endpoints) as LLM and embedding model, and build a simply RAG example for chatting with NVIDIA Financial Reports.\n", "\n", "\n", "NVIDIA financial reports are available pubicly in nvidianews. \n", @@ -61,7 +61,7 @@ "metadata": {}, "outputs": [], "source": [ - "# test run and see that you can genreate a respond successfully \n", + "# test run and see that you can genreate a respond successfully\n", "from langchain_nvidia_ai_endpoints import ChatNVIDIA,NVIDIAEmbeddings\n", "llm = ChatNVIDIA(model=\"ai-mixtral-8x7b-instruct\", nvidia_api_key=nvapi_key, max_tokens=1024)\n", "from langchain.vectorstores import Milvus\n", @@ -102,13 +102,13 @@ "url_template2 = \"https://nvidianews.nvidia.com/news/nvidia-announces-financial-results-for-{quarter}-quarter-and-fiscal-{year}\"\n", "\n", "for quarter in [\"first\", \"second\", \"third\", \"fourth\"]:\n", - " for year in range(2020,2025): \n", + " for year in range(2020,2025):\n", " args = {\"quarter\":quarter, \"year\": str(year)}\n", " if quarter == \"fourth\":\n", " urls_content.append(requests.get(url_template2.format(**args)).content)\n", " else:\n", " urls_content.append(requests.get(url_template1.format(**args)).content)\n", - " \n" + "\n" ] }, { @@ -143,7 +143,7 @@ " url = og_url_meta.get(\"content\", \"\")\n", "\n", " for table in soup.find_all(\"table\"):\n", - " tables.append(markdownify.markdownify(str(table))) \n", + " tables.append(markdownify.markdownify(str(table)))\n", " table.decompose()\n", "\n", " text_content = soup.get_text(separator=' ', strip=True)\n", @@ -153,15 +153,14 @@ " except:\n", " print(\"parse error\")\n", " return \"\", \"\", \"\", \"\", []\n", - " \n", + "\n", "parsed_htmls = []\n", "for url_content in urls_content:\n", " soup = BeautifulSoup(url_content, 'html.parser')\n", " url, title, content, tables = extract_url_title_time(soup)\n", " parsed_htmls.append({\"url\":url, \"title\":title, \"content\":content, \"tables\":tables})\n", "\n", - "\n", - " " + "\n" ] }, { @@ -179,7 +178,7 @@ "metadata": {}, "outputs": [], "source": [ - "# summarize tables \n", + "# summarize tables\n", "def get_table_summary(table, title, llm):\n", " res = \"\"\n", " try:\n", @@ -189,7 +188,7 @@ " TABLE is from \"{title}\". Summarize the information in TABLE into SUMMARY. SUMMARY MUST be concise. Return SUMMARY only and nothing else.\n", " TABLE: ```{table}```\n", " Summary:\n", - " [/INST] \n", + " [/INST]\n", " \"\"\"\n", " result = llm.invoke(prompt)\n", " res = result.content\n", @@ -207,8 +206,7 @@ " for idx, table in enumerate(parsed_item['tables']):\n", " print(f\"parsing tables in {title}...\")\n", " table = get_table_summary(table, title, llm)\n", - " parsed_item['tables'][idx] = table\n", - " " + " parsed_item['tables'][idx] = table\n" ] }, { @@ -245,11 +243,11 @@ " url = parsed_item['url']\n", " text_content = parsed_item['content']\n", " documents.append(Document(page_content=text_content, metadata = {'title':title, 'url':url}))\n", - " \n", + "\n", " for idx, table in enumerate(parsed_item['tables']):\n", " table_content = table\n", " documents.append(Document(page_content=table, metadata = {'title':title, 'url':url}))\n", - " \n", + "\n", "documents = text_splitter.split_documents(documents)\n", "print(f\"obtain {len(documents)} chunks\")" ] @@ -267,7 +265,7 @@ " embedding_function=embedder_document,\n", " collection_name=COLLECTION_NAME,\n", " connection_args={\n", - " \"host\": \"milvus\", \n", + " \"host\": \"milvus\",\n", " \"port\": \"19530\"},\n", " drop_old = True,\n", " auto_id = True\n", @@ -315,9 +313,9 @@ " * You MUST follow the below format as an example for this citation section:\n", " Here are the sources used to generate this response:\n", " * [Title](URL)\n", - "[/INST] \n", + "[/INST]\n", "[INST]\n", - "QUESTION: {question} \n", + "QUESTION: {question}\n", "FINAL ANSWER:[/INST]\"\"\"\n", "\n", "prompt_template = PromptTemplate(template=PROMPT_TEMPLATE, input_variables=[\"context\", \"question\"])\n", @@ -329,17 +327,17 @@ " for chunk in chunks:\n", " context = context + \"\\n Content: \" + chunk.page_content + \" | Title: (\" + chunk.metadata[\"title\"] + \") | URL: (\" + chunk.metadata.get(\"url\", \"source\") + \")\"\n", " return context\n", - " \n", + "\n", "\n", "def generate_answer(llm, vectorstore, prompt_template, question):\n", - " retrieved_chunks = vectorstore.similarity_search(question) \n", + " retrieved_chunks = vectorstore.similarity_search(question)\n", " context = build_context(retrieved_chunks)\n", " args = {\"context\":context, \"question\":question}\n", " prompt = prompt_template.format(**args)\n", " ans = llm.invoke(prompt)\n", " return ans.content\n", - " \n", - " \n", + "\n", + "\n", "question = \"what are 2024 Q1 revenues?\"\n", "\n", "generate_answer(llm, vectorstore, prompt_template, question)" diff --git a/notebooks/08_RAG_Langchain_with_Local_NIM.ipynb b/notebooks/08_RAG_Langchain_with_Local_NIM.ipynb new file mode 100644 index 000000000..7f8123367 --- /dev/null +++ b/notebooks/08_RAG_Langchain_with_Local_NIM.ipynb @@ -0,0 +1,502 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "184878ec-80c1-4533-a7f8-f7fecbc3d8ad", + "metadata": {}, + "source": [ + "# Build a RAG using a locally hosted NIM\n", + "\n", + "In this notebook we demonstrate how to build a RAG using [NVIDIA Inference Microservices (NIM)](https://build.nvidia.com/explore/discover). We locally host a Llama3-8b-instruct NIM and deploy it using [ NVIDIA AI Endpoints for LangChain](https://python.langchain.com/docs/integrations/chat/nvidia_ai_endpoints/).\n", + "\n", + "We then create a vector store by downloading web pages and generating their embeddings using FAISS. We then showcase two different chat chains for querying the vector store. For this example, we use the NVIDIA Triton documentation website, though the code can be easily modified to use any other source. \n", + "\n", + "### First stage is to load NVIDIA Triton documentation from the web, chunkify the data, and generate embeddings using FAISS\n", + "\n", + "To get started:\n", + "\n", + "1. Generate a NGC API [here](https://org.ngc.nvidia.com/setup/personal-keys)\n", + "\n", + "2. Export the API key (export NGC_API_KEY=) This key will need to be passed to docker run in the next section as the NGC_API_KEY environment variable to download the appropriate models and resources when starting the NIM.\n", + "\n", + "3. Download and install the NGC CLI following the [NGC Setup steps](https://docs.ngc.nvidia.com/cli/index.html?_gl=1*22f68y*_gcl_au*MTE2NTMwMTA2NC4xNzE1NzY4NzE4). Follow the steps on that page to set the NGC CLI and docker client configs appropriately.\n", + "\n", + "4. To pull the NIM container image from NGC, first authenticate with the NVIDIA Container Registry with the following command\n", + "\n", + "(Note: In order to run this notebook in a virtual environment, you need to launch the NIM Docker container in the background outside of the notebook environment prior to running the LangChain code in the notebook cells. Create a virtual environment and install the dependencies present inside the notebooks/requirements.txt file by pip install -r notebooks/requirements.txt. Run the commands in the first 3 cells from a terminal then begin with the 4th cell (curl inference command) within the notebook environment.)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1308d67c", + "metadata": {}, + "outputs": [], + "source": [ + "!echo \"$NGC_API_KEY\" | docker login nvcr.io --username '$oauthtoken' --password-stdin" + ] + }, + { + "cell_type": "markdown", + "id": "9c2403b8", + "metadata": {}, + "source": [ + "Set up location for caching the model artifacts" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "06a23a6d", + "metadata": {}, + "outputs": [], + "source": [ + "!export LOCAL_NIM_CACHE=~/.cache/nim\n", + "!mkdir -p \"$LOCAL_NIM_CACHE\"\n", + "!chmod 777 \"$LOCAL_NIM_CACHE\"" + ] + }, + { + "cell_type": "markdown", + "id": "19a7e489", + "metadata": {}, + "source": [ + "Launch the NIM microservice" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "88f612dd", + "metadata": {}, + "outputs": [], + "source": [ + "!docker run -d --name meta-llama3-8b-instruct --gpus all -e NGC_API_KEY -v \"$LOCAL_NIM_CACHE:/opt/nim/.cache\" -u $(id -u) -p 8000:8000 nvcr.io/nim/meta/llama3-8b-instruct:1.0.0" + ] + }, + { + "cell_type": "markdown", + "id": "37e2fcda", + "metadata": {}, + "source": [ + "Before we continue and connect the NIM to LangChain, let's test it using a simple OpenAI completion request" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "af3bf04b", + "metadata": {}, + "outputs": [], + "source": [ + "!curl -X 'POST' \\\n", + " \"http://0.0.0.0:8000/v1/completions\" \\\n", + " -H \"accept: application/json\" \\\n", + " -H \"Content-Type: application/json\" \\\n", + " -d '{\"model\": \"meta/llama3-8b-instruct\", \"prompt\": \"Once upon a time\", \"max_tokens\": 64}'" + ] + }, + { + "cell_type": "markdown", + "id": "79c2aa6f", + "metadata": {}, + "source": [ + "Now setup the LangChain flow by installing prerequisite libraries" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5966ea5a", + "metadata": {}, + "outputs": [], + "source": [ + "!pip install langchain\n", + "!pip install langchain_nvidia_ai_endpoints\n", + "!pip install faiss-cpu" + ] + }, + { + "cell_type": "markdown", + "id": "74b0c989", + "metadata": {}, + "source": [ + "Set up API key, which you can get from the [API Catalog](https://build.nvidia.com/)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "79771ce9", + "metadata": {}, + "outputs": [], + "source": [ + "import getpass\n", + "import os\n", + "\n", + "if not os.environ.get(\"NVIDIA_API_KEY\", \"\").startswith(\"nvapi-\"):\n", + " nvapi_key = getpass.getpass(\"Enter your NVIDIA API key: \")\n", + " assert nvapi_key.startswith(\"nvapi-\"), f\"{nvapi_key[:5]}... is not a valid key\"\n", + " os.environ[\"NVIDIA_API_KEY\"] = nvapi_key" + ] + }, + { + "cell_type": "markdown", + "id": "5584e3b1", + "metadata": {}, + "source": [ + "We can now deploy the NIM in LangChain by specifying the base URL" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "35baa8c6", + "metadata": {}, + "outputs": [], + "source": [ + "from langchain_nvidia_ai_endpoints import ChatNVIDIA\n", + "\n", + "llm = ChatNVIDIA(base_url=\"http://0.0.0.0:8000/v1\", model=\"meta/llama3-8b-instruct\", temperature=0.1, max_tokens=1000, top_p=1.0)\n", + "\n", + "result = llm.invoke(\"What is the capital of France?\")\n", + "print(result.content)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "42bf2619-1ca3-4477-82b8-88c240dd87ad", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "from langchain.chains import ConversationalRetrievalChain, LLMChain\n", + "from langchain.chains.conversational_retrieval.prompts import CONDENSE_QUESTION_PROMPT, QA_PROMPT\n", + "from langchain.chains.question_answering import load_qa_chain\n", + "from langchain.memory import ConversationBufferMemory\n", + "from langchain.vectorstores import FAISS\n", + "from langchain.text_splitter import RecursiveCharacterTextSplitter\n", + "from langchain_nvidia_ai_endpoints import ChatNVIDIA\n", + "from langchain_nvidia_ai_endpoints import NVIDIAEmbeddings" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "eb7f8822", + "metadata": {}, + "source": [ + "Helper functions for loading html files, which we'll use to generate the embeddings. We'll use this later to load the relevant html documents from the Triton documentation website and convert to a vector store." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f8097819", + "metadata": {}, + "outputs": [], + "source": [ + "import re\n", + "from typing import List, Union\n", + "\n", + "import requests\n", + "from bs4 import BeautifulSoup\n", + "\n", + "def html_document_loader(url: Union[str, bytes]) -> str:\n", + " \"\"\"\n", + " Loads the HTML content of a document from a given URL and return it's content.\n", + "\n", + " Args:\n", + " url: The URL of the document.\n", + "\n", + " Returns:\n", + " The content of the document.\n", + "\n", + " Raises:\n", + " Exception: If there is an error while making the HTTP request.\n", + "\n", + " \"\"\"\n", + " try:\n", + " response = requests.get(url)\n", + " html_content = response.text\n", + " except Exception as e:\n", + " print(f\"Failed to load {url} due to exception {e}\")\n", + " return \"\"\n", + "\n", + " try:\n", + " # Create a Beautiful Soup object to parse html\n", + " soup = BeautifulSoup(html_content, \"html.parser\")\n", + "\n", + " # Remove script and style tags\n", + " for script in soup([\"script\", \"style\"]):\n", + " script.extract()\n", + "\n", + " # Get the plain text from the HTML document\n", + " text = soup.get_text()\n", + "\n", + " # Remove excess whitespace and newlines\n", + " text = re.sub(\"\\s+\", \" \", text).strip()\n", + "\n", + " return text\n", + " except Exception as e:\n", + " print(f\"Exception {e} while loading document\")\n", + " return \"\"" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "b6a2d1e0", + "metadata": {}, + "source": [ + "Read html files and split text in preparation for embedding generation\n", + "Note chunk_size value must match the specific LLM used for embedding genetation\n", + "\n", + "Make sure to pay attention to the chunk_size parameter in TextSplitter. Setting the right chunk size is critical for RAG performance, as much of a RAG’s success is based on the retrieval step finding the right context for generation. The entire prompt (retrieved chunks + user query) must fit within the LLM’s context window. Therefore, you should not specify chunk sizes too big, and balance them out with the estimated query size. For example, while OpenAI LLMs have a context window of 8k-32k tokens, Llama3 is limited to 8k tokens. Experiment with different chunk sizes, but typical values should be 100-600, depending on the LLM." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "56aa8900", + "metadata": {}, + "outputs": [], + "source": [ + "def create_embeddings(embedding_path: str = \"./embed\"):\n", + "\n", + " embedding_path = \"./embed\"\n", + " print(f\"Storing embeddings to {embedding_path}\")\n", + "\n", + " # List of web pages containing NVIDIA Triton technical documentation\n", + " urls = [\n", + " \"https://docs.nvidia.com/deeplearning/triton-inference-server/user-guide/docs/index.html\",\n", + " \"https://docs.nvidia.com/deeplearning/triton-inference-server/user-guide/docs/getting_started/quickstart.html\",\n", + " \"https://docs.nvidia.com/deeplearning/triton-inference-server/user-guide/docs/user_guide/model_repository.html\",\n", + " \"https://docs.nvidia.com/deeplearning/triton-inference-server/user-guide/docs/user_guide/model_analyzer.html\",\n", + " \"https://docs.nvidia.com/deeplearning/triton-inference-server/user-guide/docs/user_guide/architecture.html\",\n", + " ]\n", + "\n", + " documents = []\n", + " for url in urls:\n", + " document = html_document_loader(url)\n", + " documents.append(document)\n", + "\n", + "\n", + " text_splitter = RecursiveCharacterTextSplitter(\n", + " chunk_size=1000,\n", + " chunk_overlap=0,\n", + " length_function=len,\n", + " )\n", + " texts = text_splitter.create_documents(documents)\n", + " index_docs(url, text_splitter, texts, embedding_path)\n", + " print(\"Generated embedding successfully\")" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "4d4e2097", + "metadata": {}, + "source": [ + "Generate embeddings using NVIDIA Retrieval QA Embedding NIM and NVIDIA AI Endpoints for LangChain and save embeddings to offline vector store in the /embed directory for future re-use" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fc7e6a93", + "metadata": {}, + "outputs": [], + "source": [ + "def index_docs(url: Union[str, bytes], splitter, documents: List[str], dest_embed_dir) -> None:\n", + " \"\"\"\n", + " Split the document into chunks and create embeddings for the document\n", + "\n", + " Args:\n", + " url: Source url for the document.\n", + " splitter: Splitter used to split the document\n", + " documents: list of documents whose embeddings needs to be created\n", + " dest_embed_dir: destination directory for embeddings\n", + "\n", + " Returns:\n", + " None\n", + " \"\"\"\n", + " embeddings = NVIDIAEmbeddings(model=\"ai-embed-qa-4\", truncate=\"END\")\n", + "\n", + " for document in documents:\n", + " texts = splitter.split_text(document.page_content)\n", + "\n", + " # metadata to attach to document\n", + " metadatas = [document.metadata]\n", + "\n", + " # create embeddings and add to vector store\n", + " if os.path.exists(dest_embed_dir):\n", + " update = FAISS.load_local(folder_path=dest_embed_dir, embeddings=embeddings)\n", + " update.add_texts(texts, metadatas=metadatas)\n", + " update.save_local(folder_path=dest_embed_dir)\n", + " else:\n", + " docsearch = FAISS.from_texts(texts, embedding=embeddings, metadatas=metadatas)\n", + " docsearch.save_local(folder_path=dest_embed_dir)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "44650d71", + "metadata": {}, + "source": [ + "### Second stage is to load the embeddings from the vector store and build a RAG using NVIDIAEmbeddings\n", + "\n", + "Create the embeddings model using NVIDIA Retrieval QA Embedding NIM from the API Catalog. This model represents words, phrases, or other entities as vectors of numbers and understands the relation between words and phrases. See here for reference: https://build.nvidia.com/nvidia/embed-qa-4" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "10db1c5c-f515-460f-bf23-5d68f195e52b", + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "\n", + "create_embeddings()\n", + "\n", + "embedding_model = NVIDIAEmbeddings(model=\"ai-embed-qa-4\", truncate=\"END\")\n" + ] + }, + { + "cell_type": "markdown", + "id": "73f9f5e2", + "metadata": {}, + "source": [ + "Load documents from vector database using FAISS" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d55bb79e-5bb6-409d-8ead-3c3006aeb2ed", + "metadata": {}, + "outputs": [], + "source": [ + "# Embed documents\n", + "embedding_path = \"embed/\"\n", + "docsearch = FAISS.load_local(folder_path=embedding_path, embeddings=embedding_model)" + ] + }, + { + "cell_type": "markdown", + "id": "7614e948-aab6-40d5-bf14-4f8ba99b1329", + "metadata": {}, + "source": [ + "Create a ConversationalRetrievalChain chain using a local NIM. We'll use the Llama3 8B NIM we created and deployed locally, add memory for chat history, and connect to the vector store via the embedding model. See here for reference: https://python.langchain.com/docs/modules/chains/popular/chat_vector_db#conversationalretrievalchain-with-streaming-to-stdout" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "94b49b4a", + "metadata": {}, + "outputs": [], + "source": [ + "llm = ChatNVIDIA(base_url=\"http://0.0.0.0:8000/v1\", model=\"meta/llama3-8b-instruct\", temperature=0.1, max_tokens=1000, top_p=1.0)\n", + "\n", + "memory = ConversationBufferMemory(memory_key=\"chat_history\", return_messages=True)\n", + "\n", + "qa_prompt=QA_PROMPT\n", + "\n", + "doc_chain = load_qa_chain(llm, chain_type=\"stuff\", prompt=QA_PROMPT)\n", + "\n", + "qa = ConversationalRetrievalChain.from_llm(\n", + " llm=llm,\n", + " retriever=docsearch.as_retriever(),\n", + " chain_type=\"stuff\",\n", + " memory=memory,\n", + " combine_docs_chain_kwargs={'prompt': qa_prompt},\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "f60f2240", + "metadata": {}, + "source": [ + "Now try asking a question about Triton with the simpler chain. Compare the answer to the result with previous complex chain model" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9add6e2e", + "metadata": {}, + "outputs": [], + "source": [ + "query = \"What is Triton?\"\n", + "result = qa({\"question\": query})\n", + "print(result.get(\"answer\"))" + ] + }, + { + "cell_type": "markdown", + "id": "43b1cddd", + "metadata": {}, + "source": [ + "Ask another question about Triton" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "62654a9a", + "metadata": {}, + "outputs": [], + "source": [ + "query = \"Does Triton support ONNX?\"\n", + "result = qa({\"question\": query})\n", + "print(result.get(\"answer\"))" + ] + }, + { + "cell_type": "markdown", + "id": "f178ac86", + "metadata": {}, + "source": [ + "Finally showcase chat capabilites by asking a question about the previous query" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "781e058e", + "metadata": {}, + "outputs": [], + "source": [ + "query = \"But why?\"\n", + "result = qa({\"question\": query})\n", + "print(result.get(\"answer\"))" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/Dockerfile.gpu_notebook b/notebooks/Dockerfile.gpu_notebook index 6eb23b2f2..baefa4c0a 100644 --- a/notebooks/Dockerfile.gpu_notebook +++ b/notebooks/Dockerfile.gpu_notebook @@ -1,5 +1,5 @@ # Use a base image with Python -FROM nvcr.io/nvidia/pytorch:23.05-py3 +FROM nvcr.io/nvidia/pytorch:23.05-py3 # Set working directory WORKDIR /app @@ -14,10 +14,6 @@ COPY ./notebooks/toy_data/* notebooks/toy_data/ COPY ./notebooks/imgs/* notebooks/imgs/ -COPY ./integrations/langchain/llms/triton_trt_llm.py . - -COPY ./integrations/langchain/llms/nv_aiplay.py . - COPY ./notebooks/requirements.txt . # Run pip dependencies diff --git a/notebooks/Dockerfile.notebooks b/notebooks/Dockerfile.notebooks index b2cc0a1e1..95e5715a4 100644 --- a/notebooks/Dockerfile.notebooks +++ b/notebooks/Dockerfile.notebooks @@ -13,10 +13,6 @@ COPY ./notebooks/dataset.zip . COPY ./notebooks/imgs/* imgs/ -COPY ./integrations/langchain/llms/triton_trt_llm.py . - -COPY ./integrations/langchain/llms/nv_aiplay.py . - COPY ./notebooks/requirements.txt . # Run pip dependencies diff --git a/notebooks/requirements.txt b/notebooks/requirements.txt index ffe4af81c..c80024650 100644 --- a/notebooks/requirements.txt +++ b/notebooks/requirements.txt @@ -10,9 +10,8 @@ opencv-python==4.8.0.74 llama-hub==0.0.43 pymilvus==2.3.1 jupyterlab==4.0.8 -langchain-nvidia-trt==0.0.1rc0 langchain-core==0.1.29 -langchain-nvidia-ai-endpoints==0.0.11 +langchain-nvidia-ai-endpoints==0.1.1 atlassian-python-api==3.41.4 gradio==3.48.0 markdownify==0.12.1 diff --git a/tools/evaluation/01_synthetic_data_generation.ipynb b/tools/evaluation/01_synthetic_data_generation.ipynb index 262e8e79f..05af3be96 100644 --- a/tools/evaluation/01_synthetic_data_generation.ipynb +++ b/tools/evaluation/01_synthetic_data_generation.ipynb @@ -209,7 +209,7 @@ "\n", "**NVIDIA AI Playground** on NGC allows developers to experience state of the art LLMs accelerated on NVIDIA DGX Cloud with NVIDIA TensorRT nd Triton Inference Server. Developers get **free credits for 10K requests** to any of the available models. Sign up process is easy. follow the steps
here. \n", "\n", - "We are going to use theAI playground'ss `llama2-70B `LLM to generate the Question-Answer pairs." + "We are going to use the [Nvidia API catalog](https://build.nvidia.com/meta/llama3-70b) `llama3-70B `LLM to generate the Question-Answer pairs." ] }, { @@ -242,7 +242,7 @@ "os.environ['NVIDIA_API_KEY'] = \"nvapi-*\"\n", "\n", "llm = ChatNVIDIA(\n", - " model=\"llama2_70b\",\n", + " model=\"meta/llama3-70b-instruct\",\n", " temperature=0.2,\n", " max_tokens=300\n", ")" diff --git a/tools/evaluation/02_filling_RAG_outputs_for_Evaluation.ipynb b/tools/evaluation/02_filling_RAG_outputs_for_Evaluation.ipynb index 50a1248d0..11110ae63 100644 --- a/tools/evaluation/02_filling_RAG_outputs_for_Evaluation.ipynb +++ b/tools/evaluation/02_filling_RAG_outputs_for_Evaluation.ipynb @@ -7,15 +7,15 @@ "source": [ "## Notebook 2: Filling RAG outputs For Evaluation\n", "\n", - "In this notebook, we will use the example RAG pipeline to populate the RAG outputs: contexts (retrieved relevant documents) and answer (generated by RAG pipeline).\n", + "In this notebook, we will use the deployed RAG pipeline to populate the RAG outputs: contexts (retrieved relevant documents) and answer (generated by RAG pipeline).\n", "\n", - "The example RAG pipeline provided as part of this repository uses [LlamaIndex](https://gpt-index.readthedocs.io/en/stable/) to build a chatbot that references a custom knowledge base. \n", + "The RAG pipeline used as part of this repository needs to be deployed before using steps in [Build and Start API Catalog Containers](https://nvidia.github.io/GenerativeAIExamples/latest/api-catalog.html#build-and-start-the-containers) to expose required API calls from chain-server. \n", "\n", - "If you want to learn more about how the example RAG works, please see [03_llama_index_simple.ipynb](../notebooks/03_llama_index_simple.ipynb).\n", + "If you want to learn more about how the deployed pipelione works in the backend, please see [03_llama_index_simple.ipynb](../notebooks/03_llama_index_simple.ipynb).\n", "\n", - "- **Steps 1-5**: Build the RAG pipeline.\n", - "- **Step 6**: Build the Query Engine, exposing the Retriever and Generator outputs\n", - "- **Step 7**: Fill the RAG outputs " + "- **Steps 1**: Setting up the dataset directory and Defining API endpoints \n", + "- **Step 2**: Ingest Documents\n", + "- **Step 3**: Fill the RAG outputs " ] }, { @@ -23,24 +23,7 @@ "id": "191e7b90-128e-4432-82ab-897426389d06", "metadata": {}, "source": [ - "### Steps 1-5: Build the RAG pipeline\n", - "\n", - "#### Define the LLM\n", - "Here we are using a local llm on triton and the address and gRPC port that the Triton is available on. \n", - "\n", - "***If you are using AI Playground (no local GPU) replace, the code in the cell two cells below with the following: ***\n", - "\n", - "```\n", - "import os\n", - "from nv_aiplay import GeneralLLM\n", - "os.environ['NVAPI_KEY'] = \"REPLACE_WITH_YOUR_API_KEY\"\n", - "\n", - "llm = GeneralLLM(\n", - " model=\"llama2_70b\",\n", - " temperature=0.2,\n", - " max_tokens=300\n", - ")\n", - "```" + "### Steps 1: Set up Dataset directory and define API endpoints" ] }, { @@ -61,167 +44,10 @@ "metadata": {}, "outputs": [], "source": [ - "from triton_trt_llm import TensorRTLLM\n", - "from llama_index.llms.langchain import LangChainLLM\n", - "trtllm =TensorRTLLM(server_url=\"llm:8001\", model_name=\"ensemble\", tokens=300)\n", - "llm = LangChainLLM(llm=trtllm)" - ] - }, - { - "cell_type": "markdown", - "id": "bc57b68d-afd5-4a0c-832c-0ad8f3f475d5", - "metadata": {}, - "source": [ - "#### Create a Prompt Template\n", - "\n", - "A [**prompt template**](https://gpt-index.readthedocs.io/en/latest/core_modules/model_modules/prompts.html) is a common paradigm in LLM development.\n", - "\n", - "They are a pre-defined set of instructions provided to the LLM and guide the output produced by the model. They can contain few shot examples and guidance and are a quick way to engineer the responses from the LLM. Llama 2 accepts the [prompt format](https://huggingface.co/blog/llama2#how-to-prompt-llama-2) shown in `LLAMA_PROMPT_TEMPLATE`, which we manipulate to be constructed with:\n", - "- The system prompt\n", - "- The context\n", - "- The user's question\n", - " \n", - "Much like LangChain's abstraction of prompts, LlamaIndex has similar abstractions for you to create prompts." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "682ec812-33be-430f-8bb1-ae3d68690198", - "metadata": {}, - "outputs": [], - "source": [ - "# import the relevant libraries\n", - "from llama_index.core import Prompt\n", - "\n", - "LLAMA_PROMPT_TEMPLATE = (\n", - " \"[INST] <>\"\n", - " \"Use the following context to answer the user's question. If you don't know the answer, just say that you don't know, don't try to make up an answer.\"\n", - " \"<>\"\n", - " \"[INST] Context: {context_str} Question: {query_str} Only return the helpful answer below and nothing else. Helpful answer:[/INST]\"\n", - ")\n", - "\n", - "qa_template = Prompt(LLAMA_PROMPT_TEMPLATE)" - ] - }, - { - "cell_type": "markdown", - "id": "d0af7922", - "metadata": {}, - "source": [ - "### Load Documents\n", - "Follow the step number 1 [defined here](../notebooks/05_dataloader.ipynb) to upload the pdf's to Milvus server.\n" - ] - }, - { - "cell_type": "markdown", - "id": "a7bb75ad", - "metadata": {}, - "source": [ - "In this rest of this section, we will load and split the pdfs of NVIDIA blogs. We will use the `SentenceTransformersTokenTextSplitter`.\n", - "Additionally, we use a LlamaIndex [``PromptHelper``](https://gpt-index.readthedocs.io/en/latest/api_reference/service_context/prompt_helper.html) to help deal with LLM context window token limitations. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fa366250-108e-45a0-88ce-e6f7274da8e1", - "metadata": {}, - "outputs": [], - "source": [ - "# import the relevant libraries\n", - "from langchain.text_splitter import SentenceTransformersTokenTextSplitter\n", - "from llama_index.core.node_parser import LangchainNodeParser\n", - "from llama_index.core import PromptHelper\n", - "\n", - "# setup the text splitter\n", - "TEXT_SPLITTER_MODEL = \"intfloat/e5-large-v2\"\n", - "TEXT_SPLITTER_TOKENS_PER_CHUNK = 510\n", - "TEXT_SPLITTER_CHUNCK_OVERLAP = 200\n", - "\n", - "text_splitter = SentenceTransformersTokenTextSplitter(\n", - " model_name=TEXT_SPLITTER_MODEL,\n", - " tokens_per_chunk=TEXT_SPLITTER_TOKENS_PER_CHUNK,\n", - " chunk_overlap=TEXT_SPLITTER_CHUNCK_OVERLAP,\n", - ")\n", - "\n", - "node_parser = LangchainNodeParser(text_splitter)\n", - "\n", - "\n", - "# Use the PromptHelper\n", - "\n", - "prompt_helper = PromptHelper(\n", - " context_window=4096,\n", - " num_output=256,\n", - " chunk_overlap_ratio=0.1,\n", - " chunk_size_limit=None\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "b8dab583-a12d-4fb1-a9eb-3a1b1f04075d", - "metadata": {}, - "source": [ - "#### Generate and Store Embeddings\n", - "##### a) Generate Embeddings \n", - "[Embeddings](https://python.langchain.com/docs/modules/data_connection/text_embedding/) for documents are created by vectorizing the document text; this vectorization captures the semantic meaning of the text. \n", - "\n", - "We will use [intfloat/e5-large-v2](https://huggingface.co/intfloat/e5-large-v2) for the embeddings." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e9011ba0-f3f6-41f0-8a15-48f264743545", - "metadata": {}, - "outputs": [], - "source": [ - "# import the relevant libraries\n", - "from langchain.embeddings import HuggingFaceEmbeddings\n", - "from llama_index.embeddings.langchain import LangchainEmbedding\n", - "\n", - "#Running the model on CPU as we want to conserve gpu memory.\n", - "#In the production deployment (API server shown as part of the 5th notebook we run the model on GPU)\n", - "model_name=\"intfloat/e5-large-v2\"\n", - "model_kwargs = {\"device\": \"cuda:0\"}\n", - "encode_kwargs = {\"normalize_embeddings\": False}\n", - "hf_embeddings = HuggingFaceEmbeddings(\n", - " model_name=model_name,\n", - " model_kwargs=model_kwargs,\n", - " encode_kwargs=encode_kwargs,\n", - ")\n", - "# Load in a specific embedding model\n", - "embed_model = LangchainEmbedding(hf_embeddings)" - ] - }, - { - "cell_type": "markdown", - "id": "8db99124-e438-406d-880d-557501a461d3", - "metadata": {}, - "source": [ - "##### b) Store Embeddings \n", - "\n", - "We will use the LlamaIndex module [`Settings`](https://docs.llamaindex.ai/en/stable/module_guides/supporting_modules/settings/?h=settings) to bundle commonly used resources during the indexing and querying stage.\n", - "\n", - "\n", - "In this example, we bundle the build resources: the LLM, the embedding model, the node parser, and the prompt helper. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0e493f9d-589a-4820-902d-f68932bfb0d8", - "metadata": {}, - "outputs": [], - "source": [ - "# import the relevant libraries\n", - "from llama_index.core import Settings\n", - "\n", - "Settings.llm = llm\n", - "Settings.embed_model = embed_model\n", - "Settings.node_parser = node_parser\n", - "Settings.prompt_helper = prompt_helper" + "import os\n", + "url_upload = f\"http://chain-server:8081/documents\"\n", + "url_generate = f\"http://chain-server:8081/generate\"\n", + "url_doc_search = f\"http://chain-server:8081/search\"" ] }, { @@ -229,6 +55,7 @@ "id": "44e10c13", "metadata": {}, "source": [ + "### Steps 2: Ingest documents\n", "Ingest the dataset using the /documents endpoint in the chain-server." ] }, @@ -274,139 +101,16 @@ "import time\n", "\n", "start_time = time.time()\n", - "upload_pdf_files(\"dataset\", \"http://chain-server:8081/documents\")\n", + "upload_pdf_files(\"dataset\",url_upload )\n", "print(f\"--- {time.time() - start_time} seconds ---\")" ] }, - { - "attachments": {}, - "cell_type": "markdown", - "id": "79c7923c-d778-4f32-be37-4314063ecd2f", - "metadata": {}, - "source": [ - "
\n", - " \n", - "⚠️ in the deployment of this workflow, [Milvus](https://milvus.io/) is running as a vector database microservice.\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1e94e53e-41a9-47d3-a9d3-7c0af4c07f76", - "metadata": {}, - "outputs": [], - "source": [ - "# import the relevant libraries\n", - "from llama_index.core import VectorStoreIndex\n", - "from llama_index.core.storage.storage_context import StorageContext\n", - "from llama_index.vector_stores.milvus import MilvusVectorStore\n", - "\n", - "# store\n", - "vector_store = MilvusVectorStore(uri=\"http://milvus:19530\",\n", - " dim=1024,\n", - " collection_name=\"developer_rag\",\n", - " index_config={\"index_type\": \"GPU_IVF_FLAT\", \"nlist\": 64},\n", - " search_config={\"nprobe\": 16},\n", - " overwrite=False\n", - ")\n", - "storage_context = StorageContext.from_defaults(vector_store=vector_store)\n", - "index = VectorStoreIndex.from_vector_store(vector_store)" - ] - }, - { - "cell_type": "markdown", - "id": "b3b58028-04fa-4050-9ec4-6526817fd9cf", - "metadata": {}, - "source": [ - "### Step 6: Build the Query Engine, exposing the Retriever and Generator outputs\n", - "\n", - "#### a) Limit the Retriever Total Output Length\n", - "\n", - "First, we need to restrict the output of the Retriever to a reasonable length so that the prompt can fit the context length of the LLM.\n", - "In this notebook, we will restrict it to 1000 (anything up to 1000 will ignored).\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6efc410c-f488-43aa-af65-c39376bd7ba5", - "metadata": {}, - "outputs": [], - "source": [ - "# import the relevant libraries\n", - "from llama_index.core.postprocessor.types import BaseNodePostprocessor\n", - "from typing import TYPE_CHECKING, List, Optional\n", - "from llama_index.core.utils import get_tokenizer\n", - "DEFAULT_MAX_CONTEXT = 1000\n", - "\n", - "# limit the Retriever total outputs length\n", - "class LimitRetrievedNodesLength(BaseNodePostprocessor):\n", - " \"\"\"Llama Index chain filter to limit token lengths.\"\"\"\n", - "\n", - " def _postprocess_nodes(\n", - " self, nodes: List[\"NodeWithScore\"], query_bundle: Optional[\"QueryBundle\"] = None\n", - " ) -> List[\"NodeWithScore\"]:\n", - " \"\"\"Filter function.\"\"\"\n", - " included_nodes = []\n", - " current_length = 0\n", - " limit = DEFAULT_MAX_CONTEXT\n", - "\n", - " tokenizer = get_tokenizer()\n", - " for node in nodes:\n", - " current_length += len(\n", - " tokenizer(\n", - " node.node.get_content(metadata_mode=MetadataMode.LLM)\n", - " )\n", - " )\n", - " if current_length > limit:\n", - " break\n", - " included_nodes.append(node)\n", - "\n", - " return included_nodes\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "id": "e33cfed2-2a63-40be-8a7d-787ba04d2af9", - "metadata": {}, - "source": [ - "#### b) Build the Query Engine\n", - "\n", - "Now, let's build the query engine that takes a query and returns a response. Each vector index has a default corresponding query engine; for example, the default query engine for a vector index performs a standard top-k retrieval over the vector store.\n", - "We will use `RetrieverQueryEngine` to get the output of the Retriever and generator. Learn more about the RetrieverQueryEngine in the [documentation](https://gpt-index.readthedocs.io/en/latest/examples/query_engine/CustomRetrievers.html).\n", - "\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f56f37e0-341e-4d7d-b282-f374a16f55b2", - "metadata": {}, - "outputs": [], - "source": [ - "# import the relevant libraries\n", - "from llama_index.core.query_engine import RetrieverQueryEngine\n", - "from llama_index.core.schema import MetadataMode\n", - "\n", - "# Expose the retriever\n", - "retriever = index.as_retriever(similarity_top_k=2)\n", - "\n", - "query_engine = RetrieverQueryEngine.from_args(\n", - " retriever,\n", - " text_qa_template=qa_template,\n", - " node_postprocessors=[LimitRetrievedNodesLength()]\n", - ")" - ] - }, { "cell_type": "markdown", "id": "c6a58983-2069-450e-adf9-24b0f8736498", "metadata": {}, "source": [ - "### Step 7: Fill the RAG outputs \n", + "### Step 3: Fill the RAG outputs \n", "\n", "Let's now query the RAG pipeline and fill the outputs `contexts` and `answer` on the evaluation JSON file.\n", "\n", @@ -440,6 +144,20 @@ "Let now query the RAG pipeline and populate the `contexts` and `answer` fields." ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "339cbb2f", + "metadata": {}, + "outputs": [], + "source": [ + "import typing\n", + "\n", + "generate_api_params={\"use_knowledge_base\": True, \"temperature\":0.2,\"top_p\":0.7,\"max_tokens\": 256}\n", + "document_search_api_params={\"num_docs\": 1}\n", + "new_data=[]" + ] + }, { "cell_type": "code", "execution_count": null, @@ -450,16 +168,56 @@ "outputs": [], "source": [ "for entry in data:\n", - " limited_retrieval_length = LimitRetrievedNodesLength()\n", - " retrieved_text = \"\"\n", - " response = query_engine.query(entry[\"question\"])\n", - " entry[\"answer\"] = response.response\n", + " entry_generate = {\n", + " \"messages\":[\n", + " {\n", + " \"role\":\"user\",\n", + " \"content\":entry[\"question\"]\n", + " }\n", + " ],\n", + " \"use_knowledge_base\": generate_api_params[\"use_knowledge_base\"],\n", + " \"temperature\": generate_api_params[\"temperature\"],\n", + " \"top_p\": generate_api_params[\"top_p\"],\n", + " \"max_tokens\": generate_api_params[\"max_tokens\"],\n", + " \"stop\":[\n", + " \"string\"\n", + " ]\n", + " }\n", + " entry[\"answer\"] = \"\"\n", + " try:\n", + " with requests.post(url_generate, stream=True, json=entry_generate) as r:\n", + " for chunk in r.iter_lines():\n", + " raw_resp = chunk.decode(\"UTF-8\")\n", + " if not raw_resp:\n", + " continue\n", + " resp_dict = None\n", + " try:\n", + " print(raw_resp)\n", + " resp_dict = json.loads(raw_resp[6:])\n", + " resp_choices = resp_dict.get(\"choices\", [])\n", + " if len(resp_choices):\n", + " resp_str = resp_choices[0].get(\"message\", {}).get(\"content\", \"\")\n", + " entry[\"answer\"] += resp_str\n", + " except Exception as e:\n", + " print(f\"Exception Occured: {e}\")\n", + " except Exception as e:\n", + " print(f\"Exception Occured: {e}\")\n", + " entry[\"answer\"] = \"Answer couldn't be generated.\"\n", " print(entry[\"answer\"])\n", - " nodes = retriever.retrieve(entry[\"question\"])\n", - " included_nodes = limited_retrieval_length.postprocess_nodes(nodes)\n", - " for node in included_nodes:\n", - " retrieved_text = retrieved_text + \" \" + node.text\n", - " entry[\"contexts\"] = [retrieved_text]" + " entry_doc_search = {\n", + " \"query\": entry[\"question\"],\n", + " \"top_k\": document_search_api_params[\"num_docs\"]\n", + " }\n", + " response = requests.post(url_doc_search, json=entry_doc_search).json()\n", + " context_list =typing.cast(typing.List[typing.Dict[str, typing.Union[str, float]]], response)\n", + " contexts = [context.get(\"content\") for context in context_list['chunks']]\n", + " try:\n", + " entry[\"contexts\"] = [contexts[0]]\n", + " except Exception as e:\n", + " print(f\"Exception Occured: {e}\")\n", + " entry[\"contexts\"] = \"\"\n", + " new_data.append(entry)\n", + " print(len(entry[\"contexts\"]))" ] }, { diff --git a/tools/evaluation/03_eval_ragas.ipynb b/tools/evaluation/03_eval_ragas.ipynb index 64eaac22a..4025263cc 100644 --- a/tools/evaluation/03_eval_ragas.ipynb +++ b/tools/evaluation/03_eval_ragas.ipynb @@ -45,11 +45,11 @@ "source": [ "from langchain_nvidia_ai_endpoints import ChatNVIDIA, NVIDIAEmbeddings\n", "llm = ChatNVIDIA(\n", - " model=\"llama2_70b\",\n", + " model=\"meta/llama3-70b-instruct\",\n", " temperature=0.2,\n", " max_tokens=300,\n", ")\n", - "embeddings = NVIDIAEmbeddings(model=\"nvolveqa_40k\", model_type=\"passage\")" + "embeddings = NVIDIAEmbeddings(model=\"ai-embed-qa-4\", model_type=\"passage\")" ] }, { @@ -58,7 +58,7 @@ "metadata": {}, "source": [ "### Bring your own LLMs¶\n", - "Ragas uses langchain under the hood for connecting to LLMs for metrices that require them. This means you can swap out the default LLM (gpt-3.5) with llama2 70B from AI playground." + "Ragas uses langchain under the hood for connecting to LLMs for metrices that require them. This means you can swap out the default LLM (gpt-3.5) with llama3 70B from API catalog." ] }, { diff --git a/tools/evaluation/04_Human_Like_RAG_Evaluation-AIP.ipynb b/tools/evaluation/04_Human_Like_RAG_Evaluation-AIP.ipynb index df0c77b89..92894634b 100644 --- a/tools/evaluation/04_Human_Like_RAG_Evaluation-AIP.ipynb +++ b/tools/evaluation/04_Human_Like_RAG_Evaluation-AIP.ipynb @@ -13,7 +13,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "We will use Llama2 70B model to evaluate the example RAG pipeline.\n", + "We will use Llama3 70B model to evaluate the example RAG pipeline.\n", "The score granulaity is from 1 to 5 where:\n", "\n", "- **Score 1**: Answer irrelevant or invalid, does not follow the context of the question or is irrelevant\n", @@ -78,7 +78,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Set your API key for Nvidia AI Playground" + "Get your [API key for Nvidia API Catalog for the meta/llama3-70b-instruct model](https://build.nvidia.com/explore/discover#llama3-70b) and populate it in the below cell." ] }, { @@ -89,9 +89,7 @@ "source": [ "import requests\n", "\n", - "invoke_url = \"https://api.nvcf.nvidia.com/v2/nvcf/pexec/functions/0e349b44-440a-44e1-93e9-abe8dcb27158\" #Llama 2 70B\n", - "fetch_url_format = \"https://api.nvcf.nvidia.com/v2/nvcf/pexec/status/\"\n", - "\n", + "invoke_url = \"https://integrate.api.nvidia.com/v1/chat/completions\" #Llama 3 70B Instruct\n", "# do not remove Bearer from Authorization, replace with api key\n", "headers = {\n", " \"Authorization\": \"Bearer \",\n", @@ -116,7 +114,7 @@ "We also ask the LLM to consider both the reference answer and context (ground truth) when evaluating the response provided by the RAG pipeline.\n", "Finally, we ask the LLM to provide a score on a scale of 1-5 (likert scale) and ask it to provide an explanation.\n", "\n", - "Here is an example of judge_template that we will use with Llama2 70B. Notice the evaluation examples provided in the prompt. This will help guide the LLM." + "Here is an example of judge_template that we will use with Llama3 70B. Notice the evaluation examples provided in the prompt. This will help guide the LLM." ] }, { @@ -206,6 +204,7 @@ " \"role\": \"user\"\n", " }\n", " ],\n", + " \"model\": \"meta/llama3-70b-instruct\",\n", " \"temperature\": 0.1,\n", " \"top_p\": 1.0,\n", " \"max_tokens\": 200,\n", diff --git a/tools/evaluation/Dockerfile.eval b/tools/evaluation/Dockerfile.eval index d0fc923a3..273102489 100644 --- a/tools/evaluation/Dockerfile.eval +++ b/tools/evaluation/Dockerfile.eval @@ -12,10 +12,6 @@ COPY ./notebooks/dataset.zip . COPY ./tools/evaluation/imgs/* imgs/ -COPY ./integrations/langchain/llms/triton_trt_llm.py . - -COPY ./integrations/langchain/llms/nv_aiplay.py . - COPY ./tools/evaluation/requirements.txt . COPY ./tools/evaluation/qa_generation.json . @@ -25,7 +21,7 @@ RUN pip3 install -r requirements.txt RUN apt-get update && apt-get install -y unzip wget git libgl1-mesa-glx libglib2.0-0 -# Expose port 8888 for JupyterLab +# Expose port 8889 for JupyterLab EXPOSE 8889 # Start JupyterLab when the container runs diff --git a/tools/evaluation/requirements.txt b/tools/evaluation/requirements.txt index f3e685d0b..657fe6f83 100644 --- a/tools/evaluation/requirements.txt +++ b/tools/evaluation/requirements.txt @@ -11,6 +11,5 @@ jupyterlab==4.0.8 ragas==0.1.7 seaborn==0.13.0 langchain-core==0.1.40 -langchain-nvidia-ai-endpoints==0.0.11 -langchain-nvidia-trt==0.0.1rc0 +langchain-nvidia-ai-endpoints==0.1.1 atlassian-python-api==3.41.4 diff --git a/tools/observability/llamaindex/opentelemetry_callback.py b/tools/observability/llamaindex/opentelemetry_callback.py index f024cd3ae..f76fe8c46 100644 --- a/tools/observability/llamaindex/opentelemetry_callback.py +++ b/tools/observability/llamaindex/opentelemetry_callback.py @@ -153,7 +153,10 @@ def on_event_end( span = self._event_map[event_id].span span.set_attribute("event_id", event_id) if payload is not None: - if event_type is CBEventType.QUERY: + if CBEventType.EXCEPTION in payload: + span.set_status(Status(StatusCode.ERROR)) + span.record_exception(payload[EventPayload.EXCEPTION]) + elif event_type is CBEventType.QUERY: pass elif event_type is CBEventType.RETRIEVE: for i, node_with_score in enumerate(payload[EventPayload.NODES]): @@ -163,8 +166,8 @@ def on_event_end( span.set_attribute(f"query.node.{i}.score", score) span.set_attribute(f"query.node.{i}.text", node.text) elif event_type is CBEventType.EMBEDDING: - texts = payload[EventPayload.CHUNKS] - vectors = payload[EventPayload.EMBEDDINGS] + texts = payload.get(EventPayload.CHUNKS, []) + vectors = payload.get(EventPayload.EMBEDDINGS, []) total_chunk_tokens = 0 for text, vector in zip(texts, vectors) : span.set_attribute(f"embedding_text_{texts.index(text)}", text) @@ -188,9 +191,7 @@ def on_event_end( span.set_attribute("total_tokens_used", token_counts.total_token_count) elif event_type is CBEventType.NODE_PARSING: span.set_attribute("node_parsing.num_nodes", len(payload[EventPayload.NODES])) - elif event_type is CBEventType.EXCEPTION: - span.set_status(Status(StatusCode.ERROR)) - span.record_exception(payload[EventPayload.EXCEPTION]) + if self._event_map[event_id].thread_identity == threading.get_ident(): detach(self._event_map[event_id].token) self._event_map.pop(event_id, None)

IBvVLyLu-|%r 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Ν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¬~=iV?-t- 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⁣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�B@43E;QD1v)w0qrF_Eb- zgno29QLP_&9e;sw`Zf$XBKk9*dAcIQY8@p4j7Ze9Z!3Z1{U0?qbwqiwSy}8Vdif^> zjMR5IxlfV?=7j_Vm`kzE=E#x`>1-q3vHz_Fd`zX%}daIli{y`kumTKXC?QgVPo9E5L9`GN%|f`!Mz_o_ z?Tg$Rs`+Jg1F$s`JWQp)yJ3goha?F~v~J>b3Afzq>l;b_`E3m#axb*RR>c?`WND8B zm0HKn@w;?xr9_{S)@Nc$>a~vEmvSs_D-AKq2q-zAwegE#r`EE^#fOcT5cYo((Y(*HIkJTMWksHAv1m_>K3}bZqWi6N%Q~Vh1SXGJByK3 zqq+rN=f0>6MWO0AaBM3m5if-);%`KGt@?lLy?I=W?H51Jm>yH1q{Ui^h&DvFmhq4f zinM4QAyFx!MeF@M4-qL_QB;;fd)oK0M3%JBqEb;rY0f~UN?K@uv0;0qH4Tb zHk8$EcrP(3#!5%o$Pc?~%NdBQ*7q8dqq}!Z9~-%j+>ICoCO-S~2Ga>hKWM?uz0aG^ zyG6l;QL10k;OXh*jo*e!;NZp(NVs#g@exylVpb-0a+0zPp&ky|EN3cZ3tI4NOMvmF5|dvA&eDcdNdo#u=(O} z%zmRPY$$lGzFZRo)k>Y`tcUpU!$^tP5vscTra%CYqO-KRoQy2jT!wg**@l3u`M^h# z{O{VO!5bX*5Py#GaiAur8cNoF0nJ6){CRl4JK3DAST7uud71CcA0w-yna!;_K420A zO4w3%WM&;qFMKH9jI_{&|A99?!#2mJGcH8YN%xIZ`k660j26Dh(FukLWwxDSLPceM z9+v3@9YS}`&JVP0s4=NmGZBuTV z%-T&_&OK$?8wF>L2_Z-uaT#Y|%uoR{qZdT0!L;R@CX@|Bj^%Z^^JKg=SJ{A-Av3Otqnf*^p*rw4;SqsmM!5BpUX zufv6Wl?Jn6uU+3Uz$|wMa4zlxoK=*T8KcCWAc#d(LIK*lgFst(e#b9eKyJntAHVRa zPV`K5Ea}jg&_cK|p7^ufzYm68E6D+7`|2G}-+3^5@_R;VB>YW_f^=2dyyUac8Kc^q zqd@n4hC-4`YAHzUvA=!}ivrq)6Mf?W*7}v4`8e!tW+rF#9nyJR2LHy_Fruf5U=<1_ zv8SlmO6Ogx&M%GzL4OM2s73N;F&i2*U6m zW*w*PPmD_2!UH3=kV>nywa?e`9*&ACe1km=#t&z;40G3q|0h-{H9#Fil9N|=n)G@I z7M7kgt@zpE>!dn{Lzlun&|e#H&i!w-9C$|??1IFe3T`A6xUzHb=$t0e$D za|u7qmyH{v?Vb<|r{>ZsD}v)49>~*|>P$fD2rCrnfxurc>2mEs?q3w;B_tc(T=4 z*i+mIVZ>u4$Ae)givn6v`8a4FD z=ZABSHW*v`Ui_n?@)%}dLGOR3!CEK|xdUYZ(%0P;Cxf>rR524|2_h@~t;VC=NZmAx z4#i-pLGog-U$q#H(-a3XnBPm3cq8}v@soi7-h6O`jJ%ALE;!?+O#eOj#Q z6q^NIEFl%wnHO=Q-_{%)q~H9<=)q$+i_+cC5O5)_puVCKO2`dV8ByDHmwIs}Gg|7z z3KdY1_w-Br2Yb+c9EdX*i{J?PFVMd90Sa3soTDl7D@JZ~>Y6NxFV?#U()&uwSJB}y z>kv;zrAST0C=AA^{s~Amfm%uRzP^)e@1t|TkB(W7F3ABZFka#Tj1D8ZE28{Nfrw|r zTR5)L4p4!#WwqpknL|uVc~QE3sBYMoPh(8thMWRo{AKBF5X?0Y6--uN=^bZqsL02Q zj%z9oA+pXt0M;H;%2U1LB=QGtcE zgNy2@P^37JX!D4l=@jRFAHpRwJyE0rV&o`U3u6gFfw1K|Wzgvxaa&7%I7GVuyIyJf z#%(`8b<;PUpiro~@%Y8jr0qXR)E*hOU^RJ#GJ zI;u*31jXrX+yf4hr_NdQYs@AEHw-{4{}aGYA+y!!B1EIUDAebli1XkU6O1}1|NBSA zzB+O``^~qMVu1d*=kz`Gp$3%lb%in`ZAYGoFn)>wQHyR7qmp3^pK~Fr;4c<}xl~7j zZ50U2?4-zl{d;N%NZ$4(Y~`YZFoq{Ww-d4NZt%}Z#)yNKFBDewlcJ)nVyY*-XB)W? zkzM@`WTqZ2N&N%f$2?4h7V^1J+TqXpguta_^HBBP!`|k79SoI~ctR*BJDv)9d`(UD z(qRe2u6nSaS(vR zQN}aY=-o-=v-b}R_-(oD*S|SKO_YA z!W4{`j3pPu&|8WTGfb?$gF2s+k`G{1Mlqa_Y{2H0`j@xwprA9^S-*c#28*eJogO~v z8lA;gp~}|8X8c`MD6Ky+4melNiDNQ4x8nv_*qFsC!qFW(nv-TqeR5c)z!0vUi1XzI zS&*X*7yW_$TQrG--tc9(U)JuGY=m#RRRqP?y{=zz;vyKT;GY`#58bl?UsQH=S$=Nl zDwi}ma?#xc-JkqEFA%u3!--L)1t(zi0_qA-<~+9;f9~l; zFpw%9ci)PVk2*RLPnQEml-XnK?gFIRHK*8>HNGF|uaI5>Z}+*SOCVg1ghqv}yF%cD zpsv@hRg85d!bIUaRIAVhioL^d<%m6qj=~Xb+lMqqDQ^)kJtaWTq|%fn8Hco#qZ2K0 z5Q6-SglSYmKHpCMFtqBDb;iUKdTx_{&UW0kYlpla*DEIRb|EW*Xs-r{D`qb#9|N;6 z(gtyu90!Hc{PQgnHtB3y;6sNdNZ6p)s>`)>X!tebg^mVV>Arp_wh(P1TB*#CFrgCem6n(>t0nd86|nU)n__RfAE$fTL^?^-qnyp)D- z>NSR9IcZ;|!fX12pp_fxZo^){M1}~k)rQbXMSwr_Z48d#x5TqSS_T3^T*xA9JF6+9VwGg?FQI?ZMw@|Lfk|IqtSYOl zGlF^y-4LL?@yaO(=!f*u;>=fx3Ph$*)I?k}AtrIVma>fMS`8Ri#(>cs4~c2D#S9vd zwfj2Hx8~N}*{{C|(9NR)cSwrGb*_kO>8Yp8o9jHd2gp!xK?HnMf|dyh4TPfXTFMFPSX7d@akM;Wgt*Dy;rrJDoH zbOKgklWzX}-+MTEt{k!!&|V;|9979-Q1VETvypde!O9t@RZ~r`(u2Ajr3GTk5(N9WW;{> zXW`_{Y}bJUwkK)sQquEP43T9)aY`+yki~L2Yu#k{;e#S?VpK!|j6H*7O+3}03ah%r zpiKc+0h3TL(nFGEFvo;~A7BfDK8!60M3M}Z2&?$Sgu)p{#e$!w)JCt}23(C>TQ0Mx z7#L+?*lmE0?zC(;##9I|)tJ)ykP<|1VvywqAxiGc9{6*FB6lK2x6Esy><{ZvuCP4! zwXLxGs0x2XzIJ}ff3xsqD`^XAm0*WZ{?eY-m|Q z&uFZDE!h}U9+({6S9TxwWl}q1cNX9>(2Gs0y)$g6=)d01Mt|IqIp?>Y30Vb<+YmU$ z?GmJN6qL4fCh3DY#PK0__iB|SK?v51z4b{Y`x!{zsRs-L2Y z_x(YuP<3^a9Q|X!kZonos_tMovb~p50BQV`ogsptDF%}E_joBqARHxy(C5C8H?z69 zf90XK8tAd*w@{99wGQlarE*LAY+o=kr^N1nEd7(Mh27mEbKdj9rUF?3@8no5TcLr=2;m5U zF)$4Om7h{6mG9sm?8{ZjTuLzkDd%|8V(`(rwa~uL!oE=yw!}|B8aS%#W1w`LMb4qw zR69r;80ZnlRy;Q%4}AJbs>vn0^wR(0ZzC<;_mVHuf>WZc_XHRs zffe&{=4F8(C6jqn7J5*m=o&F9B<2YOJw5^PrNy83Rc-7IXtBQgf+6${Z&1mSiQcOs@6Y*V^XP5Oe(2= z8D|0TOL$7Z^!;=?6$Ebi-vq2;keNR|19F3{NnRU{8V{tY@z;%iGv?fO(d@#h)1V)~ zk(0OkqO?2&cKV@DOB>H^n%Ik?!6S`9c`%sh6uS1mGU!s#w_Uhg2~I@hBL_7ilFY_U z-=Rd{?zlx6N!)Yvi4AmFDB%^013iy0=xdoiSpIm4>pPmx&Z3xw@#Rw}`LV43c<2UR zz&Kb%Jg!raC3}h)WOZmDyXv1thDRe`1$*zn-Z*tm_)`Z$RRgpQU$2AG+2b)#Y+l!; z5NoCI03`>2kCUS1#?0g&I4~TN4*FRDStONEwf+GVj3rhqqPk4Wn4Y7Z%1}HMhO#fv zrLS#+aH2>(#3(WBI}}U#jX1R)GFw-JQ5}#L;LP9VfXhVN4P9OMiL1%k*e5gUSyosTjKrYCLXw>PYvhEA(c*;oz6Cj7os+t1Z6+^b zMMJGnZAzVhbU^|2*;RNoY zAet4Gbz(PtFa(sf6RJ47^W-_5V{%vR>hp`QMZ#W-3^ARL@7qrGn)-emR%H|nd)`cezQF3q z7C<(}Af*o`g*ez;g+t=)v|Qhe*V~zts)5K*UPEQJ8bhhxFWz9X{eSPH$m597mtIpC zYg`C#Xcn$ITl2m?6c?6KOKM)01cGb^?CY7%`G;^7C+gYY4W+kX0)j%#h=6MTjx5@Sz@n`Up z8jPSV(!am@=7`rj7WVzXf@XJcyinF`NN-eQFgB z=Rog%|I@;`Or`eJXfGHtVxkE<){7_;cs<1KK(Snk?vlUrQ@VQ(W;>Vq2Tl9HbPx&Z z5?QY064CO*_i_C`l8rz$!3CbxTXh-P`8O<4W`-skg2tyyeN7q>OpvL$U_fUIfi%bw zp8_$KzMlC92j8jS!n-N1sfF{kjnW{k=F@#Q-dVm)obf?PuW{zn3iJKTmEvxy%QA}2 z;PbF1{v>5w#zioM?n!~VJo=ck5FIj};(>m)-r3`-J*_Y${E+XSXcO2==!#iTI!!T7wR;0Q`517|@2 zlOe*9Y;YO%Je*LDV9Za2*@vc0LcRANZe*U8%E@h;XLA7zb=phRlN`PLj>vxNc{7{6 zAYl}Ot5%`RteM0(rxaKQMef91&pdZKfaFv%yCfVfJ0uc~$C1xp=9vtU=TBaksa2df zPZ?Wt=Zj*Gs=DhBCZD!VJm>2-V1ziaFJv;a{){?)^F0r3hGa)g0hPMirC|A-=>F7wj?_3h$QpNa`$O}r1@sbQ>EoUctyB@Zs z7|z^?Y|r?m!~SzJubA}>9TOOU0mkpWlLQs(r}9pQGXd-mFuxE1QLI!pZ^*+v!N`f9 zMNrlb0OBgr99BhzX6ANbvcy1vvD4XoUNvrz>EO#RCVOiqlyGt61S%bTj)-zi+=3?4 zgr41?JvPDld?#fegk8>}VGJ<>ul)8$6_XLU#gH6UFb>-A4j8F$DCO_NOk9dYfI&_P zU=_rv5_P5z|Ljm?MI0Le%6F2S2HYb_3-#4sHcUVZAWT5gr&AX1v~Qf^-2BLfHRAy5 zuMl(2s#&>^3|c%*#Ghz{4_P=vFFF({b0K=?WGREuTFw`3p%@Imj`c$=plF}*B^c&D zn0@=!n=&-TTd$reA~ykvz!&#K0f&8JYj`zUz5NS)$ix zS~_F}!FeH}B%HnG5z~+UHqs4I7W7pw=Agz2-(Ry6BceI2MAA+~Rsbwz{F<`K94=#3 zwBqcfVwe(nL!vpF7jk<+LaL=oTwi(E>8N1ZC{HN^uvL84n7X12N^R7yoAwe@lZsj* z4}+zUd4!ntnPMW08ld7kF2iAU8VE=OYq8ro%b^hV{M(ejNzZ3(jyPMn69#=F1*veW zqxxbUa|cQXXozqI+|<`v8u9BIVem5f72fSyYY3E>ROBpb48%zW!82Qhx&c`~fmP@z zvxT9l{11;&utY61+FYN>n_=N=5%a^C2V|Bd>{=VZ1N=6hoW!yQxs zI(;?xWFEXtkjE1(_|L5!O!S>oTa#_EL8We&Ayj&h;&FD-X8bck4oC3-bC_%BqtxuH|p`8198jgY}4!%{ewG2BtVSHQ>w_6RgDakca?fs&%`? z7D}4+ypAQ@ILJR4V5GSeXsmf-?_To< za?E7z6G^_f4B7o#q4*UAgZ}E)rbZXEM3M{HZ?Gc7@9)=4NmynE9K}0nAZITRDb|c* zqs9){;(|n(IchSY>bB?ii6<9rqii64Hmd|KLE3?z=Lv-#1c^Nq=`JfS*<)|#g5j`c zgXDcVNZ$Ll{Sbz+D)^TybnF(+J_SqhaZ)|+e{|o^W)_a5L9R+FE`TfG*Hr_qN5s5> zLSga(T1ZOy{ch%pYmz+9&g6hk`bUr#yU{;;^{;yzg%Dur8RQ^mRiYxC2w|k=2N?4i71Sr2ds8Slm5xK$_aI7j#5sFo{HKdq%>_m|l(YF#LT}#|Vr!o-@ zo7jU-iLI48lmjNfsgn*>9zfl?l2hvnm=}+LjkLu#9|96+m@o6&!b~I9--%R4j67~1 zgkn>f4kq!Z*ge2d9MPaCMBzQ~V11Q%p>*vH3Y0a_|%pS+LWQhAoc2;D++~&X&i*CV&^qIq6sH}O6~_M6;0~XQ+pd;7Ak)E zg!^7AsmdJMA;>9FrxPc2HTxE**Pmb?WQ;$7s3FDKF$0myhUCF&E~SP>#LW#+4B2j8 z6RRH}D&qe$5GqYXIe1mfwyDAq@&=mclx|bZupeOn3eFE~6$Y8t^R?SILit4+5hKMB zBdx=yndA0Dg!=s#b9iZ0Qzmwq=z!}&=EPHq&{v03iqP2#lVOa=`eoW|@~bq1gMi}v z)MTI5+zquT*X_h>(ku-eCl9V(D6zevBYfo*`zjGG3q{fz=MH4_cUY*$f7vhz19V>x zru1JQ-ntm&q(e_O+82>Zh}=_1@+~V2Y^h@6lOBFLnXWZi2CoqRJSQpp(wy z>@+XJiHw+Sq1jX-Uv6WGcP-eV`WgULmrmhwD4;?!OjEWAXPZNci;NgF1Vu-DCe7!; z5z6@+nO)pJV6Yz>1B#TlFF`SU290=Tw840XoHk%lohuL8UHuq~6f&H0-`8uDfG|~- z@y@$YCx3?S63%`Sh4FBsyCP&Ntv=+hyXWZF@eV*p#d@5%Qz9rj+Bv-eW^EzNd;oVx z1TBMHUf#=`K?W1T!Qxb>JTM?Brg9=oq4=>aph!c9VaVF(u7B`x$Zzpfs9kC;NJP&c z3pa`&iyhOCfWia;r4vv?hAG;@*-4Q2$(>fKI>&u6iVKFg4!N(*jh{K7vXl{`Q!EllmBqq!}{NR@3G@n?_tM>y@Xa=O&+G3U0_dXzXp z-hd)2+Yc}Z3vx&_@wO7&j3M4cVK6hrS%2P+zCt(=NveLJ zY&PnAgCdG7h(+WiS~O(xE+ytLr*I?3U>%;@>yJ!555MnMG8?buGsM!`lj32JVgiV* z&^o8H?Swa=Rz!lT1%ImFnn3Ye@9*G(qHAe4PKv_W$wtGm34d&&3P<@?z2zvklcE!l zH5EjjBaS}nWxiF`-)S^OJ{Oi)qx|BiZK(-J7-d^{sZ6T5q_-T(Bk>Q6p#vzzUv|F@ zA{`=C5F_u0r=f(1)(cQ0A-81CqSTXBEJox)WqMm$K5>D1;jf=G_)vsrSOj=<(2Jz= zXEq;#(>_KzM9VL|H9C)CNs$hNnfwnx51h{aE{HiYav9z&mCcJezRIXqeg{H2lxbd) zT$3e+;+}{rAFMhmm#l)S`8uo+IS)vx+ggkoLTFf)l!+o2eLBKi&D))O+bq(HKt?0o zv3LVS<;UF-NA#244<|UWexQ|1+1c04e=_eqwDwAHKHC^DNged-+N3BKYI=-L21eFp zPTZN%*C8cfUr<{5=DiTO#r%L|9WXP+1k6nFI@1bK`@zixRMN^sUTA4Djnf03QXjr4 zGJB=-5BLdvP>yHkbODmq)1%4w%%%WL8PDc1X;uPpglMS~Fgw}fmUWBm-mkrL3h#mYLsFw2>0D!it)uT;dpo6~c{yN?I%$#bKovIxYpZTE=>sE zG;!t2Ysa29o>`c+{q5XR&%b><%Vz#$D-?PkveftJ`^dFtZQa>~FSSouy9HCXkze4t zt-x50)}Kp~QPd%h1uWpjSG$I;zTH66KU1uW}=Zd(KwDp*%ISs@ediVr%yC; zy^>XDZ>OPsdcT*ez`b(k#(uO14gGr{<8P4MRj2!D=?Zo@wL}A_K)`^Ml!I_OgoGPa zk&jFA6j!4TWFr@VsyEPW{Xxgl4o!L(Z|C7DFZ~~O&)7Q+s3%bSAtqSL% zag^r37Gl6rp|ZD0XoO;oG0ed7UOgzwdqF@%n*B#MW!~KTK)Giaxj+~4M|^!tRycs$ zdj3~1%N7zY5&b?G!Er|LWqed>l*^NtlYtbMbGrFv&;vnY?b1>IigXT_!Q)%NJiLJw z#IrO+de?%97Cxs|ajn3zxgxCxVsUnE`|37)K?$3(7;d0c{62pK$BO5^&RcX#WQX8! zG&di~AXGiRXVdYm5csy|H{?Q`R^!W;DYF+&yad=(a$``6i(gEzCk@UBdW4N8-2dnlEJZU`n?YJx1=#OBI`5{Vea;$Y>GFxi z&DJ}LhKQ(liE$GHKVDIbbKOrFd{k(Wgr>&8K+~p*yc69)B_IOVmTe1j53vwu)eUi2 zUdTJDHM{EMe6Cek!cD9IP1gPIKt{9cT{=9SCk&89P76}>ir}DAVR?Zv)3b$bGU_un zu0mvmK&N<`br$ms71p`T!7!ksPh&OePmaVvs3;W1@ndJM-XlfTFWLW2MK4gt6C`$5 z>@4pu4tMGnOx&_y2OMvX!qt&;!HCriNZBBVy(H(0V5nA_LoOSt$T{qyjNftaZ~*!{ z%{KoS>VHC2Z)jIXM?i;d0Uhs`xQ<$?(ZAT4F!v&5ey?-S4^`BMECp!~E|B(!cY>MM zj9Z{)wmA46YgotdSL9f>w(5b>s-uFISP4NFav>WfVNhFG%9;_2`d4IUwk8Q^mboPI zbU9^~q^`FV49F)p2QBsY~4Z3R1*1LKx4gtAW=Zgn;e=QCPz6%l>2MrK6g9`%v%s4Hy?z2S%nhA619AfAuP1 zw3?3Dpc!~)HNT04o+0`;nw~8I9l3Q}(u#)G{xK*}DL8cTT0o_X`n>9W1dPTr zu(ey2l87x3P!T~DqtRNY6rKK>JG1!`th`?q8#V9et5}7u(?BL!%xKFJ1E9~@UgSU< zM~7sv^PaEOeu~P`qZK`}5u5dW6R9jkRkqAY)3G8}+}i0x-v!pKCGq*K_pd=~+agb5 zYce|kDd{(8xF?nTD~K*5>jvG~lg}GayWf~XlWa?+sVaq`90i?Gaf5Or}YxvBvv-qIK~kZ^j|{NlbylO;Aa2t86c zK)zQOl{+`1=KfiMTRg!5n1}OWnN_X?U{(n>MJl7ZtC3R?*%x5Za@=&SZBT@fqAX%ljK*`(7g@VO$_CDHwK>(gTqAZ-<7YXU>xMonZ`a%URuIT)vkH{*6bW@y) z@LF{Jj&jrgL;WI#u*UJbknav=1U%%#Fr6j9!P8Be13?gaz4u3GCHR!-l9OP;tlSKcu59_?7?jRG=Q- zEf#+X&Yftdkw47@Q=-#*7V@CVX~lA!U4>av?>jK?+N%3d3ad}er1mSEaCX+Nuu5Ls z$$fJvOCncYbzOwj2>~2uW6I8oFZT5myD(ar7d4&3^rUFX83v@Y1g%KzMX2WV=)dmG zW~!w7@7OpS9gC1`LQE%EBinrA>04B){l+6R5%Rh(ae4e1SZisEZrw=~lT+PV^>`#9 zj|cmjEXwT~dc)fx=__DM=?Z7d!I`Nr5f?oJ)KX=IFPVy7BuBo_HkgL(Y!OAT$6&f> zbgZD`D7h^GwmHduP{s*?8xf-vuC8tD`83}b9bO`N5!uznfD}&NdC>}}dY*-2$Szbf z6AO8O{*$BpKJpVhEwf)IM;t+qTMZ220jaaEd7cW;c&cje3rJyTk{8W&mGFJXOGon| zK?c#o!FY%e-|-ux2aus}qI*H+!@G&USA*oyTgnXP|Ae`AVdno_$a-wWrP^RuLg8Pn zkg#4DtOJ#+h6c8pG_W=QcQ&f`Isq}|jQKM2>1*{Vg;Jr=MyG&6Znt*X9;QX1zX1+( zRHbsq_45?>HPE~Ip;MFaY0OvxL1HV26~obtX9ynnc~0I;nTxQ3g+FN4dYk(Z zjPTjf`8i+jfJ~F5TL_%&DY(u6;waGwOD47dp_x0$*llz8CKf)kglzS8?6NQQv+O&ZuHJYR(|KGL5j^QqOl z`#bx-sevhUJrDjtuYDUOLQ)PN0#amBu(};Y24hs6a-oy18)#9|`PE*jauVB*%>3 z9i$t(5;fu!X)V^E~9jI9;7io z6*>dHs!n!c@cn5R510VXP+kixr;j#H#a56MwmCa*iJLeEjEwS5z}U-yCh%gNqZm^U zD0!zQ^WjykmO5KoN9$f$Od4{JpkvFom>yH_WXJV=((_qx#bhO z<|M`8?6@tH9Btt8llFb0-*jmFBuz1#*gNI;R&wnhi5fRJ1|~Y00^3Qz|FCy4tc<9t zaQ0$YD$kc2r1Z>19(ZCfD`|wZQ;%eh>)&5J&01H(OV)*7ZkEhdfk*P3 zZ$u0-A1(G2xa(|lBBIYKFm>Zjo)Th&*TtQ2$=`!5rn>9hw_0g6ud?j;%Z+G$4?yfR z;T$gW6NYQ52^jD_N=yjYf&^#2{~M03&ES|Du{?-3i-#!q%F}Dw2P~_0&Ws1a*N>K8 zNe4%nW2&EwL1m09K$lTaP@2q9mG}%&7%^Zb@@}n9;>D=z~^Zg=Xd9%QNry97it_yGoz8yMz8)>XH=cbdU(_)aN#trI&2RrH`*Vja9#^3k zG>n?x9F&B!7s5h>4EDKFm)tldmtj1HHaB3Y-EQr--H(2HfKib+O3`p3hvS3w1E)jT z+zZ+$K;wgGQb}&1w4e>v0=BDSIn_BEyMNv~b*}Ru9PgZi=K;s7rH~?E70zJ$!%TIz zug(fBr~|?%vRR>ubCiG4(#G@7U)B+|LlA?8BhaTPi5S~D0hXKWpjC0=qH*~Cp894# z^n~(6+-Z)MjdS#Gf5?DC2J5A2bt}DLxgpYEZZrjG^FGPln=d)<5z6G{0q}gq^UbRC zwtIMJQ62_}jgl1hyqQ*KAtjQDQMdthw?AsaKN$K4DWCqWc5P6+_jRZ0b@6DHAPY%h zL2)(txSK~HL3S$urreK7r}S$ixQ=X5as7dH6h2P5Z^`veCW>kHhEe|&U}>>Y5~N?; zvw8(Aw))IAAl*T>gb5h8Q_+s^a>&ow+-|RxbPkR!Zz+V-C=@0^Y7&T)r0VTsy85+V z7!PQ+IUxJiH1iX_-?i^zoO5)h2XPlpV;7{&a-b9ptW$k{efLWLxt&F?Ce6vqL)#5I z@Z6+-aa>)~QiO`X$!6X?h@sj?Cm|$|{j2{6Qua^Sa>kllcW>0r+=nT;T+_c6c%mV0>)}RhU8*$ces*2 z@qDcFkLd5n^v9B1^1p1sOM|X{b_7Tp?`(PU3lyY9^6l z&fdVm6A8+U9#!Pl1&An~3u#Q0?=@%GgC4;?y8W z10@I|Zn^_b2!YJO7R=XnPZWwR;6e_@@2ocYy6(9KR)ZYi?TT_jOJ^f62`vPVV_972 zB7mh(#FPV;!kRV*62+V}Uumk{^^H2~4uB?~x$=F}24?}F-;`|-(J*^?YU;C=H;dk5 z;@hZTxj@vjniCp_aZ-J!$|uW9u;2(R8tek$5M4=3LwIy#NpK~e^iYAd-Kyv=&9XZ9 zdeXcR;nxS>Rr)4pb9_)x%ip83%P|;CZl`cIKQzNCO^jk#ectr~iyIJgj+WNB?@Cm* zmzWtAVo?j@S5bHJXUWBFI6`mbHC3o3&*BZGrKlBtu+&+UG4;83!!3#!$|-7ie;= z@%rh=avcEzBI~=HfX~$WRUe}gf0XBw(-Y2K3ahOe-xo;!J~vD6MTfMI)lDqB_UDtRnQC&u=l<$)8f!`CkW;AE5BdGdRkT*XL{Lc$NFfb0!t+A8Ir z7_4}SHbxrj0x(Z!E$w-T9h$-`=Urp4fBO<23x#^jJ*O30adt$jB_(sXP z=qEw^IjZ*JA*GdE$g64cJ<>S>CLqCXO9E{{V29(ZI27lp=pHflW%w#s&fg`PkjGw~ zEPpR>V;h!2KvDr#RRHDP9?%3MEP_a~SIv3?jTl@s`&LNr(=IGs8n7J!>?AIe^nR3J zgsQqp`nde0;#~BZqNCgdbzW!cnz2qJJfDmk!Eo!OD1y>I&gz0(vzLZnK=;={W5Boo}5pKTCeRJ{x+a^BDsdcs&iTWyPm3dWJ2HiV5v$AdHSs?#l$KzLt(D-JKH^S0bjLC-^Ib;1yBas*PD*b%BaYSX+49n zBm-4Cdy^EnkP-67;K`k&a;n8a{MO&_%U>|?K2ivgTMVm;k~`rF)myT?U#pMNKnk>C z$2p?EkYMpQr{m`iVHu61Are^-A1wc$C#0P=k;ar79bM-L75T3lxJSa>fHlbE)Q#U< z+bVBuK9&Y$9vPV1>s)RDNr4bb_f}Y*J5kLOjul0~6MD`N{iSCCT2!vELB~8yu0_R8 zB#f{}_wXLf%-kryO_GyhPjxweJpLE<64(s(mbE`~oKmXAq*7pXm#KLXH8k}O!(dHt z+-$Iyl;X4oPHQ5b9Vw$htWd;por8y|% zbTM*22D+%gxI*$3eDLCY4LE59VYPcSul02H#`z;TOB0Z4j+Vq8kkcrY-GePZqmUUz zflMm|9y!>l_AS@a`%|#Vu?q(h`RxykYDV##Sboa{q@4eOQ}^HPu;9r-iV~Pw|Ff&} z;aRzvA|uqW5xBK4(QL!I7u}wGCxf8Od~Zx7`msavUFEc?$z(x2&9#`SnY;jG^vz7} z+8@{jrTZ3S0fOOW0VW{+G`3Pq&UlB-2w4PLHUm=ml-gCI#vYx0FyI0pt~d`3alM*c zMn+uHBmh_M>UuM~L3j$Wj)f6{W@E3~ONM5p&!9!87GKrGw$da2LKIdnkI4w8e8mutNd3VI^yKL$V2n-B<(XjH!T_XpI)9K}7JuBD*;-3${i_ZtW*4+X!6ZRvv9>tlsK_`kf0*1#5l3q>_9#5kY2a_X$mObg zvEG}H!vsbxcfnFm=NZua*U&9gi%RqTWliizuP*O5t9O8>_zy-_`n8_xr`ZQ@Y!JHkZL0%}P`^!uZN zf|o{U>BAGuHdSnBP@q&CEm#O+kq$DMy{bF~TK-s^R*J4w;AM?{pUKmQ+Q?Sl#zP2t zA{Lx`%ANB59UbFfKcEfY8ofKoe75>aFHhbwau6D?FymYER}dTV@BDF79)b!kdPwwZ zHHDx}2b5JP7?yr6Ca)j{TNM?B5EWx`>sH;=gK&L~hme|Vq3)}{uPL#S79cihDouya zK9xHORr)DJ3|Kgn$=~)0#)!6Ud=Iuwm0FGYgJ^an=6@!M4@$R%;KGrmo4W(#%YI6r{JWZU9=tL)vO0CV`nQipd%ryk|Lm;p}!O zQ3=ZRYf4$J1M`HJho|hQ!^VqkeBZ1ZL3iSw35gJ>aS}OFJFx{yT>ybwOo`&SdbP%0 zO*xKTiY2==r_gG25K)pUUn%pg*?aH5VJ%Wlp9i<))M<$pm93< zdJa~r`zQ`UdWy?GV_yhqMHoo4P}}emDn`h$#7X81Y#It6S}Z zS;Bz{FQ~GGIMQY!>`s!?9@%FVZZsK8xaOYDhX5;JKta`wG-%IME;84VwD;4#LX>#bn<-lY8lB~xC8-ovsvr6Z7gyDThm;4Om&w=lFcQBve+C$P6rh(3xN5N?)-knZyS9W zfD4Y=xEiUkn4*hl_d+~*L;OrHU5 zBBd-PPgZP;uN#5m9n=GYjkYZ*0~*l6;1gzbH1_Q?YA#-BH9qMHzyJS73}8i08mOtb zP&jYX^byK5Dh}Zsog7RQ%Y=G=EK(iev?Ko5uag7_Bf$Zocd(7O-xe?m;jJa9##HjO zC3C4P(&+r-I%w$CqgcJRYrolxY9P!*{_7o)@2!8CZsg1 zEjQX?iS~=O=g6&D8A+#Jl1=~I25vN9vu;?W2gy4O*iq4BT_+S>Uy{@^!ln24kdMX- z#+f^&CTeS?w=Fcqv<-e&f(R`fKTf^7itRX{UF4u6!}O$O{$zjWux@kR?&?=u7VDzq z+eHjVz!?+X1cgl>^+H3Qui5eEz;>NuZdrWcYsBcRXzLY&kNGY%h`^%wB{BEmL@uED$sf*9lu_HpdLync3so=%;WlL|l z`9%KX2p$E>MH2sYaZWF3)PMg!uls*pGkKHnl}nJi_)s1cwuA&I2}{mj_rDGW`&U^% z*bHR*W?4Fz{9}rZ;o%T|B<86r%(!0E)pz7u$&Y%+a|%Gqg*ieU_;g%!mAg(Ty^JEo)=2i~#NI^)1QmWVbEykn`G z$ANboc!yN?xWzkk6=U&Y+~S32-!hy0;}$RToxpo1U_8_?hKgbwc*g>7htOsmc!#cH z3|@=_FFct26%iRkn{nV}z7u%wj05jD@cxqC@leBfs9^|O#({U}D#qZ&IPi`G?>O-O zx`A=v9Ritg;2pY(F?cZ!yyL+83wFjW-f`d^0-15(9lDA!crgyV9C(L7 zW*m5ju3`*cj05jD@cx3Gaf^2xc!xk{9C(MWVhmo41MfKSjsx$n8yE-PA&?md-l3}) zgBRn#I}W_RU}xOo9S7bakYNVi#?|)i6BiX~2u8^3p3m)M!7S*0Kzj zsHsKIJ=c)_d5pMhbRn+WnmO5Ui!gT@zUi+m9e=a4f6AKUwvjWVh<65=WG2yWpb=UY zc&*G{Su;8&@5hhQ!`;5siP>+;?BDj^Y+i5kwLl)mg!R!CG0rDA>>iv2Fq%fCSJN}S zuWS|kf2N0$7)_}14V+&LWzF;Gu6Q)pI_#Upl!XmnCzhY%x4Rhw<{}PjZ&Zyi2;%>;8((>zn6`KJoq4}~!rvv`SbZUK9N+Zi zz-8C5rzND5=1AZ=jSru-W>IGUf8dvKARcSx8VBOB*7D;(Jl0x%9Eispn#X~79Ecg1 zY}_J-WR_w2JL4AdmA$I3Yxq#OuM@cO_DO%zGzTsHOaa;WW76z@_v!j0SC}<5HPrpraW;FqRNlQO-=dA3m&mFIzU&m6&T;cxgKs;6mS0kk zOIqOQTw}FP(Z8f!ddt7|*3U0Kc8_vwe_j-2uf9UQ)oxjD%96I{72lNJA4hu>nR+sBIIE!?q9B(#{va+;N`ph||lXsEb_zM|2ZkJd7I{d&Tf+5cw z%D#t3H*$CwLbyvV%SjdHpQ^{dSk=~Gd%gZ#dGp>IvJc`Nci(&WBdwY1YP3y5nRa{~ zV(ZW>{rO_Pp*vql`dnX|aJk4**IeeQrXYPf{tmMCO?{eK6XXlUdMKD zx2O7No{v2tzJ!VsNY{)^s3*1P z#H~Fy^G@l13uPQ&nmVR+Zyp&zX+vT7gTVy7pV)EmCI@y^iD_ldGvjbG}& zK(x*jrI~ItD@j%8Oi_rd+g9G*n|kcU{-2p={GZ>QW8pUM-#N-^mqWYR)^SvR_IPW* ztXLu5} zTJErSQ52gfrdc>TVR~?ZLX15@)~&O?D04YWq*->)sf|8Y57X9I#9ucr}2Xcj#|#NHcTdw-TiRzY^N{gou}EK$a3J^wVl*{O9`RI)U$oaoe3 z*g4nv=&>Z*GQ$@$e4S>+hxRy>b~N_8g(driZoS33jkE^Wsi$%xcBk0R7q8+e!jRhf z*7m?t)z6;}oH|gc`Z;RH>KFC$B_7wZ9^EC}T-T{}CoHg5Ol7lzY2UN+ckY|-HY-a! zUiEnMvHxDmb5<%vm(S@xSy-YR^-s_c%#ZG3nYGr;R9xkH)w!weg+p+Q1aks@uBqaf z8;Ez^*k*A9J}d)bS2i#Z9n)6c__d{}%E@Vn~v-p`tiQ)MVDo~Rc- zfBvF&DYp}+-kx*jUaio?b?oURp$l2-{Y^6C9;`$*vgI{Y5!-t{#~i2$Ie-4I_8)El zNO{t2KbKbqy-?uOwGLmm@_hD2f`q?yD>t~pWYO~3D)-YCg*#XDF5r@VwLs45Yl%@t zjcH}t$wK$z>{%o1-(bF`-+c#>0ATBLI`}$%vlMA=!KFEZvma}Rx*mDoaA<#2fkpX) zSu_L<*p2Jl#>T^HARhU_W_(e8v4MS;R%O_sa^CZcQzh~qbIchI?CHeiOSeua39)&livlQz1hdiH~;~zbV`D z(;{l36DuRVCYwtXG?gB?^jbSKR!wVg2Yf&h&QD~QzC|F5uqviPI?{02_UWVA&ptBF z+|Aw665^Xv4;?Z8e%8vkN3*9-rs3RcfgW`ru%YcsLxhk=_`HcK{HjTE;Rao;9seHs zC{Uf<^={@ng|JZVteb~FyboDnQFhNy{qwV9*>6&A=Bkl9-p)Gqvd81XnV=&J(9St@ zU{+rokRVAETtH4Qre4%Ea8Y?-HS+_bv})+l@Gcb7%Xv zhTAsZ=$`@9``ax~S8eJ$F~L9Y ze7~+>d{|TI{mD|lHpDjTyWv@X`L-J!dGjpJ)g>1eo^;f>NZx{PO7zl}ty{G`z5h-^ z+r{{dEY+UcEl*ZCl&Ns>+lZ&eCP4+Omzht_SWF&}#qbz1{I-O7Bg>=K!f{ z(!!T+A>G3POY^7ceJ5E8{_WR$apBS#)1sc&_x1H-li~$VeV%nC;(?A`mVug$u3?J9 zr^P<0H<<2k>9WA~n9MK7Z)~5Q7#ydxk3k}dy&P*M?@D*PYs~Ng3e(Xfog_A~y??6c zJKN^ggO#l}X3r2-+Y9VQ!TQ4z1yALB@>75|l`o2aZX|D#YvO+)qu4|~D2?{*NFKf^ zQ1l9`)+};_aDso)vpHV+0s`5N&b&=^`C^aeznWRHT#|xa&%XS-)zNC|u0z)rF5^Ku zdj+1CWG70#z4g=UfV+@>KgXKz{hQz1vVFXz%klp8o5$+kq9gYv!1~2D6=Y{aao8(ek z`&i^HHDz3CoqDDFp;GSXMK`sSV}m1tZ`yn=sdUTe=jqflb=25yPBq_uKxG zj;t@`?iZgFP1*J!+fyYdWnJe*t@d)ELl@S|EIKJ2s_OYySbj#c0=J{S)$EwIV6>15 zHk)7z9{qLg1y)#V#}mLVX_t7j<}cHEv2TZcwsvS%)HGm_t?k++J}9)^Y{A_z|Mdo* zV%4OnScas9uRWGEOYtl)G`V~mJQlF+^ly4)n6q9P8GPpzW+a--lH5_S^S42V{_G>moY*b^ zNTPp>z68Ek(zUDZ(#w*b@7vK0tOfV} zd~aXx^&C4RbMZW4V0J^gm_d4rFSvz5VyvbH?hEIenKs6hi+Q?5UITEt!l6TTy)Ajh2D7v%Np};&(PlO zMedC5TN&iOS5wpA#vnhl_)O@39*{^0e>gb<_t0Ve+BvGEl^34+w7ErT&$0L@XW;Ih zaY}Cf>%j=0`+QG}3rB)QS+m`cuQR?i_y}p;axy;=chNlUxyC~!prG9g7o9onpnPrH zo+*HzfMdT|FSRB8?%f=R^f|Xq|BSND`?8A7K%uV2$E*Cp>G&$nV;P^b7pA|vl~p8X z&J@S}Q-_a2QiKOUua3z3<(FrjZw1lDRkw&T9#4I&y@2E#y(TG}2~g%kgbvN!zMz2g zd^3H-&!QH1kV>?FeVt+%UAXwsAp3M6%>0B01+A6hSf~IU^aGAhhHxl9S{NN|c;q(}0pBOU@uU zXPO2Yn)h+%-aA$Qo0)&!oq1JM*`-yV^y$6VUVE)|;K`bGTzSYu;$Z5;d*ww;6I%oZ zU#S!ik@!zB3HDS(i-m0}|6kky{%JY?RyvXxfT+NBx3J?G@CTlJRX(oOgroN8AQurx ztt9)E9Y7?bdrkh_M!ujPV`=Cm{6)><=VO${29u-Km%i}kd@Cg}UX!gcqiC>Yb1hX- zHa2R}Q%>;QbdT`OtOirDZXj#cS(6PRpP3M#C$OfujDPB5V>J4ePOv}$rf>dyb?0CF ze)xaf75~-{k_>nV2mvFMmaG%<;bB@sC2q;M_P%Z*Leh>ib0q0$^#0AHuy*Hvm)I}+B4 z-%qusm{6b6E`c>>YE)?g`$cZP_V4fCe;aeP*eDnO4`BI!JeCMU|NGZTT>v(|KSeQ{ zI!^SWF?62UxTU&}6!20duhDCWJytrw650}kWY3inm7zAMjVx)kFN zl>RTA!&D#sHB`L|u>H6dEn;70r$&m12vm=mOMtdzMMfi6bx0GQu=-!(yLH90EO$pE z)#e~)voMXyw`2LA4njr?nr%pgs#Kc1X2unCc;%{`PO2<*W{!$rIV=P7-b^3H!bXcSO)*7!@gSHg@=!U55AJ$zUi?z zKRXLCSWwd+;LXec9A2*uHeru;iBwPWVg$+nCoroyfLYyD3*O`>4R^L8SNP+>FxJ;! zH+lQeNH9Rw;(xWe<(tM+6N0J+&-a5|Sw_1B152Gn;RtJ1MMhi?5- z#6K;!pHnDV5ST{f{GHnJuYRyE+36qt4U`9Loa?85+BnWn0Y8g@@(bA?UHI@;$^8CV z>Lb93a5*gm@+5O^=NvHo)11adEpmVbM3D;fk0y0ydi}LexA5^_t5bh^f@H3<5^Z7F zs8wmv*LW~D$Shhbff7l#4mx*L&uRhW9wFp1B?-M z7YMTf^%1%m)6YdQj=_|p_49=Q-#Bxwl+Igj&~K7N-cXxItDNOzes#EnlSKZa#T5O0 zZB+Cv=ACya5kD(DqoU1|{@)AY-+X(iYQ`JCCi1PP0EId&pN;HKlj^k)u+?e~R>jK# zb5dF^)dJV*6qu9ZfP}|W650+500fr}I=96HkvykMfKk7Ad zBb+`&Y$cNc!d=|?%)GC*vWt7FIYWv?{>hbRtoiDXhv-35+Z-1OT z3;!Uv@lk+>DnD)Yzx5eJavbjOJTU1i8;@MXW&8UHa(?s!&e*T#9WaV`I_&&@cD=Rp zQ}!qd1MnlgrRcpd_wHh6X%Y*#}-+5T))+L$*E=TG$vE$4t%hRMjbItWi6bbP9K}R(8^-Ix4 z*uE)Ub&1^lefML%6r7+GZ1FLm%z<_gBzn}$YY`>F07zu1A+!s=*<^_U_%#e#6m{ZwTD`X7zj>dJvWokXEc2?L505 z?F)e=9Jxy962V0;_KFfbt)2&Z={3J!Sfmo}vqT{zoFex$8Bd&D2?9P8>gyi&qs#;4 zsPe_@!Kr4jvveO5-&D4LpS+ST@s?9ewE3u^9r7`?oZdnB%|X}ba(KNF0boRzcw8Vby=+H^mZ=>) ze7w$xTge~~>i4n?YT>scS?EfpM(y!q-lqF?`?>^^^EV6U#pKEnpaU;Y+u7Qdq9>SW z?8P?jv~0Vp7(?M084OXpiuo5RX1Qn2sKA5QwauV%)-F1olT{0tk{bbS4S=0QV5uX30X|QNM z4b^s~j4r;0HHp_Obsxbc#6>jibW~wg!OVw=30cw6H>X!qRp5cwa@=XYgAt3ptaWXu zQS=p{p^0;30CiX^VtB;Oc4gp|LTpbnLAL}?lOBR6G(-C5+NfcY^i){at_>x1ID>)V zaPkLAro(0(UkZi@v6CP7*Z<`a{033~^JD)vibb*=9njZ|wSW!ybD+uq8{pQBASSg- z^7QyT<$;Fx!~y-Du=@E3xPoH!k^e7#8(&}fcgC?tFPzC~l+J`{Om=nq9?t;>rJ>Qs zmRAwXKS$zwvjSf3DTOD-Hk()zVKuXQ%;u}JW=f*U6KX^DTFf#eMC^U8z+9f%q-L=18oV0rB??tProADQmpZ7!C zG{cpqM)5^Xuml+pMyQ&qwFGJOQ7XSxv4@Hvk=+{|Qsh3O>9(};v#}15Jo&9YFS*R< zUzfE3tYzh-wV9b})(zZ96O`ZpSn5FuEt;WOTo;qswRt(3ojApFIxAU}1i~s*npB~| z9GsP&%FS*IXu(;k*eJBPKQ?r8O7jW?rB`KeVm8- z&p~V_--_kE7W1y^O2k3B``87HA3R+%Ij)xwRHDM36uu_s-Rd|b60B(Y+#GdKcqy{d z1eUZi$Y)fnD5)w_DoL}5$J3ob;B8Qy193KS+_u^A-1c5v1l+!y9L{yW;oEeM^W+Qw z1F^H2U(}B0arBI5?-gHwds5x5p z3GrwbYbZf?205^X=K$fZWARUlXp4G!!r1W@oHe9=4+c07J`S zIFN{j%~Fegnh5TCT(Q?%w+MjRv&F_dF0qu$CS_$Gf^NFesZA@T{8cE=g~&Cue*@cB za&ZCb2@uOfAQHypva6iGDt65--nh4*UF$AgGUugNGFSEVV&02)_CbiD+Fb9;H!ryD%UQw%h|x1?!;Zi-<1>{4MvOJ&3^mY_RNN z+;vE#2vs-(|Bch4_{-xKi=Fu>OO{!UY&;TY6rd3ek_5a1Mps~RJ&h};%}0`OrXF62 zCSAmtokRHSoEapoc>~Ob#(K6pA7|?zKs1zMw^-Y94kSzBj?VLqI%vs#$)at~t&h@= z{U3?*=J}bz>GUvm`Ic~ku#KO>dfmiB1(cU!bH3PiH|{mCSt|K6 z=Yz2Eo*IijgC6Jf8z#ez!uM>Qw35F*OEzI;2poN1cCD`$Yus0FKC3x^GBiFIpBQm| zQVA+YWAq{k@&nVhx5d`Tq3+`F$-Sbo3bI?f8>V{nO{jYNeKiO=?x-p6f-MnGaBXad9s<+2CW+G%rHjoghA zV1QVL!?i^d=UAWu4{-X_!X>&~(@E62(+!(n`Mz;#^#LT!)n<2(L9ZJz+F-+0GFGHY z@A|5*)##0!+~Oz`bP)lt_LQ2P30>YV_I))5WlEC`{Cec@oP_P>&S7;K{vq+HA6G>w zv$aSYn@KI5!KHC6-`(=aYd6FZV)Fh002M&a8G#F%;n|kZ^BXMpT*I!NCQ}_AQ{y_|&hj@3%kiPauRJ2&Y!`o0@yPf7EVwsRZTu?_AwfSoP}_4bQoo!CK>5D* z$@mo165($yK33por{!`TJ46_UxX06#nLy#n%C=AYXanJ5HQ>~!Uqc+b*ku-W#)L*R z5Vb*hp6)YM2a*zP*;;S#9?)7o16bI0sVha@9Caj}aVs4Jc|4nxQThWITAEMhiTYCy zcV*%88>eCt^z_|^TkZi%%_FA5~#7T@+5c1~!4mjb4C>#G*Xx&N=yIcJ9=i%q*}nb>Z1rk- zgBGgwt+?_&1w^amW=7XzWlWAEdX(M>kEbgmVOJ`WsqvH4&=*)&uGx*dixd0RuZwD^ zC%ntFr?J{I7Cg1ZSLYcA681Dz={cf%Ci!ao^$14wuXMbjA zSd4|QUMET+gS>Ezj7FIjV~W})cY(RItS%u>h|hz0qrYe}pbVxtq$@X#t{q(MIPlaa zhgz$#Tp+ymMZXNLtgq$9DfG#RXPU~EuVciH;FndKf=Q1N@W>V~e|{&BoeJYRLz6v- zX#o#RE}yL;VW-|eI37W4ewi8WmCkwAZ<0oIYV@W=tMGn4JmR!Yg<1JkU$qZ{wzF=o z^0K(+=DC-M3%0$mZdHDUB}6~1%-ODve_!erNM3WV4bJ1QA0z1TZsT?ei9qhvLv;82_aj!05^h8-U*c{prp2H2+R zqVopm0MgQq7zM(7p65I7e#>?InU$A>qOWe}J>C8*wgcd+Oyoc(4gh;YMo z2+DH_*}!H|DGYVcgLR&t4kRU{>Nl;R=iVD-2Lj9PQ&%UZn#YGbgAxzY z?!z-9?)^0h+6}i5XE&a-Y#Hq>yl;pYkpEa>72&ZN7shWz^34_!)#mj_9Nro0waiz8kLwk?m{dXA@JR0lhv?j1%u z)85k=lXF!kJ#Jp395VXdEBB{_8id51Pw2W8H1&}q7rw-CP1W;@*GWdrqIG+QT5r6W zV;HkQk;Tfb{JODl`IZ)^$%9VQG#|~LPu&rGEh`1D!x>ZhJii zmD`Nns((92Xrnhr#Mz6XPuA7CpL~c96r)Nt0r#Us8@5I=2jMBsX2!3dnBA|z+iIsJ ze$@PI8m*Zd$d!tC%%I7P)%jj@vMd8bi))u;z%6}rQb>edXstce(F6L$qx`0N8Fot= z$5|@w$~%?tyl3EBcI60P9Fz(~?oDXXZ)|E(2^a5+t859e5h*o^POlqMsClYH>z6f2 zW$%;C5w$8tO*(k&syPnDEy|aD-7id0r7gqJ8Jp${PA&Zq6YkZYah|Qsy*A!co2yXd zgcP>hYqG=X1mwi-^B&r)5G4_64h-Xkj&PHO4on4kJ)7(Uv2y`AgMAJ@cd1-3_Oh`6 z)&@n#H~sD#^_}bJ_cvF&1ZAN>AdwOvv_d|CET6J7%b^nos_= zElb*ohf!y%7a{s)y3T!E1@t9dhiCAO3^I;P__t-Q_ZVj8bd3)4t}C-}XhBJ{j+u=E zDM2eT;zsd>C3t}yihULkjN}h5qQ)B)_CoE!wQ<5OTSYK?`ihQd`p8gu{r3(EX~F_&Ovkx(wy4X?L+OHkt}HY1{3F? zob__$C;s*tl4j!&doO`j!m^So-UBD<`kWSF+5nd6^SOFwkSgTO*R}Pv`^eE|zChca#~ zI{be_==q1luCNVA6K0qGG$4#PSh#5cBy21VCYJCQBWSbzTb^(GDO@#)mTs=SQ=fFJt}wMcbRN8X97r8)nRSXd8t_~o1OoElN`W)=>W3-ud=ATjj>r-T zrL(l5!Dl`~&qoj1vgMKp3xMjl4bhV>Ho@mB-*&gJeFQa$ZnY;Ea^FZf9)H}>thL(< zT+rr*^)8?O0`8rV!>{B3t5rm!G~hcnamAkSTu!X7Gf@|DG)JP6r(J%xPJ1c1iA}g1 zvDed%vIv~lxwRMEAKuBKg|t+&jSd2FrJtVZrCPSq?YXvkqfH_Sx-#(qbPy5D!Ip5Y zhiP0jELjccL-S72QU}Ry(vwFZ=T>i-`8mXlnoVHDEJO!x{v+NO?gSiyhE;Dlj0E4w ziPmjdwhwCA2MKv|{CMx(xQ}dQt+z2>BcJtokuI`QzY?+K5HdJXY2Nu&J^vKaaC?nl zw2Lyj8;AN*_G)t}x~py;#G>(1dS%RJHiJLA-cH`hXEQqX1iM_m459ed3W6G*JjEyA z1DP*HfATZGj(&1!`zQf`umfL5Kz}}X zw$YoZHp*OA_nv+>T8pRvYnD3l)F+%;>=>ug(g8-DJQlJeMda)<@P*PG^`*IPJ* z_JwP=2}u@(XxWpmGu@CSuAM`%JKq)?5E+%$8!O!<-4T_R^oTtNaf{R?_U4Nt-$=k4 zpti4TQa%81Z=ZBfC?ue98!_4(O5CZi?#&3yZOz(jnAcvd=4@Wgz0|FSvBsF=mNx{D zbu*7B)_I50PLORkMoJxv*g|Pi()E`Ri&^Tb(vl$o3@XxYENW&WBgz^nEE(=RdfNk{S};5*+C)Ub4snCsN=)E^KQ!}s#v~W zSXUknqf+W@)^X{IHVVjS8Zj-eGmOcOQkEOq77t+70dj~& z?zvYPU#9o+K_`!83mf47v*1_9KViF=&=%b~29oGL}AUy{wP zZM(*Ss>cO5@?LJR$*VH6MS53^q-SOp@gp!*DMr8D5Q{?vVi70Y=e|Qy3WaOeQiDsB zGX&kp^iGd=SDx>7yQv{s@HAf%7@ek(1@O-}(<$NZ!( zVASox8gy#~h(NWu2~xlBnv4dYn`l8vh8(|NCHsFyH{Oyqz*^SK+rRBN?mJhIqBokF zfw?#a$hlIjuGvAPJCGZxX3i%O$m;9f#Tbg#(?ojauc0gd(nf)oLumj|^C)>nYY14? zLUp^kV#|U$sM><>thw7<`Ek7G8m=ozM!ERHZHP_taay{LsM1;fK34*a6?;&) z23l{ZUcu^Xp@f%R+XKT;A_~yRwEMOrnyTy|RXfM0&n^1m7Sk~|uFRdhxM(0Bm~q{K zppoO6^^J(8LnF(r@40eI4j;hxOC-%`m}!h#^YFuhyANkw8-iQ0iM6X?`|Xw#E9Hbe zNJRWXXSXcZu{3ahLb*iyx-$lind^n-B-Y5?(PH_OT8=)U<{9|6BO7B0q}z)%Hix?F^W(>>z+yRp66rNKF8;D~GV_wHHD&*% z*l2BgtR&@f#68n?f^;Lc+Oah0tIo9wY;+b#*cF6RARGX~Guu6~dtU}2SW;L4gs6;$ zQu9y&H%dXp=Jy}t2mJVlT1uS;oyUI$od1zU^AAbS-z4@n8Wce5IsDXGg*Z=u_(%X6 zW`e<8jj(2yS?E!_*=wXtbJ4iKxK%henVNBX)GMBHH#h3QULUa!N{_k;*71n*9`P}HhJEnQc zLSM8%%hIOiCw{x7aP_TvUx{i0tW>i)v)$B^P@-@7_Jw}sdG%51Xe%ys4_3{VIsy?a z6TVhB0`=TW*L8wHkrXr3Y97kr_36%P!(iZwNHBZR&d`?YX$sF`tQXpTIMBNqHMOS` z&fY8rjX<1|&*vb;m6&=W0sE6SM|m8BC_|ah3YuJ2Gskh`gh!#~=tO%R%WRnv^)DYF z{vOds?8Vxo%V4IbeLn~8Iux12an*gE0k)4MH61E5Hv7_xSF!jeYNqn!d`|>W1rVqc zwv7<8Fv8*%b*C98f=tn+#x)Bzmc`~4%-&wtX2q=l8xhQv=%kVtec+h9*$hxi;ssyy z{shvk^ScUtx1L0#rQ$`cEcJ-SPN!+`5J*qNtP&tW#cVZEPx zC00$Gf-;aRC6P}zKn2LCIB2^VL|A9N(fGiz2=wee60TX>@4?z%sVsIDCLH3S!L$k5_eq#CVh|+5TOEoo$bjeUavYf$(BkL`>djUB9i! zjW?B;un3Ps%3}X?io5HO?LhdL#MB;_k@bViiZ@O(eJS1sfg2vR2Rs#4q9}23<)j`D zxH*ubQi2R!NgQd143`rn(Q;c3TNe2XGVmcb`lAbST8igU?{qUy)Gh~`P1F|Zzc-Yq zaD0dAcsF=fhcyHW2p=DFqQ!Ohq31c4FQS)zF2xC1vhLFhS5|lL;@JlZM2Mj*nUq4<>0@vTY_vBZkBuFK%-j?1y=9_8q z=G)SjUX32gbKDa)!Kbj(dR4hSnHd9UVmOjV-ZFo|W1SWWl6=Bo&&1a6C3#PQ^Q}6H zLRE{(O>ITQy5*b{wr7Rv{QDg(^>+^qxR!>bIJQEuC^zaN67V~d`n+7f`J^T~LEjeh z@vR9rfhH{QjeP7@rRG@QZ#7W=go5i;b;o#VA=~5ipZz#>x%XQ)GpF?!`JeTHbXd%0 zez1FOP!}j*A|;pU^<+eC`O|*VFOu8DomYs`Hd$e0ak?CVx^Q3B98!A5@25dBxJ}j% zc{+5!CT`;MVhFV+#sj>!J_O&V$;KeGe(vES%-bXH_SCwEvT}Dsa1_eyrFXDx_R3=Q z4duRZ;YmLxA}N2VUZ<#SjFKm#l*Gm$-DZ#ZSwGV7dm4qIY|OWwH*;^)^KOd@Qc_21G;^FEBO#mBalRB8Yg!xHJLei;gtU21!06U`VfhH#sNwi(BSzwD z%sBQu#0FtpgMG&rj=LrE)5p;mJ-HA|@27LF(5w!@O4aDqkQYr3gD$DUT@CQmh+b@; zM*L3%0q+tfBy4@_{0d7+63m%Ob1z4IZu>XCp(EpzT}lb`IuD6 zC@jt>x0qf`324qjlhgzS^gc?Dbx+$d)&bihzK@PNY|k%_8w6OgQi$+F^eVnY2$7IS z>4LsNeM&=jKsa2Y-WLj$QSQx;WVcTdy@g+qmgh z$b@cKH~<|w1;__TcaKGaWzkE55~ zp_aUZ`uo=}-n$~e*#7TyCh(jJ+D}>U#6`>vdA(JU4N3YZ=6uf71pzPzCs$GWXBn~I z8Q#_319~%5Qg4V!MW=tH{T@N`mPw(N%=W;Xp*XbsjBuNLH+PcjmHzyDhlc8 zo!;#I&ajziUH-=Gkfa@vNyy{-RV+f7Is&IJ2V&_fPrQ09zlrGbI)co}P!R})?q@(E zxpOx92>F!UkLY-{R6K&#^L_gsi$_Oh$}Ofq!s!`|>>m0KEI;dFZ(*Zr=~tvsAvT*+ za7nwUm&em?- z$6-@F%_!nh>Gk|RzWdRJBW3&XiWcLce2XjqPZuxn=^i{lG|bb=qW2X5E%2h40cqf7 z?U?>DIzoq)pEu4vqb|li_1NJdjy!jMTm)1;I+LeHGYV_KxP)|j5LY%dUEX!z%J1n1 z{Gn%#HxisvDjYuUJa)xbBCdKe{C>4jF?wh%Of(fwRzyzc@6+*eZE@2r2YteDc{wtm zX7mMI?aO*@%JWeLxrREiUos1MvSdQ@pf(&poeIqXX`@fH>1AoniHRFm>ES+%Flv-z z6Wp$4{KvS@>s5TENK`lk5>4%!xh{bgWCvRC`)@6%ghLa4+k#KA+%@?)H8bzGXH(}EY}j=Sl=g5pJ>o&^7{}wOk*A7)>XskUW;;&7dlpRP;i`BI`U9~F;JZKZmfS; zvit3f#2SnF6=si`{b4jH(>WbLUVCv_E(+pQ>BY?Iz$%l$BOQHK@J+KAuX#jeR$dgk za<;=m_%SBF=4DA-=6z1~9Vu$K1#D@*k9nD>1zoPMn?jL{!8GAJ)W@_I&DR09ePu|y z^nU-!IKDc&L!x{0G1&`zRLM4U)P6E>C&hPkXg7s;^2LP&7Znt`;U?BuEd}Hca`CH;VKD(6TQ5C{%24AXD=Q}KjA=n?ITamTz?K0 zSvJfL&$Mj-moGYUiR^Oaq>Ve`QPX+b79G-#4E61E?f|$>Uf)ElB_@#zsoY_tbXfR4 z5cSnfbB0nMCUqf;;(wRsz0xq)tp0vfe_M(<#>)od^u<< z8Q^7GlbQGWWiHr8^-@6jf>=p~Piy`ICEok_Rp;*yoazr>tY~>~xg6Q;k8*fke#CF@ zKH|ZVDU=D;?Y;TIMklf%dKmVc8|?3J}oRsf3ZAsupp$z#Ny&l!PTCW5$|<>Uciz(GBnxN z&1hVZgg8~IUfDD9JBsP}SN{@X6l+zUj}7C9$5f9G@*dBYAio*vLf|$t2GxnBCUMs7 zy4_}24_u-6=oR;e`QkG3ZpXRFT+eQ>Qp2Q&&;C&GvXB4WC5!T?!mI9?3_I|EJVY&7 z!S3<;8%JA0(C5A8bn4OL^qb)}d`0a9zd4eRs)8RME>1f1yG1*#4Dp32h+lJVL$$J^ z6j+S|otaE%@yW?MS>^7W(CqNBbjk13Zf%m$Sn#K!XMyK-5{8^#t&v^4;HC?U)#`~i z*3*v&Abh6Zp}D0qDOZ>o7u2-CWa+SEJEOi;`sDrTh z2G!Y1QK$`R2vmQw(DxR5JtJBb4DimcZ0+3~9f#-d%nJ!m+!A>cwzw}v4RuPN+(&t0 z{20X|ve5+lZ9J73wnYEsRhH1E%}$=qEWRVv*)?jV*_mQwSq$8vsPod4L(>^58P5M^ zgC@6BzRd{!mT;E9vr@NK>!h6c%w%ndgy_%4l9YUS7ZU%1@gB;PJO8DxUuk{~!!F9Z z_>1>75*f?f{hJVa>NZ@N=U*;ezkWGkbnQM~8QQSF_W<}NWbl84OGE=4^%Xt0FletZ zpEfeBb)pV(8CWiHa?UAq!Tj)H$m$m|VKH3U@YJ9re@|o6+SSvq)2Gy6*Vi7Wti>9U z9Rn`*$yX}6=`gXrF+0`ufEvaf2_>DZpKVr4(yz;hlS7_Lol7un$u~J)?mV+caTsrZ zi<1uu&&;9IS*%wlbO6Q#J)P0pUg2pw7hSO<>(mqv2-CGd*eD6)ysjfTq~|@nMCD`B zvH3AyZqC_fzltwh)^B24IIhR>{OR+#9NvbLPKwuwUQ6pON(%6~CiNBBr{Eso3GA%9 zuXeDn6(T|N&88#En6`1>8NBSGyU`r)E!#%HCFHmHxm`W&FYC9?wj5Ngj30sLWnME5 z#6Wu9l=_Y6)IkIZXY z&j<%>$%b(!gk@|A&vWA?wT(r+P1ikn#bES#%#T>K;+y3glwbByJ~K_7~~os)u*!xX^RPuJx+Lvm=s)WE@{rQOiK!%+rq4 z_e(3-rENQ2(bCS2pmI`IS)7=Z)L1|=3kgjuEM*U`qdlR$=V4rX`$$dm@A!H2^akve z&$3MJV-RBuH3m7Uif>YUHW(k`8jck2N6oR2?{6;q4u+;W6OeFo-aQhEA*XMZEmT#* z+RZBlnUrkTZ8^MldmXD_p(sl~FS@q4T7lNMN-Fft9+M>OVx!y0m{EX>9kfW%AW$p@ z79zr{|0LDtt<(Q)4$S4jybmLX22NcDlThhpiq^cP8VV@l&XCFIW+}$X1!^zi#ouUR z#7IE@QgBMv4G-Gey=Gpp-qXSMx~wOO{fPynHE)4lD*Xu69zP1;MJGwQ0}w=~9g;oBT-eiz=aiBOg zYGMR}%Djv9Q1#)o1wE&8Kh~+z(%PizHztd+Agx6^esY8O8@;BgLyW3f3d24!F|clL z5TuBJ4@Ys^RJU&srt!atxqZBAUt5aNOHH@)qZP=b#z<>|BkK=7?~W|gbYy>kj( zTEW_gqX^#R7b(p=e>R|u2%_MMzYeK9(^|OI{JmBX86oe zvF%$XKm%=4mS?&X3nZ*To6H17JMkK8$Zz(-Q-@Kkq>X`bwDfP>jI;H*bk=~Es_$h} zSxM;vPXIcI7spE5awWjaDdXhccwfOrpqKDS+fW~Dqm7WVIygCVp5{G6{X1_uWVFvvH@Ru=_6PS**^GE~ zX){H}kt)zwv-|NO1d17pa06CnT|3GO0HOX6N}!8eQ9s;!I#0)= zL{746UZhf5b=dYYHTiv`E+5sJtA>Qc)AF41C~Sddk*ATco{}07?c$F>Kke4tX|fop ze%A8&elQHZUmg-ymUbl?%JJze*mQ6TVkN!Lp`iy02fQg_^AMjr81|v74G-$M9!{2X;UhA>A@`?$uC!@caD=Mc; zW6pPWrSy||&b6%XGh&GuZvsI0-6)QV$)DT`zlrfBc_!Ca*m3+u@dR!u9-&5K&8;#~ z_+nX~Q6%a>lu-idRk;6^IfJ`ev9F=9+6y1)8G@nST{r1z3*aIKPoN)b;0cjcWh&6(RDD5tPDwW+l zdt169VYi3F7m3xA?J#f|g8$u#&1fDYltnJx=+`f)J0RCOeFl01nvUd5qJ0rs>Sg8v^51>^g`O}kmA(0ikSU=7AQIc^|N;|Lmj94NQSoN^E zcoKQVcD_Rmhir4#cT4nXYrif#Ny`;K?kmE3R1>WF{JXS`x?94$PHh*cC0_CLEmM4i zM%Qnx0V?r9bvUK1VBCT5a$MVAQy3cy@mR344SHC~#zpSFHyFl@$JgnQtoC7k8W6X& z9eVR~$iJNRwlgr^IcR#WBdt`28t$(fukShnO)==Aw#{eaCf{St671ew*PN%z(<^FN z)XInka5a4ti-=pUHitAb8#=toiqU(O>0qVc-mINC!7~VU5yMpwPYd$(?lLUdo+bCJ zEV4w$>Z1Ds4~ z_mf71-a=I*1WOEy_dVs8!4{c)_7HNir8{@U&|ls!a1xjupX{FxqPPcaG7Q0DvQZ(c zRRuE&UyJOL6fTyxYuT+?2|AL3o&^$Dsbd)6qjvU75V0e=3pjZ&u^s((82BgSjBHSNpO!|1zpQtjJIo{s2oD?QxGhVQ;7bbM4n`C*9KPu1@ysJ9-sQ zsq@g+y4d30D5|E!&P0Z-&S8}PxaJ#BgmfAtu8nH0B3~rI*gzG_`kTvFH{H5yr{2<% z&6;yu*LDwGUfOi!=G12*>r6>AY%gB$q{;AotW{1_O?%+e^Xyguo6T>PTMlQvUc=oW zUUnrx^F#sYmnj*!a8z09IZoAV385#BL5A=NmugL-`L`fohOh51j)i+4ZmmLDmChY~mMVk_r6;ExO9;P@O(4Fy#PJ&9OvdfH6 z2{lc z2ZumfQy^GE4=nPIJTWXCVY>BYyXCWz&}&Nj6K%Rdc}PG4v%==qE@&i|s=9kYjsU;( zD3(ack91D5|+}Dza@X@FyLPqelwK-!0~#);z}tgYX&h9 z<6tyW`flA5g-L=0HD$>i_wY@oGViN$?_ST3?$36F6QF|7>herwUWX;!;oSzhxl@r{ z8eVo6Jb`OV7VL-U1h#CVBB9fkj{0Q8?XT)Lb4mJ49s5;UwX`j-1TZ!7#~sa=2-H7S zjMN~*qm0A>R<#?#>r5H3?d7ujrpbFI4P_C1K;ITv;9BjC6gBKRQ>S^0XiA(bCb(=C z<9Ct-IU3xzS>h?Uo|k>y>f@k3BwUeh0#Bm$EYaxUTl5=V~;F5;-q{xDpWR%zd?@-WsKEL*AW7$KDw_#Al$RMzom`) zu{CLZ8^t3qC#iv2T(<6+uM%^|4|Ef^D^s_K)Lw2I&ggnYwd|)rNj}0z<^tRz)OB3> zRung+3X{-E&lfhB0|9iRF@z38tuWDAA9*Snel1o>yd%3VKU8DIlGpNlunG0bky^8o zuadaf8F4zz*KSy1Iof9V=PzI9$yqp`#IyI`l*-soeRP2zwD>+a1@=-xL;Dop^~X0@l7M0-s+)R!@1C29Ix*n( zP(dipaGPwF)qpKFVg`fv2xNPzs4IkYO`ZCHcY^oRW#Q@Zx7uiU?T{DrbxJoZBRB!$ z;TyVIa>71&JjE!++>p;^Ow#5_q{NVr4q{Df=T(N1Unb0A9{l%(zBg{#Z8HKj(R^n-TPgBE;#aE+C z?H7d8+)K>lD7mUfc`v&9-<2o9pbN{}8`eLCejFG7$}VQSkWb>x#K87sBz#t~YGGoz zMn>2)9IOKDUijj*ot9bnR z#vP5C{Z*TG^xi(bdPmoL!q|4e_EKG^P!s}YZ0Aal)tB2*)=#&vjQ zAWKyZ?id{yRy^s^ZyG~m->;GE#)PSn__MOWf^x6Suw2dnAePqS9j(?Tm@?;h+KJav zsh@rv+y`HYS{4fl_>hLOzS~s!{AB6rTXCbd`4}B**VoUNrRVmNzxmA*Np6^Vbw4V* zOo-mFxCt?N!F^pc_=Y9Ca)*~G({!@=)PZ1Pr$C6~M?=y`wuS6oCgX-BYE5c=h_>UN z$b6%lA>t|zQ8Yc*nrlz%syJO4-Z=FmS|TglP(|K-x-V33y(f43bfjq#l~P&519zFCQwslxagQn zwOIFw4ANV}ZEYo@z4J%_XF|B0wg24OqjvyMqGWiQ2KzSv$+U^{;H|~w=O0a|HTn?C zZuY!D9UN_9dYcC*+!$X&pa0+uTsB0va;H394%%g{E>plGC!HR%h>DCT!5GZNZ}XC6 zW{T&*zgr!Zz)Jemf?qLCtN#()Lxsn}y}Z5=@r=^i&7t8)&?_~*IV?bPh`F0VU-BEa zI6U5F<}4<4@xd3IEPH`O?9sNV zKKTq2U7$|Rj(YM72eqFB@Ig!(EKRVv`d@4_h~6+H#2@v2VT&A=(Jcq#DTvSS>vqLP z4v!9=p?FqiDoG7k@(t<9)`mk3a${czY5q0_Vkpl{%*O*F%F#S4$yy_S(fr+p{7U1O zF);Qsfc5Wx^&h&FUeZs51tULDEa|(a+i-ko@y9OXkNDi&Y%by|fdBotan=uzos@2o zI1F8xETjLbxw<^2QJL=Hy}h@*=Kap{FX?(7Ye^i`&MgJG7UtA1fJkdomh(>qgD{$P zFYRo$$|#h7om-oXtbKnVSnpVKXIvCxwJYOQ9~c>2fT6Y}&aqJtPgwm^U0iQiCv89m zvzqFcE?=;i`X)kR#irf1*D`nE#g{1U>P9Z8G(^7z9A2U$k);WdB?SF5gb*!?z^4GZ&1O@ ziSkVJ5JjJ>htu3PsBfM!sF}SEBO|mo2d^YHDp|&8zo}QvBO?cNt;d0a+3MSsiEjE+ zg1RX;t@*|3Zm*lS{ts(k8C7MwuKR(gAV@a?N_U4e0+P}x-QC@wbSoVK(%m3A>Fx$e z>F)0H%(eDf-#+8~I(x4_uMTxOhQs%Mp6kA9dU7;$tcGn^C;j>Ypah#kO|F*!U$Yll z&3UYa@x*pu`83{dA+^2mb-nni0FTY1a0o#!Jf=Fj?vWCe?Ac)m+t zTR#rpx5_<3)fEx6Li+lhK#ml3^pLw3yOs;O8`teUH;#y?D?%LiL<3?W&bxJj7~jtT z46&iH5=g{2LFYm2)X1&OMQkehdp}-!L`3oj=66ZqHSQ{a3!Zbx?f;QFH9|A(%g>8W zIKa=Vz_{NSg?R1YhjJN$x@+T=z;>K8ymkjVHlrV!fCFd;B2 z?+n=$q#Z-&L3^$cS;Z~IS$`IMSyb5TpkW6cqVJ$GvIC(c#2=T z{)AtC`ocF@pCXc3n@6m%!8FqQGSFW?v&HpoJ&#SH282}#B_hjV*7i3x>)WCH_dr?# zi-wWt4E@1bEc1+l`=lip1sO03_2a9|&RqeU->%y=-gLlqQx^ZUs|X9iI7WaQCTaCp z`f9QKxxD4JcWrLVyepadLQ70ZwK&^3%bait)3AsBB))`-k>!0{w}^}aS&^uCxM~G& zr*tr@{${1pO-(6aNV&($Z}uF>i8sR^C_++%*KEm|I3F~~nhjxsp3ng+g|Ntbfn`7I z$L=ThyCE!XwmGrW!|S~aMyq;H4W(|$T7M@JbwcD5Y0^o61Mh4o z*RsWrngB#*R_B{xlLqbj`r57(|S2-~y4(3kpUS>3L2>64~u5LTd#SQf|n-F%Bv zpLp6`9Wfx+H!gihHG;nXS~rzVGa3qwUm9-JH6xflCB-^E7q&`M=GuR!M71FG#|{bU zQqgYeEL15ArBUDDcaT=ioy)7VJtr%08SM4LQNPtyg01pjrVd@B7T2*?@^CPe;XQ%Nza82(82yJn~+n7mPaO5nLiMWw~F{jUB zExY(EDh*?&Sc+#>TPUx`^}8b?#Z>CXAbFB@7ENLXlTV7HeZ+_zX1KTaM}>>Lh#U#2 z)wFyJ=rpY~NKnrcq9~Ej6@(v>dg8!25`M#6ZMbk%zs=D&euH-vy|~Hb!A`f)a;=aP zx8`F~z+F&))Xi{pt`?=G*sZy?^esJ4``eX;0HyD)2T7~L63JX=%?O{{^bG%%N^yev zvYoh7PG>^t8EF9cR&v>IbIU;S)U$?3dyeGrd$UP+n@cD z&%=seX1~!v&-t{b zR);4-T`blPi1wA|=f%APUHFJY{}_0fh6?JO;eK4QvQy%-$z&dZy;27QP0yXm12wco#BzCnk&#qTJHDBPH=y>%GmBsD zWUWQn);@o>ivTzK)l_fOr%*LpP*`|No_p^69ihc-Vse8Fyo2wHUDU^hyW~D&#GmD@ zbr~&kD^H2RA#5^rfkr(Hna4ljo=?Yy(DmPz{#kq3@BgkVy!HOvW4ptkB?ra?g*7!Z z6Cnf#(Tgs=Kt`uu-J`Ie`miR0f0@G5`k(;)u~6cEVR4!JeEfHLt7}`CYv}8tH@jC{ z6;h_3*2#1VlQw(&!*ep%r>gUe`4k~?xsk1Pvkp+7N=Qo7&DocV0gt_^H;vUxaLrPQ z&y;Epur{ALO)hCj5km5wT&`-7l+}L_h`^C60)H7gXAag=kH4WQHzz7#UwE3BUB>Up zS*J-4gSRt`2*=5_f9AFzJQYosZncJ~3%A1^g|rTp8;Isd1v$Zg$fg>2se3~-Xa*%_ z-1_5F(}-Jyejy=#S-3ufW9L|jk}js9w8lfMUD%~6Sls5&GGEPk?t`waJMy#?uH+N0 z#=ybm2h3REOYhIMNE=?Jzeh`qtqv_sZ;FK7|MG*bu8?oMJZXBrIrjDiwn zE5g6PLo+|}BGmckgcGJS=`-dZrSI>}fQ~oNeX;j+_NV-BiDXi#z@z;@{ zpaJx@!f&*6bKouWiw~mA_!=B>9q2zBY$IyS@a5)Pk_Jk1`a4j_2W~49_txGgI(_51 z8J_5!ZB~^lcNeA7cPB+3~zJInGlqTj90^^RuMF7%F6 z?kRCbF5ImxzPK`cGttUe*g?ze}<8E%4|%`~gSLdwNppb2smRJ};k z0JPPJ<$3SQ*waOR5PnMVN_}1rN#K??tHMLbUn6c!0(K%=z+@FJ@s|Vq)xlRTe-DN% z#gqGGQ<6*|N6ME4>~+@@E`4y!$<5xj&S{-P>z;X-IAsQg3hGt z3X7n(wv$`HsHmp@xHj5H7?@ODpX-Yh_GK*tEEwq0E0|Zq? z)4l$Q9#*S?3<|Dtna5u{$U*&%JRY4}Uml6jXK?j-l&Y=s7-b=BvFZ3+5yJyF)L0bS{Z_ohE5WuT&BsQvL$_mn z@w`VnHd%9#&x98UxCa88Q6Bsj+dY}Rx5?92uLOVS1T#K3&iXkTF=@CK?5uQ4H{AZL zwF}o;((s*{#lndGK>a-iLSXQ1o^zDGm|Qz+br;9~W-SF=sBt+{qR#!Hd_lR9^^w4J zg=nDqmClVTz~d#ind(&4d0&VCk{087Zzdf9>?5yDTg`|EvA)y6nRS6Q;wAnk+0&qHZ<>k%6CnP2Zk(OcC` z$WTs@EC^L8L}k%*=CBEp3yM-!A#H#iQm~NS7=f3MVpqq*!R$C|>#7VRrgwrGVZcs727haeJErP$7wzWWQ(?o#D!Dzh-{Az3%= zB9~7ZNaCkRC3zi&EP-=aOP>ua^Mt(q5SX}-`%Zow&c`Iii zgmYPyxPDC<9t(xFY-?xr@I0(>0s@J|LH8I1d1@AlM^9%Vibw6LK)q|}jEBbEgac$r z;;kwJ470Uo(+w+F_;GJB(kGBmKK%^-V;G7giFcbSXlWX#Se;FQn%vcAG&taKHKX9(8l9+!^>YpY&e;iAnxTzP|(iRKi3ofO1Pa}HJ z#|A=4-Mk-+5uBxAUe_9t0!6XlZdFXwE3e}OVa8n5w~ukbF_G+EBC-ef!7Q0uuV&8k zsJJra>bZ%dfwYBf{6P88xXwUKK9sOH?GXA)m7lz+>DUIGgY72I_kRhl1V|uCc>W#& zE(nP|97>}ux}V?}yFFLbhM_zt@=Cg#X_lN&w8=iR_ZGFw_V%nk?7l1$+DY?y`^uE|N2Pnn&hNqP&_?>h`v3s$c6Mo}PK$}Ud zx7$+quqp|TX}@EI3Z@}iF5u+`wr~YE`l$sg;}^`%H==#!`=JPZ=T@JLLb4)=Cs-R9 zN!bZ9xy|Gf2|RhvYgbymgqO#R+SP^MRH+e`EGk#$+%w;1-XrYp+8E|wyBne&U%3Iv zxtRyC$RgcFYMQ#u+~FyD?ll|j0f)7&y?z4AL@GYJR-za=(*&ieJfN8hEf=X(2Xj1w zNt3%pM;s+gzT1KmX?Nd3uGrk{5(VmMCFDpgBxzQ> zc6F1w8bCxD>-~}qt0bE2+6WxZB3oMHnLI{@%GY(n=XdAAnj@dE_4@}Lyd_r=+1-d& z=X9Zm;DsN`F~{?VEcolYIjzoj&1AgXWLB7XRx(j+mP8FR^6F3A>`sI+hHRrmqH7oo z*_rFgz%&2q6%zb+vLK7-c zQie-gW5UowqHo+$t=0pS441@`JXyMODy?K1+bUteZtl2%1R5t7V-A_#osAiUX; z(?Ponk7xXdVFeVWIDYQOV7lcJ1zdxK>UcwD=Z^@Ctbg2M*}VmyW}TQXUOTg}vTpC^ z3BNuXT?xE0bsHWr1t&(YbrtQj&R9bXKi8vA_0^<+QAAScYoXBq;I7R34tA??_63UG z`b)mrJ4yRl;f3ArG1uv5SKsTX-$$(}c~JAUn6RTv33C&0M=_0g)#+h?lU80=kP5>q zD~`;63&G(`$$YN>Kb8EB7r4oOv(P;kxg&maS7RRcnHe$QgkG?Q$mJDqH8)7b#{zGc z?8mk@GzF=wo za%_)!5WEGUgUeM@-9{`v*T)ITU`8>Iqisf0j}67jnI0K@%e|h8s1Efm?Goc% zY0^;F)0Z}Wz1L4=8ET9;&*XOF|C&DRPy>YK=5dHpX#7zH}s4mdGKlcDJB^ z9=hl8-j=gj7K4YyCJniX7U&u|);#*n7AT-`QNOf;zlwnfyLx4-FNzH0pYWSJ{6^A2H4kt37_??B$cgxbEmXp0@csjf*ua)|5#PB2G z&!ys36~W7%Hi|q_D8E7yX7~Gf$UI#98q48O!$;m&(>RZ+V2yA~gTXe@)At}2%!PaV zl!VPO;sb&TUB}_0h)hw$*3XNE)`BboWsS*>TkrXDZSP8ipQMS2o+79{17da&dZEdM z3~S^sTTjJj_r!DK+*Ug~lA%tAOn9BqL7!dkI$7fPha%BV%W-JuRa*bKOFF~ddl9RA zX9K%rX$#&WI@l%M5!(d*-X*`uw7!E-N&edu^uGjK;Nz|&sO!PUv0ZeK#+HC2hAi6g z%+e1q_w$3>KURo&V1b1}>21@XE3kL^CnyaXO-~nvb5t<(;_A&YB%H+BI{F(*+cjiy@UG$2vz~YpR)6$fLJlT>lr*rb$yo{(Wh@bz22S^v({lRG^>Um1ft0oS! zqap=JYU*&A=)D?xUiOG!4^tDlcIf9%9jhG<-_WpHf+Cy1hm zZM02BnIzcR3bLJ_dD*W%ZM&XPMsLV{ z#TP_hQP4$xkwiJkX>d-_DyXBY2hu;p>-uH8>w^cnftERn9X(YyYON~2G|oETr!B+B zAoaNDb>U}O0X18EWY$#sC}Lh)AXR*c0Is;y$Gy@_jui(NpQ7?{mzHT_-2IH)!?oN_ zR@RGO891gE7ZB8UAnyqWQE;z4?&FhH{JQ>!ZJJwc&vsiSxlohs@SXI575^<0#OEBR zaOT*gMM*t;OIEV^>t{Yd+nE*FzP`^~MKC`q(aXgN^~7kM^GcNeB)&N+B^;=D?Y&E| zo%#CZqi|jNNj1|cN+HMeq|>LmWoKrv-ixYY^M3%D?yPv4b()$2ad2Il0SBetnJNgFb3wi2(7trq`b#vu5z>~T(?4a5K@}!j%6o>I< zL@>hacW_5DUg{I}b)-YhiUPI#yU70{u65aA@6%t@;4@FY{2P@08=d{nezJfHXfNBC zevSg*$tn?gX0f-srZc1a@`;0$Nxv@lt8WA>6$4#LbO$0exqanvbRHr#pF1)LIAN(z zgLfvz|&FiUbWGtQVG zcE=wYGLIP-Xeqp3mZhB|J?IT!?&6tlSfjki#^?>@3Ie%TaU3~0g(hVF#w|&3bSb~3 z*Xopbc5dI7%EsYN(G_4UffFll4-zTckjnJFZ%isN&z<& zm1Ym2qs*oYFP2_B5k9VP9~#Dv(jC7sHy<@L@*EZU6#q-*9>h5KsV0xSqq${EtnZ>9 zo7Z@E2~E$k(4Lxtvxh9p{~S5x*}cu(HU%MU2*xK~Y+Z@5kd zCWAd<`KGibUu%i+Zh8#BJ9UnqV_I#tFFusCheed-fV8-qgM@rq9k%DeAD8^x2dM`A zb{+qOXD?~SNySXPZz1Px70d7>GFt!4D8@fb3Qx=dY)y9 zo*`RvkeShom>GHbQyOI_uBE1cUq3u!n|Uu-UUT0m?R+ig1xDw_Q)qB@=5EPE19Pj> zB9t-1K$sGDUBf&8uRN7y>#)vT%qCeiE{@C} zpLfT$q)!;Aj4{$1^(;X?NIBY2fwR)(x<+=)5mhhiiIvyTpI zBN%B`A>UQhj0?1sNBUylYrXMOBjQl;QcF{A&Z*HO{ z4E9EbjE3Q7g;ODnqS}pHyBTWCN6SB49aNf-As*{J)i<+cO;|BMT=G{4-OZi|fsc_j z+9($L4F+?_SN~;>E97cgWo9AdwNv;v{IY6Ll8OhtD(-NI#G1L%3X-aa%<-v*1}uk9 zD;(@=l%2;Q_S5Xu&AY@&$~v;Skneg?O?qL>=(4PT3Fns!@iNYXx0L^)ge*bH_ zzVsL6IZh(f$skG(gcvW-Ep@;jh_;9~h_%Q|VMLsdN{f&Q%+>>tY zZt}dP^GX213g#PBiMB}bS9T)umZsRi1YPJ4dV0X>0N1;HT8Sk8RivCw?JOESmk+*AJKy|j3f|0{IHb?vYZNxh|cQ$L*h~O~7O>b>E(4l|eNHu-@)SyTs8G07$2HmCUG6cc7+)wlf7H>e)}QD+2>8ZXDnoDpW{J`3#{1Dp|y0kCmwD2smF z0crp9+qRcb0kUywe9}pOo4ciCRRSEkP8u&l=FnT4jL2*>??g|JopLYdwxk437cr3OsezM@RC%(Em7iiN?*96$0AzwDR~a_ipJ7mw>sLx~hrzLXW093k z`rAmkkVE4t zlprD!<`?@mJqr~s6F?ptJV@S--10DL`6+EAV3!cU#tBzGZTIZCMDDw{OEY7u+rU-q zgITuD!5_lhfODxWHG^G}Lv2tRubk8T#Tq2UBf$xRboFHT-9Q7^!bLSry?FU!5h3K_ ze6kcVztSnM2qRpfGePU#Xr8tHO^Az9-o7#P6%(kIlaAaVnd0GbI&=qo>M>ZXVF7ZXe><6S-5sE0|g#LlI0S= z=3z}imKW%}Fc<;22^)Hb%uuJ{cjY5+T)aEFBa82TGsq2Pl5QTB#nFRT@Cw*xufMuA zIYt_%_DGezllI{T?so>KZY?F0}XpXLpilWsD3s=b2nzzE ziJIunSQQnsXOlH!+OepEMpw*ICHp{1k~0sd#*~#u0l4+LZo`UZXyW5&-t!zF7kqpu zU68svLe-{P`Y8c1$z7!Jv?&|y#10oH{YKcRrv4!y2P%ny7hHj=<=cyS2ULVw^HN!-lQsI zpgZa67Iz3_VsGd(jrU(Ub@p>o$!9iLMRi77h92bKz9h`|aPY5O8`9Xm;Zq&65$Ma1 zmAOv?l!(~+ng}s$Vr`v$Pt8bNNEs&k48Kmp_oFmH51ZGimcMuTV?LOBsv&=TnO8K< z#_t_K#ULQ1fv-r04r(i%hGU!xDO{M)sk!G_<81(}$2ifC#Yq2C%rN z&(R(l&o%73Fym&vrjztw!cV!p$)$ApA-mVy6shh`gK5fC+k1b0w;kHvVtbd?kOhnl zM-#b~>2(7_$uD8m_FVt+GgL$c7BFTPfm9hvNZk`7&Y==3G6&yyBObW#_Ed$TFnEvv=8}wfEMb_zg6{8k}@u zMh&fci0gtZft7O(5XH@QA?T|%v1%>4^VW!%X%)?ynJ-U63C&$oI`8Twkh&lsvRZX*ST;leia`Dd%bI12}1@`S0xT zJF()jV67!rJ!}%Q!$znpU6kE#Qv4`9^B&-!tl5No?xg4SHX<|9MW#TA(L>C5BKT!S z#uJE}W~h`)73|h@Z_KjBtL;ty4hHrV0qjTc%rI7$h~JM0$wXk?d%&Oz3IM}bISov) z!(uI+e&1oetCTW<)Mf5GmD}HI$%8b(rQTFo7odqj?bzfUSW75b#DOXQUkJbfwLGOm z+7-Cd{zKIdqLjL8yFX)I)bDa8+vgpxetvwp%&~SPKhAqJ8__nSN53$~4|gxt9l2W=yn)_AQ|f)V=TO3L37juQP+A4(6|YJ|2$A#x5tsBAph4npzZcDRHtmXe7DE zVebUKEi8oQ!3|-nDB6Vl$J_8Pz!noawb4nhNVg|lUb2N5S8I8p(rExz?8I(L%|FcP z%H2F--XfIA0tPuU(P_}A2f-G5!ggTB^j9R7OsTXx4hKaX* zC(C0eo3eQ3=cR?flMhjMkGc}-eGVf)>bv*TjzDt++RU1>%JZY#AZsIamW&hcJQ9yCrGqswN}**;&YCaKwmJ z{3C!N#%OvG%IxeWj%4iI2AtpVdzCfP zQJCr9--X#f0>eKt(Lkq8_&`5XAs*B-lYC{2Rx5X@WltHvmB>TWEhGHI>3oOV#^V#Q zveQR&=6Z8J#1WOCBP{Og%K{srWz-M%t}E5|vq7nSt1j}pAnbm?N|uxPI+c1P17GLX zDy_0K-R}hJwe_>b8PLUYYHHSO)!kvR4fkaXF1!+@Xd4u>khg0WXL)QNa{(T~_>1h{ zQ>iNoi_FUXI{iOYeFUW(pk^VE$NdW19ysUMT{a+j0Qdk62q<{4sjCQNAh=z zeNK&Y?#ah=&I65sb6O8yX#%t!q#c3hAvxAFfQE0$zbnB+8ib=7EvDURH*4K=(r$4M z3f&`f^OibOKe)=lLR%o9)Fsetj%D7Gx+8P#e^^2+=zTbyY$?ceYJBy&|04=;(!5R; zqvog6s7FVMUem{R?`1Z&KN6%YS#)3rVu$(a&+GQ==Xh6kHCVfU&V)qjWjGy)a-DRv z#fXXSUYGRVkw?hZiPu)>c=kyu&PV_U+c%BZeH$HchxE?~qX!5I{sca|lGoaTk=EM9 zPy>G})mbe>z!G+gfY)7GC1NY}I;_8zRCYKx%OSW)Lx`QU&PF`-KB)KY|M8YCNEP^B=&&@H<+`96NJ*1c&2E#aWUiFe^veJdkS`h4s}teJo2 z)UPhLH&jbdV&(b5AcYvFf~P41yCdO>v0ttJNsbdw(eyEgf!aeD3vqVb+LJ2lQ|Ijc zz}-RtR}NpH4Md&iNP_O+fJI8zTV4L10?B~{2S#{3fTJPzw-io&VE2yf79 z6#QEItM-luDhvOm!36vTvC59IV5XI`6lQ-opHC~AEn0-eW}wivivr1mWp6k8TvN5+ z?7o^UZO`Zf8uy^Mpl6$Ng{^GB*1N~UA`x8K+#Jo3i9z^90KtYVe-LI|7smk5HrihN za#&LDiJ6QkFht?s1FeGRKq~dlx-HL%>E&8ST#d@P&$P(JL=bM8_x@*%ZeDFJdDfw| zxEb{5w{N2ag-w!pVPdDledVDmxassd6CCW@pJ?E^Eq(4&IhImMo153@6{UgqcI3DwLu z0>_&~pKAW}nsnQKh0Ew+a?MicwbK%qm9e_nE=+>tw$u*)&M>n}P-mghwOlv<6=nnu zWadwQ^u09!zz5eXyK&l<{hZJui;J_ZW;ukqSpJouNi< z@R71=A2etmX*8T1kJTiRh#56xLR%l_UIR9QUNO`Ni>A zg&1@Yhw zQ&d=iJA6ug(q~ukTV1q=5og>(_>0tsg@bU8V*nq=*4L*dc}72I^gn&#p?UhS_%M_e zwxVeQu2~OjU$8~;nXvS`J+wXpdz4P>rC`!f zPz^ir<#xs^_B_?9mdg|f^Ua7fR23R^2~2Kf>2OJad^|+Q|M8;XsljjHlM+RVgdUq^2cu9t}k|< z@jkLcl|~u^YeVWz`s-iFo4TGig;SA_W${1l*3mjxWi;|H;Lcn(;D*?uRJEnVzxwh* zx874YIk5GLhC+2k3Gj6l<lFF#i1cY ztW<3P*TzkTYZ1054)4Lg4$s}AEXzX`Lt?}jwP5+jU@`q)g9X8Wdafb9p$m28c9zmo{#c>wt_Z-LMShZVWFNI(mt+5tEba)1RKW2^7U!gDYI#oQ(lsO~ZWuwv4V zVy3Cf5I6c-GjCLdyeHS`sh0^bglhjDaV_9%S_0C#sD`Xc+GLL{Qm>}8i=pU`v@95|K#%Sd46z5syCG`hbRKn%j@8Nd2k;lK>aO9Gb!|GC5{uptYa?19PN?1!l%VkzFBJBR_*u3)_Kdr?{Ff zIQ`-UBGMeg50gUw&CkCLt8ppM4M7oryAK>|gjD~A}D`c7ic&HfuO^@Md^ zYlKJnPXg0_#|f}a>1WpZ$W30bU}&Yq&RTK+ zd7&}SG8+-DAD?pqSZjVFgz1XGX(^u5{iYJc@L*zz2H9zGJZ1;bFvvTvbN7lXWEt@? zyUrct3aA0e(HF`m_Wj4S5T(X1c`LDkY2zK&vph|!7d#|=)(*BcdZHV=oaWeW{@nV~ zK{?fj?1e|X*+t7xL<17Bs>Gn?2yDBd_TgH)>OwoSQ%kCO!{sPDAi#ePafloRJc+H< zRa^h=Z|G&D2c4Pk$%W^0l*$7A^_1nHFyRhK6e2OiEi$mooyv*fGvRty|3=TrI8+Z-yKwS;+^Cx)E-RTiL-VGZn(yJqXLhMd^? z@WpREqNJwZISdsp^NdPZIBN;zI1#W{nJEja?Wxrmm1r^AdA0H&pS#_pKM$5!6ud;P z-Z9sy4Nd7}nm$Y;ki54Jy~=bW(uoyd$e%g7qn@@3vyH%Y-1T^hqBPik0iy$FOL+cK zJl&HNYIf0^xik)sC@+H4v+MnL3^)NWpvEP@fRU5{1Jd(hIp#lVISsphXZX|<+jqwB z(V+BH|D&6V@;ng`iwneIpsh4Ih!wjXI<)K8ZSZ?Eky8`O?4WcLt7RE?*jwgcCCjkDUhT`R90>M?HLR?96t9zZ19Ib3>Z>qo7tbqSvi2) zej-94p8+6JSqZ4QB=!3g&NGpqHo9w47*Y_-gQgxjAgJIX5{zEj&A-t#UKBtnxRbeCD&;)wND^tyVA!}!Fk>r6CgfWy2WtrHJ7z>|F z=@W(dM`+FUt`{Xg*Qh4d1jr0V8Lki`) z>=G`B;N}g&B0o9)=}GDRc`gB23u?>1&J!UHRu)s@0MIh>Tj`p&K8* zzYhY|w8MFPkk8Z1&ZPmQ$W)a5A;J&S$8Z4a7EM^hha$CTG^9k&HGz867f(QMTj@s2 zl{!4u7disk|9azxLNq`Ze5jzrq9}FOLVU>Up;df?ZLr@gvNP7zlsK*a3T<&_Y2kE!UOT49!}t><6+wA{87MDMYjC62sE2#^ z0#g@dU8MyoPsrB?rg&3v2!PskzFIvYwdSo)FSu5lEX1bpUnEZ!m>%+fxU=BQSA;b~ zWnzXRuo+j;&p^m*FSSXe2hYvT8ULGaH}l^x{?L&c*-s6camcdmjfH6!u^X&}UbB=WWzW?v^~wU3jPZ@Maw_oyu|Re& z&^Ur&Ah^)J zP2V{zFxaN~IrFKJh1ubizN@h{L~ofnir6^gJO*#`L~`#17pk1l&x)c?A-IO`QJKsK zu^ix$BVNaWx48kWm3xL2GLd@*bl`yzAb1>moTl=lPa49_}$MEDue3MlH%y zt==v#=>c|WGiW9lQFrD)t}B^H--r@-AF4DlaNF|4;Vt0<02S%h7ha{$E_@{s~pdFG$Uc4{<@Yfmk$U(40x(SDZeXRCf z_O>YA2wdmh*_Q@RGxyzyG{D95g=mmyaDxD>C7uiHd{G)j5qfvMHhFiwcK1MYtt=?EfMMD-B#)IsE z3P2XPQ>k$tisP)gZg2sQQlWzAWex9m$qvTtNx;JemQw69<>S*lA0OY97e$PO5Jl3$ z7eVw$Uw?Q6_)HOGtq+*Ia&}ryUCX5njgL-FT6T*UY9mvwUnm(=>o8H_;Ly<{7p|C- z42KO5vpjB>+4udEB#5W9E|dhO9(HCdv?sJi&OFn%+yvOQlw~h?Au5rM5Zrfh(tYr@ zB{AXnMhf(DTIGUf7|9Jf(QUd3h!NBJ6*z&zJg^y|KlY$(l)-)5L=IScZpIv6fryFa0OCCy$=SaH80=Lmb}`PPvc_s z==tISndUucnrSS#Xg=O5qp6zCr^>-mEsKE=`h-T~`)*rG`QY)CcD$t!*qN9hcf#~|)VAxlR>|IG7&!pM2jfx=vrT$O0<@Zgl{c1| zjCW5WQI4)%Z_@6>zMr{zbdSE?I=MWLrGoFofe%OO@B2b}!W!Ly2BWp5$rWU4cwGPo z1NR2?4>us77m^%b6)5Ec{#Fzy7C>LsZ;Xmo!$U@tizOxSrOo^4Bmq z7u)E(J*ve`)E#a78%}aCu+E51@ai0%nP4X zlE)H7qq)`JsM?PW%91HDj13O#S--CJ63*;mp?MlR96Fs{@`)eV^8D=960x?;gYzWR zd^6*~vZ+@1W=iDw&F>8gd-8-Fi}KIzK^if%mJS7vtq6T5SaWZb+ja2shet}giFi+n z&tG!yze=$E5x+#Jpv=U%VsDJNej_<#EZyk&{I{|~noD48fKT}H#!dIpXN9EY{OYo$ z|ur` z8xmG4?PKYEH(yC%cHX>yd*J2KA>fe>d3y2=(s4OIn%F$@v2S!E{Oo%c-^IXo$e463G=5b!7b5UgQZ+lXA%?u3r*1oV+-c(95!@oyYWjOtVi@z0(rx!Uv>1Ea z7iuXrhb_M(mzzi(IamEwjJKg0rIp=(s*RmWH^cII>Qc5Z-irIQ_iOyoz9cI);ZG=B zA>tNo=)JqzVr0D}kJPdM^E&4!>0Ed3N4e`CS_wU0Fh;h=G3UPcX2CY0aQ9n*g6C4H zBm!o3!(7&SBkNAbAQm#xEnz&CQRare3YHgi^UnLJh%5M)&TX?Kdwqy>&;u0n`Eh=+6D-SF^X2{WSPs-?tI7U2ud2prPhmI?%)&yzMmdHj{ zHsq_IC(K&%^v=zf>yrM#H{2uj_Q>CpfT|+;mhgGqa0FlBAbHPaNJ8N_qxPaqb`^FJ zq#w*<8Rgixuwbo|+H2)${fK6p3Tz9hvg{h9#6?80dZ0B8tFD zkg^-bG#YZ-n6)9t#joUh+%#y34Kwy`zpPt(HeA*q`RaaZoM)27n{|W|fw%r?*+_dM zj-|?SBOCKhXBv~?8yLrrM6(6X`v*4l9;BOhw6W~X^>s9k86_n3 zC-i^P@{=wo)&_@o-1O0jA$3H0|DVTVA?gtx;r@1k?xTwIiW#ovb|sDxcBi8~SB0Wq zMEp0IgC&|p#nM=ARU5X~Qp@8vZ50D^+Y}!A_^&R5D{SqBZ)hxDm)ASS&rrtQREhbB zP&`@%2)*Otauu1oyA1TX6nD59u+O%b*gjhM&YvRntsCuMT>u(F?|IKyLdcLpMO?+aF$}$$0}t|L#6$kQhi{BBI)x}IOQ_iL-B!`tUu~K+OnBk zq;gtJI%Xet_-nH<8J~T1I3V))7UAX@7bQ&jRLJ5fRN)aA88zIfyv|9c6gdcAr{#O~ z;Xza`Z%<)UbbnD`frV4wrfiWo;_Tg3RK^sMZE-bCzL?wQ;6CBY!wdDZ>O1YD+}sO$ z?}wlgb{ff@)rA6H zmRedwQY)8U;#sPiUh$J0<2iDwt@okp+fnukG>#VVpVU`zY~uLC8;RyHVd}~2Po1Sz zl=x=dAmp>fW<#9ul29!g^9<2&+aOohK-VL&Y_Hc27(1ImirU1p>pqgcmgxsx{+l#; z^e>%o;ZGUs89~0o4y8YYw=1GXU%{c4GqgHcTMBPR8{BnDNgFe8X@5!`PgR?VsZl#1 zw4>}ET*Ahnk9qE>88n590v$fpO6c&NP#1S`Yx`~e>(=vahUNE45gqvFrTG6ncK`gC zZIo|?Zqlw;X_<(7U}Qn5XxO#eN^_z2duHRpJHh)wwAtBn#d?$ZmtfGw3nyrE7YnQT zQc`>}$h;M2D9jEPsg<8Q#C39hy>0U5GU@kNFYt4rDIz6=4I-mz@jfuVX*{bHk1UgO zOJMl%X!m=`y=DKvRntvN3H1@ZcHiCz$$@sJe@nH7DlA=Gx2z{c+52M>%tiGLD9s82X(0iLUEP!?irRd&Tbp7U#7m4Wl|azhLmtAvrEVDtvt4 z6=hx`R_0qcZZ@nrqPgp>puODQH}??1?^o>_&XzCiSwmrMpYI zyBigeZnlJkba%H%H`0xiG;F%RXM2w4-usUC9pAX;_YZ@?V8doJpS9+ibFOD6yomEL z*&15q6K>l(IJrUZ9rO)7I|~!{wF-8V?Z`6ds#*@Oeki`pI=Jl-IFr??_cs65EdjTE z<5LO#opYnrvXk7on^#bfSCHxSgoobGfX+Co1GNZG<2$8x?VK)>j$LZ#tFPvW70Nw1vz9pOb4n_y69pv8r`^zwh>||Dd*i?gWE$C(ox($N38^U`;!UggFo)snGs}X--UW~L; zpDtQ%<5)cLeR<^{6i0C$?9KJ6^v$%&rA$7}CWJ>vjbi>$5;C+-H;MSsN^NV8e|z{O zH}Nfgc^ z(N{wJH9cxHkRdTDMtNR^-~6LqaWmUdsbY5hnDH3bwOl4*KAf>rR~!;U^n5pYh5T`i?_dFXS)7 z%)j#gR8PqL+JdF?9NX~P8=V|R4BXXnjbldZ z(JLKe)bl}AZ0aH73#g{xDDelGwD=8fm*O@V(@&fm4r&%2hK1q-mN*!s{ihuX(I9$( zH+-r`{g<8S_roNx;3zR0x=-RVQPk#qxJJ|{G2?<}6M=@k9wH+c zji{p5_in3(W?$Carm4~U)^$~_WFfb)Sh^&wRWE82A^vjz#EoJ|jpoK*R?1!(a}U=_ z6-U5kCtcrmj&CzIyu#GKq*x{LJ(nzf5kkUCE<%G{}V=bYS!lj)Iz12p)F1E71c+XdThO&GX zF>gN1>+0-(6#r|b<1cClhO7SXlyX-7yG3Vx?9jzBR*D48L|&QRBU~{o)i5jr*^Wdv zji1?Pfi0g-hkG_;*JekmUkxTgi_?Ryhl}hEq&%k@xW~X~O_a7Uf*Hq0xtVWd9 zK-b7gnZ5a5I=P#EDK(?)F=OoBXqse4)WslkWDgECpT}T5nB|TFx^a~JEWdo_Be$T6 zjLF*j%$v5%tkzD_{p+PYXg}wU<;aGnrIGn7-1duh4FQA-FW_8}4+L^2Yd2kV@}Zi# zT`Tt-$vkfOe~sb}20Gycja9ujG~U|TEl%KOy%MSW>zwGW9Br!gUj$>PVwGJfz}mXw z`_9G4=|J(u@?4WI(>ssWW}Te8Utf?Jn-GO(8u%mydrx`o9y)Hh=wP&T1Z^xiHU%Xq zeDj9St8HQB8_ju<&nSAAnqIG`I>N=Eg)aTynA^8H)MfmBZp#Yxvb&@>2Q`89gE@BH z7_C0{Yon-Dy=@=DRIeebARzv{R|rmef#c6%r{oI5vaFL6x35jJ&=Bof3?^K_Ab$MfU~8IA zGvHqf7vQ}4H6VP1=kLW!-k?>{4P?N8os&*!EV-Fw0e`F{A5zy_nLzrG(yZZo}OOm!)M@{DG^TeQ9M!wxy(I#lObn=h|j=b_B+{lx<< z?_;gMb8!-2Z0HYX>NRkB#z7lm&0yE9%`v$SmGC|cK7fe(s0es3+gyzG7CGE}J#knL zjp!?ca=s}pnX2NK3jFx&K|P?1WBIgz$4Jhu4AIEr>IE+0Hxx#^hISQ4@|ABmPT-~4 zBlxN|V{fFV*6SB&v!CHbZ~VC8Dq%KOlv!z{;KAGX9fT;A@|A5R!nDamA!C(u{r^#91Bi$ z)k2bV*(2jvAMX60N538sFkcu@O`$Ik?cm+@jOQOGYpa!)M4Va4R8y_dAs1>Lc=rqy zS7HbJv;|V%(MQCgIpW9_TE&TeAkG+r!BzeL1)?AlWgLbLH-JO$cl)PXsWF&Y*vy zibt4Z-st82ko78?2_DIe1Pm`bZ}ma5h)7WWvVWLp?pw$wTe!XX{W7!c@|RH}y0^1I ze==J}@iD4hJ5S+94$HE{*$vQ3l4GJms?-OxqR{^+d3Ktu+fD&vf&a;25aL08{J=BT zm3C6?YvWTL8oRG0vY`nKDV6Q~@I_4xt5=M=q%E@^A;%AoZ=fqU6j&0@ZG6V1GCGWJ zfRJQ-*adHEbGtUBWZVK28_HWcXT7 zcc9Wc)kWSD-cjH8+6=2tA^IgKMy43uh$lobL)x`!HiG-^8qS>riV1>vgaZhnj8v1m z%uHU2<}ugJ@L7k>NP}g4msIN9F1uE<#1DB=%NCFZ$c%tg@D<0GGPT*x_59}6<fO^a~h^+9uX>^0%fx6P2s{JSyKzWAmXinBD&9bB{j$!!ALOK+RQ& z$8>HN>`(QkGLENa%yQ?_YkvptlI6%PZ<4)HLf{r&2XJX=br ze9#q>+X?iHVhzYe$FbJNy4jCf3aC6xKCWp}vUbfEH4XMCx`xWTTR9eRg3G~MtFA;M zdP=UBJs;*1-n4(oe@#iC*2O_FkAqCAuLuVD82P8hKXzf_w&%lzCyr#Nr(FDB?FC{9 zSIn}ofVll@Q!O5d+npZ({0UU%w&&fPnod5729=hsCsI*IaWX#j4cF;d$y!gHMFW>@ z^JIXE?@^!|kv8ib7w2)ha%lA2eV-OFFl?Sl^?YalOYAA!*!^pSBv#v{zr z2-FSz)1>_1?%NVcjuZQYcBva|@>%%7m6*5;e0U@gH0(!V65@Ba5^t;=)m!Od13Fiu zp*)b4r+yFUim(Cw^BWl_hG}VO9Vk~>aSr-+%+}9M5xpNg3`mpzgI-FDmGgSu9;dF4#b-)L^640=l|&NEWHQzLAjVRA^Yj25k&`MGN`e zdA2aL`eHE_dd=uMU*$t7iRH{evZ8&Q5Gv^yksK*Z_akIbBa5Ls(*p)w@FqMv^jtyLB}; z@4{_xLy(nPvD}?wM0N9g&z?(c#Vh?cyHyUVyA9T#L_RUY6+3s5pBFU%vB1JBsq;rn(^a7vp&aJX-(cRK;5r>H%`9A)cOnyz8?tTQ!$@E#G2^Vf9k zMRZ<7UUdzJ!!#*jg%a%k1P!8RK$GHBwl8t@+`jp`RbO3gm#(}v#5!&t;bv@q!lUGl z-tz(6(x@t6~aPQ;Af8h(5f`eE_x$1W;9j${qP z^e9ny-vkai|9{o*Qd>5zhZRGkc@jH!vTt&-3D*x4S8S?O2Um)a6$#UA+M1yN1O9NKgj4tN+lL zWV8bw71Wdez<@y_jvRys8c%P7npUlZJ3+m2T75}-8{8(*-dI*cCE0t#aF-Uk7PkwJ zx}yYlsKJkjZy`oocLC_Pg`^saj!oqXc#ja**4Fi?Lj(ovhKB8@=Wn|XlVbVwbX^Og zYd3L^n+b>@;kWn0oosE^)*N(i#PRcJf6#zgw<9$!)qGxcSTEw;=MQ5FOZ_vhJvpj2 z5YC~?!c|kq_LRsB+Z%nZDNb{#Exo4?>SH;+Z44;k3XZpNyG*mgPlW4S@!ru55nhJt zgxQNGclNSFqcDaf%=etsDj{OoKz#9b3CpQE6KK$k%Ck>wsF5(eBcYgQ9Q;BPcM+yw zc-2_PQn2$gchdwN(3#kU^!Oj;`&OR6Dy@5Lx(9n>SbG; z5t$~H0Y12)m(KVFO@wtXu8ckciwH3nOQDY3dy<=(OaingukXQS!Sm=qfZTc~-|*Jv z`>ifIbNsyx;W8%)VWBVg98D&yU_5<4Z1i+-o4uLOOX_IeR{8Bwg(&;Bv}m$|hd=fi z@2<~|+3fSf1(UBQrOzm7FzH)vuIwrk(dLVPIIDcM=7b*AEf|eay}t)aMFe z&!>CvI5e%=A=zx}RR7?c29i~oVz z=khg|3Ft*RPyZvOhYi(icRsI?;)H@Wb~0TUk%Id~F;=Odk{Z}$|hm;Q&fMk-ORp$aV(b5~D;@8VZS(gHo zL~AA6vNT=4=6by5VokG686I{Jq!cF_t)sSUIP1_iFU*pWx4>jzng>mz{5n^<}&~yI2tIF{}?18b` z6`AVmYdwvsjr8=$lrv=Ih4urtvBVjsUo6-uWUEn{{?|J!bsT)Ahbxd`32WieT$f_! z+KCZgS5;51;gin=ceTTR{3VG1Ki$c!1oxEqO-Hi4sr@_{k(3AkAnh4SurJ}n@GQLG z;Uv^y#FD2rS>qMS;l2)+4(;1{{Qhd+Rt!HT2cu!Y&2vvw!!T)YQ z$YPVgMy3+`f>pZJ8pa*$o<_a({py6}ANm}SW3rFaij*25<7kT?z5&_Z|2>vD-BPEs zdf2i){ls@y$q56Qe&BASACdlJrY(K&8w!%lz5j&4P{`B1dC>9S5&bys-J6iLpG zsM{wrdiL1HPB06&g_oFJOBoMACg*9M?Ol2rAO4^}xE;({&Aac~o6ou@zrYUWx4F{u z4d^_UDosfUGN3sAhw#oFeXC7U`!PS0saH6U@WEfy?dBheum)jVBqriM)5xRO{>)4$ z%3TF*Gmhx1NflHB;-0Z|%O(|2Wc34EPvftQ){bX)k(@O{KbA|a29ODISvQoWmpNE} z-wm<>UNVV6RAgv(@u|4cW~{5Yw49TnVF#`|)9Z9lCI_jSs9pzG$$0XnM5gOUR1wDx zs{6MIxptoFJo9O)0Q4KZ0t`(X^L z68^DBOs1X58j>!24{5BoW~jP6s%b9ffSxn0n8+(E`xrlT1U-T--(5WPcs1JNftHcD zRwi$FPe+Eb2TJW>eelpp_L;z&{lCedkR04#+c7?tWrIbkpgnfoKb z`B}iFZXth)_`^T{O?MW`MyfpBi@l6q>#g5Dbo;J;>}K1Q8atjYtRMH$@P@TB_#r$G z(u)o0C>2&gvWVRqN`gf6nkVdtD8?q6i1tSs1Era#JOw0`v@K4(VbI|{-^i%pQWxtV zRj(rUE*ks6%b)#%USZ+;CIzk02~Mht?lTP7^E8AH$)D_b65`8nTX|3~i2OM0*w}37WcxHO%(Zv#v@0{iH`OQ1@oh-$#Ij~rKm)yu*ggNp z&%2>pHGE~_jX1<|Sg1lmrf|hl&V&RrAN_9Nlb=o7N{S$$q3REYa#x6)VsWm`k5%dx zCttBs$ml9p$lf{};3*gmQE}@@I_8MV$Z@>wD{Hu*^D1}4Q6IFPRPie2yzi=5ANu#d zlp1RZpKeW9=>Bsi`c`~GN4IQOOcqjD3Wf^ZZZ^39u8kXE<9Y8bG1Bixq!rz>ESq6v z14?ZKnZhxa-7J{LsVvK0w&;P*_|pY6%32(Xzma(lP6fWuD@`)K_79%^4UTXq_37ll zUNScs1#HnM61FV(3-BpUdAve^QUx)L`6v>w0Hi4rrWz=+ z`&mK@2B<*<%b)zg7c+~5Hd^5>*7YDg)$vz9sw1L!R8^SNiuEc56wzjX|Dj)j9rF>i zrFI3yB5Q`;ytw>p_Z&oOs9Y4asFdt%%CC<)yAcu+VqY<5$8XKfQ6@8T#Objq(#s46 z%&9B-7QJRT3h-X1M_Snq6dKm5u=dKKA?*wE9Y60r#OQTK@g*gEJN>#r?1Lpi19=c& zJV-|2e)a=~$%X|UtCy0>0kS+cx-RCU#?-(62-36z@5%U6R0RLW=u2Ky?GKXoOfo@3 z!{OdBU)&t%+KXP25PBns1vDWXSNnk~<{vRKb8b%F<)YM(Ab5uQ;-8L93AOJ>P5&k| z5>hf$&#Zt46Lh8+7(+;SR(uX>#p+hfyA<7!Wu#ou z+)IHHL0wg;&D%n+IanKvRkpw`cx>wX(H7`z^FyYpp8Yv+!e2F0{)- zH%k1}OSjnS+I8(_5DK-e>5a+*^LQqWZ%U)(;r!1Nw-LKKzpj`poo9SMM~Y?Gkl+g7 z@B5=ef6&{;0L0Nk*u6*$7X-1!waKuC8ijAYgl^nR$CslpT;*vn`;FfdfZlGIh=TG20zK8y`9;WBF*?*sFm6ubiD(K z7VK1d`NQs`xI83F>g;gq@-Y%*vcIx$eiU$nfpmuo*l?4-`&NRbi)zf1T|z#Zh8d#x z3l+5ly0-$ep`$37!+Ny*!d;{1FHhE6QFsMsF; zO-Dv`{Txdxi41r?cf$8CGY3LC8#r}-D;x4ut+1kl?8^B1_j53Nx%B-q1(ckjG+t)a z)5=(?9;DKzmMj*BeWjR|UKwuOpmn7TZ-UgHNBtwMKPd87Mk;;hL^JlA)cvoZ^xwXj zm>zM)!tWIpeu?edb9JOrsI{&9G+^tU*V!ZPb|#v=Sw z;p>_e>)bb+q9Hn8RT|8s9pD3Qw^os9=+=g4l(BWlnOJh!eDdEr?ns^>ea{ypkJ!J8 zzBc=T%RO_=c3Wx@}Xr4Vp&>=tNetw-81#$``0nim{ZfIkqF}OZy*sWrRmqv zKcd6j2@60ROx~qN5SKG_gtLJV_@fvRjb+E`)tq|SkQ7t3b0vE~)m^vh#wpu|BR{+* zDR}!e{>&6ZL`KT^U9St`yZd=NxXumA`nx-fZ=Bn_Al15)CXPiJ+ucSM4WWj``A5|4 zV_+!Gt31Yo(}I}`)!&0&kaIS$jjqSq^bIk{ncpafgIe~Bymju=O-38|kS!~+>ec4X@e>nV^$ADxO$6{ypi6rjQiJS4;lUcG(j@yk~wi*G0#JI4e@Y{aL!ymon z&r-#{eSCp*P`B_RO^E_%%G9m)(-&`-7YdKo$8sY;1-lGIq<=;14k}o5O$Pa26)b_S zm0RRxgn+mBJ^y1E$L8-;aApMbsGiBPOp}xR9Y1_wyGK2lWm$?%^e;?6jg)szu0e}S z#>@HxGB{qu1@*Fl!QAg)@clPs>o2Sk-$&H+aHZOJeq-~cpGqgMF-2Jg&>jz9M?S9Z z7FzlM^~fdWM<850qu3-;ZE1m-_W6ghMI-T(^ZCwKbHiM~1&o*RF2PI8SHTlzA#HKr zT|e-2g{ba+WiCSuwO?_=oBcG_kM1`4vmrA-jroWtC7Yk&SS`?VeI(x%WDF!{Szqj^ z{3S_bc_93pY^hn1gQgCBp>}O?$f!Kq4by8~<1Vj&uKrALt!>0&({qJexN;&QnSp%r zvwu?Ga+D_${CRLzzS=@jH=;kU)@ro+yB!Hr*llYJJ$dQGznqdk@+>~X+;hzr$rL9by_xfnV&To}Rwj1=^Zi?Km^%J$C? zop@>HURaMYrvXTtzuz|}VWco$a=}d$%x7aIO00wUnKeYPd~Q3;Hd8o!x9FL~zI;P; zHb|>rG4FvPo7ASJoSBJ*Tq|+E9PMXi`A&OIR4EA}Jm67?zm$P8tBGu8t)U#qH&8Wf)^3Z_VEQ-YaLJsQLAEJxLXx4CrY=vHo39j*8lH{<(MiF7&+F zH;#70N5;LuG)|8WMzJmF&!|dhN05UZw~Tbhwb1CrZjsYVw-IWJpFj zZtw2d)-OTg0e;5WkufFa2lwZrS7>=oW(FzUgNHI=tP6Two*>jmTVt-Vp@U?2&z;R( zt~URE3;84ngggI`jPKcE6`=KI1TncGjpO%S1`?9CY!Ey zpIWVXbrXtzC0=?7YU$4i%rlP_yeuAZCN}KbOZTp^{`7Fre#vyC`G5rh`X6c0Fna zfojEMUUpfA?H<5hstCzne|YHPL;6jXBkO%@MPLj4hTL6l?8bod!WUZH7MfWtqDXx+ z33r_!Zu8mHQGRuz6 zgn7OK=vN6!VZx0lJ+;_tG6#pHQcy;tst@Em?-oWjI=4@on^^cpIn(EX3Z@9{h(o8b z9|dgJFd2AK4q60t zU(#C!KPiWc3h3I;gw*&a4FbE-m_MXBkq;I&Iu$YoMi4+NXH*-yDlzMcujY)^Bc*Se z6*B~pVoT}?^<^-?cBXV*TYEj~1?tD@P97(WR+g0+gz+`+OJz)(LP|Ka`kk70m+ech zn4j-N8z?y537xn*v0w_=rU0KYhT0;(Uq5YDS%77eUO#jtLa$!&X|kK9*8;vq&5~z0 zo7+j@Q1GFTXXO=z_*P#fc)OUMO4P}c7H{F@x?*_t-QEFJUe~PbaS>4=BL6o1h|$h5 zNFjF9p1kH8_%_q{VrgPd07XzYvGhUeklDnByxdel)_N5|rrJRuvqxz7F@hp-YqExu z)82_#%?NeJ`SlSf8M6!IE4riawhD}YjHIRn^Mkn{dT7wfO4B$0DQ{}&v)Q~ig(8UO z+O}T}RsjQW!dj}`xkdsivb&>&bQ5gqA-b>W=SKtTxN;8~)?Y|J#so-j>Vhng{9lot zQHcvT@z#4j4x~3`TL3L}mjbk5Aw2pIoc&bbQpfMbivK5M;hsMy0^n{mA(j(OWv|*; zQzse0ibx#gv+JaHzw%JrePG7K95xvt5;^H}Y@A4O7hlzds#QqP3n`kCGPe%IWybd& zmrK6nD!MWxa_9UTnC$7SY+J$R`w;IhazZk@v(*O%57iO+9MUBlV3>>bi#iO?9882<6~8CLQ|hK2$KDf8jJ&@ zMMU%d1V$>^#kBDRZ`@C$&XXzO1_3e>oHzDTxdJ+fZu=Di<$2)a!q#!Q9saqM}OzzL^NVNgv6;$ESVl)1Y=)y7B$RV{ zHZf_QUyun#vRW=uKUph4dls)BL}yzK)Js$7z{cQPS&~-`A{CBBF}c_myU*n>I`}&; z9zFvCvu>JY8ubOp#7+cmjDwts0cp-9-Soosf%Ck^7VXyupq;mh!h@hKuX_DZ*m+~! zsmqiR+sbXt;4_eV`mF>x!uKc0RIcmpi$oada@&_oPT8u=w`(gm$#M|fY~~d+7T2AQ zIX0wVr}EE@oTlk4zx@7|D5W)O42AM^ITJVAokU==;Nsp0A9y-J_qvR?cY+8Zb)1&- z$w+%>OZfddE25UDrKGL+DIf>(*PI?%2cIl#v^Vtw4ErDt?ASBWMLSYww9U>#^Q7cZW|A zOucQ6rIIc`&c;m|XTM9x!je>Zm61@m%1m9Fdx_g~64whTcMqBo9{Mi=o47@5@0P~> zovSX6LoGwNI6Z9^G~{luh=qHWl1*~(vDNsAp4&>m{ULZVVTbe8qw<^;d+w==Q2bqY zu!5y&l{dX|IE6;3^X|pP$z}Ntv{6ISJn&u9-&xqF8TwgINVuJ#B^iQ-3ZX3_<{f=v zz7`?z5~4ouW7h^F>1%SrIG9K(Vr{Qv;w6 zPa)}v{RmZAjwU<=>5=}?xHn?%8B>GRfeUVLe@+)yiyM=_cu_*xC$cxC5xSxe+(5fV zKl;PY$q7L(#Z%{7_v@EhDIjHK6@*UxX;F>Xy_se6nUk2LY)^IcoVnz-%4S~WG6E6C zF9M4gBAa??U_*wYKkC`9@evZRZ=;R=631!NkeE{yfMN`$!rqVbuDN-BxiJW}6A1|4 zqype+_T|_iR4kd65w$h+<4N#ft0sX27|6vMlSOc;qU$`r*@uMntOVlG3bzzE6gtxdV;-$8Uo3 z^KXJf3kZ(IO&)>&7!p$;1lQF<^mn0d-38FE^+qrk1d1S_K0TZK%`PY50QE6O0ONC1 zYoS6fOWG}vfNgklg#+|Z+g{DWo>>L7KR5?RsrRAkF;xhddH;=y{`+CAE;^6p|MvdCV#e9FDy`bZNGN1 zZVKtidU8j1wtKF%=A4kH?>=8-QXWMK=MM}xpj^yD=a%=$<%0_i;dy5WBR3+h<$WuY~AU$82{zRN!FTK}t%u}{Vr2IH4ng|>pI;ZHj@zS6opm#ot>9wm<-dSZ-` zf}&bTUaa*Vb3=M0e-qSlm6;TOA;{=C55mS&Ry)o_li_Y$_r9YFyim zu4P~-U+5Z-aTgi6pC@jOn2qx`H#HjtjPj^>(pYE*MqoERG- zMAU90kgCy<6XSxZzVrD$i`q9glPzI+9C1?z7HZVZ55wsDmj@8L1(8 zv;vgZ8lPErtlhX~Iy1JdBe*dmz1^hWEy^Mv)ag=I<)OeK%#p){k&&Ojg^|xZz&TPh zl^a0%^)fQZ(XBoVZuiw+cn^c&-G0mrct)88Fue1WpPquOUChznc#joYFaB?M*JL%O zSGDws{U^>5jaqsp_$t~Q&iLO9slT5D?1KcW|GagCV$JA=G+TMn%|vxIl-x##Th&)TUXU(kRxbRO7a;4wXBk! z;N~i>bCQIsi-ADwl{emNwAexa`x%0sYllB*`j6rQTKHV!l~>s%+;z`g&y#1RcHHgrl;L>+J z34Pp?5-#`>-xO>Qvs4_v`_Ly!1D>tegZKPV(R9|cV8G3Sjv&_@+eE}0^_^ZuW0W`O zq+UG~^Hdg4_RP2PeAy+yY^Uy1dN=?m8!t_}-qTxCH`zOngkm=$7MSj~b}72Oh6j|O z_O^vwYtlAu5PV9mkljdB_OXvx<|r~s07i@x5Bex4LhPf;lU+s3S)^o$4yozH0x^*2 zl+F1M-(3)0m6^{9C)Z;KnDR{bA(QQUT<#>i!6h8|T4jbZ_|^z(%x}Z`O$r zGMSw~=5xp}Qf8S@JR_LodFrsbD#kr=6ufKS z1z-Lw;?2SA8!*6bXL2}``1vLMuJ4+E*LR@8sBi7$;lObsWnST@;C1?O{KZU`#NY-= z=C~{>alnCmB79TP42- zAB234Mla;^zmQ`7LHU2_&7bH?3vLv+eJ{lgOv_2C^7V^Bh*@y;*{p2^iKfMCP(Yx? z6s|!-Ng0iBZBc%|SKk1^S%81Gd+Wc)VD0}%gRCzn(*qM9OW@j2mlm<`T}z2pD-rO~gKks*)H>_vo8K#LFO zXRrIzL4Nn)f$kAIQJw|1($5O^6*argmo9FD4;fi+FAAYjnN+6vPR|Hs>O|99RC}S> zwASLDi-dnMdyv49@W#8m|7CQn%KX^W!Lqyp*~ny5GC{?qte-}Yf>m-5E24{)J88GX zG`=X7PA(il_w7)j)*Sv(ePDl3c5L604+?B3$Rymeg4FhWe1D3ws>b z(??FnyAUEPZTc_w9~w-U^~c@#Y+tPzZdgBF^gQb7w-o<+sB19ScfPp0wI4DwvLGGN zRwbLg54V1~$T?@jU>IEomSCmI$vd74rB%5?96lUv36jFl?#^FE!)3ZP0AzeLS`>58 z?S;gUVfsv|))zdS$4;}eX>UeA!=toTxN{IYzlBV$sOUun;Bpa_`-v+cJpV+qbjr;N zCRqYadUOr~9Y&P=MGMc_b(LlcFF9g0%t>ua&mBmjuZ?H_A>4Fem*v46H4N^tY#==6 zH~Smz2LA`#{hglMUE%BUgu;3Mg|*iIR^V#^+>JOxqY15H@w^p)c@Q~G@bH%giM{7w z7s2_80Ejph|3`sG!x+92WJKS6a`7MS=L`$!yIvWN3VMBuiceO%BT3M6t|D{J%Uz{k zW{fPM)=ncmHfMIN5+r@!R{W#70?uCq0VF$mP{e&=C89EqaP=OH%Qy3ELS0^HgOnb@ z+fS&X_ZF#`UUCwFJsq&AUGUN|h8_c+Uzol(f8Ye858M_I+d;_$?}B9Hemx3ynhDZL zJGmSjGOk^==}~_uThkq@6(H~S)^1PC3uh-^jh(M4KwoYw~q4|A%DyxIZ zZ2r@-ehJ_{%7oKL8W(#gv}?RWsg#{pWm|zmNn{<|O3G@&*N-ulniz#2`e@fQ5iZuM zZ5}!S`Xb3wUTgA28G}tTyeY$4Sdls0#WsGgZRJgz^VeYzhA{$bcyCmI)2M{zN@wQX z6MUdFG}RY-J9rW&sdB4rY>oX0F{{cou>2gMS`UCP$Lp*kB-3%pFK-DvD30>fdsJrpRdlZS zhZq=2ai7e*6EZ=neG8b1_EW%Ad<7R5F4K;mR!tLfb*YiVoK8SmXK{IfmY$TfU(UY1 zs=w17BkES935>yf%$EZ2NVOV%E9FNSIiqvGo}8I{AyTpk1s09E5mq&+pC3P1F>9~L z$r1UBqTB<{3s<0oY|PLd#YVOvb*EyNg1ual@}MP@8}V%Cp@}A7;3l!ULmO`WfKiCDZY78=Z$@m|TbHLEQV__3+#(*uot|2p}@NLZ7h!>ZZ*1_xA zpX=gmANlrd?}n?K1D4IDiiMF?(`x8>C;H$%f4CF0x0AQy{Pn6bp9Kn}`*_q*Nx`{u z%pGhmf=Zvne4{d=u(Ds4XIT+E{Jrwk(m~IL^(Qob5ir613d$r-^A`eg;LkG*D)S(F z2AItZX_aV+J|B5EfmQM;KDKNYBI{m*=?!A6A)_w9twia1MqMNf+nsU3Mx>lt_WyGi zfNRwo7NiJGE8yGs{PDWziQi2Ti@&dUK4*v)@j4=t1Upz zw)k61;Z%3&4?BM5Iy0Gu6lH;oB|4RF69ZPjLoAC`)cnJuxQWV9W8}dPF7*p{G@09$ zal=;9B*w;#9T;$>Hg5;fwo?8*;J|0v)(*g~g#b)ra;Xj-Hc7%f%X@G&zzA~jSq1L} z-N?VM~G1+iY#bps`ps zQe+HVZW|FGoF}8#9iw%}0x89L!a${EzYMd$*${{-HWCPb7)EQTkVP}eH|f4^SSaLQ z50!o)h$+0+i)hFJ_?xf%TNG{7kAEDfRn>1S1|Z+CJIsG0;{9o;Y~aKn(ehQQ*!I4R)l zv9oIp+R7z+i&7+*oY$ zA}X52Lkkv+ixXtbdVq1^Xk@d7Avrq?v_*3-9hfd|Og=Xr4l)cYS9dBf^i?h+-qK_p zK1!(r1ftGxClKs9;9B&{WzLc@u@Ljl5{;B=?RtX?;%rSvt!JmJNjA&#QEV)mOXzW%(RRuq3Bl^MZQe>qQcN7)AwBDL-(n5 z{u3fBkW0CO?+jwg`N=|kp!U5dOPpmx__yCk4DNSGVqMWKxjO9x>|ifZ%$BEK*IjEm zFb-X*jT|rp-bWuG04A+maN&I`O!ywXO&Wn|c`w)Cliz1~A(??3G-cW>zHaA}djx+Y zH4A>z;c45(op$|wF*6QB9Jl}(O(Z5rVFy!fHY(VA_sj(fclEQpOJt*7p2AKfaN*MB zO(fvPcz`843zPnXNfU&*qg_T54`IST;QhaF-~VF4|F6$LOnQHoUe=3xTHO^)_1$5n zx3XRfjb$=3w+vtpy@uXbGT6Za-*QFonJ=TZT6fuHF4YZU3eP#wD7)QQRCw{18;YJm z8oSKmGRbm2A8@shj3MJikvvQaLC!E0`?b=fwFdU;BXPbszhyjg6(}kkujpMM2Nxps z{sh)?0Z3$66p(z47o2ILut?1Ra2f5`zCnJeXPdj_TUfg>;Y+1j4y{DlvIUejqcR0V zM1aco0&Kj?W-J$1U)yY7850j@6^;b>40^^cqp7>?|L~>!^(in0ms``*;*IYW5io5xBg3j$aRoh=^3NNFB*HK%NeU;&P@Oj6|vpdS9{2A{zX^K0_)(wwo3?Lc!Pr>6u z46kw}))oqpRSdRXg5jE1& z89=e%2@g)OHlUyQwen4~aKu`|K2Qj3gII*ZTbA+EFoN05+46suQ{ogqPTdEie;C0Z z;qL#1#s9mkLCo!M`plQI?%kVsO=ZV0FT3ef*cwz1(pHEJtu6zR&S5g(efcFjcNW-B zPy4_Qxl5q{P48oWz$N+W&rt?c)dHQ0}yif`c-82OB=DE=zJ1>xxc_$O-+35^9D zWXtZ*VPEcJz4Dx!!~S1|eI9jp-+%OKT6w*_zW5=SPbc7yT1pdXqh|&)2Mfr}wS3l& zTjE%I8D!twA>UM$H|}}&ZmVAS6gM6|QcWu_!EZpr59ON1>s_SV7u;ZGzJ1{AcKoCU zNN+EVWx&#^GE4wDSjf2(7#5t%D~$5d^OvRaVB_=lDEW z|51qF6Zrg+O>i@ppajh#ZI|Zq*v$ngL4t1c@mfFL~{-O^le=I_Y^vS+Q09U`%Kkp@BTFqy#&yJ4=m1^nt%o< zN8CFhTS^9w`Jjdp`d_Vjlf0GtLsLc`l$Cz-Qt;DhxS#h3w$v3}kWmW&?`cxDqsW8- zzqb>(way8>x>k;O9^5!0_MuAs%Pb?Hu7oh~c12PBY5PKKaJH2Q)&GbQf4=^|A_ji! z{sbWZVtV(=@)a5#f5x%b#joIvOg>xHcNF8Msd^`>7sF7>ET$YyZ{rn@{fufQs9uKJq#VyRrPH#t~pEtp#`ZtLBJCR-!yqORTU({-8j3X>aqHo;?&9bE=!F5DpQq{(urg!NF$)}iF2B_Z&;M>W(p;tvjvGP=_ z67R!2{U+(oQ^=gN3@Jb`b0xRFLe7&nRe9k6Y)OLqZiL@MJxEpT2Cnbof!^)LuTfqI zE_2yLaqSsDYNiOdospQH{^;id-!Mz$m?@(aG8j9n%9nNQh^&!?mA8`;6WZuv~Vs~zcw}M1p!gQdUng#oNPZKrGY*j=)w}9-O~AsAjhDNrR2zn?v8WEDhNG*#I#hrUn{Zv_Xj0 zr=hzJ3I~}7oull+ap2zowqFAIH)Sg@w?%j+48Htoqjg2eJOYfP8!!&XD@qVaHy+R| zba{jJ@K4$PM7|VO8D;&i&cQ#2Mqh`RoD61*Xg-V8|Iqu68#;n9)PrM;MX9bR;{rA@ z*N!71eA)^GY4v0%n7;~m{+eZ0eDj*v9jvApw-@t9KZ_K4vtqje<<^r;6M!I?@!Z!ebMSJ0u=S7l32$aZ@V31 zNngAWofgN#A+Wx6OFr3umvUYatT;nRBiAJ4-y*3&2K6$Aoerj7`G71F8L>dWGM|l)c zy}*V;UM`2l7uYgdYq!wv<1xeWd0|4Wj?#RP+Fu?((90QHP#UYEJ4;$;~8n zU{^xCrm4a6Ah+^lPj#kHTdxdu^4mAkrX{x%@PXR-1XOYYbdIaW+k*`p8_1A$C8w9* zDeceWx$O^~2k>y{@Qmzt-$WQZ%ayVEW1cbkYUZP0PNCar$Aabptlo#9^Tw@ILzO`g zl^6`kGk!uwaO+~EU?qIKxGt)B*#*RQ$rYWyxgS;Zt;(IfQAetXhoP3(hexP=^bO|1!}gKu%9E->3xJzH9u~?BS*K*2CQLL0)*Zplish1 zma(_W>zrG|Dl@R0BPr-CGmc0CcaWF9RLeF@@tdsin^WlP(Ld~!$4`Q))b(nBmgjth z9i>DWSq#=2zZQ0EUHgD!{^@7H+xf%)QCJX2A7w6Xc}02jaQsKSU6K4?C*8IO@rNJ{ zxI`(uIt{cC8?D<+E9*Kn!iAe>qoWP;BbQw?Nr2G0_a&D|T914!lL^0F7`>+Dp1Fz6 za8}eXc?2wfb(fku1)wP8H?Ek<)xAmKK9(^@_Jxb-?V47yMfPR(jPIo}((6iX*ZYhk zuNkP*mh<8ZhHhl@w_-cgmDn{I2)M(eyka-~)20<0V=4Fb+Aoy+;&_Ux$pl6b*$#LT z?%@k84SDaXau0^oqqPIi!whQPMP?pVty*<37PB6@@nzibmD~!mfJKpun~Af&z3{Hs zlP|3vC`RsMH@v<;hk-`Eo5_3g&d75X%2%il4(pB~i2x`Gfhd%4Gi zY22ita%suRBk`?~9JFwqdV&U%cwH*68}Q0RtuVYkNt#iE1Z(KJlFxl<@$0%hX*!i@ zaJdC+bKd|=BB&sG>$#uQsCN47|D)|IqpI$@eIF1MK?OugN=l?lN>V8S0qG8D*fi2@ zAsxb|L6DG^ZZ=AH=LR;7bT@l**M1(~GtL-yoN>-Q@3>$7AB+z$=9=qQb1rwKIkU}8 zFhjo#XgENW*QSse^;>YT7!Ozn{ptcs>PX>f{uD3!6*;g3a+q(DtqnI)IJjcKk$+A$ z#e?ir1bA1)75O0V2&VK(mi_q+IKcfRzsd8C^sHcI))FNHl3XjUA&pXG@ujbQ(FaKCglq(aO7wKTF;!XK{3m60cmbyl2YS+U2XXE$ zze$c~7%eV4Cw2`tK0Rq@8setu$lG%0v{3alm6+w}M_+-`YqPGs|tQ1uAWdLD%` zmBK>@UQ(tuy@LDX980uLy&I!ZkNNqF;y;c#gvQ1m*d_n6b2<4bw$<)CIpy2hG!3?- z_(G*#fb19;LQV-m?~14uNG{%eVv1a(v<1#9dH~eLqa@PY1e{o2)Dc)$jOI3GK)LiV zP&yXEO21Zc!yhZ5G|fXK3})_Q_A=(0aClzf)NBhuN&!iMpXf|OfDjA7pVxqHA<-!Y z`u@wfWF0pd^Zj5&^GElo(U6$k7`7+QnEkgdyvZlVKFl*WgvA*J(#|O;z9r$C`vmr0 z)Ca4t$~Y_!c=72 z2$Ag^U?`eXU}m9Dg_n1RrpjO20&4IC=;=H}5-oPAI{=3rz8AbS|pK^*o1 zlm15cMlgw>c>N1|u}wp;?O3T(6)Ipb2iqFjBRxe~9r-wNP4dyElCE-)hv;NOG|4LTSLb1sZDMqdGTy#<#MT zZmKvtvVS%?5_aBKst{>95f+2DTsCDCB}5#bG=0jEjO28#*~Feo{^jci6s(--q*poM z4(xjH?G9!RFmp$i8abx}@(gDX-%mF@5wYK9ITh3<+O7H=XHTk{3`}~ZHAs6$GPi~G z1SUr#UVBilFYJlTUD}3NviDYvUlwA&{92(h!IyDOVp^=evJ_Spy4=E=22Hp3OHQE_ z$t=vD{>6AOmwo!Ngx2Cofhn8g_1^6%#Q9oj{8c{}hN&F@~RmU&}7SI1{`F zbgo&kQ6V+1;N*2q3mL`4ja+M@O>4BJ9#_R~|GqOo0xNJ0-`^;#)+(1;$1q+0>C*1< z7PCM%IO`lGl{571$C`AJ`bKhRhYAjHcr8vj#OYsNsvJCHYo`3rGOr#a@eTl01{{8l z`dJtHTgoD=AY0TiW_+!-Wl{s5oSl$QW4k7KjNG@a#1Biq^j&RF#@gPz-1h+N% zO!pGbQ<^Ml7l;MTANmtD&R&I-zCHYHE(1?ga0814`n*XXrN#17dm#AS{hK#`@kkde zV@0Fch8qCanh_$6z}@?I6Z%JSX!galfqDM&rLG|R7pDDxlOp~oY;bHtQIsCwEFZR= z`feV1mC3+5&m-{MdjNR=(}$dKz;T^g%sE^+?*?OM?%j%(bM)2erwvbIOLz=4rQ17B zuM5EXk31a3S6Gj6D7WX>IH{25AMElCds$%GB$`IwSQ>g+>b1cRfY>$x^y;JR;WM{e zh~ceXQbTg1FoUR~2~xi)yLI&j0GrOYA=QE!RL2Pf9^m$i0m`=!z?mGi?JrFDfbxv$4gl`xf2K4Cc;<0n7oV`I5s@v;0aYIc&?hj*fmkU$Jf5Nf}6GhcEa{T)f)3C`DkqCGm!BX0HCGl+2y+&gXq0+gzHhmK}Id>YVIWe&oRMG@~3P$PHNnk-MJ; zBwAU2HBPPcMSI^HAnwADcCh_KEb`oF3iwjNa{}!k{HKg~|F=9dTMcOF4!zXnA59RL z>-{CR8#0X3|C+M?Pq*^b_15eyAIi3=vwhiId!3y|)A!alZQrlo7X2XcDDcCFK}-gQ z!1$;SAL1LBn=cQT!bxHXaH0eQFh;mJ$X>bZLX+8asu&AS=Sq<71Kd??v+Lc^sd~hI zZRD<-rDfWAzm2=STjD>l#s7)O9!Q2g*LPX!;hRS05^Q%^v5eu|pH*LRi`M@MzW!?_ zfdPF2kC&H&VazHPDGW=MK{bYg#}m#S>jf*-r0PBHN`BH7VJNTIbMk5(yGzjJj}n~7 zV~8-3I6gnt1fZf}=d2x9&%Mb!ZNv$stG)Wq^uEEl-W93){LuKmw<&zmjcTvVh#@QE zXp4JX-Z5+S($I{qtbWH=NA1A<$pb>G9hUOt47c2{TFuQhwl5fYE$rVtV^T!-InLLo z;1xl$>2nUAl01*Q?Q%Jy9a7F3%(Cw62#DTZl>Ay$-#!}Rb3Dmp_OhKpt^1_{^%H?U zA3ckR#{SqVBHEEI$^Mx7f$r!pGX82Y3{`nlN886iZr4{SB0|2u?4SpB9R4aIO-c$q z>KR=92ANbwh2rjtWKU)76Dze*n_-pCTb~uaO%vM7Q9pn$Uj!WXBvzPf(-cZmKfIQ^~V$UVcqFrxuUp)QXZ%+ zQrlT%%euGC#*USTw4ib>*ig5jw*% zg=+s>K7?bwgvRDQaE4-2gwH$V)oIxo6_m)1$C~xPvnHxdKrT8_kKuUAV{{=_N zg~CX;V8Z_ALeu3fxobw&Q*l4XXxeLwoI7#gK($0QyfZI@ITek%Z{bzxPOS(LADSIR z@hV2{Ryb8#T@IP%#D95$&DMQgODVcVH$ z`hJ3zA4TfdP4Xa|Tz6y<9S%w75n+8|T|Y#K_~;wM?FCo(thd;r?`9A5d@5VZ&MSCo z8v%OD$|PZYm#3OvMrB9W8wX3XU&q-44--?r9W2hceyuGObPuO_o3GEajUnW>O#Eq^ zzT*x|+s|1u0{k2wZA-iiDCmFlv+dIJCh>3ml0X<+tuE7Rk)O=2oysd{WxqL(CdB-S zC3r#=Rk}DyT6p&zdx?F|NV_$KnZ(ARvD_U4F~32!^PefoS>K&1f1AQ9?XXn~j)jh^ z#oQ=odrHPKIO-HlC-ZBpiz?hSdYX?^xR>u==G5Dew54^u5&DgPdyM9S%XN|zU(W{F zF|&aUCDk3SP&yg)Ws}8+4aSri$aOhie1Mys)KHk&b&ZrsQ?Rl@<{13;KN>W#GHXy6 ziRdZOT#F_Ood_?=JAZ5}BD^gC?Tdr%;L?}T;RoSWKqgRgv##;_{@n%8Q7IU;=XO}_ zLGPzSx{Kse20=XBg=(ei&a3ftL}&j4)(S}Uno^zK5zL&`(97s_*pzyBC+{q;kj?Lf zn`R@shMh1yhu82t?+PWmJ+jWStfz)q>ljjj5IQFoy8eD?X8p5-vBd37YiTJ4rVK6{ z{PJrrdyAV2ChG^Q#kfN>1lALwzGndqUryfCpTuc* zuQbhRA5DUhmiux6hX;Y*cO_D zlHrd->OB)V{uJk0=H?@>*#DFb*2FW+bm6!Nfs8?%+e#xTE+o#IDBH~jqU7EW#4P6U z`4(B|e899fs_#WOeYvvgmmh(1{2IK^c1vc;ne?zVStHy>x)gHT)ILKBJsdwruL!eAvG8=9YAsif{xh{+ek0=&4L9DMdc} z;Ix6MSAZlhQ`fAeJ(Q18x$6KKDX-`5I%u~F)yMEc|H%dBEkqpy9_b&yJgDSd_CvemYz{3l39si~}w&f|Mxk^mFH z%|ae(DQLiz;N8{r#{C9Cy3K_y6E#~p&RrF^UTxCck*8suNWF^jsodnA(nfI>ahAQ5 zPZ|%NK=^)lR`HW}GVgYx=lH_=81*`W+^v*>kx@EP%_DgofB866prJME#iN@5Q3UPv zK0Bdep&eHCW4704?FesR8@_8QFK*sBl?e;?aIHyR4pja`7Of%WdDg~MZ$la)woqqK zqNH5@fUo#z!`am|BM;~pcLxM!?i>fjE{}2G3e;w-1DK&5LG723;dv6Dh!S3(>2kj{ zcd^^}t`0xz`L>+;i!_O!EG=RIg+7B8>xKsJ3;h(y7f^$@b4oiSWiIP_k9YB)A69Urn48I@VjXQi1!M!f@nOJjZt}DEAd`sS^2)+3B2)Rs5}&@{>nPSp zZ`G4g&XM+2=u1=C(s8X~+@ttLzv??<7o8W!s|$%EW;0(Cr;iI+7f+g)FC@8lUfV_l zv|)xNe#EEVP9UG~!Y40qFFJi~E9*C{Ev8jWdDI#mYIoiwT|a>B}R&kbf(IT1#?rHC($*pCy}L>?thw&Cpok?-`IirPdVG`kGPR88bhk zcC-6jc9wPRRh`0k97+=4B>jiNr$HK3O(n_{Zh=*thAg}thD^-GM?b3QRo-G2XDv(k z{|XV4eoJ^VW8=GCE=tNUFVJrwN-^8%GEqw3L|5Ib`$SGoP85%O0S@l_X{Q6&4TtJ# z$xVlnF>0=4CUh%mGEE2PF&GZ#n4Q+U*7D!8Q;ks&er)m5#yKaej;GS^r#5*Kx6UVX zYDS`<6k4L2sX0Z;ytLCz<+dAa+uqm;gj~-9OpTP)=_7qbT_UdFsGKq9na&QdI(@oudfzSQ;Ix%zzAb5pLluc*A5%yRBkF*GYgdcHh> z#J>ccQlY!N95ex`oB@Z_&W5d*jSasEg&>Pm)4NM|ghS$=Pw(zeE!pEV*xi04mGLDg zg;6}=uvFw|UC_=pgHB3blh!z`nd#Cm7dc+5SYOOH-0-4Ph!&gd{mV{^+~Ipf#!DG>0IhQuh zVz9YQK9%7h6j#!@GIE_Yo1Wxlm7$om^^y1{^vMRQ*`|8w#uj`7cdxf%A0vil*1oPNp>&bR0voZR#HIWsLsw5Md?uZ%L_f zG0kK2ku7sm5#qDUbKWF?KgR%IK%Vk!BBXRVjq%wog-dA?!UC|0CT_+f_W2`E?PFbT zQV7DXfYY2~e4anQSHO~#tk?5nw~n}>Qt?SC z%xg+b!h1Uh74nj@(ZBIE@^+uZw)e+K+|kKvF_+lD>5`|QZQ;%BO4uTYw#v}<6IuO! zLW2Cc9*kO?8S}>H+L*~!W|$~C_5{t~grl{U@uJju`Uf7S15qfq$mU{B<)<~dPdHda z^OF;L?cYs}c2nr}08LUfqlmh22?W<`WhwOD(7+A1h64y`vZ}55CcpIt+n1l@ONw1E z*ee&v+%{)$-X`f*ox+ZwX=P1Jj3RqSSE9RDl6lw8Wr{wwiGbYK+JaXk+fA}fPKz#& z;|6*4e7Clzzo6Lt_1tsLuF}$2m$oQiu5^&s;Ha&d%WeRCKlS>gAq501ghRBNdI59D zq}YGa%z?p5lVzes#XLcc(f(-5DOVkfj@Z~X%b&Zv0|30fIE6^Rm%}l)j%e;Mzaso9 zZidU6NM~I0m#IZ`bo<|jXKp-Se{-8^DvUBTa)NZ5iIdlZuS<^MkLxEeT@ zjt*2~rwen01&tpry~gZmGQke8NM<_j z+@uBIrqM54or-bsz*I^FcODhE^APR5ZPT#meCC8ujWH-K#~;JnF(#l#?&p2hKStYs zBwGKIqW9nb+5V#+b<3P(rMC7W>e6}78cGknRp-j2^Ad0#?_>G+RkJbI48(*m)vK-? zto!q16^^v~PDJ^}Q-{Kl`kwIJ^-r#bCNp6FWmirP8n6}fZOE3&uwce)ZDF&978TTB++k*Qrv(HDBN ztWg!KoMCbM%-ntUmW4Sr58@~`kms@YCra@HTp`P01Ksq6$iUNcS!8vJ*aH9dLW~yn zcu?<$xZCV|fK#zE_eN{-?TVe@37(f-%$1Am_Mmhcs^S;0MkR#mbe95ORpv;xcfif#GkJ? z)EI6sgp!JySmJcYH*#HD4v%W&`=nr5MK%MjZmv8l3nea&gc$%C5*lZz_55l)_*EL> zS+wU=+(mh&c*w+BRe^_j&+)nM0V>UinSv&eF`{`oCKpfz=|%N~BwacnE;05#cqh>d zz}}Iv)yd?`pxo#D@vuSvM_F7N0jQ|F2C!n07T`ANcCt-0Zo53Gy3}<*s8DI=|GL(z zDD|=bPQY%^AvPmW-F@kZAS|ehz4X$sBVPnd!1%C1?ap#oq{Y|r!>ffREH2%g`c*HC z(J)HU45NLI4uaI~*rQ_&AN{9@zOzcu(3Mq{=HvfF`bSrWcIR0u#OVc1-XjH->liMX z-bV>4H{|ci75ck!Yhoa0|5Pq5x^nyfKUOZ?p5_jIc9ykdgL=n_7aOP7D`ys?D$#qG z5)!17I>@RMuGKiGaSGRleB!gCcM09{O7ihKrVgK(BT@W2Csh!R-J|$d><mnq5VH z6ES3KuWI^YobTsFC7p=qG+fR}<(HMY&T5pucAN0~YU|^66PhX}W1n^$q3^V{fn<4zDe|G?#10QJ0fe{8i=khpgXfkE$)6r}y+3YR{$6vm31B5PvbMZ>?yM zG}j-iQ`mTR@HYC{izFISzzIwx`hV_aNKoh|N4O9Apkn}s$SP(XJH@(gK@ex5e=%x#V54q7$ zWPaSuaPuy8+)Kl46YK5#dvUF!uJ#VO%j(}2srH0T@IL zV30jG?oBiXY3f6lW9S#?@GTcr2qA5PV!QPZnshP-0j10Hmw`H_T|X7xjz3&A;j3x{s)V+(bEsjn_2G{VJ^(!Srju*6 zTU=E6h+Rtar+HfcwYE%&&{2r-^`g}O#Etl`)QU%GSPdu+Pwq7va9xMw+Dxg&i@MTu zEzX`!tMY%OBY0)Jzhi`@XMT3T8sRGy!*FqJu=hbl3n=oAElbZtT4pxfrPJqI)=Sul zIrUUOGE4SDqi;l%XBA4Zn7MW#%-pwc1*@A&Z*IhERT*)Hr!t1LTl#B@!8%ZnJ~wlr zZ|1h$Qwk^zIj!->=3iId6(*Ao_&P2-&&-BSbFBuzL+Bc1#YZ&0mfgbx*ly~L*+}UN zvFrX@ScQb32d2AJbTpw3wjGeuF_snF&=XWlX%jw%?=Mf`i&enNj|sz_LUA{s!4qrz z94%Zf-9?@Py|Js0M@lLinhr_!&l^`smVe9$i}oF?_U{U_+5D=M{0e|S+w38vCq&6D zyR+J&0rdDgJ>3=G9swSm+wYLNm!d9LnKd7uc`EEdMd0Wyyz;*Bv?VZr2eZ$>oX5YT zuj*=5oAJ5)_a%78}F$;X8C5S^;VktQ< zx)MY{J6ZOYoS&mn*l5(upbQFH?_&${KF)jgtn2i#EDb9)Ygd zpjlRj?urYQp+u@fP$erylhL)uZ#eP>F9XR!&Y{Tc)+H6C0vjD)}{{w2;QZTp3s)$>ZJQ-4kqihiA{r%};8QGdUprXYkB9{+YW) zNt5(59+`^Oz}%^Dosh2gl!Esq8vE5tJ$S9paMH6W>=5VXE~!7--W6x%KGEG!GyyI) zH)pL)xeWVGkmI}HN$DYn27_QU>%9ssw{;(sS4Xw6m-XSKxhvb z(Cqk1JQP-VM;bK`5oxm5X}TW5()xPgcH40akAr5jl+&XhSu#X3+*o_{5k(Y}87~2G z&we0Kv{^Z`g?-K!s>q(%11~&AXeR2)7$vT0a{h*tviHbWxEWNP`r9$u1IiC|L2O#1QnT~H`~eGFvwW?XIYWu?ZF_NSwpwK6_vNi zg4XPI>sjOSTiWCb_vTO*;f%L9hjbtbp?oJNCLH6Fce{RiU@-NyWj(mrS^Vb6Qjz`%o>ery~Faw-EB7drG{oz@r9WZ-r=qaznC!QrlUYts2(gMRruNV zlQbU12ikRO0*_af#&O7)UL#Z(99B@xHFuWSnEDMGDMmlLXyxXrtUADSuKfIWF}3L+ z3Mh`dR3BeHGEV-hqiOC)hVs&D?cr1m@n!ma4LSMLTAuqD+u2n)G0pVsvFc1k|4}9o z3K9(47qBbdYRCm+A3tm8MTz-W?E0HaPQfk|pah%8PU|V%@kE)$>ceChu(Rdx)M{%} zRfBdjG8v9FB~;!k@`I0Ds?P*&!(3lfQ-ROr_c~4g!Op=o zA)~np4rVkifac0azOkg3GPk*IzKLZx2fxn0OzDHdw#g`lI@Z7$r@?)vTy=YprYt<| z9U+cF0C)M|E15{(B2-sb<4$;a%eorNdG?SnL+0+=R$BKY3-_427bTsZm*bz>yTt+K zGnD_In9uRw%!lZ2<|As{UpX~*nf4`q@Rp17CZRXo-}Yl=ICTr2!NWiHqhkbc5C-kc zwa~oh1-RhHhoMR~MXeEWrOR{MV0V=B?)}u-54GCg90XQP!sjB``$!#si4@jhx|GUP zadMGD%nVs_fDlNm_c7sLg28P}4kj$Qu>VbG{AX!2=(erp5|XkRpeps59i|=*j6JQe zr|4Pj4i%cP!Y|%^`qYR=viW7;MMPs+&N4H7`JJQ*v}QjSYlLM$W81dnBoM;dHFG`Y zs5b`5RNf-wxoS|KQlJc{@rB)sKRFFC|Pfd zeu3@XQXR4BQ-b^G_qs|;EQ!cmw>A?YW(XVjp}E02Z?v7%MnHhrdSx6Z^5=%%ev+XX zz+xjkf(-!%e0Y^!=l6`VTGy(b9hA=yhLDi-7-d}lTq$pY59L_-aA)>y?~Mt@;#6)e zK$@T7vHY?+FB%abgSlR~Id!WdJ@&g#HUY>GW;ByrDzxwUQtj+-WtC?3DIgltOWYTA zl3Yt-!(j7nt&L3T-R@uN2q(Z^K2HkpF9OKoD_bYR9sze)WH-K$+#k;zWunF=d14m9?kBYwXZg5Aw~zKFy1X~JDEnGbxe+5T+D@&vH)!k$+c4I3xilLeia z?bcg06=o916?UdhG{YEA*@kKnpaC9KnR1MG_D%lM#b5$Hcqpj8(U04z6@@2?Y>`T|pqT0t)5h@SX zEmX48c~Mp0t4zP4{#G-ex z=QR75NbcpY<2i=uvPXWNbWJA$#o;|RoO4J#X1h6pcvs#!)s*^spC9_}=<4o4fS+Ue z)uQ3h`Z;O_l`j29Ugq60PfFwMK6N` zWy94;oYp4 z4QXsV4Y;A;%wkB06tP`_n4asihKA;|oh;n2RhkU?W@Ahtu-IfsvCj+?RZ3Q1nn;Z3 zcmmUeZNh@eyBX)cpzn`ITx>EDKvCWE5(r5&^=MQuz5P$c^*{KEKU6=vwIk_xZM4hp zv~hoWIFCI(!HE~@^L4g}QXwKguFW_j=FC5yY>1}(Mnrx#7 zv?Uw%7b5=xiFE-A$A1O?vm^JvVmALxSqDlH{yuuz?ULNY0B12$j%ATmS1uV~4?Xaw z4Ru3&vs;U_(z{P@94}E{uOv2iddBJ-Ua~LcZBOQ?RgJP>~H8_8e(M_wP-W9U= z@qD7Z4^itkptDG+M>99S!}#n9Pc@V6*UxS0bIzE7fMCk~K4wt3URp9TX`TeWKYNdhkm1-qr zd?x?Pti3ln23G=1TC|yydUg5BiQ(WWPd$4ncr+PCJ=WD?oL03F=Y`XRb%|^CK=;+Q zfQ|3{>X8?ba1ZkLpW!*#CQdBPlb;(+>4oAB&0NkyBM|j--Hisg6k;xKMStT9)t%#r zVPJtiJk@D|1_WA-kVetd07(P@?PUcP3mMpt{fA3(h2AuT`c4X6{^+VNT$pk(Dp|-f z15bI}e$?zam3GK8VL>z>$r_mdl7=ntVRHU6!vOAvG)1cuGQ)x4vrm7_KHwZ2*$NY1 zpc`h@Y1Z>ih>mjO9I&@ z3sJ!!A;A}@(dHk05kaT$D+%b6Y z17_!qnq*J`gm}!~uU{X*lnqbtMqRgVr>q@9;-_iCJ`$cG{XAJuWy{LWZsRFrKLHE+ z`x_-$bgSUx?`X~abc~k1EdB(IY z&^^{&9r}j&F})ggcalK&0Ue~I&3CDFjgi;5cQy(y;r%POPUMjNKrOL;<{D{{w*P!Q#}} z;@LOzq5ODNymA5DIA4srNHD%&kx_8p=I^yd%(>={R_)&At@P>wjpT55C8Pb4@?p?iveHc zeQ|cK@f;AYFIc9BZx>00-NGhQsImkiK5XO~$V^RoQMKBaZg27~F!TFc@_T^ub##dj zFoZ+yFce@2RR{szpThmlF|R5rvH0&jmr983%(B*HT44DSAW5l0)SBxFke00%XqLMw za{;o44#Xc~U@+YV8O^eac`fLNEqUiI;tsKC2c1Ob7PI#61(%AX5X^$d2cP-+Usjjc z!1JiSRLRuosIMzioEq5GXML|S2S@_?V1`MfsQyCvCGH6Jk(|+W<+(FDPP=ZN_gW&T zUIpD7b+j%ja2E*POJf?$S%CJ}lT}(int4B*(*m;MqocZ~u*B=89dS(My^?sB^d$(L zwb1R7?|do)tA~W`31Mem#q)aFm?`zYOhN=zf^rShX5W^^^4o=Zz&$37jgZcsv}-m) zG=>9s7{u6uCwUVr@B+hl{8N#yhQ_$E6)>l`iuz5(NG_OL>AE?kVRPC=Wb4wVm`^lw zx(kFPA*N&~(aR_G;Gk-Axup^RVQMAM`T92UB0|sH>1X57dYpCK8III-eV#SkPRIPF zWmtSc#C53o%9I8H%=N6ubfU@9tv0#)8f{fUM=N*v>YwNxIQ*XERCW+lwwXS(Wln!V z$o0ZlZ|tgBRDhTr9@g0(D{|DdeK{>kjCbhorHxuOq_@<+;@aR6=ebGv_(2!JYpH-z z!pn!5a5x?3s{T?Zqzhc5@!8&fb~I^nj3YD~6j0P_1P5ECW&k%Y1PwGG+bAkK>+{N8 z2=a5jl>olCaCNm>m1fgJH!tG*W%vbyxcj6xPLJD-l2z%k2!6-}9G3C*%R+xuPSH!B z?Wkj17%SNcEh?!4h*3z@qA-dK^ZI)%zcu|YUz}rfhb9&Gx2!O~sxYS;{ZP6rWo7QN z*{NT6%O^2(Yz7%N(?|N+iCVL99AFAPILLU}`mxyc=@+t8-YorNH3f8Ia>Tu-|M!M6 z@9TWcF3?9+uCM}85uV*M665#)L=F#5kJmy_;*pzQMD|`ZcVPnG`=#}Wj6yz_-Q>CR zug;Q>Y>?H-O$HFOHA~Xgf>zrS`_e^v_^zlo*vgH`m{HNI1*KWa=>%(k?wFuGbe~}` zOcy3BDA7+vF2+gM??#`)9Y`WM{RWUAaIq51m)jY!ArJ?-fyrZpb}mu1=RCm5O*BgQ z$+(qwDY$payeJ@OX=$M~lEyS(TO*NF&qApa$j9g(FW@$pQ<*amy(v@1p_|Ia5Vw_m&B=eKGhMR2g)2|J6$o3i(m3dYj=#&jf z(lQoPmWG~{p_lshK=25;+H%?7q-h8ia*&n>C|>E7VJ`Rdqogac_n&3L?FfFTfda2TV%4keLX4*}j@fy-eI#(I zZ42M5@cwQ;UR7={@@Vmq>0|)vwS&loWTT?CNhHv6$I&^*i8Q20jH)jXeex1WyB@1# z_Z8`UolPGm7^`x#Zxyr6^}B-h`8Mvut48l&VD%EuH`o?C{Ftfbr+D>gMTzJu{%QpY z{T!IHx-&4%-5`ZPdiC1~Mx|L{~=uU%R1@e4&V1*H#~{M8Y?ZQa0p z-FdTY9~WQ))Y@a9)=uiB*J_&zsMFqBHPOf*{*3VlEvG!1cYYDo3eeF1UW$;Q!z<+U z)}%J_Ejt;Ek8fK$Z5NdeI*}NUJP~71E=*)@Q-mxwHK}u{U|p42opQ1jY-#0OKi8Mb zd)|}GiyHsB8K(PY42xQ(jlxQ0CkUaV`A=Tdt2} zQh)!QNaKPCP=&ebpC}xjUd$XU%-sU*cum37vNYRVEkPGkqeyreA*3Z&uh%H&cNydC zEsTy;{9UROh%v304+ff`*p-Wf_2iTI1>3)ljIfp1);~w1Y?5+5U-FLmR)QyM#bkT$ zY&VYGd%VxZqy6nr`9Q_HDMw5bdMx(q5*rqCE^I#>Q9iq`!fX>w0PL_)n^i!?u>BxF zJMdL)HL&v z^x*R4JwiSl3d!tP8Pe!b0B-IVd0IUzh9CY#?C15_4~)bYc0u;KdzfeYNf_dp+jq4b zV$9Su8N1#?$n-A!+UZL4F7T@w8aI_Zoi@jY7p#B0i{v5rA=SLJ84Ge+Q1N0xT}|R^ z=_77tVIy!8R&3sjx9Nxg?*%n})p|nC{N9V5*BQefF$4jq;D8y*zTCGGeGyHQ^m}bQG)_r5PDUS0q=J;CerCjzrxlG*eeE0=(xS*L| zHi0f*N|7IP16UHn_gm4=3!)o33to--y@<&_+S`A_2mdP?IUf*!ny*0}9x@g9Gd^FCU7<&1{^qG5ed1zZLRcO!bBG z`3>gr_ziA}O^{a(?w*E<18@YrOPF{bn+P%0lAWqFQ>R*8LMb?((pK*3;$%;=PL6hvtOUd;q zRJs!dFnJMFtDeh|a$1{T%LjEP9E27!s11BGL6`g?6tEl;&;@G!)y)X5OAxm?=*(ZL zH0|DP+ur`{xY-I;vDK>s6J&%XRjXdA2kxMY`pMH@U_fabN8964KuQ)9NtIaPriEQx zDpJ3HKhKW!2mObH9yWVjPJbO?S&|)8;#==jan1X@IOGW&KWgU1tbae@Z%lcQediSg zGZ@C{{aNC4%?Wc|Yzii-c;{Edc_Hj+Gdl&yUNrq(Kta$gni-;y=4^I_6)qu&X}9xG zC+c*m*|lJ-&Hqc)PMsq^FPox^WvwP^_MkQCOZL~D_g~L*nDBAy`actI?|9Ld$xVuY zNZVvi?&3WXW82oW_RYPgooIOga0)n)gm`wtlds}2jK^NyY z-c+)KNP|vKf2AR$k)F9I)3qR$-yy{8%jaQ!Hz*+U^RO=Z?%wv+trq^p4(p+r35wji z3YFk3iu)M-Jy0$h6`To+$iEf}Bms;Us#w4g&cG&XQTV-@d+<+pmSP8%oy{{f{$-T7 znzmh6Y*od_)EA}%#%w}2MfmUHaFMbKV`BD`yf&xSG>ER%4xfq#z8#sYhBL^kY3RNa z{Br~(G%(`x0|`n0jiwKd))C3~%}IKPRX=6a50j)q7F0n^V`?LjkgXhGOl-X{S-)zN z5Fh=s>#UKH@2k z;?cPa<&_f1K$IuEn7EOq123=z8=S3`sc_Psm|589#jTwdttpg_I5kISy&h03(?%;v zC#fShFg%d6NfVLgJ5bi_DuYJY@jdr1XprFP)k2Dne{Q5iL_~s<(Kj)y!BMi?AWf~u zCt0P@#Nh`+q`YJ6)$sqmJ2K6E@-d~vC8csOH4}^~Pg+JmDr&*NSLGp!b0v~BG8&A! z1P|Y7a1y3AL9l<0t}4#%{|bZ z_ITOqkm_M2y)hUsA$RCym$HTHX>$B(N>|8e^UKABe9maurwAmE|7G978ee%9C|1={ z!aJY`|DGrU1B;xVzspOf5nCG5HE@c>eb+=)eVs!R9pFi>bXB@6U$duwo!vdka;$ zKxf22kgZ*3I+e(!bb1yu_FoS*=i_C4r+&0g`yXb^f1gqNzX6tnLtswveVr)xc%Oz{ zS|QV4+dQVDV?6eQy>qvT4Hl1U%^i?TWknl&Q~Icw-}tRdA0_B;KnZk%nAUP{u=vx) zx*MuNU2P+Nth+1M;9V3|{X`zf)^WPOz~*}mBKHJh|C)3A5--W(XQ+~xMR`2;FW*N} z`FH9;k}U6gwPgzmdt(~UY+)z8XN>8p@wzqZhx%85@qzR#5AtDjz|ad$;a#`qKE&8B z)hvdOJk~2%?YS7X%&xJvE1W9zO~C_04XpYg4BdWY= zSFhP_K7f04OX;C+Wmc|PvRZ;%E%d3~Ad2IfPLIWKSbi^A9e0Y(7`*;2<~{R1ZhA%| z=XkxT1PQ&U>?QLJPvN=H12NWGFlL1fXIOv&S3L^Mj!f-&dHYf`f4>~u^J(crvutM5 zNc0rgY!&MaSFF<7zN?MzvUnFr7j<@hD~aP&I!_Fvd8${NaE!3%ITe2l5Mvl{SY|DeLvt0!!&lO;GUF=B)t;5L`!A z1JCyxL%nL;JFCs&xX21`j&Z0+pD3Pu<(;3}%s@^x*Xn!MEX*gQ&~7;Zz5QPK%kB3^ zr+L$ey|;4m^0=%FktGVc^#$3L1@a(ofC&pfa&kdp>_#_%*rIHm+~hiZ_V`UMK{2s;bN(SNOo%k$$rm946M8Tz`qAf-q9MRT=B{&bd}K)02T<|Xlv{MztDaJZnhL0(sJUHXOl6FH+#P}o~QIwb{esp%;%2%e0O?96~GY=`8l&mZaZwaz2y zmHE$i|0|sKKZAEK@Bj+2#^(exFWy$|4}_dXCop%JB?pMLRGoi^vm3%!tcj5s2f_u2 z=!R+O;dSdWLCg?^2Z8p=$#1>ku|+#UV0r??@S;GhGp9q)dnUXL1SvC>p~Wy6b1Eiq zER%GLf!}h`N)^1fvG)`!0>Ttg*L}1R(UZn(-8D7cG;89e6Rh7{H=MijAzBN}B60Gj zWJr5Ic~&xsbp)%$Kb_-bJrRFwsn{SHL36ILO?&LZFqPeY&0{cKp)wvXnk)MH)Z84U zdE7)-@*C^Q4+hwYRJGFsy*NIHSby7w*E0Aiv}>;}N_)pIaPztnRhA#jJ_hu_77RAj z)-5|^cHHkTX#0RH7@IfE9`e6on67tZs`5R40>KVuO*trfP>f(yRIWc^??#b}9=a+Dp-ib5$Sx~lRgZos~Pi4B_Cq}^-6mlaFzqwhMn!m?qLLMO*eX4_s!2Z&vl zTA;hzg`ki%=!Djti98(M(6HWTnzh_!tgdKZ%qTwh4yUvK5{q6((_sbo87~uRaL;RH zoQ+FFxt{mvd^Sc+h;vWO=C`Nw#o2CGDVXsptXQb}m~*;v?CS!?GBd?nHC9O1b|j04 zc1h6o%Mr@W?c%p&9RI!=xW~2yPv~{(*8E?wN%s|k*r86n;J(8^Ft_YDi*If*kPsZU z8WhE54g*qn&pQGSw-W-HPEse|WsAYIPDcIN^jHmt{7PVN;2upxr?;5eZGUnQYZB%o z-S9~&^y&vPzdK3K`*JBdt0tLc-2?C^BZmCU{j*z1%Okn_@xOgHG`Dp_njC&R(C^-O z2o>5k#`$y&Unmw3QRazl79-d-C7`_Z4KdOucyE|`sJi1PJ2{2WlQ*-l3tuCe9b{4A zP`fQ>+KHZ>$i^kq05RN=3M_~lg{;V+-}uwZW7U5lGnx#38FZHl>F3R@_X=vAaI_^V zknxsR%>rGn$o>29^lW7yM20E6>9Km*=ZW>xAEOm((haF<{Khm9h2UkBpp(U>xf^0K za}zycq+aQvZtTU;J&8{EKFca(_0m8^ZJ53u$Q=$nEE6sISvfVoL&^CbepKDw?Syw> zd`q{bQ!F8k{?gyy+jH;OV(WT;k~(Yw8xi!bD7XXpNZTM>S4mu~hT)JDtJ-WTZYRRFlQ1RJ! zcg#TWdH~)2G7-lHDDA{q;lBP^H%Gta_Orcl_3AI%#UyUk6+$y-Gcxzc9yz3t!O0*4 zy6y&<$6+cS$Kg$Ej%R#o63?&8mImGsa4i!AA_@Y$Eiz4M%C~{?pW3ChT*mXrpMB|| zeTlh9a$1Bptjs49BK(3nvRgLi@77d)TGjo}Pm!Qp0xEG&gh^_O6(of@srdKqehEY>w z=2!ZKRi@|UG2S7N5Z`+;v6h>YH@Hntapr8_iDP@{K}zOX`nyn#6%NVs3EqJo0XO_Y zSsy~JvNiOg81g$nP6caY<9D0-yK6VQ2_GKJr%tIiJvY31N0~^_ub{G4-n87(f!E2K zKxdURjY};i-zE+yh)u2lqp&a6Z$FX%jvx0PIfGff^k|-YauZP*1^^XLDr!nji=A5{ zTyu~^6(GEy<{4Q*Ig+X}cfav!KDyx5Y##2axrHMXJz*+^s=J%so|s`lT-bXUY8PXR zkc6&?O9PHReMK#`VJsG-T20gRT~4iiQqYDxG4cFnexuQfZC_#YfCm3g_~e$IN9)^i z;p;#e@l6`}2EfMD>c2}oV4Ja%$T)>C=<3NV(u-G;#r#Mybj+I4htMiD_C-ddm-0!&HwRB@m-iIt-eu4*}VK zpS8XW5wYfLU~k?E<6Bk&g%Tw43aZ-N!_QX09~7#zive?pxV>~tnU=}03~)nn>kV58 zW$c!elk)2obd+Doeo!44KslAG-8_9myD9#ic2n&;GYz0}FoTfm&hq5gczZRc;#d$_ z-${_?Ndl08awV&ZYMEU?$HUptfYo-ej{XVYak;5qy31x*YFQozRQr7pJMNs(4Rj02 zkm%2qZw@cgIX3EYd|`-LW$lUNr*s>AVpQ|8l^Ycglr22Y(;s~SRzbqElPun<9|G@Hm{lnC4rx8oNDH0L7nU4AkB+r4AJ0S3|_?p}P zf<}_Jf6g!ydWD$DM250r6YGswusR~?@Yp4w3Pil>!^BR2rPbIwlEag`>$a(?jUyf3 z2uz5BK)ULeJyuX*u@~Dzu3&X^JnE_6D=>kz_Qp&;dUUx=YwYdalwQZEr75kM;o{IE zW8NjpjeXYl?Jt0MpITNmT}>4Un9U+Z_dd`%;Uw~Zsb`Z+9oQHk*Bc8rCzHvaME=$# z7D+FBlTbXSX%wIgoiDeWPtRd8<_SWKYE|kQ`9%+|g(*?ssM^1ZB$qjc)`{Q0OCliz zRB$M)+-F=wxud0Jhzq#66^tJ-s5m`VSrTmt=7V3p+M5nniD7V@a>h7+)oY3fVYba5pme~Tok~~tZlRt7!HVii-uPZu)z$-U-m?{1nPPgODI9pV+|A-m0{AymGKDwX*E%bg zyC7@hT0qUg#oMwu1hpg}^~aXOSb{>>>2sg79a*t6l^C8wSX3vlRpnkIgonT*9`6+D z>h9wn;<=$-2qCJ@>42BY1!@L(5F`pXYkdbKw;ju=DCF%O*PI|%+7L67;2~&jz`-8} z=UnK?Ch#M#E6xdAt!(h-_S4XtiUyg$@~;kC&)-?uvrFA=870IbL-B|#Ic9K7^o(3k zhm`|ZV+V>z69RQ3p{YZH2F%aC7Osb6$X>=@E)P z^ZPvT!(5XsGO@h@4rUWor3R|NFV#MqOwMWw_O=-;w7!hNe#g*5$z~J{u_|oW_(=_N z&*rTYv*HAX&s@&HZa{e22PNNpxtaHi82#b5fBHtX(b?d!v*N(DW&bNd1lYYki#S9B z?fXSaW|Le%3Pv3NSxh{Os8$?1b#F}>rvu1_Sd(+_lSGWA9UBd&9vsOQBH*&_kMk9m z1eJDKh3&+FPK2fMLr!mvfqDxQyOECtc%Q}+0D`zYh{It=;*-l;zhRnv zo*9wlS=nWIpL74iy-&XRY;#_Jra{}thi-`BflI*Tqu{luQem1fh@zn1w2!W*LMRE% z!7zXTz~inj6?9_@Xp45ul!NNCoFn2ym`BCelZEiO-rheghx>Kxay!9g9$m{O_#Z-` z7xNiuLUUjP2gN`Xy=u2)ZVmFip}?D}tdRQ$T?0+@?-Qa;MRkUm$7->9clE)5@Tt zquJB4*&iK+?gG#OlDw!*e)T4Ol>&E)IHljK2|WihofsX;0C0~U6)PNNbvMYms-hyv5~0zd0<=n zrO@pRWR9eb`vn)O^r+IGuEQBPE2AP9b3=IE8Or_EwS*t-BR1HPg9#mQ;tG7NFllWZPqL_RkXuq2P8R z&!>UKbaJMjHUj%~#ZMH%{U{s#HvbQD@voX^e;&R7zCCgq?Vx#^OEA}c;T2R5y9!L( zvdb|zKpFH|`g2EI=p;lQ^VxQN0L}hf@cZj)JOdJk%M_=Qcl{p%ckx05>rt8C@}tLO zM0Gb0;@9_bi;mRmVs8TNus;&&v5&HUtV1C;x@haM&LK3Sjde}T0QIM zwfd6_j8=i}s?fFhCzvk2tR{Xyj!lzUcooUmczpq;UGAivA<3B~Wr z4c`mJHwA?iegpVFYYt}1PWU@i`2&5ucF)I%F92cQlM>zG(lm58H}TKbcD3+{wPvw^ zy0blj`=>=7M^&(aa?{e$;E$a4Du&bink&~(kdR*T23?6p7?Khf$2ADBylxWHfUwh9 z_!h$=-wu+mu3xmB&n8-y-%Zm)@DT5zCLV&OZ+1Sn+)Ez>fd{*f^umL4W6lb0rY;)p zRjQiM7?*(eR2{(%y&1GD*U!SiU${cV?R@4(KX^zHVJ|$~`nfOt)EhoN3|d6F$meA5 zuoG1qH0CYEWrMGE_|74?VXg2e_A-^^wNKL(r#QRE(-COFwXKAj^&3;F7C`Xx6=n4P zVJiImf<8_-*|WNz!@GXYn1i}-ZAd&EZjodutKad4<56SMVmyxK=VAMkIH?RJTfH~c67qaZdSZfoL`pO#2?}PAk@pq6x<42JuP)HW<4c#{-Q=)jh z@sLQ{xq9PD}^i zCsARX@-&%!@68LWGpvs;tQOaD6ramxJ!{hI64>M2JfR4=*=IgH56I14XZK9azn2a4 zbLaI=djb3qBJVr`jgrrWi~jJ0|D=Mjaz3ruKMTv`4BDp&{s{F!=a3oa*wkmzg{B5W zgKKMdUm@Zt(vlI5SSlXwzw@pe^LEOT>sG4>NVxoIl|%_}tF98I&zf(2vt>WD$dBJ* zy3*K3loaseDEtEjpc|l;EO%7QC?(K~KYshYr6%Wd(_naTk$Od%2;Pp`OeH623lzPV zzF%frRLi4inAlvJ ztf|AvOt!$^MEgBi(ecBmc#EZer>eDxV>ZbHcedDtmurXFl&iv=>4u)JZj2{X)X82;x4>;=|JY zXLL*GeI2)nzqhY{kYzoe+pecJgk^R9}*T?||}SYRc& zyf|iM;1yXRRy&+gRC`X*5eK(0%j+E$mZdP-DK`aPdB!D$Bu)3@O!UnxxgqeT3smxT zzd%NA8F-p18cwC<8MpN9IMlxvEq^Tg3lsWKgOmVHj?1`nSK)X{hr;8HefRYefww)2 z)oM=L+Z^a+w#;?ylR0HpW*0B+a%g*Cex4j?8>yJ^5jZU66!>3;{D}`9O3`;VQ?#!A z&BT6Ulv7=Nx)a}$ZwMXBqXIVK>Xl*FuT>-xd5W-IstHG(Dn`-okMQl7r*yc8OoF{E zDD)p6_-2=XT>ShaWC8gh`1$eU2>gn=_(vx6JpwgGbNjt}oB#0tn+cQ46H(a2gZ}?P z#J>>!9tM9C`2RxqHze$j><#E&2>%F~e&d;cA^b0d|4M;>4T*o+lKaRH_ zDz+k#Y`gJwfQ>QT85ZKAZ0q^MLE}G(myT=X>`NuTl^0Z<2ftYo)JP`MVVh(x21T@W zuL`jhJAiZhPk|pCfocNBbJT@0ClOa7NjQ-Mua9wDrrlz!9(s;p)Ui^$#IdyUS z<<|LkSL`_N`YAcqR)EWQ%{C(K##tv1Zv8d%2zr4uZPr#-r9W<;{e+kkJW@qP<5%h-B-%4BP}BZ&Gf z_ur2#&H`dw{V+0@IlALh-Cv^bOo!Do90#l;kCRnZ|@=XJ^Y5c-prbtO*5{9 z%@Vm1TDXPl>l~Hz zOF{KqQ&}D_lmD0tAFUd#=C;etE6D-QQBG8(R7S%H-Gy_rc80@Q_jb^TI$y)B*5H`* z?Fc(pzk@$4+E9DY#}!o=#nf$mDWRZI5lR&jA1cPM z*+SmpIAouHb0<;L*1SMCL#~MWAk(c5<3Gg0yNSh9IP9UL3nk}MAEzwE;53_FArhwo zwa-%InD!@_9JUtmYPU=)1m2+i6Hk4dVe}LD?n*-Sj`Alo(w-;ay9pNvVK{QTPDTFZ zQ4sxwK_QBBu~*UfcVfuhHc~`?#<=iGaY{QSU>?M z@ILtK%>bn$4SJ{G6g>Rn4>$_Z6uRC)??ZH`38-IX>NFi6nShsO?fJWI$+DjZ5;b<` z7e+AbAVs`lYyI;SoU0U-s|zDIfWW(Cm~8V`T%NA@Ypbc7R9rx|B$f0({rxw1^A8CR zvb`F@wOVJgc!*jbir>b++hnE4K%Fvf6&jmelr_YBkx&suJ&qzJLYLIp7SXZ+$j!V2mCx4- zEKaQ@`92upC8K@XbEQT8*#w1xD?o-;9YRahwU(p^S@&(zzp5^PSU92pYHFxUTuwDo z%C$z`YhxLC>QAAuA%i*ld){?(k!}8QC7sx92VUA<54v-~a_2WnQb?Vy7qtJ)! zIa`(1rUMQg>_($DV%r!U2RNbJH+0>3(L}vx{5#we{M)^}X5SE_NF~abDAC-??;vE| zg$-?$2xWO7-aRIfF)n9a9o~-|?1O5A()ZnJZNWG;#ADv_8zv#t>^}mH$8>zC?3k?V zm~I~z$KCmr(^|q6gs)zLtKd|$r_xPq!aiJ;U#XXaowtOPcr{JXKp@(VdN?G4=;mjCy}&k zBUaI#K7c+aC!vm8E%af;obvGAP2A`jW2MsaU|D3L18kis-wftDSa_y4Q@9hJw^0Sl z`SZ}X4E63@*X8aV<;$@wb<44DwCc1M9e;3UwIOSoQSW-$z)XqObb`LqV`jEIOzc?qQ!&jZ^{CG7FzX1ZM8)3O2 zz(|wibOzir@TR`CClVkQAot{C&Kf6E6KSAOaa7|$JjJXho9_HQV$N%Jkiv#VPuYex zZ^yd?W4mdvR=wULvmEnomXE@CIj14<@{Oh$_krOBo(7@WV@;*w3I54K3sui|^J2=h z@-)R|7BYBDu-F)N)u?bQE<99&${UV(N4Pm!Ti)(#7qv=YQoCAh5+w$1-_LT@BN9)( zFG_LBs(%Rj|B90NOc^3xIO+qsjnbMbY(o)sNvQ&fZ{D|no=xaKULeVG`V}g;j907o zwCd|j-luc9Z>(%BW@ZFEkj<%NzJw2Cv_u12XFAMci?6(}Ig+$3}rzFXAsjZCA zOOXJ&*_mU}5l4)oBU6WvE?@VC^!pl1g3>2G-$?UUPAWf6XzoCGm5Svpx)_K1fw_X; zGKd;iJ<}KE09bQ^D?*c_3CCE3>^6oG4uBnQ4=q;+lrSA%P^OwJPmryTiYmV46=k7I zQu3h5ERTM@Q*f>xDg(1qvfdw1R~UFAue%h=dCThdn}Mu-newImk*6Ck^WNHk{UO(} zz;~J3<@SB8kDE{%!o5oG&RRxEMZHR0#6GLPd+`<7_g4iH!1{Z||KE_2A4dkkkN`oS zk@Ix%0Lr%F@GaZYqYQdeFeE?wGFeh2b0#tO0sNy3>$Oz7r!(nA{AMw6@ise*$$6Tl z5k=e0)*VPzbus=b@?r_n=|TMutdz13qoywLJ2Kz0yqzld))tA~q4lcCM%O@niBP78 zeP)76vqXaO}L~BOL<91MbdDX~BWwCx^2Co6p3BKo6+> zTYgWc>zISA@SW_0mlPgfbpdnQh$vY=S zQvtGSdUH=q+HXWr8jE)UwmjQeF4g`qKl0aqY#Zo2MmAwjwR@JusrqSyH#KSXaG#oS zKfVj-0DT!=7BsQNdnDt}ruQaS8>%p6!8?hAV?_xOAC_+Q11hRcKgi)mePMfYcvz}* zWAjjO{qkzyMnNBDZKCp?EL8@3+?9Lgn=CmR-7S;-7OHOuGY-TJMz#jYV?z}#oz<7Q zq{;GUasoNmW_QVr-Gg^g@_YRcc=E^;$5BL^o!e)!yJYqZKnm?Vz!L0FAZYYX;YvFwolUj$DG4 zCv>7?5*+PV_r*lHlMM7`U)I$xFSw(nGp3TaEYuaSCZKq5Nj{57zfp65@q1jXBL|9q z!ZvX4d(VAe;hX~C&s%f)t!3GXc$VOmy$G~#|2l)2O(^LodG!mZROBXjd%##(swNfy z^i-|6>&Hb*53GkKtKQ^cz${YP!uu^Amcv4hanXk7l1jZFU3VI76`FisQ+2hZQTAqe z2>LZZH{(u4Hh_T&4OuDj7uhoy*;+Fg=-)33P38y16SzyD{j=og6^%}_QNZKec|MFz z#PIdIqTj(UH!u!9*AM;-6LB7p|7m_$b9A#=rK5UAz9@Oy7#d}T%(!MBFsZ1hi>?P`g<*>o1hD!ZWSyuRTc~-yz{&pk2 z`b~8s!r`TO-;q$kzetI%o;pSHuRa43Moy1_X+IVSV;Blg{02iikQ4d~&-tqFyV}1Xs*HTArUSS$mU*>6BaBwL@pnRGT-|#;=MA*m6s8(X5%1$qQND zTbE%`7D_SQDgx07o!FR!7KW{aR?R4pyDIp|a(S#u*GW&S9ln{sm*r}r2{dB}5`9l8 zp32TsV&iVmgiE zOy9`SsQAln%1*XnzP!qn;)F`R!U6~%lg}rO*8-`HImp%VaAGn*~j_PHa zq|X1NWFUgVnU$s;3k4H8E@EzU2H{S9pyu*UvL)~wt5AGu1rC}goX5YrueOb9=Y{n3 zR6z>JfQu-ha`bfLmQff)SnUT$$s~EIw9Ry5Of#y%mD{nsvD= zPDnHm`1rIcnFtpyO9>JhGF);Sw=JN=T@c@WY8yeemT9jdtJRkulO{_4jk}CJ8{pyg zpb>x3(N6XXfR^m!nlURSnzcSr5=>eOOtVm<~# zf|)KLsMU3;t74W^=ob=9n#=c?^Y0Ib6=~@z((QboaiC}dyH@X^Ur*>~#K`vv*(nDH zbwq-M1nHt1L)iApnT+K365Qr|zY$L2Yk=roba>T!+U`K0s2UrEGi>#Is<^`qU9Vso z$P%RnC3T$%0~n*B-QG<1g(s!pL@i5j-RLTs5RSgM15!lJdR1M1Ch=k#c^{s5br`-+ zgW&ft!A(R8_bQ+_Mfkf9elz7iU=#fgp&xL=B%0Htg}iscx01PCSp6U9TFqIcKQRQC z>8h=7E$Yl&fz*m^_n=Nlp$O(xY%wN{-a&l!>m4Av1m}4Yeqp~Pn}YMnhy&##-^OvW zZN)F5%$SiaSVfnleI3Pd_{Q2`gj%`{dZ;lqf>BEqWWRV|Y{&5kL=s$k;t8pO&bZC5 zfLWS#5@jWcnr5aF+>h++7Yg%ILuE1_Uy#dtJP~-WPvy}YahH$k8gvzTUxn?#y`Dem zo_o>GQB0Q`C4>AuTHcdiIGrmHI7RNTU8Okv`TNNDgL+>G8*PMeG}AuNXK0B0B_Q+_ zcOjx>cR1XMsb^iY)k)v!rv~LC39l%qZ1`nWtikB8&iy$30PjDsE_KB%ixagCL}HCn z1Xq*%-3A`JC0@O7Va92+eb=an1m&CkV|6xc> z106NPQ@y#(knWQ7{n9)dNJwWTk!TofwfIAf_W&=48@cj?&l~OfLzARhpmbRRLPD%h zsn$l>VoaNmTN(T5v;@{yKKCcMNIj_TzzGz0FcPls*jaZwC8gRn+^a6vE1=V#zmV;} z`XQI7bDXg<*6_qXYXVLrlwsuCIwm^p1>pLZbKysIzzE1M!5+Poz|ZsYApq5(wY#y5 zQ7y$za5%6%Z5a2=ap-WFHweAvZ3L6f$EbfOUcO}490di z$HA1Mx$%-=s$<%#GDeM9iF6I9kO+=8e#B?+l&G?^>wT+M1Ur zaJ~yuab?g0i=HOF|0-?IWBy+he4le|p(N@+G&69X^bzvoM*qG>-UHGE&#Zr!{7`>rYOUVdR7rB zaa5mutsl6DfkR}xVO_7#XN(BAR=4RNQvj_P5KX!x_G)t&#_`%-dAXriW@syq=6nbT zb_)EuV8oFlmR)S;kY*QukA0(R3UTk)rWM!9G-tQv>Cm*S7x}mV89vL3g~?of8b7N; z?UqcNBfs#f9R1`$Tx78$baDTvBDn5cxG|Pt^0{^(JA}hX*-Cn}@+i$@dz-mdXx51w zh|qFQM3_ba7tz{HB~H$%t7T`6#-tG#w%A6?=-^9vF=8sPRsr zeAAUeARIWcm`uO-5Lo%9F?-Sn^>FF*<@6`qFx!LBgqIB=`R zGy|YCG~IFQbWjZshB|Ys--m9vkw$q5;=2aW9Ubwst#FzglTn!`=Gi=oD4cLZ=H+@e z2q=WtfcLRwA7I<-eNa^PVh?S^^U%owZwI>7!S#&&DNR+6nxrEW>^Q=Ez59hFfIC`$ zYIjGKW1U;u72a}r?1~lF(O66z3mCnHEDAHJ_1HaRG$(%Xf%~lpf)x=ob=ft4>5j<6 zm;JXz(h_98hTbW$;om7Q@j-C)~=!0k@9mn!iW zF1V5N)HkLyG|)~(5^l7EKE zii5by(aa@%ctZvjxph(XhVl=eM4E21chs&9eFB4hCzn=(sfb@lpG-QHY-BXwf!Wt__$C$*^{K zjJ73fJc0&yw=$>`!Y8Y@G)n8FP|nRcx*-;qb}RpI;yE@_MsVY!vra*+Sk}BZ)4~+y z`Yu)ZRXJF{$~RwTKyOG5R2|vZKUm5Y6ST4_lD?r{kL|pge??R08r{;p+;_bf(b7xtE zTsYq5+{!G?yxc)}zHjGP4%{f>AuHr%{{BA71iQfFFW=A zH5-vt`#tL+a3RO4MY>#eUYW=dm{!~?oj6*Q-YjRt80I=d#pCRz2B_`-62G@wIHK~ zd4sMau+1|Z<16A6SJt)N!NG|uW@FvsL-C}28T2eq`L77<&AslJLv7bxGUz=@xOnpp z9TMm@oTF+f{9))j8$7P7ZvuqlSH<5y5{JLC?sI0x+Z9v*LFUx7*D@> zJT`1|IcpGZ8@pjQM~_B5J>8E4xG{?)?~H|CbN8i!v>mBpPT>B#iX2_-W``ZohfyOb6<;!gnyLpOza& z26Y}K@yBHr^atb|$yi@IcXkJkV}NKoV4py0u8m2_qEN-XwOC{=K(1qtctEE@QfvBC zqjS(aoC4vMy>7Sm8lXGwvkLC%$L5(Gcd>s=So{ZhLd1ly$$+TGJp48pCW3sV7@|e$Z2nWt)OZ*Gx7Bj!&Oi^ zx3AQ!SFjuVidb2bCGV8R)R+S4Bo|f zLa4}!MQ)X0662y%SkaNA)6(6QSy)zMy@T;ROUa`bq0^V(?p}aDl$TIu6nkXGCun3V zzfMaQw_SBiupbfr7$aTGE;o*=I5x#$52T)yA$`!EU*^*FcAr!T<@9ZoK z@0OeT0#&EG!?49vKb}2_4>`Xw%Y*x^rAqk7+^7sV(JQlmg08bWhjy^4GkV9^&`|EC z;v%@`$U$tk&|tkevFvVCz#9(UxFXc%0>^^pQ6z~_=KD)?kwhif=L`6EkON)!{sxS6)NQ8%)|g6*G=q_g>Z#~bZVsbG`!o3l~j*>_AbIJBU_Wh^4<^AogCgR`9OFq zcB+~W-wa!P@KYn?v$QqI=8D^6`tX+XA}of{R?)(Ei!Z~WRKilv$-gmgQw@3l0mI%m?Vbiz{zKkr{*dBtMr1*Q|%O;lUln@>^s?B;` zhX+0Rbl5#FsxmqoTnMndW4v2B8=kzZ&u7-38r&;d={zbF;#smZygh$ew{v`Hid(jy zBd#LLVoJ-FRV<&GUD;k^yasMNIE|XUa-EkT6B6(>~!$iy`p+rFad*Na(=>Gx&z)a{^0Mles2s^DRm z5I(xx$VkWeBqNf_ELNC z_W4sLLqpppQ3v+i)zoljoeFoWGZBXAOzpEHRe~6r#rxqLGi0eG?asvQ4s7A5n(%cf z>gs{1(=0iXcBl`f?dE%`65`TkCfLUxVnhqyER*A4Y73?ye&mJBnQdggupyDSbFk}p z$ANuep=B-}6YMR@BZ z4Q6!4!Y15JJ0zsesE{kTRJw4sxM_*YwG%a(4LYbH)a?W~MJNO9HzhUWXIiG4w=|la zQ8abB@S3_a4I7|~W3IlmfePVP0hZ&Ki&gWht3eqG;5xmP2$8B=C46Ofo6dzy^=YzX zp>%2+s3OtVH*@MsJRm|x@QaCh%_=zdRw&AoRWXYCO zs+^yq@9wd^B)Uen#W6M1Vy6E-s2568$awp*S4n49o}r<&m|`NE0n4pgjOdE1Bd#SE zlCMQqDFrTritUS1c2?eq;)99bRaqj(L(QH~VKoFs(M&aCy!Oqh^w7-Dix+4S1OX~# zW&?cy7~7HD%vFVW%hi!?AGZva!8Xm6R<)$je>t(je1wNyt=AKgOA&U9Ox(bt@%6^+ z#Y)ymb96Lj{i+wePBp8qWQ7`3Y@XK1&crtDVK*DuY3JGJZy|k>5=&ybdxAPl`J5=> zXq^o-$162rEtqrVX|T(jV@lbM{RC2XGNMRB@V(DyVt8L`AqhVNqgWIQ*m$?-DR>ri z1V3-KB=-7%5+PYXV?Z;#YA5mGL+*kzdni(5tshMh55N>L4#WZM5NVa^Pge|pbl_~k zsDK@kSYr-QX5W074GVZga@qAWuX6b`wa7$&sh>2^j zQ#@VVF>c(;n zjNl9g*&5KT9IK=2$-n)?v=662*Qerix8tr_j&u88zGDQ^J$!yKs&+ z@IFFM9F6vjM`^wE<|agOCNjgxFLU)W6;HTV!ld)xEl@rwX0 zZ;ujTb_V`H0^E+LNYp)pg+h9`LAUZVeFKMC_gYkgB6Ky-Nm~|C=OV>Tf_AHerZgXJ zJdWiW?N|*~vC16V%9U|CBHQN%CGN78<*C`(rbt;m8+Em$WoUqn-WbqZ88dtE?zZDz zCt|Pwk77pMV<;+f$|n2c1Lq(z8AoZTsA{(p-=xw5-iokPKvnnM~O{X`G1y0X&GmQgRvfKQq86B??bxYWFw)x3k<~{TfPss;=9ZE=A=2})-rdT@62n&j}+{LBO+}UF^4k#)brEtFsMz>O34at?%6ds~5sq?mq zd4+4_&(XFtsXQv#5_xwPQzDR=k@ZV&f}cgU~LcSMz5_FpI4zjeumV;#Jd6H4dEQ^Mk2g~LL8daujmUFpJGd!M#LYSYtAdp(iB?XL(4MQFIm=8 zKxe2>cX5&wC4l*dw1k8nloic30akAaQjEFsFzyW%i27x@kOl9@UB`HoH?F2-#UwY< z!e%OjT1)oqi-y$2@YhyZRr*vWT=WkiYvS6MAs+pO?EOLd>Xx3Gc+tw3tcI-}yj4d@ zo0{>N5~1F22hmHWW`tMvqEb~93&6(gDKM`W17|_bTx|C+ti@VfCe~(0C+L&aT39}L3T^kca^rVF6UMzGthi5UjOT=5tmDh?qNKy7QB~7@fJ4Efo;x^)qZ>{E@-Mj5 z&6#*w)^x{-xRmd;cCv2V77ne83mBwNZN8l|YVAag?toSyoxUp6rJmN9=X;lO3e_$+ zduI)s5RcxX=D?Vo8CIoUE_}@A82<+I1|@Bc7>G>>|h)2P-ezEmeue=`WX(f>`L zHsbL%E@@TSP6yy4A#4T&WM-4P{3;fLcuMKDH?EtYk9zygCXU2C zq4Tq1bh&OTEwg}&=LjELm)P=d=4-~GLS0B(xfk|E#>6>AxTA|B-JStHDpp=ps#gx# zbbGz011}Xdz27Mk)Yo>1uj62&mR`E-1?{BKpDm_s!Oqw&6EqgPw?Wy86Kh_Ud#*0X zD9Fv0sc*Qemn&%1@9o7z!eB_vYwe4r56)xa&4w9vj%@SKI`Vqq?V=Brui@M1!rB10 z9I;pa(m}hJL6Jbv+9BwmN8^55h62o5>FJeQ{mmDrTed;L@W*$T9eCc#!wlu~pa^JJ zGnD&M00Ed&h)2vz)rxl$(D(Q4iif2AB2}<-uZ|=xIKcHFs^A=^8D|6zFdxZ`k8V44 zkLHXNvSSH0rc6EPi1UY)M`*k3USpUGjUjK^@+#EY448>gjGcsLTH)|POYE}JHXTxT z$#%6D>tOeJ-%c$^HUlT^c3Q_oWuEef-G{s5d_92dgN!shZOfwIkQdD;kx$(uYfunw zDxX}AG3`#qo!P$%_OC10Yi39@@^L8~4$-|t9g$H`kmX+D(G?2eiQQw&VkiwG3*w4} z*vif^Fvkh&I@xyAXMv%59g2!a2_1tNvuZaza*&H=59u|Y&K~-4uK2|HS~YbiWfFu1VPDeHy;eFv(lFK+P$w>^Q+t#lXO^LSSo6TnWJgcPM zik2gtSosS~NuJPg4`wQg93_6)yz+_}QCY*KN{oUkiw@*uLPP~g+gOd-gK*2decG%l zX}vvKCfxen9q_1m*+q&7Y`QT(En>okkD((3L4bt18vG=d0glk%IQ;Hg2*V?^0jLMy zC++Uek=12QxfVgcr6QO%A3mR;2q>13Um=fk4D zl$}v6VYWN@WVL#T^s6_fHD=hdJnbf|kpdmlr%3YyAXcM7LKSorM9$94@XHk~p3K6H zq`&1#zKguCVSf;6I@)O5GV#2|KzP7f0>V?IeW_9+5w%=ueAL{vym*xiFx|>FxCOIa z9BZ0SOeuf9W4W?7&p_HmedImV;^R^^X{&R z;_vkvA#^Qc2n1O&?s$*cc|p5-_GUtd4>l;`jQt|EukC4O%X*#1Z1)jLJQM*0*LBzj z(GzPZa?G$IXo4E9A7xtma)3WSOm2y%RQQmyY6l6+Lr$4dHZyFaJbeh}$6m3hm}>&Y zJx^@yWYYZ50sC?{#L_$cC{;L>U3J@0s;B~)K5befgLZ51Dsy9*;_*!s=EDb;Eao(8 zx571aqe`24g;nl#ut)PN_Oz)GSczF^U|CEd%Pfl2zFhj?mi~$kjJ26+$!YaqiQFsB55x&)SwOeIuv(M3eoj68 z`s6KXoiZ<2`~!7$5_!m*WdGik*6pF>yd4>hVPeYw%!Y9MW+Sm0vYs@Wz$t!5S-|DS z8aCw2#p8vu%fyntm^&f2$g8;OXS86-C?-lKYFD#x?U@rK!as$Y7}COQqw{+v>W}wLhhXksJ<|=d#EqQU^H=DEC#|9|bhYCqsIN@bCvlf!*x1O8+6{|E*s=bM z?!q9h%`M4GNa9*9#d3o@aN9}A6u0XU(@aPy;p!3Q%@~a8ab!@$2NbB9<(%|6-ps0i zG)gmDVQ_uR+DbLjQ;TiM9wXaNOA?xy6ljAk+3;2Cg5*}X>p7As@PYqK3W)X6r|P`6 zOM-*&o8v)e;8d_73vfuI?o>(t%upG*P=96P`VU zDweOzEsIJ?^`~oi;VeAU4BABQ&l0g{?K8iy@KvELfdv8qOcXsMU*h~J=m8J`adhMN@ja6AYuD_tij=tI$2Xa84p_+giO$q&p$i{tZ}exQWYG-n!$eTX~}NDsyDkmz2MSDNn^ecmRxJ z?_(uvRrXPu1iV4+6BmZ@6(seKQZk%(pk(Z-Tchtb)mZgO)9jD#XnqeE9Kb1_Xhm6s zrah-LossH&m(ROs zQO@M`kdEe#Y8j2?`$ocIBlft|91r)xQT)RdKa-UGfn=HpD#)I;!&1<`tVF(ssBP#) z3MuBdWrZKk4OKdY#*U)(Q-X{Zx*fser8y1ZewSQ9araFT-4 z3SJGbu3vdKHcSl4Wyr%`F~&t>6Uqwd|H--ae{n$p|C7fXoGzfKt5@o{t)Xe(Om(2Q ze{YO3R=bDW?!=0cPwQS7WAbwG$HSCXLSoI0n`r?R?CQjd!Rp^_s7M+qC*v*+UYUy- zZ>MU~o5?|l+)1K8)hr$0;bLVG?gw#CE?Bi{U9T`}ixV!tZ3xb-{b>1(>Lf6=z47Ia z?#{lQAfEF?3NH7#{S~PhXLZ{%8`bqn=d~POH}iugv6caN6Sd6k zX^{|1MS8ARL;an4^l^dE?mL15kA|7p_S&1TY^fLb=B8T@&nT!5 zztrbJ^?Pta7@n$PpE$98@N=7_V9H$|)U?wcB3RE$#dKg}p*&)b-|$bJIE2N1DEg?f zO)v)ES0Iyz843qVg1`Dp`Ny$Hwwobz|IE8*NWih)_U)zA>ap}pLck7l0o(}X3U^+M zXQ3z2lm8(9STM>|`Bgo~s7{@eN|Z8#>Yx^ln368jm20@BZnP_W6{GxB<)cgLCyv zcyTxCJ8M7LR9gf4{A@r4nhlTrjO|^I&6RJRurg#h!Ih_0ua`Rs5lxk`4jzNZxwog3 zt-F+WP4DIgfnnLiw|^h`iYnEK)!r)$aKc6K6`cajk8|GYS8yujP+3byBba;gU%Ep# zm_m0WH?*2&aiUq9NE{n%Sts5zE#fwx%_h%Q+BP>k?7E2J>Epk$ZdB!|=jprO`7>?Z zU17DBIi|#VBCag5V_)$cy)$!`q|91hyeCS?O`|IJRKIWzFy7`>o32-CYs))kqqbKV zC6GHiuvh%JeQAGsGs%fiNl}ORTELq7#xE)CArCd@)JL3pt{lIhQwF4lJ}6)Mz%7e7luO)I@QkD!m-viX|8SkY`BCm` zsG7vDWGlJVI!Jm&x%+zyYWT4uehWvQh?_NxDOLue6he4N%s_cA&^?F#NmL`n!|f_k zqc+LVfL$zxScOflC=n3@o}N7g1jn(sWgsiMm-W?wF;payBuvrFYGi9jdUZ2bI*rBJ z<3No-gGB_#o{3N#$D_y6WR%#i`=DbtI=X-*$DNDdkreE-90$xlj9Qk7Ub2qTg`ON3`D{s@pDz}w0tp?2ATLXo| zjM`b3!Pk!3qQU&>ry~pR>EhhB^S44J_F8-U>Liig=_pBn7<2 z4K!A+;=R9TW#?^k&{MGhP?;l5AW3bcT|7muMx5uo`Sy@S(Flx8KIfqE-^8J+;k+DE zodnu$f8eff?l0gC4MGL^cVR4LD<*@M-xtK}hF2b~miVL|X)Wj*#<2us>U*XvklM}f zR2!%rdK~}NdhzA!>h#eMKokOv2V-yasrsSY^_UyBvxsyDa$4-oJn9MN2GgSdveZdj z??eBf!P#Q|M_j&x0lZ1yGI0H-w@}0hpJr1G4ut~(RU8mHWF(+#&e&e8#cz}R90XT2X()^`megbfS}Z> z)f@3TcaK{Q7^y7)Zt8L+s=4`{m~v+@tTeeGV|qMbXeYXxyVm^W%P zt@t^1IBXDCq(LTQp1s-3nItfz*=$>BM-QJ(+*jx?KnS=str$N2oFZF*cCsJOYzQcu z_OXUwcUZ)Hzqw3@o}oLM-6%Agssae4MlRShscC|XAMNjKg#jk#ot!_~^Pdz$LsbkT z22$CE51udt$8P}1#4mT4pkN5UxnqG7l4xo&n;*~jgp&kW{#*)!W}9+?v*2jL7J zeg$`!*ciOPcA?HX-{S5tV^7t8NOUj);DtC-)5 z0S8!TVxPR5MvRBuQJdXZiFI6%!S2==@q`T{Wwx(r?hnzaRql5MX#CMMlFFjJ&##tdZ-TS?^-uVSovLL;Sl0p+w|t9jeuNEwK9 zHo2N8XGt9Fj>Tuag$x&j?@JNtI_N^F;B+0eesUuQ!iUVZjL8>YNhkSfuV<^MNxa#y z-@h4}QZfFzd!f?*bfv4BOsa!YD88ek{Uak@nqbG(w=W(g$U`QXJZSVd(fa&!$n)k{ z)S`6)a&4d;ZXo}UW*ZiiHerh!xZjZL}@@F-m?H`#-`hnGfiwBQ# z0p4MOtatSf6Jns=aSpOaI?D?G8&&>aS_-Z=@AVh)j(TXZq*_v!gpaDSU5_?WyEjH~ zE#*{|zrB+26apAr>4z#oHNA0=7VotTzK+ND5r?FwI@)ZUE*_T<6zcMDn;FpbzfU^4 zb(~ZbEPk3{8EL4;lqIB+x~fl@G)WvOG_cQlc9G#>wFXrPQ_rMmBK&scA;4X^X2flL zL%i&_&$9K5a|ds4(6<-9fY6kC2FE+FLoV723bK2vCxpK|t=6OfjTApem}i;1pnKRu z>osmg4-px$rXw^dY;lF}O9u-0-^WtFN$(>#Q8)J?`Y9Tp^I>vue1Pa$lN&4|6#e`C z0y!>*Crx?KECDL9XV-2G`7TD>Ox1Gyz7}uObDfa2-9FHoSA+`)EJu;$>8CRJb;8?p z%^l^JldOAL=EnY*H&IEvOR~eoA6yWQ%Q>VbSc!sz+le1;iJ#|~YZ$8M0U#qfZB5px zb}H45ia^hpxil0c>I(s5-Sh2M2F(w%VS_6R`fn#Luff^v1=&AmH(AR5*j(*MHzg{i zq}4Txvqa9u{Y)Bjn`Wr1Das5X(8Zjuj`!ZaKDSJUaQ|tZb2D$6E#M4(8O|e+@N{$+ zhh~siUsXYJr1UGjzN)i-L;32ULof?LT&LEnqswsIc;a6BL0jTz?(_nm3~eXx{ZV z-TbIdPugdZ&HGZ}%bc(4r)=_e_XdgtxxLKj9HQ+v-a_v%E)-qi(@y_q2<5-9%K!8u zB@AR!10;<0@_A;iY%lxasXvJ}*P%|&V2+(k3Qm7_!C%!Lu>Rm^&kvslmizUr8#mD# za;FpZ`x6I*(&>_|huozTON4j6LA}D%7$9-JexrC9XNFo&?=j?NT_5jT6!nV=M!jjO z-bhWodp)g@Y(J7i%3TK;BMv!oe`l-Q)tLRf+d>+JsTwS{Ute1G_VtNFBjsdW)$B%o zDH<6{M1aQn9s=as$Il<8=-C-+N=%KKdXPV@S#r(zxF}9 zN8Fl68-7m`sCSHli#)ORXZv47yvwsG3n2^f=XTc>=S~#I*GfEt8HMqE?si+2gouD# z)wR4TwPq6c+wb)v*0Ju0RX=lM+;;;L1Bd$)oir4KyP~H8zsiz^bzuD6&Hbp3FSXk; z2B(_7=?6taCVG+--X-f&*>mU3aWI{Og*A7MRd}OZetSE5qe5(lmNtabJ!w9rcT?Z% zjXqS)(Vat)(W`<}p{Sbyrk8)EPd^yvk2(S%$CpDS#@ z)z_}j_A4}OF6ap^c3&Zn$~Av(-XsvbO8~V%-a&ii=N4+ynf>PR6wN*JX@f5z*M9E? z3pc@it_Zxpo4v8Oi}+A_IpOX3}m~7H#JV`&3&@Q zv~J?GYoI9mF(*X_7T6D<;l2`2sjtp(lPE*{J3Y4u_qCEuToV87xy0dT^Yj|mcs#qM zjO%vl1;pb>&->6(GfyLjQSDL>aKSE$yR}BjAw)cPy4!<3q((%F!3@L{GHidgfYaYk z&vIg&T)NMbHN8i{liNe(orsB}8Y?Up02;()HYGv~BJ0|)od&7$mTS)GAL3)-{;R7N za49-{^R$vr(oVLUErvB5;NsrVU)lCy04dHIW@A;e2p=bGUn=q!wcy6a{ipqD@>E7A ze~R5la#DXT>_-I_M~cqJy?_YlSfyr-c*aVu$5*iXXO0vlkIhPYeN}i>yi4fZIi)L+ zAUJ>KpiH^3Qdz#dvt)PsT`&N)KEHhu-b+dM8Cmy%Y`;v=h4H4QYgo1#T#Sc|iHf5x zS6}O|?lP;ao!{Gjn=x{k>1dXV+XF=+;;nPVD+|9|F(=n2pcKtRZ5nJFfQl--kJzpf z+Ki{brpc-|tOt2S5Ro3eU z2>wNj89U}GT~0!qU~3Ls7~~|g{&p!O|CWCGOfQOC+9|Q6?{8}OpMt-V<(1j4jb#_$ z=F|K29Bttr72V#(Wq0$xYJnmXXqqNo(!qTTPbmmcjgXW)UH6p=I-ul#yO2H9M--M* zL{vX`y}fO5$$gnf4T0ABfgjd0ICfgja9WL88t!-A#5Ia;cUr!cL$8r(5l2#nYm%Yh z<7Td;DjeQn;#nK}@?4IyZm@(86`kn0coA>S=e&QX7SU^j$#_4%jg`Kv2f}{Fo^ZtU zYjBhYE#~1hZWT=js3=*M`M= z^gMiAy=p6U$*WEU{=Mu|YtK=J7a=R~q(kTKsj>$l8J5a_bSzUfDiJyXk?)X|X=?7a z8n?rgdO|&tIt3GG^}wbsO1^|_9`*EiMT6M~Ji=&fKH4(*GTcZBUn;YHfpCLBXYbfw zqr=`@J5N()&ED_FW`fv`5m!6`0)$rM&Y9INJR zC}WE2&z`=0UA|e~#QPv=gK3iT!m9kdKA2}Axr?;+sLFfV)*cYsnM8VatFFDHKciZv z>>T0KJasb$(`R17k};-?xZTopVUeN>Ic%z@44Q`a2;SZi8fdQk%X;dAn5&L|rnDFu z%g9kw_G~W1`S?E>2J|>=n>@iEhkt{xILcvVMW?7Iwg0eXZfHq4=J?yN^ucEIpP(CF zHns%pe}LrI`kC*uYptJGOmXYYWkKK^`mt#C?iip9XL(=lV+)aKwU{8waLMmb`peuW zKFK}Z&W%Hy{g<{(4B-Yfu__I#{dVYNdWH9#Gb_Lj_ixpr393M?%}Ap{1V8;MdkEX)Sa3G1ZOy$f(_XTxG_9B499+6zuI4 ztjP&qX{QyLDxbvrtzWEsdr|!9n1!ywsU4zW-rAIkqUikD`8B^%A^%=**1(a~%L6Nb zGrIz=x`MCmT2d+3&DWI#QU`;l%NgW+F^s#vF$-2R@Z)^^hZ6~n)fe@ET24!D-f+oN z0c~LPXxHt#%=yz`x#LGGk%}ZSZyuEMnJ&$rh?pkzUm| ziBHyJtxC@{1R7=mAC^%k`)6>iWjJXD!cigS)-1^`v`# zHG^cUr06)tOOv_;DE8F9osZc0V%NKos1+Wo)MZq}|DRa^(Dtb^#Y{e9i#$t?+5E?9 zuH-)YVsm8h-f{klHo6BKc_(Va3_C9J&Obr9!bS`D_JXqq2tc`-fpT4M(J?eez$Xwc zdttz^;T)t{ZfxGPhSezh5Rb^nJb}W`I}r`A(U!Emc}|Kk3Ia?{F%m#v&h524zkF`% zP6g?LibKP}c+Ws2uGb=l@^=*nKWK(6DRBWHi9aK6V(v%Za1nAVe1+Rs1LKJ{<}FSR zrV$Vgd3|P>%@OT@ZIkRheMSlCd=xkqf-Ke_&q#|yN}pKz@Givj-_Doft$h69t$Gbk z_0M)N-)&P|S$q`J$~&7LB6+-fKW~Hb<`K?DYihi%+_f(wLgG0h(zk zDOs9M%RpUB>FpLY@OQoT6RBSTL_v)oR=DASqtRvZ<|3j_bB5U>PiR-0~2BiAC9B8N6_ngTq6cd3X?tj{E{(t># zgbvx_U<|IPr{HGwX!k=BjswLAVj7OJKsZw9#*^|W9lyIjCv3EH&d8xML(3DXVOASn zlBl(`TA)cC?E17ZuO$?CG%+zugITD_5Fn7Z;!^kw;X_#(@uvHbyg3^ZOZ?kGF^BhK z!x-_KU$+bDu5;(HFOM6k7drqUD+fdLgF< zOv`KestKlW;2r&0`n^`2do%M-9jxxRW4&SXHCuIML2@suYkYJsXLBv2_=rt`7NwUy zS~AhnvEDlwK^uhiY!?%Js2>afK6);xoO*Q(r=+;Zu)xb~SKY$W3pMC;SFXG1@(hAy zhj~7vpbP<@Cv#`Ocp!>z`Ox0V>A&xKk@P@4IB!k+wFdac|y@4Yr&WxO~4Y-VARq#2Lh9j)$L z9B6O)Qc7tth`Cw8)BZsC*y!BtO6Dif5q9huNXX&FfeyQp5&I?lBdTM6KEw13aDvsE z9Nk|&KOCJT`3#!!!0T&hN~q**<{o;fg7bI!D|h2@TbM3SpIFN?l&w@7L*A{_1EqQ9 zObYjmr;J>E#PPNgjNlJ~0&J#s5?0+0QO_`>@oj!TrHwQ6YR!19+!DeP&wpXhQg?EZ z<0`(2543^;7oS&^IP_-6(KA|IsVw^sApTWGH36@(hEiX@qrAfX^s?a>gI-r<`KEGg zFF44TvbJiWDM;(7j^=%@iW7j_a705ofr9beC`h>`Ae=VW#?!Rj*RYX6DEWns=esS? zHCvMv3kUtq#4iNW@<3(2v`RMXnhhZLqEYwxW`mx^MJ41;o}?qyQ8D{lrJOtKYInm!cArG^cyyZydQ)Nc4_S&)>m3 zSP-~w(Fd&ZlE$75h#DR~PKpz9N>ek!x^2*6-F5{1le`My>1Dgy7+}aXPziK#U9|?w zzbtcglP-D-0=z{~eUGv=U(mY6#e_hHjaj-%0Cf}>g!laOJ3TS4z$O$>oOtALU+`OE zFY7J9xxOR8eTue&#H6Wi*La#ln%<>NrI4Kz^R9EUNt-q)#gBSDcKR|)5{x$;z zDk;tUHf)1kgWR-)9yOQZKMNG+e<;u@WPwIvFX?CuTgLg`LtR3hV-}qIPWx}6QVNPN zJer7f|2ylC+f>(*$9_85{CaQ0b`m$I&New~Q#Bla>u=UGFKzv)1$IwZu)5S1UuL#p z53oW|oN|=eLLO`psGcQLiVJHZ!QuvI$2XYG7fRw)q8tTJqQl^6*SC<6bzpetHV z_kyh8NB^SA0C4TfauW2?1PVUZ%hk}P{)Y;E4V;37pPaG7#hSmK&u>6^) z3c?5&>I@~oI-XWG)kDO!I0!_K3W{DpC#Dd?Dw%%i9*)hKo)QxE=&7{89*Q8E;?ua8%mQ{cY)X&-Dp>?BFcG@>-7&%3tWCuO{glg{TL)v7L zlKxz|e}-`sEr~LIQJ%CR&t6N(4Vn$odHJr>QdBOO`w%^@R+LcABjy9yI9gxDef;z1 zcMGjG{uhOF4H@z9)uG*G9S#4$?_O&<8cS5tfMx1N<`z_0;hfqiv65ooSEcASx^N@lu&& z@+YOfc}>qW-#?;4+aAX55Rx+MLaU)vTf=S-orF@eko=&uxVCYRSN zZF=EnvVvXzY7%{Iuj2Rwh{Ia1XK>2Ry|79T3AG&1LMwPF?l3nOG4p6;EJ2fEaj=9( z>Jfainb6aCd;XDNz8fo28G(L;p1P~mg~V^`mAK+cPqrY2RMzQgw`H0pU9&BwafJH>~`aHUhx&3>erVR%9anr&IQ@^Ky$*D3(NpPB5jkfbt4>@8ms;WNH`34 zQ)1ut8)-y5RBQ$%zj*X;^M z3}^*-X}1Bpxqog0lK+(3|0?s7RK7J>jW^l12oH4K$m{?+VKv=O+8fmq>2prv| zz>>;us#HPdz7SOSKixu@y9sK7pd=v0Cf+%x?IX$t;K3zsBY&BWLf@K<tFTwh>-(|9!gB4Ow(?jxxa=NXu8CxMn zGdPQlwT zC_3m|wC}aA=S#L!E!z~Dni+(%`smv!qKwfL8j(Ebu(R^N8VnDz!A#>!bNeVEC-nZD zr&#aaOYzFmrraC;oc#c;wqOXK1_YDS$!sqUTGKzZs<#S0X}JYCr;CSqn54k~NcE0K zYO9v%#!wQkvJI} z2fmf1cl^ikvU-r=(P6)v3@tM1 zpqrGa^^i?x*K&*t4}oDXo9p&KrbNuui!02+S;OI&`jx_duQ1>hzv>T##gcd|)_M9) z;NKTyF!glzlH~$%6b19g3eA@WDEojN4)?xov>7`no_%;Y(+TT7Hus_kp7FiK@p6RL z@iRfS_nYWHVXSu}kth)C2l#Ir%OL7^etyvn7mLvyAB;F0%-Z{D6)o*3c2da3*|lS9 z&FDBG+Cl&}vs+^2F+oK3)*OzA`gkv{Zv8dhB{YInh9A99v#!Fao9=J3m*>p`U=v6J zjmb}M7M6#ZV?F(@*!rrlp?33`>E4v3vf47)^A{Uidr^3fa;EE5&b?i{sZmy&JE~Ny zg+ijSDbGE+VPko}DjwMzpVfzqV<7!l?&2;#dXCZa?G0u4dMQ?1fE)3Lz|=(%c*d@B z`}+Cr8o+`TOlOGrfC7ZmQZmy$8iFU8F=rpTB7K4?h`1ZB+zN}YW)JBHSkO=C!gi3S zhfnqQEc?TLOfG;f(b&Er7i5+0_H1(C8Q;^!_vT?{TR#s~_ubxbF)pXqQ5(n|*ZqVN z@i5P)lI!=%hD$`R_W}$|$aua0k8YxL=)-cw2p#BY_{L(N0WQr3P8QX&-aZuRE+uU`^-3=-M{ z88Wxv#90cs$35x|0zKkfyOD`feNPz|LKhF`0F7c!6eMJ9`U_s&>YA(w} z>_0HXoo+n%T2`r4Z+nZh6M|fU;gH~c zv+H^EPt42OHRbu*3$R}-lP z%6d#t%>Ojwt#d*AbKAn%nNq=v52%U&qRA zJoBh8k1zv_m?cLnZJ#>$=kTF*m#t?Z?%3sB5b-2ubTv9~(U(EsrZz^O%6ZW8R4aiK z;z;}Cj;H)>#RZ$`zF8T4GRR6$uieI1uiWP5{<3l|(##wQTbJXyHQN2#jWK!mkvG(B zYN%GM^>Nu($;S>3mA$}q{7gWtw8`<;Z%galg2{n^JM5cl(6f6Vr+bq5V>U?7!bYEV zFqfCyl6^va!6+_h9+!TtS_m#13?YDdj#tXvo2#`pdn7Q7mD(8+n|HXOh4Cw<>6|bG2gwp39#AM#L2DyGJ0*;~iw^z))bY(&fyNUy>k#~HN zRaxj@wTI#A#Dm@bBqA_dkojt+PeRGt-1trHw6EZ+E4|TrhSU8XI9(I{_F01kmq?>- z#`;YWmwQbT_ZcUP?9%;tOyl=GDi@dLxYCy4avn#~mr&`BpOs|`x@S{jlN}lqORnHC z`%PvJatW~DAvvo+i`4GdbOTJ0cQ-6Y3$02_=@ZwA zZtDR`W9nLAzjHSLw3NJw0vu7RRRf4Jk99#`ufd{QoszRtEV8he$69?lafQTqA!^0_{%Rzr;Jz=LWs60`v=;gbVh#AO z($IKu``TC)3cM^JuCn$K+Q(}6x4O|ilx;Mg`q>qbFEvWSc0vujJ{ZW@I{=mgme7FJ zO>@ul+yD$;eV2I`m8tOx$vthmA}!8!24Jaxt5Yr+`r-ADlH5axw{E*zc7V9V8Q-#3 zl926*`(6y1nIGI?Bl1l1GhX33$=Zd$2?@zi|1ugvbbDH2`i{Dxm`dzWg9-F#V6=XTj#H!GwL2^_1f7 zACY^JAS1@)m!Hi3)?UOa?=3CTWjnF2{hA~7F}m8Dl6=!b&@nxxXG*3VY9NJ)EBmCL z8X#G+7FdoyexT_AN>42GrwLjMdy@Z zxBi@?4J$h|intN$>QtsVT4bhePmTlMrbuoFGuKl^I{UpB0u83Xa<+L7y!{k zEO*-GXU3ZuM{{>gb+W;}Bhwk1N(-2|Pe-hDGF=oxx+uq!k50`Sw{!}LF^lT_BvNfX z3=7MUxMs;v&mjnJJ$A`Y`h(C9?_STh{LNz$htUam$nEE3ny9XNn1owNxZT8^g0Izw zmdHBSy#ZV(C4pG=&n|&vR&&MPOIN4<^9p7H1}eBSG+}-a3M6K|kIB8rxxn+@Cq$q#u=(B zSR*Y^5+6SEn2_;9F;rK#aI#^n_jW412L9f;jlf#{#T zA|?EXSZoRzFpcawmtO}JygV-h+Ic!c_&JCGW2k*daNb#xM)zRCWZkRS{QQ2&b~FgC z;mcLob>5L}l*LCV;>&wfDE3e%?d|>w8R|T%qHYkN3*5M_x~-3y3sTVJ;xIj5Tr>nW z6V~;vnFX9Q!AxscW`UYw|J#7WzkpUOl>?mnb%BIL@;yh(Zg9MOgRyXmr&nOD8)|Uf zey#_@StYR24K+zEsPiLaXqwGtwPJ1fUO-TdPcj`(i*%ph+bTHb-`f>BrfjS6pYrQr zL&k_Wsdw=L$kRcGr@=VBmx(uHw*b0L1FDb9D+BI-OUe0MTso~WU!or6y8mcm?Jkl$ zznRKkRhKE==fY}5Yxclr?sDL8WMVo@ZP~U+x!x-m>0-B=iA(LO75(~4`Bi@;NKulo zFvKbt2f&B$ypa;>e4_|5G-5~m31e5s#Dkr1A-p=f$qYx;Sb_{v)%+%=c2_bQdtP^_ zpt<<6u2Muwdl@wYW1UM~^%s(&(nu&anh4j+0R#OM0{vNjWmwvUxIG$rD0olG9UafdB zf;ZOgaQ~z0>h&I^;zs`P zyX^a%Ga;Gadu6%JF1~Nk=d<@GpA<)DOOfqVy?Q4GLi2K=@`!MVBr5T-eN5s)Bd6De1J@A?NjJJf$Fh!di@uuF0#^mT#zJ?i6#Z>~L3oAw1TpINc>~osJ+~M%2%`Un zb;K^(+C!>KVAWJuO0VK<_8gh<)$g?HkeYKD;;{QrGpY2Z&&RH#g1VwC)yQ_Gd+7w$ z0k|=25D)+dN}J`cUw>0PPZOkUc#cmxH~IbWFNFVM1*wf4sEN#DM;)tN3ITwF^UD*| z9{QGZJ(o>8OwKuqi5GMLYy|HAa1EM$8Xchw=lF!3?B2z$0giR}J_dL|6nhe3IQPjR zQ7H)+&TyDc4Vq$AmfsZw+(YF@y-ne~`StJ7B4)tYOSg@MQRljZu3obg3&uSG>jwl? zB{D>L2ARxcJl;3SajUVVS*3x;_%&(k&n0#?bz3{wka}c_pGL!)`Bil^?i8noYqU0v zHaQ2Y;o~6PY|mxgL_KdK>l`dPM=jT{%nnI88n~}~8(&&pM&4`%x2>F2ubVTI;P9tR z>U!NBj3NiRd3DTwnTH~XdTuP3N0hDFl0P7dY438+*fmVB^;@b(r);!Ll+)if|v&i_aYzBYxYX;T$)^tcH)`|6s=o`Jm}+=(b4p zX?e;WK1>K1J}#a;4lJAUf4DGP_8~>>aP<>4=}kkndg`6>9wFC0*w6QomD)SZM69u7x7)!q`-F@&aPVX!J}zClNwzzHp@@r(4dg?pQt8GSHNk^}tD zdpQ5n3dcMU?;mFJd;Genk2BErRK5z00N^Ofpg28WnZXqgMzQA&##Z|c*KT8qsobMrNj zmC!qCzL}$%B3gk4jE|y;9VZlcuhs36v^cLBkf|0`409#>GL+42)t2{(WPh^Q*W43d zP(is;Y^}v7?Yme!X#7Sii$P&mlq#N5TNLw?VEcqxNSlz+psNytU%B(jf0p$D3N_jV z$y3#8xO*7PZY%{TmsLE!;xQ#U;;>F!&34G;QE!i0#Cl%V>L%COs;|i z3}`=w7&2f(!aUm^%X2G|S%9LjC9p1gb($Tf+60*&p$s*LSX}we?6?Heb9aUq0DE=3 zuraZ&r_o9L%l_eOuYCX=riU-WMX>e#!ALW7T}dD8(&_$F>vW+WHSXEQH7>BrsZYP? z3Z7RAQ)|@1y(`>JIfpismdf%2h3+RWdO%!JtFam%KULEYxn7gY-AhYn6$P=p z3)~tf{zHc!Tda@+@z?CMao=k?_-Y#gP>bobl=h=fMzOoy84ZAAYO@tA@qM*h^g z0MM#5_@G{)V(#9F9v@(imb3 zYn=DFHw}U7FvsBPt|MQT9~`_M7%bPp{ML|YNr$O zk~E<0d;|{jM=5`mvO#pHy=00*;q$a2OjUydFOcB#T-*qy=@EG>BRI$Z^J^fmDyY#( z?y8X~j+yiEun(S?T@~BIwyD1dCux=X3B=7*xdI&_?jLNK3YB2cDNi&7#g^2B#D0~3 z>oF}hw1A+yqtMmV=+tHbotQBJimU!ucO5Y6v*w9z7g9p25cMX<+LEJ^a?l81(#$lS z!fOCjTZ%RUQoDO9QD$~t?nFr_O-=WirY-Q9YRVdP+d3LxFxio+wheL}3F7Fkx z*Xxd1HF<{2HQ0P_sJP9ZX=~lK=t`Fkf zs0}g{H9>5YQXPt1;Z@ei#qhW0rp@YMqxcko0be;Dq}x1McFhUUgK-nv9qlI zgwQg>uB$u|$lN_n9HUAXnY{jb)8u{RPykkz0LFwhXcX`oi|Mxf;T|lwtwIh|k>O>G zV}O{Bs+OB{_^Iy(7a%P?wqpS#cXBgHzAD_BF$H?iDtbbFqW4vQ+uI&Wb3JPduf0ba zavlOF(elt*CVtdqo7AHhIr?{c>NO#pem26An`T-?tuRAohRDcxp)a9QB|kppnezNN ze>1}4tejO_`7ZBjqR+wFQRe*0wYYSW%-8;btB2Wp3>l1odtC`{@N>dAA}@v4aAg2u z+ABDqS+Tw)38j2O{cg@}viy#I@a#_Ii}3bmg#Ptvmz-w{4{k0x%}c$3DPoi7_MHW# zcAP3vz?g50`e6XKRL+h=g|*gqin@Qy@-&v4kS_Tk%a-r!+SH*ZtG(7yp~kpfJX3Hz zd|D2wI4^jfS>!=^9SWnX-bF-NpXL_)gkw44F0g((*xD?)nEu zFk+p_Tgm!q%XQ63&&u5fSyrq4x?xl7BQfE{B4a^vSWltgfWfHGiTJtOO74!Z6{Ry( zSX1Rh!IKP~cc*e`EW>1puNq{E1h2hTLI+?}<}*bH#YeDlHa1&}D_)i+Ricq6_~l{G zi2BdKPgnBG$B9Sf0yPJ8zJ(v2ykCErA>inat*5K07Fv1xLwhPv=*5EzB6_~Oq&9{f z1+)BE`--gEdR;LlM~(!pvJ@-z29eAvgEvh!Wt~b&v`1=e&%?Z$=gQXM8ryM%4fY3L zYR_9<$<8D-Z*)N(HPPJJoj<%Bw2bWme?|bEUe2?&U=aQ zg7lHCpAD0aQ_mF*OyMdLopcrQd`>I=b~cM2EDsA&1?M55>&o_VObCSFEvk*G zTD?=GY4P~ebcc)gOfln=?OwsfLCS=k>!Gj+?PcNw`0c_C{4gOwb*w+;9`fQxBu@D@44tsW2D^+hecD(}i(V-{r z7kSyxBhHoy#Ie?0qaAdwc}TmT_Rt!3?tCN-)6TZwgxv2U+!O7F9{SZ2(Ee!2MeU1C zHDf9NF<6EF*x0MlqpCF2*+^zj@4=CIc1ZAsHZOa%f23kt?fxSjy3M}!If~3dx`@hA z7}Sn{Eg3&j?3owTlv(VO(@|@ira8IKd{)<#IuXw2|A;h_{8K0|qnM8gdXOBZ1Yg!U z@62$R-NLVuVp_)q_(p6_{zll1M%k}eFKN%a0@5C8M((%PGZ&8Bjl1sxI==ecv*0~h zojWBy*|WaC8TUsLpH(F6`{T-c$Fv>(p{IWfuo!Q*$S7%0*5{+!ZQ26XnX6pDAcZ9SVl_Nk^<5tEiIi&Nq4uT4Bbc@AkvK> zA>G|=&|O1!Nq5(|$G!LaJm?XIU3zpnGo4 zP!`%Jvt`YqaZ{kgO!}F8!I|t2-yDUjs&r0=r zv!RBSx%+o4O&M2}W6zBc<*+;N$Xg25*F+PKW)3`8x=ci(PmT;Ss&23Q2u{gcG@+!7 z?>K2;i58VDQ~dAVjvDUV6zIhizJ1v*wsPmzc=Xvf0?Okx>0yjQ)1Po=Rku~=>!9@g zOW||!)I{p%vd(Dsg?Xy+6Z}XCilce5)&h_(0!+n~^(R?vxOiFDXR5x54SBn@>6ZQ9 zug|+MI}@v!vS@3H{m2oW(b+7v6(-*EnZUH_hy`Q-Pv_vDwjMM=heu9a@QC&5$(nVc zsdNQ(>%m9Tto5UPp9(v?tS<$LtV46j(~j$lPEwd`4>-iG^%|oy)xTm|6$rm; zCLw&&=*7P)rZ{b-aixT=-izn{BcNoh*=f@|S?Vc%e7AU$S{6|j;}FHgUeLHkWq%RN z;QFMs#;(YDs(AVwSkUIkFW)gFJr#3R8^W$s2fK(gTI5&F1BE z3K@tO20pob{~~@(naqJB#yF$x=&)AJ>(h^pVX*CkuP*ST29A(qG}u9!4q^FQ{sQ*AVEc>V@upcFFw@kOMVyLnSC*C2^DkcwA;K^S|4An zZb}_pGojmG3Sf3Euj_ZRc8}lQtZQ@eU`6T}?pP)FX^^DN4sbLsH+bo;; zu9@LHX;}9vXT_eqoFv#@r}Wh5`=3>2^RFuNa6OFN`9^KsHtJ|io~O%K$oWG^)|HF8 zm>wd8;H3ra%Bi<6v8BN7+?`#y&m6R}+Sq3nx#&P0*+NbR%3?bz&;jEsogI6~CtEY) z6Skwz)6E3C&VUhDZQS~f_}C?{K3hB=)ei0=)j$a2`oZs5se86Au%7N78jG_qqiy`v zv{7fu3ie1rt&;2Rc4pQy37m}|A=#d*-`?HP5R{zf9(|7yZT))BsU72+PyB4=pXWmi zoR8Kn2yHLGY5X2?+rmfXim&?Hi#aZ29@q=2$h>@iru#Z0clBj^L1x{XIu$oQYktOYYe{5uN-_2u-<*BU#;W@d{m_^f3u*{!J&IhPC%;=vhrF+7u@wO*O~8rP z%^m{6(5G&l^&M2ScY_DyM=i)nTcJ_*$c-+PA;1Z4R3{<{73Nn$_nXqj}EjRLB@VdohWpHGPZL zpe>fl>U;BUZpi!V9*PP6C1vLQ0Ccug6)!(6a=n>=M~H8+jQW{TT{hJyTbrv(sh~IL z4W)Sg^l1BhT3%{=fx0v8jBPu7dIbr}3MRAJ9vMA+I!EpA@hP#)5MV-I9_xdL(uJWT zh@Px$AJg-*x<_0^Przu%IWyK-!;8&-h{Gz7oabVg=8rZ_D<<#Z7fp{iHF){1H#~Lx zrTD2srHbL_)bZ~y68ax z{DdUO7iNC9>|->$?K?BR=G*nP%S4Asf4ElScDv1UMM75iCwsZZ>$fNj`Ub<`z)BfW_L+=tjNzvi%D`B1v7UZt!p^Q zg-OPu+I~NH9Yh;NLJ6Xp`dNb6DBc=wk7en@9me(kPndGIf(}pdnNprV?*`~GA{b|; zZpn*aw=21%-}If(c!pmTRsgzv|M2uZ3Ge=iVhm{EwoD`@f)kQl0^O_Bm7SAC*VLb1 zLV4U|lBlr)ma*sT)*212t)!tRj5|jJXWMsr#RA{@4Fw&~b$ue=6bCLpw0mzG&eJ$1 z^BOUQz^J+LoXLNndWqXrWd;t8YN%z&a1m1kPdPWpCh;s)F-TerF-Uxspu~+{Eyw<1 zJeD@o?P1WEHp6k(s&cK0`#XCrhL@75pPPa@%orm=G`n4rni*L2FM>Gml;(Fd`sRH# z=U-6;$S?F;+_78Bvs|5Wn48_--sX&cn_jfNtto}zlfS;%bT1fU)m1`saSSD9<@j|p} zhU3VxUC(UH8x>8w>ZLVSw78Es)~hbjuN|%As!1>NlhR`x81_LX*NZ#WD1`2p&1~^4 zGrtTP9_w1e;d==HWZT1a8HsdB-ElXvo3iQ&*Zbt8KEt+PM-#u*fW2OTcc2Le8kl)~ zfuI_eF?r`stj2RiZpU@0t8@0@@ljJ=k!9?7;Z@=Fg)Bz53$a~HQSdzV4j0skf!$X? z)&|uQr}l2a*Xq;u)9ogd+gWXdz&e-tM{UMVPb)ZS;{=EGn)J5rvT-+zC+ALVwj|GE zE?d8`zAnmZI&}`}h|<|oBAkg?R*m(hikpOxKof<8D~n6-9R-2DZZq{B2w>fsu|kHF zTnZZB!pfqf0yHWQ^dXVcFWZ8bxOUI!Lq#6|kS}{L_GQ@R7l)wTmWW=W0s?w>KT&!l zxzE1?cy;-I6Tr4b4gIOk<})8Jf-Nq6sBcVAoL$wmt;2X4mFtD(_BEKYu-y&(E)JJU z5QV2dO;1QW98IM#Hu+H@2s!-kXerVJkMqY7h)lNx-+RW8i z`ysnVm0ot%=jjI9QJna+MZDTqCx%^ITP@Crx<#uS$aUj^h2f%|srjZ>VJ)r*4* zKRATB(yB1trecADZrZV!q+q=d_RN`!gWg&8R<^U=CttOXL(oG`(|svG&B$Pfzld4H z-75)p?)uiE{57E>rnFgkzk;ijN4_d^*x~xW-~_!<=IDAm&Z8G8YV3W+mG(*u8m zxX6f&y`XEeUYBoY$}C!Y#>ao1xx?|?{MqXHvzPZbPc{8aJpTag4UDfl^A zz-)J_poN_7a^A&v286O_o+0Vk=chmBqe4kra%dkbW6@Kz^7TOIF}UH$nFZ;u{QwM>LUwGX-As=K<}MQx_6!{6R&QiTfStIDfHTg66pk#(G`jEe~S z9HW$beA6X~uTo8;Ql;I1 zlp8bao#CmMqVGNPYM`+}$aw{pf_xvt!j14X7(D8+mt6+b8doT4JETfZ851OiyXWPFR_er{*%%81r zdUWLIyE31Y?!*VM_AE^k;Os)r!7DU$3uh4cwlm*dnVDUL=)ip@S`VHS;Yj~8)ZzaN zZ8Uo-E9=dNXX`#kzPeV2zM3++p>xD?9m{!xUllR~SH}mg4XLMuN^Fy1t|Yv-ez0>y z5$%P#TTjzxvz~{NT2mvU)cYe=AG8tqs*Fk*%<_WivJ;Qn%;nfqZv z^|=BhJo_q(Lwh~*V^O2+^@Q6*It?zo`()eTo$6c9(Z@Lzan0)OI|IFCj$QHR7SZr| z5r7PPOLRqU1ZsBkt1iR`B-VWJ_@ug9(}O8Uu1)+R9i5Tw{DFeoVMA>|tY zFv=>pgt1h*BPah-oa6|J7xv6I#Bvc3CUhxQ-|_DddELxyimvo-Zd0IP0Ew1)X z%eeCy;jB$lXuX1n9rK84BA3P+y`WE`5fIuw+>L9wRYCIuO+qJb&|R^sQuKCEH_rEZ z$!}Pz>-JeCFScbK*@NCBPOp5)MCYo2inoJ!?vcx-2b3@?gQeB0?gVwq%kHp6&Ditw z02COjxYp+8`NtL2)fUd-A#$gm`UeVNGi7I;2V|P>_FKOZn;yNbsbz%b3<5;5Qbs*r z6J2GQ;&8n*ASibIDgJtq%H&K?TqK*hlOW-86&r2B25X;610c4;rO41clSNY&9fYX zmHv1aZWX-q%wBBuMUI5^YKa2ZbT^Lx?p4?%ks!FISp-RrAC8}GRseo(9Q$Rr5tK*S zWtiZi-a~V%p_g7QF34~Z+$7@r?TksWJGsw%_5A$#2H|AV)hu-&id*M5|G?}!1#?M- z?jBsgXKZgZsJh`{ELp5B9N3iCpKzd{UEjzlR_ZA5Ku!V^peRlRDqDPFqVr(tTE}2owe(8514k$GTn$|i_X!SLp zZ?Xtr-E%k_GbY4vrLxzBYCl&}b8`rQUTFeB!@p2DiPJn(-T%2cE(Du^?RCmW@2DDr zq-i({IXA;lWI)jk59iSq1G(@Cl_nJ^?$LUa+{Fgb8@YNXD0hnCxUo!uf(=RsaZV!d zOhZ4T1sphbfONdq%9;#PdCL+t9CR~-P8AnPK)iBLL_tP z(e&yrOLE57_kPt&>z>i(v{$zEqlC4+Qu&-4e~^bzbkh5<|Kg^ON>G!gbZ1a=bz}EV z883`i7?sUjm_k+JIl`JMT6tq>Fv72iows{Gey6EB_v)L{KW7&>j8en-oSR>GUZ;NbOH?l$y5s>#&4j4TE z%A6*GT|!1Q5tTAe9{!`X_=vrDA3Icr)vDAE34*%sxIrc-uo$@O6DcXMYyqme+2r#60Dw=j9_%X+%&be7w%Yx|2u@d5b2HQxkU+@{Lz6Vw6mGQ^P!-*-5*REme^wAm$BfW2n3lK*?tg_9AxHW z?4YW zk$DwN*z;lkK>*M5WS==5$&FleHbYyX@BH&g*R1LjDc)Y-MH6Z4ozEFEh++)I;_l>z zPL_8n*qEmITc|XPZ=uY61#+;}OP^TK2~cYutdH9y8c^@#mr8tfHh=ZTrb+@o3M&EM zeYT#plhfO+tM#0cnQEgqA+EOKodylDsaN;>9%hY3(#_q0H91+J)WXC*%f;k~FHs8e zh>CHqJ2oOitJkM0;jMQ?-Y+F6P~kMWQjP+gCNDbC+OmV=5oN3er@=Rmnv!cu!}t>_3R&eab$>dTyvO%f2IQ6=1_ewH#2rs1;2@$yilVD*B=dX)<*!sPkJhX!7g1$~YKfl8HGEBT$0 zVpyoWgFc}6Ye!`@U2N_ck)ecrduHV;v-D9v8-%CMAu=d9~ zQC{&Ec(ig)nfDV`w0BSEsu1}fVzb%&PQK$Qza^l#Z3g|9e#?+yCSv~^nLzSI|9@&Ezf6dz_@f*&fr>BmL9 z#>y?SJjqDxghjSIkaa2V8tRjta1%dW745)c(`l_-wmcP?Ghnd=k5KR5pjQMe;YX{Gg69>S!UdH{!~Og-8jU)u7f{egDD^EtCnx*+8XGl54H>pgNUq zlkA>z{jIZX6Gj)*-s_-lvsugD_eo;H*;(fw$O+2|Cl2J{9Wv8PTI2q>99l=!pW+E9 zWDVRpY+h}^Swsu12`^XJ6o0H(|BVO)IB9F{AQvu9Le!o&B@^lGL(ZuZ`Daf`_If~E zfdFJKufAEGBUT0M)~Tipl?H?A%vp*VEgQr4`JH^x zfQq6MPPJ}d1V3(oqhmCGG@@Pe8kP$Pj>3a9F4UL|kY&3aMmL<;5t7G!I1Y#q^<)bs znEZD@=O;^%$HeCFk5*)ewuXty#XYl*d`Ma{aC4hdIaXM$`cY6Ajf8M&!^9@5VEA%% z+SzvlIYKP2b>ZAN>);EDlP{&ux{ETze;wRk&aCAA2%PNT=%n`2y?s;#2XKIBjHcj( zh2{@;70R5e)M&K8C20-Y$s+>Cn@JH&3Fz#zaw_HM2IDbZQ`HXQm6ZFb@jwD(lInP5 zyO}9>jC9EJFri!F@tE=~567SfE;3$3NRW_35l^YXhu+lZ8dYuKq^)Cu1hZnNC-W!QmDblxfP$=SEUnsYV)q)GjKl{$W&zX6?hh zx|!92Ta{|^+iFv@Zl}UYgyGL+lZsV>{YjTMBi&p$*R9 zMrC(3K3t&hjb$e8An^67M;5wieZSiVh5nLNH1s(-2-Ra$r50R-HQZ#&NX;t12Nz0I z%{{U$AE-aPry}*xTJ_!^YI)Lrd?tIPK7H^Cf2DjmTglb?J{RssK0F2+Y+H>W&wXzEo!$9B@rla<7mSSA{35 z<*eK9{QLt-2D1q;S>cr;4s%G4MHSZvq?t0g@uh{PAN2KPYoTui zJ!8YitPIsuks_I}B0f?NRs1Dj$B4epA&$g$zpwB{xC%3B57NP=cS9KYtz-B~@Xy}4 zm#`v*DpAL2V?Uwzf<2E2K%j!rs(H_Yy^8v9S^oh`5Uh>g}+KkKXPuvJv8X ze!|1JD=8;9xzMXOe5WwQAyCrqy3uH~ur2KFVLf$_7vHSJ-3Y{r0JrV#qSaoyxap5c zV}||7c;w;Yg(^MrLl#!g4&aG&PwwbE*v}D8XhmH|2R?n?!xmghF8xD-Jegv&dwLyi3)&cB{N|`wBZJ?ms-y zKPrU*=aFtWf2s{k*i|Lj8!oMx$fOt{$?5UrTwN!9stQq^eBe=gL_CEIaApAwc7gpP zUjR764yXGXo3-l_)*Ec{jV^6q=h}_>o|Dl2ygl&GXq1k#gRE)%o+jw z$@UliyhUeQUu)sxdV>eIMMV6YEkY-p7GBUn6%Yu7(!DxAEVbp-Gim3WvJWLFlAy>3 zeAdU!&SBOZAQJcFCAi$Ofj{d}GO7Ihto&;?{eJ#KzVajn}2X}BLF@k z%TKyvXxmp0V~L?{d(T&afhhgq!0{{t5JtT|>TEaV0dHf(S*lwN@THuPg`k?z87;L5 zbPT_-!%E?}_9bf1Jf3E|^Hrfrd7327n{a|DHlLje1B4jPZ-zYZLMSNC;JMX%0p(3)Bh*DQNNUG3EP)#~wa zQ?Ytg1TSh#^u1J@e97rscrH|5`#HqG#>bV;*;p`9zy1|)Mw&Z`x|X`@nrpyd07Ogr zoT}zt*T#e=pkk|6A5Hi1a!fKc)Z3LMC3^*+{UJ{hNiK9@a53&V5a-?0a!?dY>at~O zd}E$<@-W1WF;tUY%X{_uMN*Xwv`D*%ncF{ub&#jt@D@6acLKB=+H}r&rLB?D2?8NI!qe^u@R*ZgcP1&{i0L*wytom*ea#1GOCD#^{#027^%r>F8`s+CUeEYW;-hJ;l$u4O;X?auIvYZ`VAoLiv>lu;k;KEcYS%F z$3BG6!i(-A*M{0cj^a(3AaHAry!zTN(&F>Z%YN&oyw+GY_v-ob4MC@Q&UHzpc&O@R z7Y<(|O;WR=vD|iuoyToz44$`>Z&`wYsz8PgV>n=YvZiF-R06gqEJl}ir^aU|!#*%AkD-jG5Y!30KRL=-<&o5IKH{5p<2?Um>>KK~EBO|O z7-;8XcOU*_LY~Ag%MUXG1KUAGkVO!l*85JV7vkOc?Hz7Wt{?F=8VLnE2#jo z_?w$E=+X3qL+H*#Pa;c1qFTkywJWEv&q^RiY;q|)LeQNb3NhZ*?QnQ3EIe$k8tvMe zP{=@T7uYd9im?D;qPUujPxkp&Tx6Fpp)985RdRR2nfBgj&~*+PkYYtv4Rd|F(4r&5r#Ip>-O2|I}Xa1IGPpx=0 zZ;g%=v%We$e>FPu z%+l)1?u)}+C%gE8*%tLM3=wQ2*<7MO-_!|&BsHIhCS3re4nCOkS@+jRf4?f0Hv&vc z!Z&1t5|WL|rfAyzGGPp3%{rl?tA&b>>|ouy>nijtNu=bN)&Er4>3~LE|2&S{#zp0) z>m27=ljM?O=9B2;r`qPgRwujW5N+%^9%}nZx!uVB`uaO&ihDf#u=i-()}6-LZr4hJ zzQ)1qlqu20f+{xaZFYvTy4B@4vq%|CgwsrsMp0NeACWZ32#yQLoY< z)}J2$6+>&RA{AeuGupp?`~USb3QPZyX#*BJz9UbS$lM3@45NGM6iFw5;``SbLXAlU zU(G7d8uqrs{6xj!EjHSuXRI?_%bXT?fQ3*3)PM+20-jaDGj?|Gq zE_}>rmMg)vmrwRH=;rBu;Lc9zHkK|vHFJ?O>u|E!RmLyTO8f9IDVU~=6u}TFo8z^| zb|>bl?6d*xo%5N_#g0>IWKiC7!)Z~oe#FO|76vQ-7X5xzw~feuE(W)!ZLOF8`=|8G zz|1`?x$^f0@iU0SnFIqE)%~}R@qeZ6{#&QW2gE5T?6+gcJ)~ss(V_8waD&vbOfw-6{UaR?);%dfiH`w<++$|g2VJhiB^{|nuE}?9=xwe ztOc$Ah^%?ULmsx&-Vm#T68_0T=IZHI+UhPFLwb`$#d9f6RT@HH9MWg%RjoRXQ?f0>nl?xbl-t|lQZKJV8Sy; z)twWD9_ttvit4usE>CGh=8jBd=gr)4(cZDqW=YWjFw9-BCuxEgG&LNGN)g!anw8TI z`Gu`cg@p&_Rym@SH&Bj(lnJFTvDLxYQbctzTw7{$C9b6%TdJmC#VUOS6xXPZ8gZD` zg`~U$&<0EIT|Ie+B9&0V?%}Lf6}pVA9%Zn+?{maxsp2uazL+2Nkk-Ymp1BHdr@iX6 z>pR}LgraXI;Q#UofZyBjCs*zOmJQX3@)ak^TC^vNX~(!%-_Lw$e(zYge9A!L%7~>du+b2i@ zRWTS~-Bpg^0yHg zNkb%Y7AOD05QS4K&Rmc#gXN9D>rt>q#D)Mb_qTm@Kkq;wo@>A$2U_KYS9Xr;lXnS% z{EJr8aP#Y3!e8w&{)uh6m>z$m)Ml+KPljVwo*pL(#3heN;INmOc6|Aiz+jv#Cr> z5qk|;e|*t3HL!L@^q+rF3QLU#+(b+Th@>8m&Fi9wI|8T7g5c*)2XwHsUC?V+>z>;PFuhhIhs5erq#$h2J3N`=|K`s)m% z#k{gDwSw}98) zrAZYrWz5Qb*7Am1#=2;;4%CoFCX36C{qoImQ2fjB7qlu01Lt%5Ia4i1?FSztD&P!W z+`V+kmj;k3swJqJLBxhD=kxHRDQsYm2zf`U2Gc^?QruakYyDC^Y0@v;wSCZ46UIk; z)X^!A&PV2uk=^pg9?wm?&nO!^*HgSM9cJ|n!THtdZ!UPGw!xPgVapHabMrvFdp%mH z=#$!>S8o%Z^L4UvrZrlt=WE*PJlvBV6Tx)z5i8casfqen&{DMsCm+d$4w`55dPW)g z3}ziaXX1?ISfACyvAltplCU_$^NlZ!MXzU7HGY9X>I{fAU0n-EjT&n_nE2>vZWb`- zKHy0Q|H_93$js$)t9D*O{F5S00j6tvTDKRbsUa({*cEcj5Vvk%@zhRU#sA38RD+$< z0=lTyOC!#9e~oiGtbh}a-nxskH)*s$%rh!#A@3dqOH*ml?J>qzhS)P~3a6i$kf>F^ zb*g0K3i<$F<*0R*CKJVLj0<-liNuWdgtCKj??ZlmL39SCTOby$0c*}*H{v&cv1*{tko*f@r$)7Ni-cxmN4 zMvDf=j0zy$PL?_h5l%^O->B+dpp9zwv(EPirmb)LzF>Pv34KK?z;H%>9lkLy@o>HK zGpSvS{Lwr`-&oHJ81B}Z#uKZRrB(7+!|lslmv#=>RnEH=gp!g3R_f@w3p6nwwfPVm z+ZyK?BL`bjgH%r1EToQX^%55`QztR-}V8+7(Wnxidgm`W};-^FPn#0t(4u{4`0~##^&Dj1u1C` zu`ubf#5Fb53`k>ZPy3uOOgGx{f^rFj;2G%S?!cD|=M$7gMd~*FM z~^3Fj4_^)b?&3iQa6xRMR*5Nvv5d> zQV^D)WfHi=9^KE2m)UtxdRMk?8r!pR+rg+YIt)gHo?OfuZr>(6wV7cAh($<9sx)_z zBu|kRV?hulxJvu%39Q&Lv2 zj!*8X)|ju>D2YFsst)hF+~H`A+Nij88a_|uQA78_9VuZ1V{c-^n(yk#UcK#^w1Jg* ze|xaOz8N3c1D`*>RQjDI;WBd`ZVIOA#14D1OoSSFn+5(YHM(H|*Qc&LB4Rqc_?{iO zT*6)Z4Sd+g=n2)f#X3g^TPvfb_@gKovlQ^u7B`W^UmOeKE)@sfAm>;g)q^rD56^$5 zko(KYI=Xt1xvE6I&t{pxh(K1JRoQT@(>t4O_onNWJj^bwdS6?dfxpz{v|dCoA!UBw zR>@79Rn?0v!HEez9BBN=sL1!RR46yKpPvi}xHsd@V70Gj=&gj&Y_>1VXZ$ChPD@)J zCIaF%YU%E`FdUC`+E!p}3!?`fPQd>lrc*?OyrBDa{~tAE&(RyL$8x-EUhs2LqJ+(} zdO8wF`WElmZjek-{=k)rt)#>cW(X3)5`uu5_Xe__4t!Ezt`bk52W=2$525xG%|&!J zc*z?rFAGc*Uk~>)%C-frm9jCS5gDUT{Ga7Cf4?U7MTVHX%-Z(-gYaV~4>c1oMDpAS zjEu!?#+KJE&TPzIoFrvdna4iUWR4aW8359+Q`wOlwI) z5%X2)Szui5x9cJwxGu72I!5kian|)JM;69{*)A|AqbI3kSg3r|hv@Pqf1H8}Vhl#b zISZ)?+FdzQAGa%K^sQ3aTbstiidk%C^0}I$7i5VBdiqlByVU5+S6paYzm##Z#@1<@ zWT`}Jfdv5y0@l=Pik_2n7t4hu_-oe3lbgZ42OouXn<710Hcr$D^w%#&O&eb%Izm}4 zJ5p4~jlv^0UzD1MEI$l?CkG^bHWgr_zYF}}-FUY)`b)31(Zz`=+3oxD2l{(GISsy) zfLBp5%=5AN1uAbexyS`Vm(1FSl>U-w`o1w)L-*p%Z>PmcY9FW+ULpq2g}t_Ut+&*@ zytmh)nYdZ_^tt0NM5Pn}0aK_yp7Uh(6vi_MW7Xf*42*Yr zR4wgh0`~)G`s+=D09j#-y+C5CCCQlJT5ikv*iFQ0m89s;QmX)Hvjw$~Yh|oKj~%+= zEW8hzsNSF*D1qo*{4AhY{U_duZiBQU^U$YO6NR&s(S4n}DY~nR{Uts9CL)ntdB)5x z8ni@}KWPASnM|+{()Ox6_tx5@`i_Mwlm>oRl#;0Ex`(5lensvz4~`~0apYk&pkn4?0=|53 zChw|ZOdEauhy^~(F}^aveo{&NavxDsgF`C`Oq4Ofg)?OEj? zNcDkkuXj$$v(cS+0t=#?&E=p%u5VL^Zmk3+JKy<15t8pZ?EA~lOH14H!MOb@C1^A} zLMlcK$`u_M&3$~R1Zv!>RYdY!Q$T!gne;CT`*lv9O4_igK;fT2O| z4vF0(6*#Z*ULPKKQW1X#UZsnZEO8D0-urhrz_*W5w`0*~I&uhx#8#s4$SVvx&HKSv zjP}qq&g8gT2RaQf`P_UrQO8W#YEcBUc5w5qF?Of72*0(+1r*sj(YNT-JhkRmGCc0a z4KVTk;)47pLELeBdZo|s!+IW(>#xmxnvQrY`WQ)TiyVIX07akz*mXv(47^~Mq#>e# zx~4^v9X;$6kOm)sW`fQ5k>$I22!D9TkvH&_`GnJ-02SdiM0$is-1DCm*d%yAQN?qy zv75BI-XP2fag3i33mSBZHI|;UY;dW%ujAH#EHAd99YjxbSRiqhj~u7kM|7f zZXUt2Qsro23~W<q?U~P(hZgB%Ee<27@AzkCk7O~iNAbsQng@6CG~QXF zitDC*0ZfQc)VI^Hi=Rd}d8A;3Yd2C~qbp@3Up3Tm?V3kn{(9Dl4HH2nNQcjD=!A?) z=@AgydkN#Yha=x{Y4EEB<*E4b*~BLPEN5yJ?kZNRJz}>o=|2Z+W%{*#Sv}a}(Jwz; zJ`LNhNS&1EzxF8U2=f|{kUo*HQYnI;(G!0>sTFrIcKSsif}#T9=b9Y(^x!s0HNy$v z2-augGWP(5=8aUUL&UT;3YsZg>H$n#P=e!XxaO4C6OPDao@;zKQ7w zcmT#rENzCC0-UPa>3HGf+0l#dHdW9kv=6%G_ajqrA=?59TKk=U_#Ygn!2*C-JVex@ zv~MO)AR~y+`fnlkBd*o5UJ;kmb1KxWWmWtqr-c=|q(y47om1S^HgD5AA& zQGZI;={D-D2doAdF$h;jT7T-*pq4{aR2~uFX90R!A>4YjRw5=%>qm#mAmYf&^1$}( zQ)yPEn3MZ!*4M;7VN%x>+*P!5c9&Awp3dPg899E;8eo%^{@K^Eirzu2V;F@fb3b6mo-41x0s$)T6u;-s1|p9~ zE@RbBSG#7Tq-MSfG!%9Y@R{}okn&2IB${(k;W9II7XWx~a2|re2m7iG`VcC3!TrDP zTT$gGunQv8`@mk5J22vM*pxgD4K}2=*Kcclku+)kv32mLauKukjD0bfIs?nSeUX;f zk8EG$961#-PErID_a6}OAy#cX8*oeY4%B9a;Le{peK_RNAG_devCZh;M>0v}x~qRX zJ!u){*FW&$RAep0iLdgBuT%D{P)m&Nsh3{!e(Q(Bi>rb7>ly#uRMSQkBE1>W-~q2$ zY7@z8_oplteZJAyq1scm>QI5<&ky*7T}8oyleYlZ;kg(_*hnvX)Jgu7;rSUzqTWUO zx`a<(SN!P6 z!~r@fs7d@B^qwWtcCU;zxze~=Y1js5TpF$VS5%sjh=p8H3*B9Qf^I$-fmcCE5! z1Mjth;UwK>PWM41e`#|l9j8CW~m4^0{vH3m=BFB_Q zwGzHLdKz)y4ghiyyzYknTTu2Su{h5mpwNIZnH4aTghKPh!h3)4VL$pLeWYP{w0XMzQt2=*bi!d>}Ek!M9+h{ED@5 zj2*YOI^BEi>rRW;+H^LWH+*@p?{0&vuFIYhfwk35h+wIjWd&ofo#1<-HJyqP!FGjA6!BB$Ew2;90h3p(%fsO&c zCvN!PU2X`x%awe$Q(90M?|_=kCg5a?#{S@gA0^;bcuXlQ1E663_QYkD56y~Tfuz`V zNlBx%zE24wX<5=K48~4~gvF*nk>BADAmDBmeh~8Kzk<);|J&dj)T+|bjSWO5i}F7Z zn_413`|?p8UIWl*%KEVUfgPQXyHOSjW$D!4Pa=nhozW|+m%3)4A%&an`sX87&J&t% zrt@JvGu+JOs}pVsJe8}b&8Y&AjOZID9tLmW7Tb3}O&GG+i{2)~E;+!e1n|u!B0xa< z`xr4XO`d{@ujsjgn#&uSok_-+;4!4yx*Al@UJGJ*z z$PgMZeZV4}DR>`R7!z&vKx_BTkRzvP)l6a#2eKV4b1za)$&WAT?Nb^aM?saSkAEN` zy0_qoGL+?6n5LSRf5xe6q-p8&JF>TMZKSM`WG1Qc1UB#Ktll7Mc?1bSErrcT_JTgr5 z2`F+mQWo%f~= zF@?A2#y8RphNZNuct?GttEyg{*dNhZF2Lwd&_fA@Yq&1xxa0_DKrpa%GMsqc zRWN>?QPNRypd~X`xkwDW`TUkN+SvPWW`;*3CrjI8RqbiQ_3G^%jnmY(#@$@?_ue=q zkQzwuByaSx`_In=b&B{4H?HM@V-up zcBcUDS=9H*GT5S`6(Bwn{ny`Hkc*(a&yhq&Y_i=23wh|vwB!mR4WWeOg3j;ad;kWI zgXe3YEXgeIZ8r1O#OchR9mjBUi+=-i(BQrMXxwg=Bk)-)PKR1wfDv)0^+cx1>LR;i zZRUd`9&4ZTeV)pnERQMyMr}Ol-9x%1J$zwf^0y7*7lDy?sn0SSto6<31<6ppnuYB= zLIiz~LdR)jXC@)5%`mrWr0_mmkU>36aGZm+YJeMFMxJB-?_B`rnj-6#Hx=30hjJAyWf&^CuC!{u08-s#ADTwnVBn0{5gdc5I`UAM3x2v!6Xq^eZu0s=y4 zO7BYVAiV|w>D_{b4gz9?D82XIf`arSy%Xsr1f(QDfN*!tInVvRJI1~Dz3=n<$uGuW zjAZS#=bUSs7d^aGy^3#9!v5k(+yBdTLzSgdmYR=dtlL{dnbjvwTW7i7xuyr2AwEl-V9ix0S3 z&q6v3r6?k#m-DlXVr6L{=|6c1Q$)KR=iDHux7si#ASy^E#f!Ps4|aMQPeHUu!+^siZ2iNpm+m6IpT-jYz@&Avqj&O?lysJH$Br`B-HIVUM2ZNr zrb$J~wq}k3<0``D=b4A8qF$Jq0p88XFeE$wd2<_RuC#XCz>)_i1uTe8(tzoo?kXFL zTG`-UIo@qjPlbn7j8cF+rTTF1{<+M}9iFj3W23?pSzuB5;@4?GN(``RJW>Xwv^z+< z-CdM?7OTsFTGq=sD|n#KuYcXl>>V(E5O%#sNqMRAJf8=|-PnfJFyTHN+_}a=;I?x< zb7sH<*ZGL6oS>Qj^ar*G4R15Pd8&&f8|%px^P-9q7vnTuQfLVTP!uMk_|)NBe~=iG zJ?aM!+l2I*WXN}~<(Et*HB}YR;Ud$+Zue->Kx@T_R?ZgpuML9Mv#%gErODjm2N7G& zvhI9Er3hgM8Der@%69==>PG)IJ0dWvZnLk&>2eH@K<=7r*=5pVP^_zb{`TM4s_8gN zYqqbU`RZAG-1n0<^rlc;y5CV_rwt?el`4`+v7WT2-}iqmSu|mhY#|jS!PnoVx2)M9 z#-K$`&AQHkV&CEG$5Ak=>Yhf2E;2T{lIm0opZ1CsgaRS|r-8oba1+Ao7pTSCad7Hl zlS=y}CC~n}aop*Q@m)v!ZhMqPvTnLlwlSWbzXjj%hv?GNJ$+FNmhIVH2ET*4nl8tp zBo);x} z`fY@pXa4Bg-o8cc+?P{-rUWP#N}X9pz;G8o)4Xsg=IP8$85x6vbytIW9+wJT-@>()T?-cyrYDJmz*$OmhnmZ-dsCe&B?cn^sR1QCHKc z%evPYBHh3&L?9@gio^~CM@pK=oq;*dx|se`IZ*yxU#dSCPzuhFmuh)rthmtu#*Z1( zW9VS5w;63;KFuBz&UFX~2q|jX0H#vaev1=nG^V%65@g2K1umbZG)x|@GP>Q8k$-TV zh{Ti}tmP2*SyN(nn2ETyV6sn8D^~Hb;PgEO0|?{e&s~~b&2x~dF+s>7SRng!Ix^7# zf~Wiz*0iErEez?C&eD2Q_DT{cT!Ws>B|{9poIy45QX+dgsZJlqOU_DCauiRR{QG27 zgR=13%sx)0JbpI5Ih!*0(2}$x%(>eW{_x(C=_ThT-SBh7%RHs|%UQeC!XddBAMkr7 z3fz}cYRNu_dgb~!(MWWxhXnGww~jE=Cto8BwXf+}_0!xtsA{g@^L0rB9*aJPgs&!T z^?hHJS`avKB@|plB(daNN7z^Mym!7S(ftwq2b*AcI(ORH)Hdqxa)-G-zZO`HpWC2ClV6Qm&+ zqf!_G!TzD`R#Z#E&ZRmKy18ski%u-iJPz17ZW64Cl2nqdB8XC6oe2wOrAw!EFd;Ur zDVlu{U<eaxX-QBY-WTuXir<#9brb$h`c7wR^Gun(z7tnPm1T6FawsvUvj1zWw$3 z12=^|HIL(ci=Ke$6JyZ(_a8^-yyvd-ZZ%*JNvQc6;;)Exa(=8|9&Npsvi*s7pY(G+ z&FUNle(u(vpFMb8(HCooJgwE1REBa`-0!S!N3SzGvbt(-&5LslapUfTfK^KX!53n-}y2+OUR5}vHH@Tr@2Di_gRZK zXPh~xiu2E(dAF&a+&klqQ&qdo;3;L0h;>6AA};UxQ_`0>|2GEbz zFGNAOh(6xGp{Qu)3=qRDx`|EJE8g4o%3D+PomV z*Fk<2JnqC#5D^S?-#X}G4I8DHvqo_$-m~$U(tAnrJJ&`3l4=G2mTCjS?u_-BHE*1C z<|nDmh)vmby*f|P1q{r6GjkPELq{4a_8g65LyYt9tz{Csdf%-Wr!zEjPqGmVnlnDW z@UEbe!|C$cotgAhsV20l_(1G7dU?9cb`TO#t*7@x*G@b7n$$OL)9()-&3u(SGdjZW z1@q+8G&NenCf@|>vOB*fzWTgXP&2qX-U}A&L}o#|>hS9JdE@J@MA7GG zV+2slGt+OXZ0edV!0`US00iRfLY2W>nEQH+Q^y+Zf2CghUr$jmIhz#@x?cfC=Q8#8 z&6Myza%lNaS&4*A>BSD_RM*K9z@-8oTd5u?jP;~xHgjg`e`UWs*^HDBSozwfmvfp5Zh+OV zuW^NYDA8^Pu|PAR^uGABm)xi%eUjd>T$z-dSJJB}k7Zifgmmu(g)At1Mi32vF@l!M zul=?7<=YAMAFlBY?saT{^u&vNWf${xLQi8fXYX~G&+S_swR#4#Z_j$z55j8sTqOm3 zUKPe%=zn5SCu_n0HtiWZR)mp)Mr@Y=Q#JM*jHfsn0v4d;P9DwUN&zqQdedyO{|nt8 zpKch;`t5TP0)|KQDtk;sXW8<6qtf4vJ#*q&=`!g*DP~(t9HYCLiJQ;)nqo_tK65s3 zW$%t>;nB%jo%q<5z1p`~;BD;BV0@c2eg(a+1>&(9vYZ`q+-|N6h@5tjLY5M9LKJt! zE*{{h6KcO8mQHsEFT<0DjRg+qqj$-D30XVm(-zY~fWA77a+t^2S-dz}*4$fHf)7kN zDrt#5MF(P(M^;=OG7F+pv4H`;2!*{Fil$>__?3`CdnX7Q!GrrM+rO~=GFZ>BR+0spCX+90T2v-rYv$H{k9%+^% zPsF2B)7t%*WsH5`&YNxYx{DGX@&xShrRsIcy=~?I{)5V~r}unq%gu{rj%jzJ`w+39 z#xC0mTA8@!o6&RA(ht(m|NY>!>;$Rd?OxpPx{_yOJ-s(~4#Yj7z=^~_986%t6wABC z88hR!q=U7$-wwXCUTwX1G^q#{De_zu%>Wy=W^_<^Kw!f%#efaF(T>G0p9JqL8b2{r z<0;&}G8J_W#K62XVPDM}{rJE7+y9$$yO!%=ab4!FeBz#XhRUC5ObHA1=wQU%<jrV`m*(Ll!8G&*U1kkNA1 zF51Ob1bcMjs|ZvLHDj>?Ror0*`?-h1pOB+Jnp?jFDb+P^+arF%Q3!ji4qwb(N6pcJ zu{xFN;;LKlE*UI@1zr!CSN{xI$K zdqTU=2|CRVTj;;enI1T2NkIz}T3~~WMpL)eOJPp|WOTHv28e0DFu|PEYwUh2qEH5r zXf=0Tk{MDrlYvlBnF^2eCq0zWDJh9wV{}d{+`t;{E!~sU;RCVy;(PD&JCb|{uh*Wn z&<3HEgQfS=Z9`Z>unV&uUAt$AkQLL#T714u20@!R`h7&vi5d$s2Z4am)=$n6je@!2 zu^1sGV6?-*})V?dbeu`I^70*CFMn#jC>6VkftpH)Owl zA~x;rL}fSU-=9gw!CXKv3 zd~Ws1e?{dhSv0Ego8rFdG@t2TVy7$lXpn~2+D+s0QB}iqYfmO-8?bFGfg9d=>p1>Q z%h9yJGWFGTQG8;ihHb|(2%#=uOM=}2d58SBXZ+!&A=tCdq4vGm*H6qjzz_yxxQm@K z^~G2OD!&LecAL{w_uqH}e?5r^FA`t@ExVMvE_>Hw1 zBX=1O?qfcC*5cu8qJbZ20zg=&7F&tL2B5xcSs67}(i~^I72^3EBFAV&||6Y0-QA8&vj(O(n+YgUvhqNow9jaFOf|COee{|Stp!5{>ay2cHcdfdc zGfa^O6&AzC$J?o=y3>mUGGUIut9389fr|ATsPj>lTPC&@ytq^Xq_49B8GLl<=c%Lz z(7xHFH9N3Y*RTwfZ&$KDI^p_U|2S~jz;7QE3jsl&6?-X#l+lxVQeEI13xOB zV0pU6-g71sa6rVVWF+?dBqZQ;D8P;6v07;8bz+BekK`$Dl0JH}r1!MU(!eE@l;_=5 zF5;n!OhoJK7uTDT)rvU`;!&r-@!y-)F}s4rR;$C2LDB&Y5MixjY2m$I>Al`wpXGua z{zS?;9WOquaGP!gPiTVL>Kvz$v}ZJC`UIn`i;y4pFr=jO8nS4rt9b0q?EmfT%K2<{ zx?qo`M;K#>bsN%sQJQ}|wc1p1dEh<^F4)~k?8lWi=TEbRzta;1+Z!*Yspc~}x9h86 z428X2)JN688*az@oEv&MZHxS2R}(4T%S=H1zlASFCSG1W(U*D_6XFv% zgQPv0t#?b0;>f~QZKGo2{DfI3V#kY}VW^HiZ`b}NKr|b0WFNz- zLllPH+wIbG#!u!=!drKxWOCkMcd9Dj-mm3bE)%arUdOy-v;F@qGyb>d z(0?*zoyYIW^_-SvxEWA9O@k`ai>JtqYQ)166FAJCDWAwY70N1oeWd^Kbap}>*Cy?` zL>C9kg+ov|@d@IE17AjDt_`H7GcyMlmumncQq4-s5J> zj##3Wcm;|4op4#l)(^LIFz^R#_JyVr2j-Yx^FO5 zH5=8NPnyLt?*ypth9z8!yKAq0oE^9t$tM)l=J+an3~ON_xolfS(O|G!u6U(Bu>SHd z@BK^0v);a54ckRTaa0M|Amh(DnsthxmfuZLM51ADGNtX0c9(x-1eYxMDVGcH#b4_A zfu;I-N{L|@p22pQJIkKTs51rUn+l&HcB4oOme$H>+bn!T>!w=gq+cuv=rNq-U+JQg zY0<`MjSbaryynEj)M`aWaY-*l1qI)hrwINc=<&@I@jSu*-a*#JxIeC@J_Ul;+3*c0 zXbf5LQ6HUovJ*@4m?=BkQP*ljC1kSZgWI~y;8(6z56*6{9KIMywiohS56rX&nV*~; zC8Q-3tjciK8OeFQ_bgQ={-$YU?18e35Jbv@Ht_jfs+Bfq18)g!Ah@ts!ypvjX8x$) zm^#4o2PcU?X{GB6ol)y1YTm;K&`!pqmfr0y`xU9{;z;+?A6IuX4z?3u1Fo?Q(od-T zLMySqS0ZALA{d3YSU0{rk0z~SQz2Qn{L9|O94=^GxKI+|ozkkb>1(FGqL1wBp>c=-z>A<&O6pOQ(q> zkyJ;YqxIcYt$NkwkQIJ$*A3c5_JU){f_9;B_IoIb6O)78wVU&b)WurEJSF;V3CSYb zG<_%EB$7>d;ZpNYQzRCG>g`xLo!^;y%*ZU;M{u)Pv&JwSxOZW1t|hg{Zn}G{?4y=( z!(!d5n*PRS6oPs+wbbu(g@5syG#>Vd0`as0G`;X4j$)s3U*&_cCUx8ATxEA<{5*jOy$;zv6Di^~WUPK)K zd1n_RE#|=}#2wN;U-9CY`4U-HT?Kd6;lyfA+e*Hy@!6Ojr}W*cOv~loXHDhUmZqVJ zI+=MPCyKn`=w#ZyljbdoT(t+(&RAsXT6(l$w8Z=3?A`X!@)|6kxJPf@pzsykN>68` zB-{Q{mqAzlF2vS)nbqT~W7BK)kIz3eN4lg4?q0!!;sm->HVns;=hYq-GG8u+{Bd*K z${%6nUihUFicFDsM1TEi$LCiW*`9^szMH&p#ph1n55CmLa4N38bR*xt)L6D{C+@gl z&khkT@nM03-9bly92&YJ|9aMWs34o2=rD-OX_I7Ckk9By`2mY8Y@~_h)+~o(-Y@%M zSEg+Q!!cm@?+q5)`>X>PX2znXO?>iN<2+k$OK*t1VqL3k6I_&L@oWz^6xEZ?A3|tF zB?cKheirhBE0XV1M*nhV_&-*u#RZ z0-b<18i&8==mQlRm(gLK+b)EcHA@b7$sP&5L2H$I<8%}^o^O?TN2j%fNUb_lgXyNW zDS~a%GR+A8k~Jiwc=XLNCaqKYm>UU!Cp`}Rj+ z`#?1g3W%UneWHcp>cGcAo#s2+Is#~|24?jFHMChncBRyAaZs@i9L3sWV^5~Fk|Lpv{lvb{bow8%Up_CocFInul~ zS%24=8@xz67kQoBS3?$&E9c$eC214GbGBG70U#@D&$4TB_++} zL%#;zUuJu|su|~LH~SS@d&>S7#GoKT-~E*hjcs;1GusVIL5hgTO=*bnKioBlGtjZm z+AIpvQDxB2MbCeK506wm&GD9y?S+swVde8wUU);BoNd#qwkVnVG`8ox@!k4O`9 z5_eVSwX$;YuB-{HP?8td$<>Tnxy9{f-bl11`rZ&$O1nFy7K88($(Y&4c4lTsOw`K( ztsQv5J8TRYX8z+6_4JDh!Hv4 zT3+Pud_gJyDY&^u#T0z*1{&iCK)(lm6LtkcLzf0oDSkNr?8tD{b%V(9pkOgAS-#=D z_WhYeQTZeR3v>qmN7CVDZlx&cfj?v=j)>DARO*7r%{`sho@V!pLVlmHy2VrUgJl*MDLYL^u$-Dr$+ZIBp;xjaq}$Yfqc=(1nm?9~mG*-G>#$G^)#&Qe+4|Y? z{V4TM66>Qu1&1_*2GvBZewc|FNE2Dab*iE4`3r+IR5y~9x*aSRl zuk@kk_`_EVbG?u*2kG@ zEuwmAC--*@nyP7O?)hAueO4dl2m~Hf1P?mNbo^-!uQ(9va;ZXV2KPSDeea z76NA!#GRL#^jU^Z29xfG-v84#s+DU#`^z%I&l{ilj5D_^TuwtE z#M{n16E3B15n%sSA&NnN{BFTc9Nsd3Ed+Fq%+XNJFF5TbvZXH9 z@lG+CLc!C67wK=fI+^*VB4qv<BV;+pkv=jlnm?Q)6V(?34ev;5x z7EnB(v&?*8r~FfX&L<1&f!6W<52nXqm82UG)uCwCIPyxEJ6sC&7GOQM?u}EQp7J3X zH8~|mmPeyk*Eu^k2Uk142-0?{BoxQ;T0kGq8+OtWtEu7HE`zIms&BaHkRc7S-t^Yd zC@#41fqkUuJqvLR-w_6qkX2V8G?(5h*WwX2)PB>WxArpMz}uU2zBx-29y5m#8fv(A zgAq#w8Oh47)6$bB2ib(~^Z}Kuz)e$SkcKw>v5V3;P9%?bg!|CkEv@uoVD&-(zagL zC0WyAH0p7ZsDJd+)q-Uo0>!s-1WTD>P0Y@uqy zOSCG8ZcM6&xK*kQVhZeG@^Fnxv?X$8!oGE<)3T}<8CYGj#5-HtgdulWtnnE?86Oc$ zmvTI4T(!NL>_;tq(+{J*hXaRl&^a^>d_ z8UV;VmOgnVP&in=>r0HGyVbCl5p0bVaP>h)dN(y<>G>*LC`@O|<+>RRU}*y%R-$&j zclbQ!HZ4A-iC+BY-VF62xpiCexmkc$;QjH?YmJ(p1m8-F34c^MPqasR3+2{aXP|9U zSYqHbHMzXR2z_x%7j#WbLgYBm8eG>KKlsJx8H>!EUIsqY3tep4caCEyl&gQ=_G=d90ljq57x!Gq(fsNr-+lvgd`) zItzq9Zsm#Z89v65XusSGt&4NhhssmHQ3p5@bv`uEAhWW_Xv>iO_Z-Q$JVi z)z9jMFIzq@_F+7UaZm($lTX-Cc%t_}`m-Y*S3`bwOponKuJBbgR{b{XOLh@h8;W?UGDGF(~<_ z;`LwNZL1Fo{y9Jd;s_AKczlA(PuI0vUmOq1C^+XhP`GYfs#auvU~8vY ziNsVW!KwXHQlRyYi6X_SJeROXjyseSkHc_Sp+V@%Pk0bXWMRVD=1I0`jpZ8$u}{ka z)j&2;F`wI8oDfcNsyl}e<|}!5AkUkn(|{@HctGdwfJV>czd3QTQzx+Fne# ztbM7<+=Nd>;KBqVASJAvHMaU(Q2Xgc%wGsP#JWLq{x9*(+YHhaCoq+X#}pb6Dm!G_ zSLd(FR&JyRZ-q^pc%(sR=5Uu9%}z|jp(j6sICmzkh@!=C2BGF145!w1U_tK_drNZ> zqH^$9bm|blqW-8wnTWNck3C`Al?<*oZZ4u6jP0~}NmuOxx)zt4v9;j|^qp_Wu<@kd znu56Zi~{st^t!EK(;0MlcvIz1U%Exl&Z5lSgz(hAzRZ7SNwNk+?PMLR`wNGb?LBQ4 zoV}ma;4r%G%&^cp;z*3x__SJ{;MllY6?&%J<62F~EU4+4kPl;8&t|eQUb5G;X-j*= zr$*FdmBk2JSa6Zh*4-evoVFG$3(&$Y5VWwd--^6oY&J`5B>Qhm=YK&~5E=MvQs?;d z7onrQb@_PhiJ8K0LhchYojh6OK4_`-I+>{9?!=%mLKH!%PTOF z-{OB_iqQQm!7bmAl0bVl$92>c_-rJEm#mlPQw#rvQDi0XFEZNk zZS}ZU<&4!;$wf|h`dW$Gf$`N!vJG3gpRYV{l_l-P*Rxqb`VCsk#gcUzKEY)yT-9g6 zQ_y|J6=8SU^7+a`-ci?4t(-*bf0d%aCAV1F+}0nAvHSDHievAwzdEznL*gs!PuKp~ z9N}fcXnjHq=phG-&vbxzG?ioZa7?|Je@JRfonItLQ;z_UJnXOlAQ9P`Z-a5uOiF0QVSZl(?-G}T(Y5QGkmG?uRbS>BQPP?wb7mLrswGcg6?~A z2SM$e5@?85E&{1V(pey@&Co(%w7R0FTYP2$V?P2u^Nget-C_FU=hk!hEt5Sf^O8ej zp*Ma%ynkwJJ0ph+*L)v_R(KuYc(u9OL!jt;lp%-~tS1fpPb<-%IKatVLxA`(Yizcx zoKi}oiGRT7vRZ*d4$SYcjU?ACo?Gl5S)ty0_?yciKDLuoTqFH*0^Mn!$El1)JbSM6 zq~0?a2+;(B`9OVAYBj59PKxW>@tWf_dP8&Ucv?&&t7ZK;^gzp!VwKGK9EZLySy?q7 zz{Egf;hJhyUWGQGPMN8Mx}v5E>mpu`a<&CBB1ev@#|}wvZo)WrE*F>J-QE*!zlzpB z{q0OKgPPoheESWMw*jAfVTxhUniu$V;!TVO3PBmBcT+1e^?WwVFTU$ZUnT38FFB&~ z!$^oohOU1d@U@g|!bQ?qioY(9jw-4vCdVe#<+c@) z)yt|E-^h(z{nt>=@*M&6R`~l7*tAs%wVh_xK%ctn(Bl?HqIMi?akEPI77A5G?*sJ{ ze+zj&OXqdX=l6{wSZl2YYEwnri>M(rL!*i9^$Qqa)VPs*i_H7(l>xji0<$7*pqrWN zfNs_z+6xXFp12vG@aaGCs)G?>7de5OO+~?vVW=pNM2P`(FK>#&i9oRI(bQ>bQ2#$MI-LK>r@2vP^ud)mQYp3uWo(KUi-h zI;7MqXEV=_uU_ad94!1+%Dj5YFo?gBl%29?QlD>&!8i1&55+mU>QInfR>M(zvVw1S zZXCSGwwO7U(hJ6&Y*tczddm6zd5&b=DLuxr>1*l-sGqq6vBvH`R=^~ULg;=ixGTxT zgq$x%i%=(wp$vt~Mhv;lz(tusTC}DW*-wPL{*K0BL-I~UjalEs8wZ-^yRn(zntTz}`-@9Yn6W#X0MSrLW~U-BAKH)w&bIt=qs%+Ip7xLe{dUA1rbuclI+pN=3u z82ZpeXi5|OpuvWPkp`Y0uma)2|H&Q6#`0@JhK>E|Hb?oro;#MGWDQ^LcCHK%Xie+T zbM3aXNeo|}n}D}=QWp>L5OZ$A)teOl`ssZZ8CdINmHSHvh2LdKOB|-yO3vBDl? z*u1K(%llnmoO(y)z;)-KzypfPvqg*qcNu8ECA@q`I%jn1;QYNNT@z;hq#7e_ z-EMew)44|cqX?o;nd6(o9o+R1Zf4loMk6Wn+J|FlWq(;7Fo zx5;<_hg3Z6N9Plcpx@4QFq~h^31}32-V4q)Q3mNm%~f8P5x^mWEj?H6e0>|5vbYl8 zwOxPyfW4yjZV$BBe++TF)*Fv!>f-)pT|5 zhHOyYbpM|}=_w!(j2b@(H372 z?I{hkC;9(Fd%~6E&8QV1F6sbTw>eY*@3QhA>3yNHEW{;Sr+zFEWmky9FFDZOJquX; zIYj3m`hclHskv;I(#Z2SbAx@t$=&NZV6K2p3toF{w8-t}esEwlfJ* zGj>gm+yPQ=ROA9_Y@T%%DQ#G><#IN)?v&8XBxhrhJs!5`TEpf5RH?B}{-ATANb=C> zE4^VBGq)bnT=LguW=_R`*5}A`G~^>y$(_QGW~)ctY~rz@H@$Z41_f-?ja$0mE0v{e|J@)E~(T5b?D4v41{@N{sm+jCD zHKsfFV`be>sV2SFmc#6XnTUo-u2pZnlT_wmyar3kPNf1`t=eqlX@Pe)mEWT~Tw$N9 zXUqN1%v9dEPygWQKI4FK`&lY!HA$DDo${QK<9nmAK2z76r>|89xK>^3u{M$BNe#1; z8*^t-xI;-a1$ST>|`;yxx?HlfjI-#OK@UE0F_N&2wSo$DL% zN}?7VQ?F1*6>mcmy>@$}ou!bg4dt8H{2C5xu!eM<3O@*v$EWU(q~c?deJ&umcC+$R zJ_5j|F)ZhXMMm42XjtiMo1L+O(YmCL8T|*{uR`;P_vw^8QImwb&cOr{vUrfC4*{2* z9}`A(&LJV)*|xGUKIIN8>qPmSx1n8Xvqm*s|L_O+F-K^9jv6rCSOCK{~$ za-P2_gG2gnL64EW1<*pWgW}T2yhAbL2Bg#fvOKn*X@mL7{weOGItGN&Q{@+rH20rISx?AqicZ~<tsA)PBF2MaF%|*4X0Kjn4w$GC8Z>);|8*OwD1)!HJzfSbt3A9%Jm=8dL6LhVd+uD@x(W;6LJi z!Q)~~DLz7cKep8aibxrqu_Y84(IUq=Z8tK2)K*z7GnnhoZhk=SK=D2}5VdOKIZ7SP zHv(wba#fRp6gQ84(H{g`fP}rPmyf1nLZoBDTE#kI);Dh;d@&A> zaa+1kU4ySTpPIWSaB8A}NNTEbW0s!WLCVd?eiSKocM*R$w^l5{8hjq&opooCyjC_e z$i#>JGeP+F`L4M5i{+zep@&2NqWyHYyXTJQ7{sS9EFb{!>BP~KKuXrqmOxR}`Lw># z)<(=oy&1}58$jd23kzzsawZ}_aPSJCkD3YN*5Z12*i+;8Z4C`8H|v0N-|OnC=X>6M zp}#v%tvQ&)gO+F1Rd=CM>Bp20Zl(~!=|vJrkh7nb&qXDdHP00Va3+26tevd_a<*wh z5o_dhrAbs~+U@?qY^ahl$v%M@25GcQWxB0>yftB7@BAUa(OrNq$E5;HAR(6yH$QRh zf`a__dtE3sDK|{4D?48)^%LfkUodoh+%~4ZOE9GWhHt|mjnPvqg}t5h8&feK{T?$^ zf847gh&H*#b&^f?>*QXYtuTQ^(50G$?5v>mFZp&`+9Q^qpqQz3stmLRHgVCsK(@$B zNk`vLgm4R1A48)x^kNA5S-Q)Y!{rpFaaGV`Iqhcm{IX9e%hFHFdOpxz@yRE%2r|Tq z71gLE@%D9emqTpOVIg!$WZ0wdK`M88ViXVa$7S0P4b}@UH~1{yO6-uCEH_`h?Y{qN zRwpkRO$JX^stMHpL8Z$6@R`eqP>a^qT0lTPz`fHbz{fYh%1W zn{%Z~dnHgP)MO`B=x;9=GWhA4SuS*?QQP{I1TM7KlJN;~Crlk&*s-t^Q z4K(!w&HL**_ZUC+>1loX_!*M0eo0iRy^nTWz|)>c=iX>U1A?=ldt3Q#rpTkDB)keU z(m(M9sc}(P=w)pTAZJIZ$PbZ}(Di(eNAK@}WLE;j!(F^DZ78Fb)6oX5Ugub8F%&A4 z@s8z3!XP&uW7qh%nXHOnCOcp(o*knGX0jqh?E#8a2b~&LHe!E*g4WFO&luN5ph@Is zQzaOC+6E4}&Jr@^Eh})MYg~f}>KMAn6`RphgKyHFDbi=Z6$@ z-}LnKJW5{8plYUW%SC*o{utEhN%QG%&)t<~3kjj^AmP59aKR3Sps1tBbHpo`OWlNh zfSl%rm(cvcV)k8BWNcjr(9-2g*C0_ahAX-dcunyF{yWWZQ1H`P$k5PoG;WNE^F4XP zOFob7@XHD)+Fcxy=Z#DpU>f4l07PbZ9Cs&V7Cx(5+=Y6D*XYae)f9c=0q`lioT^#^ zlKFScPADJgt=ld=PGxL5k;!GRrMREsX3`%Xz6>oOxrN%!->7W7ABm}IywoX6Mf_K# zLaFquyVE15AH13TBmYpz`Jv#&JAf5;gk9A6X&UQJA!uX@i9=`AI04&Z2`Mm@oC}i& zkdeRB<3A}>@;moy31a(}j#wvjZ9?Yohp3sA=ctum-Jc7vm1q}sp3>$8qN9$DH`>$H z0+U~(4V#;rbhk_!l&@8xJ>-MC*nqs^QWUIhjttNddSqHthz;#L77Nr(N_w~*b~#U1 zu>tXjc`h)oa4y82`@7d=x#@2VwnLOnK7&rcoX2E5U~RX^z4Bb=&z2BxWL}J7Eve0W z%D-=`_pDiS^p<7&b$k}&34I@a@fY0T79S<+S6EBZ#?Rexz3qhV6~6kPc|P(}J8Pg0 z5`lW0qcuVoB#k;7)IglajNff<1~}kg^w+kqb>V)+16Gb;3lHYuNKE8|3$$M~=x6RF zvaeO_K;c(ASo2&2*WWw~*xSO=IQKbj6+W?U86fDkWp)s|DeS9(0(W?F-O34l2Schd-O zA$qWky#EV%6cOhKMj{-hnWX98O(oNG}BGdWM zsuou1ERU~SIllqy84Avj!+*JE4hdTE_F`h4>3OG^&)EZg%othz>-SZGCR1ihhq^t@ zKBwD`Yaf1=HcRsGt#b{%pnwc0;en~OkD!Dr@9(h2f|ozT-kbb1j(4Xh)184tff9!P zej^MLJNSpf1Rf$w?S{=p&tlg$4&t2?$C zx5fmAI17V6xo)*fwB$)Z$M>@}%2d~d3H{T;6Wis$JXfAdjkHd3V*ksHPhV6>HiHY5 z+-rlW%6j3l+7t7sy(Z=3CA+r^IG<%~B4>B?E3N5tr~{<1;6imkTz(SYZp`TAWlI!4 zikqeDV-LN4&w?wX5@(kk>ZfCfi$igdLqJ;+B+HLH zMh~XH`Ya{2kN+x@8M*+V9&#u!wpI{OsR!*MqlV&R54H`3MJ1| zkmd|`3Ok*3Vq_AgXZJXM@6%Yxn(#nKl%=I9Ev(HwYE|y1f-mHLQ@o@qREDq{f%k4jRpm;XY%At6TXxC1d2n@iR~)K9JG8puH= zAHT@6VCh>mj?HyXxxnkK_ly=4?)ZUq%>*&j#qYImnJ;cPRy6GwId5f+8oU|+|3g-i z$f7Z&_n$-cZziOLjgSC@&~+Xr&F>m)FZrwMwo5W-MHcufeBi}!hz`$#Z!UblC>@@l zmN-YErbE)1m2XyhnUnQ=k(szVuys-|S$Ra|NHIcD{cw-+d1Fg^_uJ9)YW+zo{oEbN z?5V^qxq(kWU+*lVfYRk|evh>8nM`3Eel9(FyEFYL-H~Ta88r%l zBk$cuOSAmTP8^Q}%gc73E>a0{*%iT`8+E~#$Cf)(-J4Ehnl!B3ZG{Mfmnx4!#}eEf zF&yaRxo~#DyOtki?~L4aqeZfW71ZV}o-upBBrcV9cX7D(ybKuTZf z8g7T#Yp6C6PqlVdIbZK)7{_W>9&w6A+5+#9^zcWY@kW-Z2@?E1?Y;aEC8&jaIz8>t zyNqBMJI~;d-xKDE!>-O+znUVoWew-0Xpzgy-!+muflIh+sMg~sKKv%YYFa(F=cH7N zrYQ=9Byy176K_8L_SZa`kq1o7>*Vi3Sphh?ZKe^4iNPwb zFjxmA3|bjM2sMAL$}*Vwzp8opaS@=lV}BFkVXmvS&^ogW|1*u%VbhP(@dMR}Q2>>d4 z-$WrrbJm7Ro!623ZhJFKmw~ZTT29at*q{@BzJBj=z%tbbIjh3UmDf3yU0mqm9Go#? zKX9v6PMdTudO@0s&{8#Tf!uWnY1A1nQ>`yp`Pu2V;zfopV*cYij+M~wr-oGnoa%x4 zusG_z!uOu^z5^Hb=)(8UjIJ<*{+4+_@g@L>U0j^WrjD)LM?Kv~<#`)%OT-e-9XHx) zRh`%KlR9e5xef{;7EZ>OqtrTEKK0O#cOvyuxdpb4_&X{tNKA7%fr)mWX#L)gvh351 z*Np3T0cB+V&=v+pfkk+^UAP(Y!mS~QADCE_Yfw*t&1D)LGx&VvDkR}3g$E( zCf>MhFe_7YgnAK^K;8sQfn|71?=7BFji|^tWb&7e2Og&^TT3Jk3GsWXFC1|$REZwr z9*i-DI&c@avD#_DQOjB#^NCYea1ASE)>TYJ8wCnzq45{|EEhSKvZRnYi^{~?8a^np zXt5dNijS9x+z2qe1n;=mSHY2G9)^piI$Hf)VdFQ6^yi$~PcUg0+Io0++pD>({l>CJ zVoXYWv;p;CyQfSuCcpERiECsX4F6-kv|e=mB2Y9;C*3>EY$1(l)wcunp(fG>X>-9v z4_Re;5<0wB#zV8o zb3E_kW?o!immqPu*J60KrTVNe#Gi-LI%s&0wepAn+>tZaxP+j?*Q&m1F@qh)7}hc{ z$N-Qhj|*5dM8tC5S_Ql>ezcW!6a8HbsC~bm6CvlR52ODxdWi#mv#sQSu~bfh?Yc)V z?;?UJQP*`0zKZOgTWJ{MkDsc3%w)xODTn-{SW#SvTca}Q9`W_xkE}3X^JCE!z`D#G zQDe?jHyCK!V>i8;e1*mGHDS5QoU8E>{?FFaa=SCcNHxO)7P{$<$(540lv9bx~m06aP0odwB#tgeTZ2T2SFSazmqxFR1)!DZP-i-G}1yikLfcBj>gH@=r#yrk*n9J2ElwZ6- z@PCwKKOC#HNR4F;0;=CgN1WmH`^K^mrJa*vx6YDeb?wy{8Ge)ew0POv;aD4r2d*E* zu&3Ji`VHNqzM;JG#?6uqQ-eEDtpCbOo#p6(Ym|D-aVA zQv8b*bYdcE698^f?dKWHTCY&i?KbNHfyEj@^k!C9KgX-pmM<&s6v%!Dr zIt{T*Z_{dczTG`q@NK=W&jK)01dyjwOo%FXR{Rq_kNJ#e6~j)GB+k6bMk*(_KQq-t z*^acIL30Bq{^)5z5H)+hE{EsH5wlET8m4aTAqpiGycu6q`@sur~_Pt^YnmX(zjR^C6S&_jz zQSbNva>D+y0Ky>-Cc&pzOjM;61^o5!`a7J!!O~(F(vHh%fC`TN5BAD0vh=9`4-LMtulx|Q;2`K?-wgJ-JsdRUzK`Y%YDcv3WPR#B9$m#RD_l|MCFxFVC zwf3CPd~3cn+0<{mj-aXLP|K@X@FN&!UAT>II{}VFv8A|xjIetYASovvC-7&p5JM>p zIb><5$lr~iKROt!6){)q@3fW$?`k8xzTj^y>PY^~(xhH!djAHfG^y)F#C+~xvJkPl z?roTmSwR6!P=1?%&@VASIAmVpNwfVdl4nlHd^NsBB#~}Fp~e_E@7X*YX@JK{4&8u$ z>eWQyb^5RyL?@t$%_j{A4|Q!Ums)fdpGq~jVe%3)2}O}sp3y{jF_b3^))wF8+ z*kIE74W{35Ln>^LIm%rD(zMf2+>S!Em#kzq;_T**154z-vR!ZW0@aA`vyRMwHN6oM zq`o+6D(_9_YT&E%+PAug-l-alo`#ty>6r$FB=cuzIt5ybnS@}HsgV(e?x=?`?(2+$ zgm}FSsYmx`jB`QE5$nm70q2Wog4uzH+fiW`B3?k*yO{$+>S-><^0nQx_ZK8Wg-Z8k z5u_i+)KhU;JQv5c$`!w|!W+h^W*7CcnY_i%)6?_m-7`-)6B6cP^B*dJ0l60&|@wQ$wXly_u0T{W9}Q58cn59AL{OBt1^9Lclh7>Bq>`W2>NA0M99{2M@RsZ(ZZ z-eseeU3;_Qk}^mF8YPjT0`-KdLdt*H1Qf1roSx@ie++Uz zZcCP~mtiMM0}QxGJxI?R6zP*m)XOV9_FLQNKQsjukf6#h5?od+NVolLO~q@Xu98H?pr-0GqDX3WK+>b&}C zt^FTYV^b*j_f*KOv$zz8&e&x}avZ46x-=?^fOJ_7w=}u^SLZCX=jwC?cKB{JiCuGg zuioWG9o)&-&;Md$-;jaG$9Ad()vPOj!7r)M={E2+1w?X;tD3L(qUnycj?*;R0vB_I zrAfn7V_m02X^elSR-UfSodeM*jj}#l!=4wN#LqGOcb^Nkaf2Km44bn}QPgX-n%6pn zqG1vY1PVW5yTkX0NL5qAk zAR9=aEG72x;XTEUG=ct@_5DbK(w8=IAomAtb-p>P0i=x5u5~T#fg%xlM2i0a7FflEE&?x_s6_lsf|rT zK#Qjs%^yLKY%+20x+_f2wK&pSge%j!N%>)Z`zy)(-*!mQ|V_V_KBd4QH zuIjFS8^LUv*Bv$b4XWAQ;qft~Hiu~JT1JHeBfs5E8QdT~e(S1e6t)yYiJd&b*g}V_ zUE|HUdc(0+%!#*dA!!WjF}^GO-azD?F=WId?&>dem@S=P>)LTIi+^du?@3zDlaiCi zZGJY<>dMsi)jGl2A_AsOVn&P3J<_HSZ9DvogLH#FGJ%bydQh{U0Ga_9W-f_hS5dX5 zW~v%Xu;IOqpcw7qH0<6XASP1?GY)9q+wS*#%*oKAS4`sXqV6Qd$jffEV56%JYV+rJ zi|&GC(AxD94l`A&yU`iFdUq4<_Y`g}mos+5Off3SiDMUt2YI_g4zw5zZ>{HA4WgT$ zV=MJ8U-mMK7%E8LDwe3&@`{X;a5C&HlWcFfy^j+ateL?K$Yoze*d%l6!zM_{e_G1V zw0HwuV7l(r<^^?Ekd@#6!~}(C)cC}nr~jH2kF@Pyt#jd~Tz;cCNhZI1nMe82X)oss z^(}ZbNsNVu3ZtwS=kR3{Sa`cJy&N4zLPel(i1SWoL^D%|{t<8J4* zFrHof4aY)Tl-D^f!E$!73ZVL}Pi>>vD8zNh`i3bjG~>8HBoCb_Kv?g#Ln5baM&bMg&O3)rH($~%jW81URR3dY~ydk zHPaDJG{C;pn3IaGWQRLcmpJ5U=hVS@lqtVqdxK}$G>$2@K7j_Qe4DEy80!UNO-`b^ zp^JS26~yUo>EowD)k6rNKw`4i;vBAm@WO{Spe}l{x7~0~NPvLmLHEg8r5XME0^%C` z4k9syScZ7_Yk?*0o)oaly=x>>WN}y6TPQt)rI5|=V8P!um`=(IYwtP8-8Ki+i$Yx{ znFvF9i9GeW>1GA@dNe?c3=+4x5`LIN$FGZC`2jI(lTZM#qt<#sOB!J#^gu+`>3sNGjXUd3(5+Z1plYztFpbw`j*uLS(?$?Oq*s zzvV=~!?}DzdUA9=5y2^my!_C9rQY4m3n?-^x8w?pf=)`zB_unhq>kf>tqF{Q2G!Bk zZkSoVEz!&O+EEX!TYNy>-%`Lipb{tWgV%u}zSWhE zUAJ4Bb*bX^HE@PkT(q5NL-Bh8RO@ok)cneZFy$cVVya~l#klyQ=dn}{5{TWagV5;w z#*-AlppMWpTiAXV{&K#XvpSOFcIsgKs#To&no#9=dfDm_zl;Yj?fu{3lt>TZ*u5yF z+)QC))_)9&iY3@DA8NUF0+s(HqpZ^~DX_DOs%E2!1ZPp4{oJKnT0|!n5U|?~{I={ZPg-jVPC;($Ni3bt7nPs0O1alhf%SeiVVJ7xY}v^dn~qJ4 zN9QZH@Z~*jeddorU>4J$p_to%O*V#eUoMP({Sj^ypBQL!<5?~^ z{XXzT$#{pT(ty4tl4=4^YpnMTtF(h|s{&a6r9M~rv=Nmn(Axa5B0H_kora#)n!0_7 z=Ey^@iIZeFW7cB&A`U_#kHxlVSsm+hX0Hxorxfl{7pRNNIoui74V^`AYJRt*PSKpy z4DkRF>fn>_FJE&&LzW}tmtRvr6{DA=uzUAXa{e~D!o*#rMV&C_hZ^w?t^LnItD45A zSL;Z-&<6vSSe+cUDq&8>kQV-xN27Oq&M%=9D>`dSY;|Y!hzUBq?CJTX(Fc-WeOsHC zM3Zx}>!TZ|3KvNxK!OR4a)9GPhD#>&1M2F_!Up zTDi2|_i^t2bT2zWPNh}vaC+9sG>cdsBg4k!0OG8MH~CvT;BZKbrgdG?NS1|ukN(06 zgLg@+ryg2Ql%g4zD=B7^eqdKJ)dICXrwZ?Yd|!4&XNQOtOQFjqYdu7&n4e1;KRhoOlbWQJ<>FJBDzVt)-z- zH(cvJt&?nMLncso)p%gmQNp9#uxIl1M4!my#ZXKDd?7nxl8LOH7+hFx5DBY7~~Lgn$Fvc=ZG- z)ENo_*-5TVIBDzqD8`k)IP_0N1l%11F%LIY(ozx-^AP2*VKrI=EhR#Y$ef_9qHyDz#?bfg+ptMuL$;oRCSECA;R{HLFC+5$;Hc=SAG$p1=0Du z`20II{x6j90a;_zOZRAbE9})?oyB`+Z`tysyq;HPz}g^7T+_Q>Q}0%7rNOvbK?q+b zEi`s>_@E>s&1LSLR|@`Jfoc|nPu-LDd#lLQqsfaLZgBN~HFWU^;2#4gaI1m8o)M0s`qQe7}?uCRJ! zp(xQp_OxxVl!Bqow!OE-6w7pH%2@7f?kuMC(QY^|mRcLulQ5iDF6I3lpL)RsqseHW9b5<%J?{q#G$4M%=4^$vx5_x5jjL#`ju&dcu0 zE({7FquJaAP)~C*dDfIas|YMSsYTF9ma7(=waa7hYyqSZXbI51zF=>{U4}Iipl1$h zO-QC|+JTL62870HJ28#R88YAEX@b;Y-(7G2Z8U~09_W7h?V~#Kk-f|<*Z#t5l*US# z*77yLiwIh_eFYh=>3n^v|n-CGdnA!_F$AigxqNQO8rSqja3{Mg|f?&k%;E zEHlD07GfaT9fim=6eNzJpZq|DfYPe~j`}Oiz#C$$EtVLfpz(Qbksqvh0vA%pclmZAPya`@l^yWYG|O^9FELqAaHoWEoEd6V_+bMqiB z=)~21+6J^L`A$YfsPv1kj9El&J}(8mWVOCp=Ub4E2#?@z)9+vZuN4Nnabw72X@^36 z=wsq*%AAh-AE z9I*|k`ud6y__C*+so{GW+Rt}9F_!;_cL_m3h8?b+Tb{jUX5_`N30(w#3>J zqaVC~5AW93VDIJycEj2t-LdQvN?ijGb)tMmd>-zjRv238eA)*KxwQW1Ur_>h4boN@ zBNz41Pkv4xf;d5`58_A!;hy;U(tU^eZ(LjASWYH ze+M*kYZ^q2VdfqJeLO(MAzt)3)Zau1Xm?g91CkKvy~s<%BuLAgfA58N1JU8@yIxO8ajb24^z@!f@jA|r=zhr0 zn!y-~HJi`0v1!#+`rQR8Mao~Z=@6s_eHW^(kxNyI0#o0m!-#J?9TdwjabNky#&#(9 z472zp_QU+M>~BJ3TtI5TMK)?NN@^$^kz}g?4PU_mfYdKK^z*~Z zsgPhrG|7_xiG^bt=S)YedeqwX$P247*-Wz`UhOBHfJ5prT zO&fOAg4~|5FP4&K3Eir`ag|HvwAc@3%ufVcB&}}%hd5&w$J;kB03c}FO0wGc9*-<; zRllM5F$bgLM>F$@kLZoQkqoZL4C{OT{(N|Ne12bu%-I3a8??$i!WNiR5*)I?{|R~p zgquG?fFm-kXTX|_>jJ5~}K5V2|+`Z2dCwl+~)lL6@HaP9L3fUxfbp`FdXv zVy2kBvVwNhmXhjqk%wc1!XpGYHr6Tx`0aTxbyt0=u>A%fB)008ae^=D07q-9W*=oE?cX0ig$TH&1b6x6PeM(7JQ;mkN51{iVX|#w6tkuSk zU-9RW^v1V{KI(450rW0t+AG&?7LQ4E@mvF-rvyx-JHNN&)ml)HWMFK1`qtM2dlk?o z^v;E}yt9+`y1M(QU%5|ltMFoXMYI+7Ex3hnRtBA9mgwFq!4Anl?e;fK`^$;x)4&=j zu@q|l{L?tXM24}r;@}9~|Ai9SL(_RK)g0jva1{Tbkag>3B%ab$<9S3*+u(Pj)Ek45o6Um zj5m}n{oeS+FH)qcUVB!M6&89;MWrIq~_YK>05y>4SGK*b{tBeGqy`XcIeU@HTZ9vdLQ8evIs7I zS`w%ZVy?e(sP6Ak`aeT})dXNgqbU`mvy}uVByxmYjDkI0mL`A}2>p5`*SO$}ho4#} zt;E?GyULWtYHe#l)?X%N>Icjo4)dLISKa>SvX)fx@=aDY279oXON1D33iDIV*?1FU zH(w>X1^i^IIgX55Np(Nj&mZ*1suyMb1-OKMTY&yE|8*`v(3gM}+UqnEl6KTB2xxcR z0(E0-?hm|KJnsJ<8d@iztWHtD(am{z;wkkPz?_E>&=MU5fO2MSXrOMTnVo7jC~eyfN9WROo*BOnvt3xi+ZX%rxXI4lJuKjS1U;9OP`|56YKo{au6as7Wk zN_~-Cw-KA9qb@@LIrVXohZFhU>@eOv)(-eZgCFhJ4^-cUPFp#utCXfvHzPHCwFHI{ z>U?1Fpoex;so)%XVN(^Gqc|R?sHIm(J)9_@zX{B&6?tF^jJTG-T85*X8{~s`5S->7 zZum=DbMAFBK+atCMSNF#-BaO45|SCC3Q6npkx!|+y5zeoB@ae9q~xR4XqI4G@=06= zQ4cYRAkM#>KtMz}PvlE*Vv8qUKSNIR(;asVVfUGM^w0nM_Rv3i@rHc){ba~3DU+>b zEa@7itigxc`}ZbYQ;TmVV0<6fuYNMw7^*vWNW7@AWm4cp#Pex{^~u%l(DWkzVeA98K=?M;a+dHDFKXN_$|VteIbL9!;J0XzJj^JF)-W)ajR- zq?~eRoz7{Vkmp?M9`dPCT(WUk7mx~4NT&X@AitXU=UEicwC3pZ+wWN~r5hv8pdL*F z;(}CaXIOcd+I`tu zsjqH%ky%`RFlQ>Yc+!u`<-S$Nh2O%`lpQ)pxD6THZXF@a44eD>VTc~$?%3rm4SX(6 zHmu0xI16q26}IWOTZG$l9~b7X7st4KA3*Bu>WV|D40pSOw3VS0vhM&Px?=!xU@+MI zMA*>v(XYAJ{3cWWu?wUA9WDDiGs;hPYf_bO&n?Wk%_*qijg&9>r{D5_@*9Xk zrVuNu#!SZa)4-Ou1o7JEB|1lw?a3h-u1Q{Pfein&L|^H3wy^^ z##+}Urg@==+ur8A&ZWTLntMNDrmETf!Tn|O4uwM7&vS!bK&2j8UMSXnFOPgBBdLhX zaeEYbZ^?m^s?eI(vDJ$9`xu1Nob3)eO3i1<;0U`~7GcqDS@JXC6;S$i>KUbcNA3H| zzeSmFpZksBe@0kLYhkl&tfNZhJdj$U8CuA~YulT4V~v_L-a!#g=FVx7zbS_32NB9j z3u_CkHO~XYc1%O=I)0{Otx%-OqA|KLw=3wpY3@*qn2Pbv;+YpdLYnKmbETNympu0x zkOt}L@%Z0wp>+B??-3Z>FVH3ZG?kW1!qEek5fcDMK+NAY6a^xD|xPm3|^Di za%((uRk+~np}^j9L-`vEEMI8*=RX~5j!@yivocqg>DFWtf!);YRAG)8@tKOxC#yg+ zqpz$K*wK1M4`=Edlxx55GONj&stY%^=Cx?X{5~<|OQu;)!HSBk-)|x2l8jcmQfDMm ze*!4>5!8M~eS_prtnr^En%I8C-IwH5V{VtnCiCcgQZmTpRNVx+*4{P;nRTT4 z)MfQ(bc|GGB{MwyZCJPw92^|XT6RrpeH0uiSQpEyxC3y4K2xP|Ml}GS*2f9v$39+P zVf97|`lbL`((@6IiV3A}gzEjsnJgnBo7<-8cTKC&8W9WG~iY+TvW zop7<>4O?>rZ;2-L=mI#&>!S>XHN$bz;zkdyiZ{B=^_tj=3gUl9HN z>Yrr;xK)HUo__dH&=4Q-YcGJztof&UT`SQ zz5sP84Q4lZhs$6wAI4xY7{-t=xm`bbeQ#XU+RE6?wQvwWt#F@P!T3;_yYgW1qsQ=d z44G4Zp1+gR!OW@VjN#?#_c_kfN%zH6=ECNGirUw~9;b0xXqGE4j}agILYR3U@xvd| z)pBkSi-YY@R)ag@I5y&dc{bi@tIFDul$5?q8yu>jv9fyL9;JS=ZmPGffT7#yz;fTQ zspam_rfwT{g@8{6@t+5vJ{JIxS6-U?Gi@&Ig-~KZEh+&=$bXbsAjT-=OD@~OPVMMD zf-01MX!h~)MA&C7X&A1JT#|5N$6JegNt@!MMzZ&G7TBFbLsGTPnG!j1u->i$4#59g z_s5a`{CtV%<$$zAmzQ>e)1=>59AB8oDK?<_XJGu^a{pnFMk%3{ALsijw|YzU&;It7 z^83Kxao6evs*i78EcTb5&4H29SBEi3`VS8WPMrM(IR8E>Py{4@gn|2l|8I}u4^O^6 z9^&61ck^GRk$)77(-(zL8ztfX;Rzlm(Ee8>MHGM_LMDs)o9georuzTDv?!#BD6^yV z{#W??ZQ_86pC$Bx>i$m%|0jfhsV)n8HLU zeil;tlltdp3XLcTVMpiI#4e0(s%p4$@#D-Kbz&Otu|xxXce>Z9VZQzJabcloQZ3C< zWfI9_P=Ve+oj~qV(f*fa<6KRIG&?6)n|~W^oWq#BCb>3+;Tj*OV5g6FqP;4t4OR}j zmrD3(_>xHG1K&7U&d!42p^5!mWf5%Uss1sO*78NLEU8Tvn?>$R%bwz?P;cufO3JQP z!C?1vJ_vd9ONsaoGW`wN=pNM@L6f_mr%3b$VH1h5y!ho8AGtiusGYie1-CmfoRT+~INNv3fs&13*cxsgo$XTc~8owO+B`5fd?^Zwfqo{P!!X&WL#1l(cZ{e9s|{?W`$!FQ za#>mPDF?5d4c9%fN2jcz-UldCTJppeXNYW1@6m{*lbu_Ho{8!vMJ;9N=+lsXN%n9N ztFEjzZHNf@@=MuO5WK3MNxR&=td~9TGsP)~I4-NN|BQlvK1%qPzrVFC1ikGg8&_bq zN+=b$t*otX=qALB|7Di3`3RK+*E5pZ;Mhty3nKO=o_&&I$vq&cf>;HQJdy2r<1tZl zNEjl>F{*jK|FL)IKqpL(-l!XKzDmbfU=mChG6{miYBm;3M~N2Ic}VuWwuNp?HE7$1 zqAOOmU$QT{=(IFrcYB1NeHlJf=5*kkoq8p?YNI^kCAifnxbBQjhWTcCBdaGHxPigYpzMXyjgx9A>bg`0~SZ--o7Qk?@yeu=?n3uO*r%z4? z49fE57A6%jZLS-63=Iw3mD<`o97k`lI~8r>Q~8n7FzOWfk3VrV4Cy9>O-%!v4c(vo z4?GQ3!OW(UHl(7ZgPS?r@a4*?W%+F4`qShHfBwKRLg_~R9jA@!9M=PY`qv; zUS8e(h;pGxh=Q!*o={DEwi4aNVeR(eI*ztb6B^XEO`bVzhq{WDM|C`QggqO4nj<;f zoOYa|jFmUwsOl?0cD@7>L`BUq?B@g(tAI3*);ZhQB=K_^@1ph1+C=F3&GfauOah1~ zasd!pjYplZ=XrXL%>HUJ637gkRmT z{J~<#-NpE|)L1-H@Oo@Fk~u@g!bB+3%3vthN;wYS>c>0C4U^^!g*(X=brALG4F_5R zo7Iq`{JgQ@vm@T`%N+UUS+2*fBG5%_xUt{wCk={u^qgsPbK~veVn$Axq2c_jV=inb zAScambS0%{U^Cr|Mb+twkFhGAoo(S+GuEM)OZOUmywM|9Oqn}b_#9Goe45zo*(&!3 zEW}tfSkUD%eab*##5l+&c3&JG>cX!Y?H{%oqhYu+k^Xo9J@G^JbR`|EdnDqNb|TF; zkfAD?rQZvAl48Sd-=RZ%sw`8lBzc_HjDU&_$?m#l)=T!irm{hElFt*FpW zb0b}H*2_nun$86eNDQ~0sQ9ev5Z=qSK?4YP^sLZY^ zSmV+))BTCHxEGlvzKKsBFxl-l0dA3b_%M_3q2`t73qZ`0YcQ^jufPb4FQWc{S)g$B zp_m)d+2iVJWQephiI6iZej&cA67Nvpe|?8Qqw2Fu<9bnl$4A0Hxkb&b`a@%+)28TV>&Cavep$6 zWbCbiv%MpU=bit#3$8Zw;iZ1n=-Y--^yX_x+^vxPU8$QSLkS8ehy(l0k|+2cfMxV@77&;#nk=w zvedRuD9hq}{WC&Thvbd0L34X?6Rs6$2^V|g51k&a+=3bC^vgCM_e*+i$qtX88yr*+ z@xc)vKV~+Jk(saJ=iKTH2}hhqi@#sc`MLP-*Rt`o)Tw2%uSyOc(?1T+@o$}@U7qF8 zd~Wu>h3C;p#iJjOrACld#eO?*Y3Sk-=S+7f&xZuvFzsUGj4VTU*(8{9`O*&6cvqb| z*87cd*D{hdOo|eSx(wkOSp{b>_5Pjxg_*RmcesS^x4jlfW604?(uUib^=XS6aIkvg zAMEG01Z<$zdWI5YMIN*$`%wO1Yy52@%SLFpqk8Wj;>uq^-Wgvl(lJaxF3wv;mWKw+ z2nR1PV_JO91pG_`r!{ZbaPn!UZfQ`^q z_R765Y?NzRDZY|EWEatXA*_-`mf`aqdTxXO)v1~$pOU+e$k>kR6%6FG#_Gq% zEY~XWI|OOcMWDg8Zf0%!CUxqDRToAoU_3cxdkx_a&vWh}h-A`UD$u-`M_x{ySq7sU zE1IheKWKFoc{Kl&&&%)ZIC@7abI7!W?fYRqZBDzw5WQ+Vg2{4iKJ2ujLA(Jj!mK+; zZD7*U<<2~5V+-q_6Z7u_J?lT!B@6WI{fo=iS2s9fjjRz&|7mOcMK=|KX<5u`v)<>F(Mv|qgcEp-+ujUfs5wam88*ZJCEDXD!n20GQz>m3bU|0i}qX+Q2Gnh z-aNeUnBh;7nkWNMVf&}jEpU0b7}Omk%l2th!miF)EbTdxsb4D}&Lja_(h}~l>{5ou;XL3eb})c%5pgG zuEfXFFt$l5#kawJ3kuy@YUmi|czgRH{LTyHhW9$9cv%MfAH!8=P(GzGbkT_8=+m>%VZEW7Q55JzS>@_ zHC!d=pT>9ZGB%3NjaY_}3t6EDGmrMhVgzI>Y0&&mH)m@#M(py{QtgfBCi(DEl6ghS zntI_8sEkHx^Wu(&`|v&_hO2u#qSE=QN0>ifu3w=27+{aeWk~at@BWX9(~*kJh3)d# zIbMJlivQ=KW4`@`lYjGJs5ojqtGL@Zc@?c}*wZ6F1IuYoLtf5d%drfG5?x7_U`2VB z_c5z3#UE`(-0T@&rq0ToftsU$hBE6)xuY)k8jFIox3A+fVSDtCa8g^+JkVsMUehyc zcPX7J)>>4&hHa_rNsb9W6wzzIup;q1^~HztEA^jpKAXd<&Iw?Uk0eggfT94=k^N61|x?DR&@Y zE=ueaG6(T|RKYH)vTSt_?YcAC@?o5;@}=Ax+$7D>BfDwywujOWgRFK0(suLY%5gK& zQ3CsM7i>l5p97MN3ys(FKYg5ac?`p%u{e94;91>tHA2F0Y$bRUA;Xxw;yGxqHQ(;ifWE3-MUmCxRG1);ek5gx0#DHZ5;zFA60f= z>bE*P1fPc_AmYsl)(EUsVM^@W4hm^!-f1z6mKn|H`iX$`Z> z#gT%qtVg*>3ZxAMYt%8T4!I6^E8e{C;xRrl#7&I)rL{)1pHtdjfa^!06sw1HeMihK zIAd>XdnVPVrqo-PWsU|^!xoVEdZ0}m7#`J&(LAFy?0zOYf`3$R`M_bKLpQ2!6fyP2 z=<~LuxA!|>+z)If+zlv_bXce#I2kt7Ubl)RQ3UdsZV^_x?u5nl)DihS`v%97_lR*Z zEy3Xa_(?TOcX(ncAO{$2cB_4fIs9LRk*t1V522uJ)Boob2(d!+pTFhz6#k1p&hr0$ z@K3>p;|?Kpq`WOy<7M-g`PUy>IPK}*sY)D+6RZqOi#QKCkx!L{W9 z!aQVDeiQH`tM&!n_cLx%`p2xj?{xr6iVAJbF`NZGd71>7d+sG>vqV*_-o8cjJSwI{p%t0 zi04RJLruK+qBc@as*6sRJd>r%3@@!?X?Y%|-I5+|n=2y>suLsa=JoR~2%UqU{zV!< zDfc+99J8B(%pUFRA2eM2F{bsM8qQJp@{KB!AM^SjhT$Sbw)vVDLyE2>Gy{3WNWG5d z$x=M>7keT0F^I#Y5*4Pvu{=duHHL9gu;o7VRnLPeuHejy#QC+*Bf9Lm*4j?bp~1E! z=GQctnh^i4tF4{>Ds8B>vHfCm2UCay5yBoCw@D+CS)I0G%@P~zAxtdAHcBe|?qMKW zTIy8Ig4o^3sTetV31tesQ69UI+NGMIxys;Y?2PcLBbEZ_c!8XmPeC!#i>6r?s0?R6 zZCM4-w(aGZqrAU?LT&QK!_+8Dd>R{4oc%;Vs&tG2?S(l9Dm^fi|ES; z4Iwx{Zwn-px0JWuvZ@8WfbI%SyL{}mGqRuB0d<{zOW-AkGv*$>^9a+MRr-Ye<`zZ+YrRCa_u&;jbRO(Q8k$u^Zvy?Cf4aDb zBZDgG0U%`^vFhnKql_fxZ_`7@&ZaXpz5K})^hr`(Cm*%T4a#GMw_5wK>h;;eb-umy z&t5=YAiUquMl)8CD;qJXq$KEFfAey87SIZm`84pnaa@vgu;>b`)a@Y#9UA7g2&mX# z%pfe}o|*x+Fz*Op?d*v#cH2SaqlM^XPgs1|oZd86=`}*bshBdyKmavIJ<=nQoCiZI z9XRa$2{IdvtV+{xgBA}5#?Oy#_ z&~`(!TI~T)`pn!3%cXwNXCm6fB+#TvO0tdqXg)Vr`1TxITETYHI83~-Lc_hxbXSF1O$o$`qbAV2Fu z_vv2s^Iv+9JSi|v!N2$Y3rAO5Xio<JK)#;g{ern9Ug&tZM~(E_jgH- z`db%^Xg%1FXEb=LR_ET?)#%rN&dj*X?TMy>KbT@2IOWuo01KUrTtyw8Dlp&90g1K&!1w~(%ZIlWL ze_eCoOg!a#CWWysq`UWL*t>dKX~k2z%2O`jSW+YSXyuGzkj zOo3IV-?vx8QyE^fm8al?Yw`(BhY@w2qf0DCIle8sa}rW9?dZ%@-170r;9oMGhCSy~ zKI_eQ#Z3a!3ei6z2!OlA{t}IDRV{jjB=dfya zV#RXA*L(3vVUV`T+^Lee1&@g&y7xf^UQ+$ROVyq?U!CD_7?V0hJH`Y~u~--NnK#fN z1uN#azuFZyIRL|_gek3IarCxnDHG^j2v=|n4jauxx$GPJE~By?OV>^QxlNa1ol4Cr z2~vAU?&RZ{A`$xYqKu?3e{66$d|`Cgqp07b9j-s}|AENY6A-n38!_z<3-iN6ix?=S zNfd#I$CEuAAN|M=f9@ZV7wXSpQ8txU%sC%XpIFSNqdnMA@#WVz8k#8bDulgg<|dsq zBPq8sN)^so&FAyLD$f*MdBpFyw!30p7cniSZ*4eocVL)2$U)cu%_on;KZX!gX$rAYd6E~vtd{}J5(Mziff_+Yu-U0RJoS? zG^?y4nXTu&v2OLP)@WzS2D73P(<_0#F9L@JGj*#SA>O{m5>%(M6gDdgKMFTU(8&f@ zx<8$k*G#ykEY|T(gwB5kOJ6md%uV1l_2n&HT%Nl(CT>>3^=$?8#d`_RrqAV&)E{rd zb1uEG^Blqx$oBDFubqXE9uv^8)qFiwatw1>oI`K$+2SU zSCAeBDn_vn2ci>vrG$rIR~EprHHjub8R z*4VfV6uQ+{GFK@V6`)UwXgC{l+q`*2c`MvpgR$3j$qL0(L&w!T*XGtD)kkfTIb1$o zZGjbs3+hcJ#xKnseUcVNaEN`{>rbGb>Xf+MJ1}sCRO*tAfOBO8wu*aYgsRH@wvTg0 zG>u{rPLxHN>|&gDDn{>n#Pz&r3@45j5`DAkE}4qVoepqNp;Kp_zvz>C6q0MLT^(dw z6|=0_aL=1e9m*Xk)mQ48{VSMtN6 z65*$U)vPCWyRB|BS?Px`?+`gd#t=M7$sY)bBcA_=J-RDag%oohN78vM=fl%YyVq_kD;v}b~M&`Q#CbC?hW*3)zEdBEA#ZSm8IX1$z)%@ zESuSYEYH4*?`0!?YGt`A06|StvBL~7f!Qm`3p4)LhJA%m8&{#m43*OO4G_LE$h3qy#G`|Kk20!53P=fs>N{?t>{Zer)ms zn&Lr&o~!(OZqk*7Ev=iE`}eAii<62}`%A;m8JF#r6&|n_m;_uw9^uGeFjy)pKz_8f zZq=uVfj%9-#CF|0N!TWOGlWZdFMRa;#$P`6!IS~`b~MCS}-Xplxja*Z-F_E^lU=YN7g(GVf`K0&#Zk=vRhV# z`R~_I_v~WJ@8rF9I8))H=+AV+{HDMM$7hGjZV)2VV#Zw#EsxDTZk)sSvsGO#%hOL5 zxO5JN^(UVk(6twFrPm-Ap=5ih_FRa3qN*<<>W0=@Cp_4^7&`CN<-w#7UmI$n%980Q z9K>MGmw(MNTNSX_(3sn_&KsrP|70z&;kQROA$Qszskz$DUS#AUIb_aCXW zdOVnY@7cv^PYE*0H)h!0yT#lUAM8Az;awt*l}8w=STL_s#je-CR7sn&IGKB$?%f%@{aKF^-)T^PeBBn~8*~=Eey9fqwLx}VV!(zgYwv&5jgMkO-J<*K5OH#hlob&eb!Y#@pvB-w@ z@nFg=fzV%O0X8+M?;W^*W?^Y$$tDcT-!Isrczd6);?2d%JqTf|s)Q(^w6UF;gJMQj zh^)Tm%w%`myaq<=^o4ZV(6uF-*NF#qm0S+dWe6ftP2R~aylnD9Td$V)wRXAh*yYMzR^H{C7T{M!eaqE75$sHaT94e776vBOz|AB_H!w^Il_mDNMEaMy`*2 zc==W>=F%Av6?!Q~QYmvL(F8^(+s^DV)$T^Sv*@m{?j;AoQai4fE^AG%wTMW@J$wQf zh%Xrg=v}!QmtXZbJ@siSHVPsMQ#`JrlfSYJyVpwY{IdQ5zu~lFpQF~Z^!|hF^!|-l z=KON(oMCiL(}E(b4umkq%x#=7HLGxO3JzXwhLviOHqSso^q2sRi-(tS9DxFNt+Lv9 zSWj#GxVX#9#{k{HL7KOB%b$wuIhPs)neQVe&P>2fsq0+w2B)z_UO78Bx7|fLd80v+ z?hLHKxn%cL;j7_pbRDsdw0?eb*j1B-Vxj)B2v0I8_8J8IJgk!e_U#BKM9{V@YD4g` z7xy|Z(zcPEde0b?>6l*MM1cmYaZi?_EiIU_Tu@q3dNlT4Vo$?2dbnBXmGYwRFMHIk zqnPyyOVeE;(G&rqQf<3*H7cLY*=jCJ&CM@Waz?Hts6ky((W@f6(gQ`Rc)m z-3L}4(B#@5Xq4&=j={p6>0w)P+`F*zc3;0{o@L?IYR?iZ zRK+o|ykd>c?H2ht1QFEv2R53~Bl}DoR`VhLqWZ=4yZmVt%c-=XX+se#184#~YPB5l zAr0DwRm~L)t^%F*?E14btK-;-Vq*Gn;b(-gpiV~&T1H84mDC;5i2u(lP3vC2-1wCGWQCN2DjAGyQn`Ms3A>Vy%VaU zwRrpXoY?Fk*64ns|>3?EOXc1`bQs%X+BHCMJbWeD|ET#H?LLLL}N1opu_Q>XW`!B<$-9y&Zo zO_#p0ZSqu3OkjAz6wd(_$l$iA_}#Mf_9^tvk%7|9jSQJx0^e9qf*c~XBuZWVr%k%d z{0EM!`|sSBHS^i``U{`Vt!lg>?jOXF5*6Bl-g{+V;pvcP9npin#o21IzPPC`&=6Ml z_Ow8|X~Zu*Jze=Ib!aS^@!zfDQ39y5o%>CZUz`8O+q2)<9b6H0Ay#fD+sme{vB_i% zcVa_7Af~QP*8}F&F{n}Qe`Az*4qI(zcQf-zZsH0!s5HrSqGHIW{+0I?(X~9L75DP{ zj777eVd^$!@7!L_UvF8QV#&?@aKpyBr=p+#`Jt|2q3G%>c~ryBTTJb%I<_?&{ZEaP zL>wC2{BavS@FXW+Pk9R(GZqNtFKnGqE}1(qv$!A~7B$zN`7VO8<9c&<|EOF_V+;+{ zxdLXKmsch~+_rf+%VaMu-Pr!79sB=7+FM4&p>E5fD?)?_D-bLskf1>u2^KWLA-Fri zU4zqfh(K^}9D+Lp_r|4hcjyFnf;7_D`+DuW_d5H&ciuSn?mrC10RAN3tU0S@)oh1Q zBk@29{bJb=D7^H1*W-+Go1|P>6XQ?Y%T}kqL#6D^Of%(taS#9e6~b8a6PsUX)^1rP zg`3mKM=9U6HNlrK9S8ATBV`0$jxKHbTmCh z**r**rgwpOgtL4M5!WyB#-W+u5F+%;_E@3mHe}kouPH`tI7 ze2a67irCt7>{v>%=)kyVK#LoT&SSSMbnWzgiB{XtF(Ti^iyN7qK$DKH76c6)7!T=O zk7r`Kd_uM_?pb3puC9{4rVHjWRr#r*a&#rM-&aeYRoJeFu6&V_$fJ`BD}&%VReY`lIW-cPxtI1A4l z@l2&n61`c+@a`gl_N+UV8R_gJLMvW;?>^y&U3|JwCsK=3_C}1QrqTf^U^1#9qeF9) z#kLo^Cs*S+wQ|I`rdCcTx-TRq=3mnAA_sV1J(YHqH*-ragB6?xfX)D`{+X;dfSB?+ z;5|LtVJy_%ab9DTPuo2tBZxkbuUARxY?HkAT43BHBj|H$&ZN-8-qx+yt)^-hs9fge zrc2z$seSzq<%Igb5iXJF4zKPX`~TTTDEWw7Cy)`M?hHPQ2YuP`ft2Y>`7G5$LSPtX z!eA+n$rB|UC*f+BwMQ_Ym; zHM!8b`rplc`@<{xmUvS$=`ST#BOgdA&_+WwLh?=vMhPL#<-+S0Q_~`YEVx(Ob~6lD zv%jJ47Cn%R?1{_ULGTs1s6Cnu@*l}XvJcm?hZ3)wu{yZ~bIe)t*)Upr%pp0UtZ zC5ul=QBX<|U7vK&hr3UUrlx*xz&qS@TJxMZi;V1%dvKNX>XL7NE9)wJmFqIJ+?5-R z^GmnnkF$cdkE%~+hDRKIncvBI_$O*zrT_jcH}dI7?rv&IOrijK!m)P}(!FTa_`+_d zdWK__y0vBcPvLehjvte1$9^hNF*aTXfw^bByw!K01DD%9NCX`;=+cGt!2hE73PTb^ z7_k?NeVq$!r1kEi6E%(G$vwz^iHN3iBfpltXr!j z6O%q?)i6*$V3-;{tQ|g!I^4Wlvz|FTJH^W5IpH-yaVG~=w%i`$-G^?N!}BazOJ+C- z3STwHbEsE=+cownFK7MexVff%R&3WdIhSgaVx@L*_6NsAK?fmobocrCML40?@W3@S zuG#G8%WF~_$CvU<0`!<}YPcM;kVxe-H!Aaw|Kjf;e(d`+2n9fY$( z<~;lXjjiycxJq%^9c`bk@p4#*er~GbGo0vgdNP}x`8=Ot!$b96iWV#~$K#KNJa#;} zm`#YEXpkO^zAx_kVQku!5H6h_RjD{*VT`wa>=-2bXnppcm9q@FG(>e53n(y8cBh>& ziu|j{0O(uT2BjKmlb?0lSjfpctonPvwy$SDfgK)qyKzvbn-yyZfkmcaBRlKuvQ8?@ zlM4^z5hq63aUk12GrP-z0LElegRUeBxJox;bnWe3yU~$B>hd)J$_Z_HKNWrJC#FbA zPo54~S6vPqbbp2g4{csAp_!}dh+EVVPGH;`aa=gDlTyoR;)=R&V;e|gR1_nYUW|oY zF>=idoGHLsX-;q7Sa*E4O}r$zeZ{(L5~UfD6)rjq#FvHz>o_GB-}+kcnde?}+{*@? z52+Ld2z;SV3$n|-yJrgS7mmd@E;`z(goN6R$q9tY4G&-c1uDqDK!rgldjstpodvaU zs$Yxz`Rrdq((~w>TS=rm(Z;#pqp1HUB-1_oUb*vg~K|r(plormXwi(F@cC$TGm+HKV^O?o={lOmwB61qcYD3)tv zg@EeFY0GHZvJCiTw7aT$cSQVvq(%S9mk~um2T`?(M7GoHQu{-?rRHPXFiuZ$^=MVx z>>f70uVg5dF;~9o-FxzBua2%PE|T+U9{0XdwdK2R=DWZArPi)%VQ8X9h}&CV@8qZH z`i4aX)#l^g&rmoq8B}^IZa1ZO4bni7EOtkglG%-x^z7bv_SnIMkngpw2vCI1ZFqLvKDLT-^$y?%w8PPIJTxOr|AnR zoZ{a4#Ev*|bGKSeQ85*nzSH)2^2e&?^6^(JcVFrEjWx0NXdm6@sPL=|h- zwHJ);yvgZJDJq|KZkI7JX@yE3ki=H!IW=PUtFCM;WQ|zn5n{Dl@g;dGGdqae8so#3{3{sqmbGJquDNao z=X`YHWnXU02<@c?ZFJJYOTH_K0a93C#z+MhRHlX0Z& z5*yil3{B?G*2BzN-IIXntf=Tw4p?Kt`Rn#1hKHboxeFQ*kTX*m5*zt82$t5ALq{A` zeS3`-@>agH65X+f&RuUKk+QGd!k_qRhGf_DSgf$A!uAI0x{E6upyL z9l7N?=<<2`<~=P||^xlnVvQj_BD6sn1S*qi?3ea7w7^mZhz znf7_?+*L$p`*>>)d^>jp*nMY|Py{{Gt`I!31hMk;0r zPmKw><&Jj73TWFgjX><;%EA+dnW$2Zr2`o?Bxxj!7Sq;i>#e#Z8y?yZeaDjG-1yjR zqNXM%nSrd+TAnjz@$1}Nea8{|8o`%jwsq6f1w|{9p;#-i-Qt>4FgZ|Wk6#II$`_5$ z{;XFUzD{b(QncFLA=u+2OFNZnSYv>B_RFail;MPmFpTGbuxvNxUIo%) zPojhdWTD-LmM>O+W>qUO{78bzV@T#_$|tY#tT;LXMkgI@^E<}ya@oaq{M5=DALd>v zP-1M4?3|D*k|<`)H^*(o5P>0h3x7Q(aCl_KLPn2)V``*UPH&K$$F#GjsInxTW$BlI z&&9TOH1TUltH1N>zms%L5C2PgulHD;TpBrCeTH!cx(VefS?p3hQf6J7$WGTZ(pZTmnNQ0M8 z#aPp0j{x_Zbk(uzmF}rKlM!-Hd$P|8^wZ^O9Ek7kNIx!NHTcJ6))w1QsWIIdQ3}(v zuzE)BwtLInqxIOjFS2(OHv@wvuBe@tPdZ@ZwCNIHu+(XY&x><{6ps((IXZb8L}xUt z+cT9+@J-EhctePb(@i-{ppw+2U7N}A+Uzh@tNV`Xhke4cgY`dCL zhsh%~0JI<6iwX2D+VoWyf2j_bnXi}WkmEpqSvz9tfwq#N$?w*NhhTuV@)T+}1YNFz z)_DjA2zsV`KiyJ0qE-IhT<-1d1DnzrqI(|P4I`By#n zu9aQ4UNmi|Y;}4_zTRAwdfnwvVBP4x^KlFQQKO}ne+eaLkw;$QOkNqikmy&BkMk{D5t@*ATnQ=)=RKmyk{{ zp+>E~xpk)v-`o=Q#46gP=YT^(3l1N zf*k6W*rgCw<d(v?aK$XrcG#Yxp0=w z>rKe7Q+Z&CFk>@X>c1KaycT(Ai1{c*@H*-bs4(Ym9hBf)5mt9+?e6b4?{sh$eIyvI?_~~^dake>hT8STc>`Q~18m*;kXzP4VKD5ZTR+Y3VIa~I$WE2SaU=9 z@J$^BN;^Uyqspr39@$JAb4?o=hqukvHTIaK{ZvdsxwlCcvwL252Bn>J^)8ob+gnx5 z6G7c0O+D*{k6y;z#Y_8B#};@CPuDTHqeLtZujIf8Q->&cJje`c2w8b^^(PWHOWbP= z+hX))LqLnM%X>`4@D3Ao&^t2S9I1~=ZWHga{K*^?1m$>mAqJjbo4#am@_>r z4j|UZ&Z2iml{Qhwu0m=2bu9%$EhkxyrtIHd*nfwb1#ylu_sc>mSl9xUU#D%b-@Q3H zTlTxZ$TJhT7Sy(?dlr-=XtVVP3g~t4Yr^chZ^}Kn(#`Ek%434!AEko=A}s8lOu|*Y z%CgvrS1m5Ec2l7Doj)c~{}43HkHJp?W6-eY*rtr!MvwHmC#X)7b=Tt$41BvrOq!Zy zQxU({9^GrXs>*ul8N_^=X-FG=TDBBlBQK*T9%nPQyR#l4)BugEFGX`#E=!3Y-O1QM z6MKGWNW8ad#Gn=GsiKmDp^|l4)w|3oi_^0AHW2TTea{Q8&gJZl{>nzqp%=6lJ49Ka zd|hwH$~a>gsp>>NzH*aigkG@qbRTwjUzrqFl49`B$a^=2ZmSHv1QnCI5&CLM9h3en zDF+8sj54IF;Nid{?z;W7HvAv-YQXTKQ}+`mmzm#j@+q2?o5@4jG=$%7@`v25t{$eC zP^$@Xy6EH$W48OteTb<)Bdu<@U+CS&1Q*SfTQiaz#7>IKigVqyhw46f^}mbJy4QAv zmfPx%qW;Za_qTHMKl<)@`%T)%DbKl?bczIc98-5Ki-h=B;@#zuTir5Gi)T`ArwY-T z)DS#_1didn97v*0i9HT__p)U5#mJ4G&`se76)By>6p#sso2F&pIXZ00g3t_^O;k@w zbzqu<^Nt-|F6^5qw5`Sq9lnw_eF;GV&@K`>{N1*PiomijAa*1{!X%`d*k-66EDsxU zRTe1fm7e$J*{2w&Er0DkC}sR?4^v8Ta{^+vi^+O|*QA+y8NGbrRX7ugb8t4UejD`CrDw^A1k3lF>m#m!Zy4vf=ydL`S;8l(E{2en49K(gzN>8N zxn}?AA@R=#OMKUBg^NGr`wi|quwP_+4rF<6p7BHc|HG;O41C(aQ1yGv8Yzk!#&z)t7&l=7P z=g;9mXE9Dp4luHI#urBXdmkt#*g6ORD!bykRTPIO=`m68E!-v5cTD7apB@FI2x1%> zAF;!01j0^Ik1-#|xo=Lm7ILFy0=5`0h9mk%KW|=NnF9-mrS2&_tmEsn>tWkq@t9s} zbQQm=bnmPcZcJBaxmAeRl#!vY!$<&7mH=V!-u4~{tvc)Vr^iE1>P;bHxa$nip^X6nnq|?e%e%?lv zfWp#UDT>wvZTvI+&6(g5%1zlbrKQ{ z9nK}9)x+y9Kl<0EWimvBNIIQ{@MRWS!P?k`yfhom6fLYZi|ZNCG;|CDpYMasmXg6+ z}0B}@^yCScac(%%EIZSxx)R< zWwWljx}6GUdG=EE=VL{Ullhx{vpf`Km2=e+?OO6eS@5o!7>Z|UWBv!9%^Bu3II@|($u+np}fz* zh|gSWwy;iMuFHQQpJu0>r(c~%BpBt*`ey_O?HrSt>}5>`j>wVmh5}1mDu0djIMngO zHt|!2H;2|TPPE<5_w*uwFGURR=jTjdvuWw1f_g3z>V7nG0qV#TVsmTVY@8iV@@C^M zO)AJZhHn6@`!bQS^LNSb++2#n?Dj}xol8&Zx7%?aY3@O1Yh7HHX{Na@Z&VQtDAWL# z?ovb?3?5X@FY@bdloob4s^A90(P^fZwd!B|dp2V7N(*HhM5t*u9YeWV3B|9+du$No z_5D^#B;n*-DeV+BKS2s2!7QF3?fc;zC6CvEiSgwJu*zd79tcdhl6NPUGah6V*dK=L zGYojV`}KC&J?z@`JEFM2G|b@W^A$Be>s{qyQh8<{fORR>~uWBbT zt+zkYczqP8q+CrccSkL=77Rt3ReyBs6mZLaeN0eeItHw6yWE0#QQ4Gsc}rO_^!-Nh zL0x%j@qWo}P^6Uf!61cNQj%T{Q)qM@`41)=Kqb;Yyh^=iHcJo0;t+WAKwKzkiGrX< z+oCjV;`7CH-NWwPc^)w}?n|TJ42Uzy=g~!tCplA5s$UP-tSkVL(2{Tb>;3C9V>a4P z-=uuuM)AVk%I0px#Iq$gQ|>i#bP%BYD*AEVYKl|!JJB0~K#xW&uic2}c2d3%T0qsU zzgmC@wgn6Z?Bv{-!0D}M#R@Qy-EwTiNSf5ZGOOi%&0~q)-LwHJhxV=8G?21cn#@<~ z_o4Ig2U!$fK?WyFJG`hrv#qGYRDh0Kw?@#E-D1_8W3`mAhm!i5 zN2?-nq+gN zc5{-!4m@@LUjvW4_;XcqX;Bn&Twz;HHGugt^&}_Fe$g?_uH^CH(u*eChO9lzcN$gT<*sE5@WE^qyY3xU4?No@2nA@Ir3h0?re1rigRbj-3eZcVmz78%!(m zeqGBn#x#&F281fcO8~C|7V_)$>QJJ~`9*GVrAt*5ZZd$5lrus9dgx54r_)d$j6-6~ z6QB4Nn*AXv@<_1jvt<7kVQIB0c)Gnw*M(`g3Mz$*dE-k)Z$i8+IaHm0dG%^(?kJXw zj|}9}c?o-Y^rCg|`rfVjv~=XTYY)M6u@Q$B>Eo`(jJ^6GL17*H4_Hsc8yq8L~CDKR(g za`%U;xG#?T^7TI&RYE(ryq#g*({uIWQtgK}hrLK{MyZ)Te{$tBv0TWn=CIE*-=J{U zW6f-NjDH5s$ZhUiv&Mnk+O|DJqS>C8mVM>k(i6DT@9CvKlvykPBD05Vv-=#5wV}-# z;kC>@PTJ0udh&5>j%J-*4TuX-MwrOKhIt^gA_zeS<*u?GlslfAUHBf8{;EpP-GOTt zCI-;jba1j(P3!gXOUS3oFkQVnlgtWXnwk7PuIVq%M4aQ`)fu33hV)?_R29r~NUJSzzM~U>p6eV)P#` z`ThF(wpzEU`iFwy!|mE)3+thw2%;_(wV1v3o~XcSfME4u1c_P-s@l zhJlY#MHE+i^b1jQL{Zed{Z$1#Ci|NcaOCYXeWloYQgvd_35y!5+o!jee|q)S5-pGu zZZavq$P^uDIJay)^{E=b7bPit;leHY&vIJ~xg zqhtQ{mj2@5E_}1@sH#TY(O7?d8=5&&$x(EV#4a2sUC@;ON1zBf_s*tLyfTC${F}C%yNUB+irW*0+FJH}w#LnHqUgygwZfK*Hpo|8G6x79nq}C> z9zs0M6M_4$8RTOl&Zo;F@(PiEo45Z*K3a)Hf5}b=wmSkP1VRRf=*)^l+goiHhXM8=cY2c)DuZwItBa@^^ zk7bYYz{B;6L*!`hwmJYFR9+v#{&fDG@Wpi3%}GqrjWnWIjP{kTXNm;k*P zx$X{=P_q`TY1CLAQN`QMf9Kpl04H~hKEfl&n(v2>E^WpZ!?i|zm;)i#*Am?({{uGQ zDs&AE*d_~;C8hP)F;U*L?(;pk0ZXKqtR0#RizDd7C(AQ=d9TCmKHJwDY#m0k0bxh? z1}A=?yzE1Ay_iU?A8qqNg)tw8D(_{-@S^LMF)S0VMmA?#j8p0z(_Hwv{mwq3%k^Xs z0cIJ5{n8oMS>aZNuPE&;4Vt&{{NYQhQHUXGD->F$zU%xQCE2Km>R}7Ldk~u=G(8o0 z1K0y~^;g}R_ga$m*=qi^Dw`+18*Q z#vXOp;CPL)UAXY`?@V|Q>c5gx&I>SYH5DB^MXl}E)jnC#Da_fj8061(`eOlRk_e#N zQUM}4qj&67ej$<6;&*LY??ohOG6%XUA{lPQ4o7`*>fNzY9P8Xdc%5G&>P&*$RquD5 z($5$7_5kntc$JLsN%3A9y?wI78XeetE$GVPBQvv2di*vTQ$%q^#hT`>yI3zKex{hd zrIPZw&QnIF;KMi?JodwiKcGQ^cUMu{lUL&TG)7{19RWO5%d=e55Vk5s zq;?R2L4-1J^49D6S7&DLj(3Wn3guf)U9&N^{S*A9H-Y*@Mf~!lGIL!OC%2Xn$$U08 zF%(ki7{ie1@L5>VC3xSk++|xi*)Q(Cc&Ntn=u?hfQMRX*RaNRh%jd8>>EAJRuljZQ z*VE75$G>}PxKO&kY#rD~qtDcI&9qMklK07g&%X?0*xokXy=L~m3gCP^xtB8^OxTi$ zKOB^Dx)LbeNeLa^QX?z@s!w0UX!_F`u$w~HrD%;v?txj`3wbBECiDYrMr~^Pu(sq= z+ue4J{TEM*Luo=81;qh`;%8@SM&~r0EG#Z}^WxE;F-tH`%#X|N2dale==L$D7n;W5 z;he)R+WmsXqu<@-aS-efV9481WE(q7#!c+4iOFVo{q8-l5YNpe^ug!%@l%ocNj&iC zy8%GvFAVQC;_ryQv;O4|=mWY@s)KiEBdHAWC2q_|KmN5F;J?AJjBBhY2V z#`>ht9!W2HAX!#XWu4u8+x(8#z2(>%LUOhuvZS}$>2Zu5Q4Yz(Vmp@xy}!A?vlhC^ zfDGH*%quE(st22|B|4e3e-0%dAvm#*W@7rJGye~9{ol$X@o}s=loPM?)b$3I1~0_| zg&+jjRS3zKJioajV>hwk6PW^sZL{*>3L(|-mI5}%opO`~Ug&b;={gIk1+U{!P+i4w zz0W&op@H1`cR*`Ndxcj;rz5UO@X)FhaXYI%?Xaz>P3y)>)vxclQr{A*(~JgYx1`m#2j)(hQ+ zK}++1vXTy~`yM)E_sds4@3`^vW|v0zx4aU{ej7X+o5UIM%MFl*IiKi9qjQ6bSo6FP1YRm%HP|}j?a0_VjWBlKYZsvH z_D33ofykG!@ z6aBSh%3o3Zr~hpd^aIA8&aK?fh~FyE{O2uzJybj6FuOAsQ&{F_%S-=oFCE|2|iU=t(Eq8 zfiYOh`8n3rAX23czQ`tO8JeN`a$k4!xQd!q7=LkG#F6rt>;KG{Sysop{$Vz`Y2~7r z0b*z&*RanISf|f*0_l*L`rdt?z$h=<_1SdlIZ=FByp^uraAI2gF@?nC8M{z2TiHb; z5D4Y7jWt&9&qutTqV^)VLa0u3Use`Yj+$Y;=D;_vy-!JSGZFts8E_Tq8Z&aZ5U;;K z)GnPUaH%SQ>-O!E_OYbe1EV+XW4mfeplm)MZW~5}eu9mY4!=UTbr3_!`1=qy)w%cw zkJ*}CJ0jAX-JO|uxznk&oHgKIK3)nR^q8R_>lT_)8HOwyAt3Mu(G$=*sCS1?>C)JOn?t7W( z^D0o44CoL`_6BS05CT~O7{$?CgkeypSLVe#2@P&o>s}W#YxG%guMvI?Gi#_+hMzjZ z0ou@*S%5(F@1>#CuA;g-110bNmqc+J{+$l3=KoA<|C1H+!?-uw82IB(zX^t<3O#ne z%&}rBeh+Fih=HeNAMERXwhc!bTMw~Gsa~5%^-`;T_|CaGCp7Sq)j&@KhbZLo%h69> zG*`C#xxbqOWl^dj5;8>hT_E%FHWGO49`l&u*}PH(Rls}dgxndgfU7c5G0OveC3}rP zZvQp)pZ7D6>yek-CcKko4{SV+G{M8vVb9)Y2ZFJ4>7AwEk4o26u}CkH(6{0AJC*mu z$p0_#P^9WMh6MY|X_i-f)p9|E=s*o#wKnkRtx(x2LRH&N20``mhHG`YMoS`2M*|VS zA9$JD`#pZpmF#93G;^10v<*q)f}Tq(Fe<2*aoRL0EVVv`XQ?yG^z_|*wl(?UY?_Oa z*-%O@>FDLut4#MWp6fSoK<vDG|hpJ4sY|S^>UARZvy6_o`Gz(|ZAHxgqA957AS+qD9iS-T?M1-G?7#6Bk>g;~j zIF$y~7u)hxjnSFvbjKr2vXLfbJJAZPBb5wxHXb70 z=nb~CP}FZ}fonqgFsX*|jE=pVTRaqtW59yn^XD-AHOvz^q{IMsbSTYdv9%iyiPo>=D1KnO_14Lp zBh=Mg#tC{Hb{F{TXT(wXN6}Dx{{|=B=WN`DHQENrE<(lL?^G`gQBSpFp-$Fh`Qw9j zPZ{F!F2q;ZNNYhIAQcE8OusN5Fh)&xXwstCU;noPdWT~vuK(-^;94@zPns<;0G z&;T8>@MmTTFsKPYX z0q}2~b$dScamt!clP!Q#m;`eMV$X(@F+hIMvZZ7IRaw#!H|8XRt0S+Ojju8?z{q85 z_PoN>^}w=+q1<4UGa^RORMW#-DyP;UB#80#IAn}X2k%I;BzMxRy|Tnp)0_!?&uy9a;W_fRpAo+4#;T5|7}X*9XA0(wnkbNxns z-%W19ql-CM%y^MNYlkKndfvBE69~ip?0qz*P96EBc%f+Opt}CYsj2ox6lr(NK{krv z+Ivf9?IvW~qicNF8DGq9T7{x6um~TPO9+M$s!y8!Zw(yn%%E&i-Tpo^tjd?ecR;oHI zB8ZnJikTzf{o*tG)Kso_Ptcgax+wZ!vYRR?p$?(lgKCu<?lI^Y=-=Dc6^K)lko}UxPLVQ zaS|IK90lfofJ4?c(Jcjvz?}Zn-Kld9zHD_YN?n+AW_;#Tl~Ggn23#wNSP2o?1?%!w z=WZ#;I61A_i_}&Fk@uI;&}D%DVUPjkP2EY@|Ghz$ULb3$$Qs6CCU@!X=zsF+h^<0DOk16QcVzlO zArV&3hsvk`b}@W(cD4iOgsZSIhrN&(^XiW%@1-4{EY%y|y~wr(*@ zd6pW9CC)tLd{#|OIAC+OF+k#;BD&=oZM0P4gdTXph>@}#{k}_7r@B_xUg=;M+>J;e zK(oc0`97F{Y1bV+VGdbstpH40&#$+f-(r2Xke`BG(#GdguO+YR^se=r$>GCz=2H@6 z2DRCzpphMUWi;R-E+SHP(^qL*7E{mLd5s=?m8Tw@&0}23MWe>jj%e}cTpd6Tfr34C z=_WlWyn0)pEJc8QHe|s1+-JYO>yK;MH&u=bN$UbpdAa;9#QL-tEyfN*!O5$Lr`9MM zpkohllo(j(?v+dnY`JQN4X09rtV$^pGsoRv2(R8f^1;i3br^{Da6~rb{$O+!Fkm?U z*%U;BM?{KADp^XU&HZ7lbvlLRjnvGsw%X1UT!J((4TstfF5EM~J5eLw6kvonvlR3H z^Bc?e4X+?il{C*ynaBnS8kg=%&B%?j_x*UjC^)YW$$VG;pLroPF5@r4>w$5#2rdnn zi|U>A4B@2fVu4hF*nOH z#$!uO>Ikrxz{yHXyb7OQ+l0a2PShr0pTQ=G*MD}u#itDi#B)SE|B%j4*k25|v(P=mcZL5@J6cE^t7g5U z=hMA@?IKliLmwm3i<)()q9G*&Y2og3Qg{X-B)orzOLOe^cP5l~c75a7BM?*lM(ov9 z`|)NbID-?%x&Jm!&mjc(?jGJX8v7KoL*#BWQ@B5yb@iaim2!RIwMri@sAI+h)9$GK z5e(w>{`@FHmum;A_wd6ONO0;p{z!iVmZFj_9;ua3xRjoFP0%2@hEBeK3MXAdS2+7d z9Lv*-yTGz63m5vXozj%^vaX}VW1Y0hWhW;1?2<-yTf6nrgAaQJqF2Eu$}}`4A`#K( z0J_7pn%ae%LOh3}OI5v{cCwsl8yg=25#70U!h32}s7jFBUsNwDZmc@vn|`dX4^Dxd zTaASJZHs*PKoJJDNoX z0a~CvIK+z>Nj!6(P;tZSTt(1FN76<;TDxk`<&f)j?af1KL#{Hx2<`L2rm2cJ3-|7O z-%-cm48@g2(C+;BM@lHuZpJsaiiie_8}wgq7EeQo+bg4-4ldPgke!mW5-PeyTY9f9 zyaPcaAf@*u%2J2#Rx5{$6ur;$z@8eJFoFAf&qc*Zs>|nt=t-vI+&M7~bB_14(*=1S zFr$mOJoUQgee>PDj0NXhAIYG(2cskyUe(SWUuhC;!*LO+=pqRtyV&{-`( zbF>n(CBRUkd;}o2zo9;_`P63*E)#w5Sw#>|f_jp87wl~uj#Ws3*Zr+zHjYwZadS!A zIsR?KmO>R_t&0IT%`qKes)aykoILyQcmAC=bN)e39DPh(ipxo)5R}a3BlTNccmKH5NZr) zvbav;waO-bS`pb<#Fx#@6782$o10G|hBF)BnYumF|MXujCw;~ly((UB=H350|MjnF z;=jKE`2YG96z*X+U)?3c?oO>d(Df)gC!op!Wme4jHo!5(UwLG;zW~>lG;?)QTDJu& z1zTN*tRO}$%b8XwD{&^dyxtpB#HM5S&-0cJFaiVJ6zYjDko?~?Qf56`=gnGS$BoDI zr21ZoOe5rPUstZZ?CG8zt(4W9^eV%~$be&(F871O_G;O11!T;q6I!#IUbs7hS5MPZ zg`&@|xSe4ubdr@?e^~WsXvq zr)7(rUjUT2ou1ev5k@X-HeLY3ax+)_s?bRsf6XNyP(T>{`8~ni8V<*v%>nbykgtyY zquN+YG5&gcXx?sdNZv)_xy>@?-VKZ;2z9vitsg_jeU6g$H^#M>mYEyj0D~43zf9oV zSpRkK06JU;~Rpumn<9p$egd>_P*Ir`HkH;--K-2K!-Q~8W*eam7` zIr`S%<~XDt3u9Wn6(e-J`7cy|VwJ`@ml2mdhyTh%c8@Al>p0eFO1! z_i1z~3K&XJmAzH38Z5Q-_SlDaIpegQ#p<6+6?%HE>SyF<_t`(eK%aD499!gi^%Wzu z#<$&-Oo)=DJ*`HprqQc*NdLvg%=%eCHgs4oTu!HC4l?Shblts;f8zP5AXvsGJ_Ugb zoNeCnVG3>pI!7AcQ$7cu0*@t3#voMV9^Zj)-7wcY&pXaAM@?h+VY7^S;VF zaO0!caaEhx^0>iu8asO^H=!o9aO%**boWyf9pkaloA@la@K9G zEplk$jZzmcc6OAh0b!Yx@X2l6+hQr3ChZ}7CacY^zQNcllfC5bB~0W_4P36Gm><8A zaDPy?Z^wr5Da?sh zbc#EniJc_Md-1nI?x>wHdF17`kNZ0ebN!J&7D1Te{z8ztqe7|7MKS#(_rDY8th9f! z69p;!_tNTrPq6=viyEkWSFc@0+rXj-XLdnATrf-E!+w553h%J_Va_j*8CKqLJMfyC z+xH$t`?KgY9;Y}S^xRwC;Dv$aUMm{O_PChGtYFC`DC+YwzWZN8iF2NpvCnU0Occ%> zl%HP)<7s1rPm||aH0Mroz(t_9z~E@==9q2pJl0;b${Y{lVY?W*T$psMar6hdj+jdI zMz9W8vyU+LOI0@z_*d7t2lH3%Z0@gw2w4ny%F?9nc5-dQUYs9~Vs^VeDNb~;Z(plL z?)3CNHr!j=T#kDn6n3;j%Q0l=o220NNo9E;s79|H7n=5+ZXBkqH|G(!j(okM81>rO}xi zuCEd`QeljF8T9z@iXvuEDpe3$Yt4iYCD~CaFP3W}Bjn7gZyq8=cHLKT-OVQS{q9*> zUI4p7L`q}5Bul(Q)jNi>u-t0X>tG9`Lauv22u@kB67(IspE47(YY{!t98z|i7>3$t zFa0_eD!!1rGR>n%6-smhw=h~@19q5Pko1R{07Ge|Y7toM+qj2^SK&-{i1FN(KYyBt z$TlYkr$ZfY%>)j1u0?+H$_{pZ6M16DI759iXVh@e%H#6m}N zlvZm9yT9g{vFQq6{If+ih18l(4w~BTWjsB)8^rut3qI~Gwa!^;UIFUf_f>^maAo(A z2|AMw`K`dx5Wj=7rk=*o*F*RkQ@@4F z+kN3|aO-dMlnQA^$VdJs=Q4J7#YboImsdY{+Ft=76iewUP}U1q$8FYAs7aRum(ca- z=_}ziF0!$zUp1EtGg+C20XRGqd^dXmGI776I?l1*F`27T--6q(KIzBntqP>TB2z5t zVPa4-KqhEo=pIRoy&yI8!PPM*51i+Uk3;!7=A&u(!>^fmlXfeeo^&;c85CkqkhB3o z26+G}G}5;~RNzmkJL)#obFldm4;E`9N-nrg&o&@PaNwg=;>7h^;WWP!CPff7Hl++> z1Qx6ZofT9DMm-+xZs^rzaOUJme^G_iz%Sk>F(DTbT*Xr{6}*A$4?5*(4P<{&7Cy6; zrS*T|0Q8U-q%LnL&sN?Opf&&Czy@buji2NWV{xi&m5r^E=8<#-aA+CbBdbA>^HtvI z40L;av8lA|Hl%MP`1fT^l1Fz)?~0QAN7@LG#|P(TUO;RwYw9b}$3V8vHeR2ENCPw8 z`WG-Q1f1`nBclaWN=rIoR3*M3j$FJMX-{W`3oQNd3x~i1j4h9w)gi} z^pP^!-ZZ!Q>d*ds#V8EKd(~H-z4Ifr-sY4n+G#P0u;jkk}o*Ria4B0ehKzk%*HM$oUd?PnKcUqZk`rZ zu|$9)wNixEW(RfqGZXS*%9}81a7`svMN6D&GjcKDW_hDty5gOfPrx|r_aw>bciTYo zx@X>$!(b=LhBS8Xg=m9d8Io^hvFcxXN=0xb^*?Z?lCVu5zDDA{zo?JlO{!J*oVYd- zI+UB=;7mW_N@gjAviZkfSFKez4GaehC*Z@NKkAXW}`dc=o?lyx_8stjPs*y;{! zJsu+oUOcwPG)TKPI^|+-{DBzL%iZ@mS zw zk_*>fa6Gh6fZ>7&n$kO)-cqBUqV@lf_SIoguUp%KpaLo?(xp<;(jAI)DcvAQcgK(x zA|>6R(m4{t&>+$&H8g|N&`9UN_l)Q4z0Y~S>wDkxz5Ac%@%Q-`p4ECV zE8NhF_V8~iZ8_tgb^E=aClJ~06{aXi8{P13*Zxx(4wa(DYJq%;_$O~|pqBNXxopv6 zc+#!eY#Hd*%?Q-U);eo1+yI#MO9&D@8D)Hf5PfI>!cg6-ZL;%M!^*WJ8qi=>^g@~L zVdu+@8BKw@JqYi`&ZaEv7&dW-CE`55EZyLOeZ20%yxR0YDw^avLu^EnoY~!}t?q_# zB?2n^ln$_thhsD3^9jaK(KaEhc>)Bt=p#|awo3XZ`CvQm$+H(cqocuXo5syRbbBz9 zt0836!ec`Hr-iQRS!vlckfDP zbl6s5qWpL?C!>S#g72{dWS6eY8R`06THZMor_LJ(BaSCr!bU+tamL{LOl7J& z8sPceW8PFr`=3$VIZof4zD4UHM~3dhZTvzEdkcT>&#NC~4=_A_4hHL;t3KgDGlX`| z-prpcJUA^nkKgMSF9bP~#`rK}r*>2|9wZMmvC_`a_d*F;@eDa`a;bsxA%bk+)BpSx z2Z&ph+a3HUDuZ4juPkolo!h_`0+pf7L_U~c;ymOcWBp+FoE0OLhgVQ<>KCL=a?6NM z#ovO|YhpN9lkid8<=TBXm~HkCwaTcQ@(k6Yg|l}nfj%e;0f-b#A5@$M?kFS&d-&Pah82G< zYqw?VL2Z_{k5cZ%QbaB6)Uv0YCuRW1CW(0IcV1BHBRals11n|4Qs{{jUQp$7e@^PiLUROMz`s2R>2iev>BrvA=%jh+j`875)=i&}!mw4$S zN8cdV6rxq>^p-FnvJC+n(7I6@R=V&a#PrIqT^$#IIP4}4qtE>IFJdnI{cVme)Xx^D z3l~aZ#&HS!7a2u%RjT{~^$%{aZ*^|QA7-9!*iVuT_4TqYX$L4_{1D52Mzu!$4rjF0 zAZb*r`)qVY`+`mJ!C-TTG(XE>-cuhP??{E0UB0_1mrz$j;CZxt0FcnnoIAV+tx~Dh zuU)c8F03c_KWPP;h3FY;<_}#}GKd#9u@m7$VhES94GMeZ0s{=;QoJ9|zWcplP)8YW zQ6^}b-F6Yh$r%e|AVxz`Kk-tL8BtZR%hF}gnjt38pZais&p56Y+3+;QxR5<5tJ&E- zrLhj;KDa_AZ}M`6xAW_-^MHe1nc>Xf?cIj)K8%-E2H9ZBuKX5bM*)Ox(FPK%X=>xCF6gg*=pTOyWC^M)LGO&!Ks$G7 z&om;a56yLXPhv1SS5FC84?lIjBm~xq+_NBK)m~l{2J3K`I||CU$KO`~jq$0k>RxCU zH)b8wmsW0SN8?FG?`3p<7Z?X8<=X^$&d-g-IQGW4gUy`07exl|3*(Z}*27)T4q*K&6cgM&#xY9?&AEu!^jUjQ?Qy<)=Ne9rH2a{cud@*Y^~`_f>WOJR^U(W=Ty-A z@TipDgkLj6pSEO>y&YO>BMm80HA2*FUBS|=1&aEpbDct8xB)UZ-+z3-qF_z(WB|7> z^(-J>)Q#iTH5BgZq zFbi~KAnRS8F&`y&flh>C;smg(d?9dp&9==s^09gc&F@lQBpzzE`pNhhf@KNHH3~iy z9#e#(29H4#5(_ZLbyBva6R^M~|LkIY8ZVVtJ8gOUqTUbU=;KIXRr%uw&XY&-F-iX4%#{2v^$RhZi(Td;J z=_Uhq{Zw|m>ndWWHbXVwWTwFN9F@A2Un1;YP~$MLleM-{^i`d6DZ04()Sbgye<-c& z#UT@ecnRUe+Tb{Cv;cdx^rSdf6e@$Fk)BY%UwnWi9)sp{a0F>nI$Fh8PBxz>J?v#_ z1lzz(>SfVR7_{MYQG1`sRkRKA4GKsE#dTqZUm&>2hu8Ac0x z+dnJWDubp@?Y2przA(0~gJrqJNa`cStIdbZ6*5A(MG;J%bxxVSJ6+S{wa|S+5efQ~ zh_h$R`>x6o32%v^v7r|A>ef@8-ucxq=rgbfh`jrnI3O{n- zh2OaHVv6iya&RAiheyvn>5eBDP#E3+E#x}uD;_d~mc{K#(O;}e;=^0%M^UPOk5&1k z|H-pTdei=>$`{=!z0(tw(Xl)x*Zkn(>n`2k1YG2&Ff~E@7rL^Q>3y(#Va0Cd@=GdBRZ(gU9YYE(L2KN@H!nTA1;$w5knQnIi8%Il zhoOo05}PMhgS)D6xc#j42IhjM$4>+8eQji2ZiCU6gHqXU;2}2fHqS zOG~wZFiJ};!rm}{CTW2a-|tm!Ah@!(+dJH%u4>65Q~q+?W(l=`;?}biI(sAC-OVxN zhI>S;^!-gz6T7sk$i!O3^=KRGTT7d2FyxB6m{j}X$F@^WR(zXmde4Yr3-%HnOV-AM z9{0F|)zVLA#CP!DYG_(MNu}=fR6Vj=y6oC%QIV75-t1_T?-O5fuo;zMXT;h#;UD96 zlV(8ueQ2hUILgdrdT`77R781r??&x~G>yZV?-xxr%*2Qio|8C#Tqs0iZ#t7(Gljwb zj+3cxcRl0glqv8&mmBvCe-NUX*Yi&U@`geYJwl{0suOD8x`DCp;a|8Z;OTDD`=h=I)IeASy&(c!@jw)e76 z=(i!-0@TN!Pnt^K6Kq#jPY(B0;q>TY-d(c@M462=4VO z(1$u!0&iB%JXE$uQBYPElWObFl|QXg(XKUBCbDn@5Nv2n(MNKd3L{s zNU&a270<3u-Nv=EuQ5y?sOx{9Kze~~Ap)(F3+dskA5^&}xQ*eJ@T1eZOGi| zJBjtPuVKvTuu1dT1)8?1~_ zYv*Da2y$`j_3+?*F%vicq;oW6@LjbR?kO9or%H4I_15@(&#g0^XxJ)A#=sAy);CC~|3(bzwImN5rnxf4gPtKi)VcNbK!+7Kb9Z>wutI9B3M{5ClZPkBoHExUb+TR9#Y z+q0g3>4H`66m}Vq*N)bU1_UiS!4_@VP|9(okY8`8Hm71)Y52%J2TC` z@BEtK?11y9b3!I)`KLT280uVR+84tW8#Z)e<}SY9ZFJn&zHIDTq=f(E64nLirh(_C zT2>k<#-a|>onrzU_}33}v@vYm*cJr-)Fh%^NA<`VoZa$o|EO)Uptcz&g4!kpMLPns zk@}%!8O*=2p}T=wx1Z8@bHp!unqwk$T<^c|6^-j#+IecWt)n~OeL#~ z5iAPw8yyug(wSrghbtZFAARwxcF=ocN}1ZfGjnk3*9TCIX^uw@QWi?l7aVIOe!3*u z4KfIUGc%b2+KahgpjxQKOK9sK<3@3>P;J171K5OZSOW@r_*zN3D(4%O;+`JYY<@G_ z8DUy_7-`FYuf(EtFxOb8RK|r)dWC30uC#XJ=NKuk-?R+Qn(o%jK39^l$6F;%(NUj| zyh4Sc@e0!CPpsFFDU9ZGBksg&^sGgPNM^#cDSE<9w9*{Dm7Y)0sgSqufm1E(Qo3K@ z%nv!J=%`z*o#-C5&_Jz}dgr&BV58(18d|>ZYG(Y21`lP$YI+)i?2an2gte*?SAE{c zvR<2HBF05De&W?Vb5(#URDM|G!aC5M8N2>Y=5!$f&{_lQoB3+NVu=Ps1Bwt{dNWAJkJxraBvU2~F zU@x()@4Y$3xzMb;^<(o{qB^sq_!g7P8e-IzGZcG@xoJ$;yYZ1{!W82OMPvVTwhbf) zF(Lp>uqE}A*58ILYJ)e|Sm%RrdZQ!@0f}B$A>GiI53sV84nnrKMmh~`Y7K5l9ljMiKKM3t*|+-vIQI;-;XcYLq)Z1<)j>a4EpRdukhNw+vIb&OqTZ zui+s_e|79zz?7|iJB6H?BfqH*S0yF;oAe%07}V%~rJcaG(qFYCmp5g_xy!_meL%dY1iYp^d-=G67P$v6ioJteyNn#fV?wAX3H?T&+Kk9&4vwAYY20OdMy+G>fio5q zt+{qOqfXp0O9r^}_hf(>=z8n-BQ&$CJ#(oxe88N3WXY4=@^1IHj3rk=S&H$b06Qq` zb>?qiwUKRZG95H_o(5NcS>X2=b#ky({_(pg=}&SnqRMz=#f3;RUV{kkoksUz4ylb> za!kK=jxXq?g)~>9tNqbn{WVo>`tJL+HF;d)J6T`K49*v|Tn9Jzdff^0Z?AUib}@h=g+2iS@SRMeWP8R^3Y*yc$Ja z7i4ouw?!ne!-``(`CUCb?bV96Pp1qEDlKiMLuRN45u;?a{dro7#5Ubp`VqBxrp1eO z!rUAs227x9X>wZz8C^}YYRpZXj@*M6X-}`)%nM4@ORoAK-L9RW!FpavRXgIAf{uQ% ze-;p>J?b}7x)c@>-T^iC4HgYJQ)%zYx`%V?7yJ^+EaWr+qH(A8>)jwX>{Qw;BJRo= zThvu5#jyQCZ8ffTv%1_fesC^kJ(aA#)P83_M@8o4^*osrP@`ly|5>BV|Ef_b`kOGn z>}o{Rgfg~PMvQsojY-uh23CuP5j%dxl|z`sZHP)MiK2J!%MTY9ind6jd^Q~`#+3Yu zZA;MtuTn>?&kyGo{akal+)bve>?!w7tD;beI+Gk7ao$)Z(6zP8VD8xt?O*pb=LyH3 zK(7k>=PZ9({NDn4vnoO7Q4wKU>pF*8#fvD*$$)2SThBr(g_kT7I`k8e%-&II_U2W5 zk4jb{79O1}`;XhDMG-LNo2h5rRSbQN(;jEqgCfH@u-Wle1og%O-(X(+%ye1p#$!79 zxLk6wm00LSHpfA^+_}py33HQ$tR3!aiF#liiw!M;f>h_$si~bIG<~efI-s4XrkU~s zq{=nsvzrBx`P*`HhfW5Ia$J6~Q#MZzbi5f{$fy)x&tW}_pjWQq#l-YgnV1DE)k0TQ z9lldI;yr3}vJ5D_P@duJA!dM=*1mJqw|(U=0XL7Bn(*KfO4#%pUD!EVH^ypn*j(4g z9HcgHL9(gRyyqX#_8lUzmAsl}jP{JCOv))1*H77eb_ZhFU0(`esfle-AbI(C+=jW| z_@f;t5baxz#~Tp=AFX&--+y0QJ*PvE!hUx(cR*KDCjq(|hZvi1BnosjVliv0DWkTm z4Ry0r%)Kd=%;$4m?(sV-T@|0!ZSaC0l$qkEV?pUwSRR>hCOEYgpBBm1(=ONZNmq_Ag=G_&cn14oj0REEU%K z)V2tm{6FOox^KN69^SFL8^K`7ezp@KL}Mnl0taU?BQdrQj$r(FhA{JldT;}eb;vHQY}=KEq)Z8fo|F54 zcl=zi)VP}N*B@#|nMvv5zKU%5JjNC&c`8zw)8y}ciQ5(&f9|u)s`f+;6DKE72_BOc zGc3sD;I4`)u;#SCE)UP$lz^=K@|V{_nAdfW!nzP4#=W&e{glQq@Y??-}-yz z5})hDZ4b8Xww{o)?<+(o$^1=x0Fc*X?w- zbdv7AxrBXAI_t~kOzRq{U`iVQ;3K#|@3q^Lwo%B+8Q{~m{rA-rmb}9D<1@esOVqfw ze0x^sOZ!NEUKrMhJkJ#+$CbAi#lZf2;;$6f3?20x*UnjWcU`Nifbx!VtJTVz%-=_) zOA|M$AcxBhA-f_cgsml9Gnw_NL%38CV!=`!&w*nQ!5e7kz(%(#=GT;iT4E~*Xj#*VUz?@|fCqig{U3onU5 zRC7!KNN*={-tDZ&eRz;W2cp_b^QUP@z zKYuTRL#EHPb#-YodXh|cezaPI&c0tG`888Ubi+>%`&Q0}wG(dZ)eH#=Mp z5Y*QHK~R4xoqsM{=-M0v*#S&0;cQ$4KqaA2_TjJ;znaJ_XYky;kQJwc9CJXMCtVY-xoapk-+~O z+%EYEN5j9<;(;JBp~5PKVDiI?c=I8b!o^of0RgK_Mv`Zb#q80iS@qE8dZ!0%GXe_w zXP)c3ok6clIaw(N)Cieg%@t@>*H|S@1jc-!UYTH{GrJrUZ?R+sS$F(mJDYeH)jOyb zBqt~fIxczFEfw|cTv86cxEZ^-%<2BlS*wI`yDVABBuu96qF9@k1UcWzembhJS8tvY zkA{}^M#P?+Lso~Ji@NnrIas30Y7b6Qu*vnkUM6S{?(!+k3gq{8WNZ3S} zg#DDzG2nwuvA$Cg!qt?2M6v;F3Tw}+8VBfuH<>bWwJ*15lZ8s-7B`$%9}Z>Y#;)2*En zp|4%q=a&AIJYDQS9WR)UyY}eI(?Vs=&`1#)o3qrPzKh2&&|Zx?`DEg?e=#d7Uo^_> z%*`_6@Wu~W#5GD$obg(&9TfBGae;JN8GLfAk~+8S78V-ZFWOehdI~t$>(`vbQY@nQhRVd+Wl+sK}!37a+T#Ty+V z^-8vKw%RqA&wTt6{LBGI55D|V!L|4SECuI^OifmG?#uv7+Vc44`Z_75i-P*FZQP3e zt#C1Id%3xQa$%!w%NJvQrH+-XUi^)t2fYr}fGV0Fx9{ls{f3Z$H>8W?ak>%#cteZ{ z!4*c9YpD6RV&pD=X7+DH?{T1=6=eULVYR>br8(@k(Q6?*J-M@eu?TVf$K%SNzdJ8@-sSDWZGr2%w_{C_W9cU4;1t-kpAuB@WZXp z5pNS05^cXWO?%H4I8hoD5M;~O9fc2mmRK&-)d?i^4R7*H{jm$cl2^*TryTT_0}Hu> z%A9(pEcN3p4r`ao_nGQFaq4_~4kBEZZ1g@FmK6UwN=Q4r3AYM$WOTadknaq?o78Fg zuvkSxium5ZUBLOM%iZA+^m57Ei>zQWK(#b4%@~4?O-KLvF=!)7@z!qu6T=?5MaavC zPVL?!qd=}UukeK}z@x%Lpf5@u!XndP!u`E~_!;6!>g}eg)(c>DU9hp04rs5aMv!E05 zuG+rngoQSInWp!@jy~OWOmMu||I$Py3(KsjxYUNo7kO7*J1o9}Slv_9_V_qD3ZG&p z?enQ6c~y4iox7Q~wTyHW#89p8hH@0fev~~{aIx%Op9@uE;HfKNB+0#3`{d-^H#9qpe#WD!38Ac0ajWIdPI zR%vMaQi?j-r+qI*DAiwni|!}YNXPX~210*6i;AUKTKJoK+0v zIw;ppuE|KCGt^f>)6lrKlir>e{@iUB@LnQN0k!5d$|L+eCBm<2mt4s4Bt;3ull;Qx zr&^|be^!c7)j|)1+Hua2;a_w>_Hwk z1Bj5r!+V@+U+O7T_L2@{FeT&wCUGAw5%9XD@u*K3TJym+ThKG7lBM413=Zf#HJX66 zZIK1c+d$*#+r*#=jcHC@0d2jgKi5_}o@nL8nv27tt-1d=F;GRl^$jaDN(}cjtKp9w z8`tv1o`>TEJ1yg_J`q&PF~lL0c!qyr~b7~b91zUN*TSzQ>&>WU>@Vl03Pdo9TVga@^i zL}S$3-OCXSOQ$1>LW%QS2z~z~aO$bu|6~OE2p{!aI_@hPtbJsU>T@SA;9!N(%IPCb z{6@?mR8qlcFL={xor*zy>lz8Xsz`KzuP+Y$E)8s< z^A}!Sdz-jkp1P7<@{Q3FUqS7|X7D*9b9^h-9TQ3c#CYm!O4kQ*5;$aLf2W+rrHRBEOv48!d$InwB!*om*>2&dh=PqkKnm;{vwDLjX9zS|liHB?`0Q zj|=cgZ9`}YDezDo(mY6JRjRX`O71!uL6*#&HBuzQ#c7#+G$r%kOe!ntJagTyS{BHS z14bmcFTtJD?lzu4vOdkyFC5}D9Di&i!8<`c=_tXnef)wN3J7mN)ek>gmL`VYAwCq_ zu&LkD@ZN?5K!PW-9_2PaJ6^dn(i#SWe9f)XbWN)CbQ8+|vClX9Bz}L1C%pTc!H(c{ zT*rFu1geV+Jfl9msjus~I~kPy2|-aRDEw@CoLkr40J5jEHtFACQ)3^&Z`gELnBem0 zH*CV3uz!b5#TeL>?r?$BOB-c6MuzQ82J5STg=$Rl7>#Kc*mDh}-d&~=Tz~1D+eHyJ zZT5M0gwIQ9?(j?qP2o06<0oQoinNn;v@wFNr%by6ey1&eGAfBd7~L~0rLC84_C+zi zss?i$WsnA;9f z@0jjxwXSe7w`oo@#-;En8-A6K!q939O`qizc}`1Vo^S;If=mx&$?ELMcvR{Am1QIp z){AqP46bsA?kDQ6rqD8v>cxFYWhvg~p%&#-qbPjx@PMe-O;c1${Ip2PQ|Hh`U8eAn z;9%Uq4)fFnNb_wciLOpSc-)D;WEQ4$NOFoC7HcwiZbK_#D+GsSGR=)*icb6%!Po9NEGgu*4$&*it=ig9F> zXRUxBp{rtQl_x{9-g;w_6=)ij&0Gm~p^gd`oIMQfTd$ELKFHXba>)!y>lrF<^xQ=} za?=am@Z>${JcI6n*4Y~lT4xtZ#J!ISfDh6TUK;iOiQ$8e{rB~5V)&p$S_~f)tMNzc zyn<<+KY-SGYvte{e31CR@Ikw4bzh;pNEVkW=}!R*S@W9Y6e|OIOHE&Q?LP=uIc4eF z)~;W%MA~UPnfh~raQDE3d&uO+aaDh6fpm{qA;w&WqYdKU6cF=o3J5Utx&J}|>0n2h z@FgJr&StNBvkpNkrJSb8>SYQR%KF=bs@u5Hq|6?k**qGxX4CqMR-;<^%tle4DVCY} zsk)+Tx?s8fC6wrfb*uB&qEkoGK%LFZZIXZPoQ7jMpV@cy*}moSeVcqiH;JOY54nB8 z1?H=dJ@QWi-TUyJdOQ%5{n^Az8b{UM6O$x2-!e$3v7qUwC%SiBu)v*5qY%T_%H+kv zKdc;Ox^tZ_fPzc8X4dyDTqvrm9`wCaqXHm_9|E58-;hgj&k9A{%ZRDGyDPT@S)0Z- zir(taaCx{Ys*XY1XY*z_$3Bcc;#4zj{6Z5l`&2)eYMCd}NnM!~fA2c1!_n9`a^0qW z^eqgMufS?iZ&=oRLStLMaRfERm4?9r^#6)!(adGhByE>!s`aTn7!~wtz`?TWOY0HJ zmn(atwvGyzpc;zSU+CL#90hq?kP|SPFd8jso+=)QQ!g79&Ad_n9| zZ~V@gp7oZa5@o>i)`<%1L5BDJmNcurCrV|21YdZSB#?G&hf=O%A9;)F1o{>8_u+V` zeD%y~*U8epR(X17`#-R}n-5FA30p@v4aL5nq+X{GuX$m(j`G2XVq7Y> z%B2^-)n~*V8hB+mQi92ndq781j@L#$q$ET>2yi&lUKu_A#b%&s|4ffolzTA0Ah~O< zrLn>m$ot#DddptA+r!7Vz5?1*I9Xmvn*c<$`=M8r%klUkO-a2-L3)PaQWIGxwLPB^ z!GUgDF?UQEEqUIFwbT)=7RB)cJ8XJt28}tS+SUYk2hBuFTVp}%8!A+v z&>K=IJYYE!liTKS%j;mdf1%-Bzz4%a8&4_sXv7OmK);u$mzvrRZLl=chYuhcwK43Y zt0Jd-vP|m-&2q>1*J+fRZ+6_nKvTHnQ1-A%7ubLD z>yv5~H_ToZ)1o%RDny2?!Sa@ls1kNS-8^8|%x7=Zn~3Dk2@|V#$_Fv7lGN7G1&l|n zn^0<@n7!=&)lGPDp#c+dh-VU%`PG z9|-Jra*;Jo3D~qD^mUtg1uV;pi5>wF9ms`=Xp#RuqOV(r(Q3R!PovkA(GE< z_I&4`JlnHk`di3^1h=dle{n~MHYT8&z9Z@q{gHIHw)i7r9{ zi<~MA__hMNnV?fdlMdo6Kc79dO#u_nDWuF=L=PXwDv6SDJmzC$|L~zNSaRuUjxq}; zSg}ipH8hUcW2bu?11`)<8@_3wi#xvf&916hYge+M902V;y(+Zf;jA-UJL=@ViDIBV zxP=5Y+g2=>Bm}$xN#z3i+yHWz_7GWlbrF7D4)v%4-Fz(coh7xhF%_V=I8 zUVG%Rt76Q9IkF2^X023f=qpE2(h7F%zZ5PpO{_l6@NP}?xYorhb;`lO!i@zNv<+Pq^qaQ#Kt?`{oXa0W@e?Y`^1<#vF%U} zSM)u9Wv{bB&ph1-H+!1K4#a8A2Y2S(V0uN8*kTaXU0pMu`56wkc@pfTCA?_>!l>OK zh>fv5aqO*_vZ;3HJVcK^(gQ%0oCqKbA+f_ediaYQ*!ehu5^~vQ{%NF`d5**_ZO$c( zWew`>2ToRCS@QvQ>{aEohz_!6#e!y%zsbmb!_!s&I$&2DJon%de?@u_H^0^mam1_I zO)@#S?%k$kDsj*oVpznn-`p^6|GP)5fu;4L+5yjq2>C@7vrSRwS&K2p?B8l9IK`M_ z#z-Gv{}G9|t_L|iN|tB+qi_6QrCg_AN#Kb=aGaH$ArpW(o#VJNmNa!f;)8b;36M*| zf^8j3R^JK{mu@VH>=3eU#!MBNx+W>-w2jc~yjl=${54Wc_qxQt`Hybf+28Fs@9Iyg**MFgNP<5yF8p{oKY zX&V%#-Lot%pg(BLXGmgI*f6tXM^$?48Fj6-|AxPgr1Nw-Np!Rs8HeYj!0lBpZh<)z zwdOw$q`xeTW$*9jP$%i$2uigoB=TGGuv|sm3_{F^xr{~tzp8_%F;G92A{4UoTMNbo za^+t*0>3+alECEAApw&=o!P+i*ZIW^-Qh|x3B6vSupX>#P2`R&@MHH=S-YQgM>yyl zsLOVJxdr~8`ni=B0Q5#i!TeKec?KN>vhp2up~Vz1bM4%4L+xq~`(!t~F9Uf1padwC zy~F9wq35oeO)V>=ztg9f?4t#+T83e=Tm1;}Hs{^&4`?o8*G?_SJ!f$cj_`vGc?0iw z;Rj!R+fo)^kvqC(vEhR;ybA)rh}T6{%Q95ou)QV6&~*Hmg&IKB-{S$kjXqpg0T}S< zT?40{JPXb+ffL(v$5pqdZGkqefZyBidCFU|HKBbtkJ0aczt#ZdQW+c1Kom{v?8fwo z`JYV=l-|Fb|0>~)U-^Xi;h!KMLDp85#XSqJ+9#W{KpwSroM)P)a!=2lI za@7|EZ_vo6dhh>E7Z)gkW5hqtc-%rPvKU7oPPffTy^t+q63{+hw*7(qQ5EK4=oEQWYMw>;?Y$ z@|)R0%?42o;eoFDnw96mz%^np;^E96F)p-IF62#$1GM$W%jOfy7D0f?*ceH9UZDgb zcVL$E)DM=uniWv>oxL}k28&n_fvy8H2H`usxqWe#k>^ikGG~q+)Tb6%m(`uf*w^!u zP{#o|X_zFycNS#7vfK^Tc~Wcd#)2gac4su18@ePQ_Tc<-1h2jGBFtqal~6>DuoM8vB8b;LI1iotqCyaoeLERMT*tVasRBQ=|~N(-(tl4wb8!S^hw0n3C<8=dG~w z4sn{xR$g-t82$U0A>M=Q!0H=aQeJK>!7)2=Lx?mUl z7%1Q*Z;W!njWA}LA4a`G45YT4-*4c?F7$;=Yx79iYEGOSeCRW)M062N319;cp)3ac zp(H%|* zOWczKn~Fq+lbzDy-U3H)w1vJ-1LKNtAuHfc%snSxYn4ZKgT_bjI)h^`(y=&8NB!{? zGcyUJB;to195H}li0RRKHHax?#soO7Ve@Mo+0Hldz%M`+<<1JCOR&QEc^Cl>hOET{ zQ#f1*aWxFPtBy-{S%t3@{)X$5SfdhZ>BJ!i(p0=y4%L|ES!dM@y+a6o$zL6{rq_(d z1Zr0>5_bVy5@Zu0#`8_%fC`Spc1@;}i21ifU9mxb#?Gy~L2}P16h!`3W$kz)sl2V= zefVKtEmeevsP$@2PhMCTb$_F@xNoNn(CUm#Ca5o>7Y?DmPaA4i?pSXYYtJ|s>{qdD zJ;Z*1S^OR`u0V$O>Js)%ys!N(*OE;!!G0B2@G6RG>RT_n_46>U=)tepf0TWvv`c0J zqwaXb_+KUae>ek^U38sXDgWE9S2a3k(KN&V$3 zsT^;W^bVT6N)k_>Lmo#jl(5(8r3>w3zOh|n z8D%hV@OUBB{qBwK7jDMdNt#&TBaU~f9|wVByV!t}RQ5#3MP)@34>6`c3_P&c!w<#? zo@_SZUypFRTDjq1a|Fgj7Nf^$KPt=mFXz}iC;f{^1U}CEOP~Y_#{(~$N*0(s_}9M! zzdxK*l3Amxxvk8qahLkJ02g0S$uRft28G8Y?{TWPEB@Z@ur%!M9OHmh0^E6HwhqO{ zCSWy~I+Lc1Azwtfc^bO$_g<1~{M#n4q21f!v)n{>ZPIn~NUD(`Vg{Eafx zrOD_LfpSwo!K$U|(;2>&WqO%HEu!5Ua#uwsXYPB%Qmy8j`!bTa@7hkVCtMEsPGRoI zSTTD-MaYHtp=JaH=H>tMr-%N|3u!>sbbUbl=ZF9NgxQKqhr)vFD&8!(UJ-cxT+ge; zZWH`lU|jnmDfm7-r}vM4@y{>)m+$gFer%aU$Kcq;d$QY~RY(`NCiKC%U{FNR<(-Yj zlGu|aNE`e9#biNqD~3dc@!i$7ufPGTF-flhBH}UAGhCcokJy^TyB`tbVX{s?s0^Fq zCA)5|V5F$#G*9%OKNXHrV5xqSaO#qe%qJjLKnzjw21WH@N~Dk4gZPC9w39rpyBuFt zafod@XtzUG>~FZf`L(z!ai5{OoSIot`aWr|Pr`>sL1A3%aJ_h~dhw6;@WJJQ<&RU< zXlib5ek+FB6;WFfU#$ZCH6;|?Wz2UCbj3CscriYG5Ezf0yV&=!;FW7`OL{zyI*0>t z^XhS2%p05+#?V_?yK$d9l+ieY*DRVCyvn&nx;p1w%-!o8?`1N}${BPHS10-CF6e{C z_*=TEu|f1#|E$Z9mpfX0;JJ4VhIu*vSI4K1}sHrk@ z?ulWGwm*$zeg0n(^{e|$0R}jk8P*K{cQE|NPc-l~_BLmD4RF%Q3$`?F33mABx~c*Y16M3^F%)ORg1or0n34@{*Hd zey%?r=}XKbEt|~a{o|2pfJZ7Rl5PQc@+lko7$Rm#3LP|(VI;UFk1_ra8sRdXC_v~Q z-pg<5hd0RkR~*~uOGu2DY00#`i;n+nBdwwpWKg@zTF`7APIS|}`)&D5KJ0qqRbx%p za%4(gg@`$g$9Vt!9*dobW2(2{S#lqYcBMs-?SaU5BAZT%# zS2q0A5}Gf*J~;waD&VK{Ey;Zu(vH*~774RyOg1EYL*cJ1Emogmyr&IDGJ-xLGv zGsVBYISio#pSxaNnzSm(W;=30ciVy5k{*r1F4r?2E zxM}4k2O744g`AdZeoh!| z=*?~&w;s;k&(suPD8ssi0rNy>^|1QB8BX$v7m%4Bxck)Q&|F+;(PC^$<=daL&Qe>`KQnO{`QBj5%I=irC-N#k4h&u0ZYmPnV?ai zWSrsGgaU;!`eQ2kBx>C$sE55?L-UBo8MqrWyd4jLyU_zTcL}KO1$c^s1V#Es<^Vy` z`#n+n{dmdl%+e4`DbYVM`2fr(>T-6Rvu92G_p$C00G9gta44obm0t^?BE^jfhM(`)tKz{9^E0 zwxAQp?WbiUmGPtT#p$sU^r0*zNfkY3?Z7S@4@O2R$SL)m4Or3c#QIdh?(X#^9O& z#tsb2TK?KNf9=bq3+vl0M!A0r5a{6m=+g&f8@q*SpD8d1hQMxrt<%@ll_AVHZd4?lTri%ASI}2JX2p_RrTLd@V6mE$9 z!(&&Wgb$Kbmbf{ciPG#-a33M9IP>wi4|Lv$A0_4TYeBt@W%08HAgVd?y)zCdXn&Z% zf%Q6{C2z>ca~gMD;y7#bfhcjKW0f)pK*yblR^$((E!;)uNAn?Q0%=MBw4RL>_bv+2 zvKb5sk1JY8qIbe*&{1gP5cY5tz3=TWv8gX#eTiW}C=<|Zx_7{2Qy>-~KCa)3Y9Yej zXZP#|Vno*(MPs`g@L_>2N`e@Is2~QT&*rtM?+`cMnNn>`JOJ-O*QPs0!jP>=7t{2x zul9igMrCk#x9)Q#xpIp^*>h&Il|)7UrG>W|Qki}`?P;`80;#7+psFH_7RMP_&3lD1 zq9is>zW_z$5*8HyuK6S_ofm9lc(U%&VP2vD-BoO7;4T_=xC*$CefneyOrQ$+{GMt4 zT?CbgO|A=$wDjF+3-s8Vib`0k-CPE@oxbwRo}hVQoR5gHx`v|}2)MU&ATH0uIA?nE zxF`_=(M?@hCz>21C%b~%xBKHe{wlTK?!3n-tp1y7o8Rvy(AbGG3Rraqg`9K%m7rj| zo?G0wJ$!nEs%(%Ur&&w6<>$Ym>C!qCsiLzKOo%~*ZVOj){Q*LWPS9+Wj_b>-5NO6f8I*!EN2osc7Ff3qbo1SGfi@;IGz?F zz|5B=sM-(P-)5hgKKOAIsW5|_{N>Exd~HrVC_K24HK7;%J{HwKYE%to2$el5r&xiB zXu~{--K4b#t|%C5&QG~QbPYHPV{y$3&5heL@epMXlbXOZL>Jg2f*C80W_TfleJ$&@ z$tK5*TZLkD&yX&Wbw8&r5NgPYox<#D__@Y(7GQoKsWN2jF7gHR^YR zxr!RvrCOLIuHH!k1m%ROJ#d|X|1-2Hhi>sh*G?NT9%A;HND049n9J-!%pE*b*S=!F ztehr-?I^6}5Z+#s;hH6i|G3E(8)P4^;;vzV*Vt2;(T{yU98`c>ZBrY$dl{DgRGkh` zcwDlaeZV71o{yxj>t8$q8i9LwbH zdP*;Z+kw|nCSm~qb9z8jr{2c6JuM?hPwYbe8Wgz279{sIS<&{t!1jNl|Njx({p0g~ z(0$EX-RI8zKdilVR26EwExtwAf`~{-3P?%|h)5&d-K~^>6Ei;KQ9msRQ z)Dty6sd(k$aeFfv6ZnuM7&q8NvbIv{%Dg4XCmL*WbcRn7%CsYjGS8_PI$4kSf98Ha z>%6YL)m}2BTwB4M2%P4n5RRf?NYskO6x=8r`Sq@9Lu1oZSlULTWaIK%^Ao_c%?)9X zF69f~+99T}zb*(kt=E=btSb^oIvG}vHwf(JMW&LJ45)z23Ys0HKbRk)SoO(!T;m7# zN*KD;QF;kBwjP3gml?nogMAkS*mptKSnKS7!|PqZEbmsem+iKXdRi_(1J^Vxs#pxO zgXV)xEpop7J)ItV-g8rk;I>rQf#8z=2W8)|k~?m81LiB4t1d)+Z+Y~=0uRh{R}$%F zQ%WYP*skX;gsqq`TjeZD1Ne zUkJ&y1WUY90P^3NQ*+i(g@fJ6qo`rhbG0pX##Vu~puE(Bsxc z#D8a38N(oXUUBn?;Hp5{(n%LBCuEj41`Q<5!4RF%M3h^5h6MBDQ2`z zUwnAf>)dc}mq?51?w9tMY8?1Glv_bQ z=LTDmdE2GS#``FwD}l|&VWHuaf(K>3vWI5zeL&GqFwn60Qq?q8I)RWOdOKf)n0$vT zBBY%45$GO1D*U*Qhw3PpZOP0_)lpNW@GKO29@i*&wcsYT5|kid2K4IQKyYo9tZDG# z&Q03sI9e=IsZ9(kJ-l+`(?{4mQUk#NBoH!T{n$VPaWxoJ{`46NKnonwb7J~0e(-z$ z+QN-um+T(Vmr`$rspxuF?7js8Y~^XhnFU(_$`vi>i;7lq-6&!}`K{o7-}iB#8)VbK zeu!pSNUWiIh8n?mT%W`xJ`!uA2P?^-pN^v<$fLsqD>$9{z#HM#Zc!jY^MDw+Q1aZx z{I5WoB%ExZPcu{CGj#K^>e1|Y`#Q z>>21b&^@*lldd~3J;rwFZh&@lu&Ep-!Axj_%|EUm^Q)rUmSY@0tmqD{(xaB2n`w{2 ziCWlkP4>JxBz${T2oKdQgzp5W9+}MjWb67YkUXsVmoknLFGI#|F z#sfXqfUMH0pXphS(~UKxfh@A%i!(rvE$^K6S&BQk=N9C6q_W#MDjJ?w(E$a1qt{kL zv^`i^Nw%vSG?)FO!Spo(s^c*|ouL0JJpbA6eQ@{f{>Tf2XDNdF>0gY8*r!HLi}_u) z;iYM-HXyhXBSrc;0E5is%TGdkv)Xi!OsH_RCWk2!PMhHdNv|{VjfAs(`}%PjqY<;T zr$61PCmsn!znd_tQiDfY4C*-vl2Ol>l*wweonrKRE>?$OStxY1NrY=F7`LgyTMR`~ zzKzP&Dm_f_9CnEBT(1Me7QByvz5YYgweDp$TgJ1#c&ir-8+y;c#O0qT5``=!q3F-6 z7Q>+3N?gRoCg@3T^`ABY%FpK4tVVJ{4E5G5>k?~kn1|cek6j6nnTeyQo}lbLT3=sa zEAaBj01}Sz`%$X{5s*9sCa_#GqytrLW{XF>k^DNnlWMgEeGw~yk0G|&Fqa&To$oHD zT(|OO>5RNS_w=^wQva68jVfRQB=)IA+-pNUXN`vZ*o&8Lm-{R?w)snscP;BRUp~12 zN5~OgU#amP0up#VA#Je%|JGK>#_Ek1u$(sCF^|&Bd!D6|8`K|BT6Y1Kx+O;ZM9dmWiuak3Y6@621lpz1tcb$mn1ZtO}?$}`#H*NUOzCwe-RN;HSE%qi#_ z+NSaZVvW);`X8X5z#W8UO;w`35-OH|_4I?y0EYj;9YFL0IIrb!8nA*IVgFzSe|Yr% zBs)-pL|5wy!xvB|T;}G^axAkTwO?X@y-$?j7P9kb1&JB2R!cv3X2i07HbF6qcv*t` z%+qYE9U{lEwFe)D0V>*s$6&pTmg7H=KH*|is%A^pfVV6J1Ly4l4H;7)@ZDuKFdf#~uG!)&KkEO)D3nJki z-h_3>d=2?8Y@we-wV{~I%sx^4HMe=t7^_U-#@d%>yDwVa@FIa8)6k%XL0$ujL^h@* zUJ4~#+pX>Js1mkjcNO!pzyd9RG`&^&$$+y?VWWvlul%jF4i@;htd|;PyNrKWSq%^5 zg8eTa76zIHhOr8>>5Ly}I^K=y{Pq__{PGviKL$CCHOIbkfEsY>q@Mu9g}dmK?Bro- zQ_^@qy2Gx>4r);W;`6pOqU=HFi3OXi`5n$61G<=A@5X+r{?_>?Tcif)S~!yv2ic?C z3)He%jq@_js&1@_*RQ8s*B@K#SUrzYlw1OqT+GS#e$YYRP?*Db?dnEL73zHR{ib@X zTS?HV@;KQhMP04DrpyNI1zH9CdTJNRMgL7Nw7B1S7HFxbW^U+5>`8R? zVlFab;`?KsiR!oM5R>glmv@hsUPjkiuPR2zfnenrkKQ^h*I;tUz7+j z@CGNX|NkH7PEeeptj6v=A+!h9lZSab+#$NDXV$M3{O3_TiRyjQMWN2tJSUtmw<&G^ z61Ke>k;jqs;J>11H`*BKXZYU}D`^*WqeolEEzvH z^Xs6v$v$$bgNu(WB0kT^!Pz6;I3LJxc1drc0OXr>9X0p4xG>x=cgfI*Bs_movoJ(~ zAqEY2`z5d52&R4py~BrO)H?5nyIBo`bC27JYWxHD%mB=FeDV-pdHKGcEDkJo)SCmX zg*DcfXbdFGrIaNHNU?1j4=GlVTRmPsSSe)GV=mIYV!3GP$0m{5>8A;^OPVdeiUEU< zWznzo$uBP|g;MLu?(Y{hU3=V!_ZPT_fY+!)8b{C{jik42W={VuSS7+}00NAzF2?8K zkuT`b%wqB*wMR5MOLhzBAmN_x$|b$)uM-cOgOUet&c3`v@x}#Em}0%OE{!vxnpcki zQi}1c54txdK9WA- zh)IZSAHKg9&QfCfLe*oz8{}NBVRk!8Q-P&3-y53_k5%Is8)#qFO1fO$TT@R%Tp`Kp zWrb^qKI5kB0~ZXygIX0R0o`)J0Ula1A)>L^?peY+f}TfG&zb}nF|@V52m=%vdl)xP zrs=|$ffbjJ5zKTrHbubr$pX&;nOViaOox}FW!O$MSd*yh0A@NCfyF|1-+90L= z15;=Z>zKOZc7++58Q!{gTwe3O;V_@Mq* zF5-?FaLj{V1aOSsTgL1Uij+}rUOEVhY@h)9O|pBeBkUfZzsvs#-S{_1(q{KBLVSvc z;(AI!IqHM3qV6DkzGf6oXgyfW)WTX}gQ4#aj3NiM@_6 z{6e#i<#iI%um#WokN7Zbb{j+W5;Mkl9Gti)Rp`KylBq}{2Tn0tan{ZofTCFlee*>J zeeeh79Ctt8$X&U^?=`kkPD3h^j8(uW2V^}5p!_<>5{B5;1Cu0r=nESlSeLcFAd&2r zQSSuqWvT^ciSlg9 zJ~>fQ*D|NE=zdYF!=0{|{C*V#I#|P|n%WFzTUa>w1gsM*bM8U9HnrkpHOx2E(xd19 zzPKsVl)B988b; z-ycN&Yo20NXh`fUK`JF$;sNxy(|Tr}hT8aAXNew@H|u=KBu}eQ_!n3fJ)Dz|>Gbmu z%%jxVeB{rgo`ZM(u7Ffu7jX(~Yl~m5TENCi*bHkVbUitJHG4hdKZ!i$)RxPz-m(hb z!MrE88b~iV3hQzt=OkV-eDEsm9Sjtzz8`;eY(H44O3=^bk+C zmmb+41V00sXk@6WqS)}?8;BGyb(rHlH3<&O@6aO0|D9`J{70^JsyBCn>gi*BiTsmm zF+oSrwPsv3jcxM$Cl>rV6o0k%dF-@67t*N^sp{xpJU(93C1VQuc*V4Dw@gUm%@%`K z1Tw3tNI0xR0_^R?>beKw$z#1IChV<~rdq6Ps$8&XS@sD9P|P%zs5dGKb=T?*roC2@8l$=ESeZ zLGT4;ARCY;I9tCd>OR;dlwU20IPWXD$f}ddNqn?|^#fot0pl8)ge)T@J`Vdp@Yi4D zeYDc%DM6V5>U{dj!JLdxl80$-1mG9w!HED~S*i^jBdBDkRZTW8+;upr&wUFem@9uK zY=jh~%drzY5SP($!L28Aa+|eP?@yyPFF$)_fM0w1$PrZg&C0({`^K4xxpg4aF}27* ztVKwg?*O@^V$8C?pf1%PsuNX~5^{S&!EF97ja$D|eZ%XfrgfYFExWKs< z$jdd_0R|nArrDV5IELEFw;^#W=}v)vA(&$vQOADgb}7bRm5}{(0{IfEFUE@PL<}#{ zHPA#pz^J_DdSSp)i%rrDMBkovBDJRGT`E%%K!?+fGT`0eLQ$l+NfJv_=4u`mW9ZF^ ztYWT}7gKsw%EzRa_M=+79btYj7P{URIfabCT13%0^cKOq~ud{SN#t#zOyr=P~cUGcOZ=mgrsJ zM+^CD~6e!#$SO^)XXfYAWbuc=OS>FM`mNth?`I-dl8Rj`q zJMC&Z8)6}+CdF6(X=KlOgr$1!j4480&fJp=Q_dPsj*uS;ft} zGf4E&-j?gEg8?-$NRPEECi0x&YP#R!#MvUcKekOTA!wg>yth3zx&6|>c8{s6Ancn7 z4EL>1N5u4I#gFY(mDne}?7lD6?xBnQ+s zH9V1*Ftb^9;$X7YId+_s$m77pMJe+igOrbUnVWVM+ zqz2Xy9p~b86EwwuhLsQV!#Ne(d+25~kmWa|r4#r85S_dDl$H;0TCFskd0Z;f%eg0p=&5Hb~#SZ?3*CxIJ%1Mh{h9SR?G&Q^2_U=pXn_)iLzA}Jp@5` zjDe5=zxMhs-xyG%^QLeoxpiGkX5Y<06Ltyr4575uevkUmP3Thg+E0D1Tf8+6Eh*~`dqafrW0@C8v^V0Sd6qZL zu79^NU_vr`5E?hqg7$3>f9sem=K0%b&*{mK(P(;G45G0o5WhQr2~!WF%~RJqnk_REImkcwQnNfw(sVQn9Oda z0?7C;$_t2iIrhNnndBq}2*{+SHy3_3l05{}X^(vaPQ49)i<4zw;2R$Zf${GS@*>lcLHnl0(vY`N}{Sajkh(+4ZHABFK@AYCVW;6HXvU( zl03yJMoP`aUjQsICIktCslFqLbb+=uO^hS;VE@%kUU&Hj}VN0MiL#-#Qti_6xPKLFn zf|w?>v5hFrC2yZvY|fienl90VJPD;WNU__P_BRB+C_4T)AptdD&k1-Ar~r^#Tl>i7 zVkN3}6$|c7f4bVo8GH{zN(MSLzrKF67@@1k2ioSS1MP+-WXY@u`;qyN>i`tWyms6I93!dC$4d5a`CJ)k6oi^s0{U zA?-fr3D+rh2j{;WWj0D9>W6?dV&36qfR;~o@7BzsBlSZthFz#k`#Rp^UYMrHV@=kT zt0wO%aO-2?8+t$b^N!`<+kgY=pfUo+E!<= zZZq8qd7Ry$khFj4eKnM$U1_505L1hlNn9KvPai3ajzR1DNsV$;NkmFS#GP`lM=0tv z^V=gS5z5TZW=-uz-|rAUuLL)NOZ8S$=RIJxx4R5lyc^x~bN%zXJ9}3{9WJ$;1HGQ+ z6?}ZPHS%?AlbUokQmDXW;<3>J**4Aq{b}Dp_6hvW?4)gT?K#>xdBpinr$r&)$@)&n zz(u$=VXTThb3#uQR=!j13?a#o+q!9qM}Jh+l<6PnS5zMV5pVtP`oKRThyT}CAD;T+ zXfHp=2%=Y3knrZ8TIz>vmg|<^(^_dwT!0drula}+>Yitw4lZ(=n%!93%gYwZUJim# zM8A+0s%F-<-JEuL#x%`lNq*&*XFp+M8+5u~#T|K4LaycGx*ZdGQ?+7B$jD-DxBs&a z+~0n4_Q2r%C4A{SA@0|yVJBhBnQq*#I4noS!C{AE#^i*GI%ehRnT0}TKVw$bF=9~L zdiPDb7)Bash4`%lJTC_ggT^|-e{@f7-|cuG?<5tw>3E#$^=eXD)ppcdlk;a}QeB&R zfo^(zmVq{!gh@ygUZ!3avp2Kv2^-1f;ZUfharwmRk>r(n>G09puHEnD+huwqV=wT* zp!bClY%Lu?_OoOCaI5VBDq%b*(Ilyf)J5#p+=W*bUPXPKez(?{hAS@rZJo?*6h+EN z7XWLOJ0y&sKRmtDcy4ks-$*25WtLh({V*yXYFIEwVP6yXW*HhqN4_(?%HnWQ2QS~c z)3OZ3vu#&j_4&%pbnytC=@(%U^PIEpB28e<7k6*oq&%ed8Ne9vfas^VzBW%>21C?w)D8 z<4-}RH|aghOrakWm;1VE$)6cU+bYao6Ri`<}|+%%Y^Ermp}NJRS71*>{?0M zB$fb3k?Ux9M8J_>>l}}e)a*C(aSWhU45?6u@Q;_bCuKYzFE(#fVuGVT|68uEi0Cez z&ATk{1}ju;Cy{RuZx0jr;gaIsxr6!pbboAaZwZ7wK}l<=t`L!K`x@BU$s3)A^iii$qNNPn_RFJD1(}!>{|7uJ2Jg`yQ7E zPjV9Xvb(L=|E)@wBzNn#r<&=-cOd*S@VW7Ej>C?9QO`-xeDoBW`KSD`a^;Sm4NmVz z4vA5iN2T-(OocNumX`1J5U-4#DwcY>A!Y4d6Hqr14uNrgBM-50*Nf>AMd{DUhRpk~!mjqq^&Q50lP$3g zfh$)(!PYA?zO;Bgcalhra-(xOp2Ge68K$j-vuw4b^C4_`&3c!9D;=S)ei~VFb41YBT-gcPQqcenE`rin;9jWzLI`r? zEP4MlUEUP*RcgPFa&$Lx2bT8*^US|n<&-3s|8k-L+*Hbc(@@;ANmS}(sOThN`5v>u?Hm`g9f}Z8NiaadO$2RDsN0q~! z)HwSZIactTL1*PTCY?T=#++#7kA05S#v;D0h3FlpBEF@pf?8Gwcx>@YA@lFO#2$qh zVY5%(incYHs;-XgO8huM7Xw9!l~EZNuNo93;#plQgBR4n7VI*XG2e0XQccrdxTweC z_5@RU^^fxt0qU;Rz4v}&tEH5UI*M%7TxQ?v9aREvso9{1w|>FhNgO6Tn2(5_4K7>7 zY*rTBC1h~(X%D85u^C6DEjhV}RqVfng-@b7#ULL?6J-YznU;8AQMA4S&H zLnTG<@Aq%OG2*`Kwl0_DzqZnMjW+GE8Kr(W85qMDB=FqM>=GUJe!eU`F^tcygnB`d z!l_gbGHd0~aLJn5Y?{m?9yU5(-9Us33#yY*^V#r`^zmre8XGekpIA zSPHeNyc;j?W%Tt5u@vv*d7lrr&Kj?*;myaCv|wX=R^HD^%Tjjcs!Oz6Nj$NoC2NuT zpqjNnWyrtzMq07wWjO!ti^~|6ImatY;xMk4mca?V$_~3JF5TFQb5FAr5YWRK@d71W zJiA^6D(?s4c{eJa^^Am;*tzli4sRY*l+tbVe~yyD?3STmH56Er?%IE#s-sZ-tA(?p zli*jg3-*d3-*- znlY?vJn&8hn$~VevmkIm4Lk2_ls0fqkycI%h~qtUh1o2|JB)pdF?~BfyH1RszP@W6 z5mV)5_}WB-YLKniamIS-2ysdH%snPLnhrhy(^Wq9eKTS*w37EX>+@?bC*45);@t;s z`z>Wp4nT|Ql}Y;Pe)YS05XC|>EF-E)iU@mbw%Wka^x8Ehm z({dPrct2_sg5Nus3FG7eT%p#o%_>b4w476v!7*8mQFEO+)zUE9@kNEC+#PZ@vgmZsp#1^>EY_Ar%O&af$S_&j^Dz@ zR>C^Ewm)({nBX4&B(INn+lL!TK0yifqj>9Ny}?Tf@)>`u;c9#rHDPBTy*H)%LXPVb zo?R-~!TA}Dka^A5ebKkx#kYIYEm0l;%%M)NrFT>|wymLDx_TRg3Jsv2JN~?4CjW)W zr(CW>;i^=x*3Lh;lLU{&V(=2=Ylr5=vu^9GC<|=Y1_^$PT@O2)j_n`vKPxG6rz@Wo z>1tfs!Q7iUw6$E-RiL+vB-JH{7#k-}0lL=Rhth76JsFT&+6@cs%vMg4bV~C|J(y7r z{)1%Vmpuong<*S%rP^!37mkxJY;>9hd*lJg1tvmYK~Qf*Z81uc`~sl3?m46#Nx|$Q zwwTOL$$*Qe%3TBJS663Wj*|QH94axkN5^qV+T_1bnUV)qjdSjwE-4=+H%Y21_CPPW zmwVoeuqx`*Bs^c$f$fZPfJ!6O`4r9EY687f{tFoy6@8lU@m6fi6GXn}R%?aKo*z0Z z&v6#F^R0iQte)RdJ9FZ#ikTdU>Bah`3oSI(7ZYTe0M7&W`e$`5} z?QPVee5k(KLG=c^C>sCUSu_qRh+eijbI|J_^;rr@^PcJtc%;65K%mCfmhH_Zk``&l zoseqjU4PV0!TqW_R-;bB>q3ujY_z7blcdR4SL3d0>M=(et?m!b)#Svi*pI4NCHH<1%9HXO)S`X*z1^ zHv&*^c9oS~LS-6DOI#8>h#{r2jQ!Y4dl=xOirV}T@J7m3wkKqv)8mueyvA6FQ!FkB z6zr3nBfhd5T{%1VcLD1Sg9Z6D=avQzZ?DrR@HBy1f(o2ARkM&@l^AHZ(Va>?aDysF!u%MOh3)xj&`h1*gU(SO% zehc!8(Wkf6niN%fU@8cu7t?b)E^YAc9kE~K`ks>mNghgnyGWs`=tr&B(eb6sL5!!ClNob2*8q$9_WYZHaHv`hc5=+-q}qHkdI<}hb>xj zva-~4cSd|zE+-l9BiLpXVGG>0&@+`5mjojWTmNP7 z7VV!~p^2_J$k+Q|fGol;fBnwz%1RD*kBj0w&4|Pk3NBbfXw7A{>9qIe9tX3r+URjk z0x(Qv{JlDlY_?zB!#*XtVn~AQH?#lra$cT{V3(*a@LjdRGb+q(?C48kTAI};x8hBh zIkkOry%$TpSM~g|zn8}$%{08<04Nf-$0$bs_7y`lcy>|g>Qx{3N$Qm?NDn-w(|yw? zz7s1@&aIWNZn7(_4BS#T#l-gQ3K3n@p%Gt(#{%_=-kVmnNCKMiyc57fP{ z*qN!=>OG4k{3eAi_Q=%dj7tm~*)ZLpr&rP&=5YLGuiD)2J#FpTG^;6SgD29{Ejr_<@hU&NtYgMI1d9H)R+C6SgCjsww9lId-!bNf$UFr8BWIU3rBzQ)qe{;HLUe=Q13UL6!1@8&C#%@k zz~fwI$3w);Ve_EMdS8HU(d05Z54_7x+On77;9Vk|dK>;x{cgwG`2M3$^mRq$Sn3iZ z|Br9{+k^e{bpM&J*720CzwP2^8?Ri7?{)f7B(XT{m}Zs`uJnfYzy;VM4xukuGNXKt z10E)GA|CR*oxR8;@K}#6TjirC=<3N3`WBj-G)`_aX05Z`>}y7tKnt2ZituDkuYJZ5 zLBy4T#YS#019{;PY{`BsZP!|dX=ZEwn`nCiLH#2<71!b6)pG_-E9{8tn*1q*=9E&2 z)+x8oGw%apXrYja>*adH>Uq~hXPva+7&-4Yd%{HUr>#>VW|lbuvrqS1UCjsT9RTb> z!({x)f}I+TBq@#!PVSzSz#%Nbk-*-obsiNtJy>g&fm?mr1>=8Wf) z{h?3n-~IC4G4H(!V`f9dMUFP$mtLvqbh6J7*K5ydQ0)j{O}Eq>vgGWqgdMHM2hHPO z`pwAna-~DMxzvp~-CgLh_t%ut(b3Vn2r>H}=ktBm@h6E} z<+=Nm@@>t~d-jZxj`&MgbB*Q=_SF%*EkNCKuIagDp7XLJ-sG}t(n%A83s)FPZ;?-lNfZZht256FWuD#P>*+5y zBjc(}7SoNVN$#L4S8yn6zvnIJogBlZT*~PnpBEA5YruR_=-en76ZbUGUs%gGv#|cK zKMAptuPyX2zCEAd(ru;-U_E=5XM(ZU-Cdp7vk^wlv%UwQp$xl(Cf+6FS@H^VZtOcA zqGv4H`uUTo!g_;zb+tO>LyT-ATL8YNN_$A`^5?Z-3Dmcbjdlw|du@LAv;;@(q;#Tg zBP13(xzV7*d849L=4#c~lleGZXx}c>S!gEzqhc%x_qb8pnC#oWa6521&Y0c=WPmcY zzM;ZCcwO;{8FE(F8W!_{ZVbb)d+t&skdG`p(^BENU*a!pji_w8TH5bLk=^7pM8p$b z&o66sdozHnkwW0W-kf+j7u|H=j8pGgV-DE*Wfs5-S) zkyZ3yT%UDVx@>Ck)7*vWdMMdC&6+}iwF^KsO2~v(NxJq;I-byL6Js8&_3)JK4U+44 zri3#F_a@O8@~ka5yq*v!-E9&Q_i>H65tlRYarwDw>guqvUjpyKP%Vl9C`NR7dHE+} ziTi`I>L~(_9i$9h%}&+i>0d7C9#1qk&rhB(@tE{#`w=o-=ieqJ^Ik_cg*G%Y=6R?) zbJx+c%tiSIc)FZaqLLpAFngK&dgFE}+8}90*bQ3oyVweS{hg{hjdsl^Y{PCIXL~;j zpjNP(zw)^dcRG%aY!8g*fV^_-urU%NR7LG z(j1mkWx)jQcFBK$*ewerb@Eh~sLXOB3EuZTlu>-hj4?N0)(eiZ&e(39LT0=J8(ezB zupeXGYPXTOoeygnYXU&jd53t@U)U3+Xs22qns`pz)sytd@GpPZ@mAbrXeZ8n*%G?r z@$WI|>8G?-_tWrEZupJr*t1goM=gPx7nap9qN zS=n7DQOX2ByIpgfey@craOK@3No^+@dX}p5-5aEsjn3CJw=LVY@tinblC_HILZ$)o ziFd+Y(9-l%)3h#md9ZL}udo&#q6?#4&CI1YH8{~+$vz;|9$tyN$m+HjX{2X5n>Ceo z!(V!F$LE(VK9uN8yN9uG0Ak=Uy0G%I<(6`0OY>bvsp;^fa^dxkocgal^ST@Iu8A8n z<6vj(lh}kQl~)c)r!EF?$jv)#Y*-Z~*v*+cGXp|!UWe+81P}j+k|T$H?BKJ9@O!{; z&_W2=C!9!gz+Fcxx(mZVpHN|*9fRx>NRR_^dqKi?U|D)CU|s}1Ph`gVPNUjar!+~b zsDPIP4INoud%p9=`jN6fCkgqFk z1PzXvkOou#_TVWW->L91C6|?#`q%ax?xKPDM^|NQJ6Mm$c+J|OyFA`>r=hWn&to^L zy%}F>VNCEw8Vd`H?!4%D0fVEPH@~tv zW>N&cKtj~2qNKbK3ORd|3@p=rBJOoN!v)vtw}`8HoqGQ7JH<^cs+)0fPvPPf$`GW)$K8bi*73US;%=fBwGrAezalDyuUt~_oywVPNL zEzoF?^Lc)7C2fd#^^A?V8ReyhAkMkI?DO7l+e|JCwDj`z$_RlcFHI5&FeNMz{%HP& z*jHN02F#{%6kg$;kRehBxUT=SU?Ej>K2*AgeTH41*5kWI*Wz+NM8RLaa6`A&hh7re zIJlC%*wV-NO23fJRTq#f@3192^eZRoS!+q=G5Cq(eI_NUH5DWp)|Y$hwgWkAS{FH7 zeztM&-O7zn#8%oJ5=_53B?C=C{Iuwd!F|odNZo!xrq!CrzmdK#cfh!9Jo5+__y+2P z&$NSKJJ^O8Y03%_U-aM|f>HHb`&rMq+mPlrkzE*tN+qlJg-J3-IGutUv1W~eDH7;3 zRD)A9&w{wUqzeUX{5Ou)14o&n4qrNMhh@DqjFXX1WqF9Re)zKI>yyUFfhPy_t6b!u zr!pUC&^KVNZyPOzCVN)o9Q=Ln=+fQPcudugkZ%d1>r&y2<>XKH@^qwot5#|&;4pKn zyT@Mijz|1>cYLjP#&yHhPprO-5cF1NAbfisr@yv4>)gj!O^Az7)2kN)a{*%sCB_PC zo^HyVcpls^L9o&-@d^>B-QdE9(MkN`{C$w+uwut{lm zcQ=hi;g~#XKP;edan>q3a4rTAk#zyDgr3`o%Xr*>-jSAR7|sJe#ZRH#S}pV7FlYjG z6VafnA^YDiY*tqy^%k&p1!}=(Vbn?Tq$UZsxuM1ESKwa!E%q<)PQAC|Lv-81!|jcW zqi5PfJVT}JZY2>WZD+A!d3U#{!SNh{I>l7vsb$oenjKf1S$9F?zwkdM>{hC8II?et z|22kCxL8oI7*BSD}wGvRx6%MFA9G#2-KW79h7GjuLh=viHZaSRgjkL0C-1cPam ziMq7C8{{?)cH6?#X)RI>pD)H$Rq~(@WMR?bPS&?G`_(c05sx{)&LSiQy_)1LZ)|7w zR`UbDdFCnivRT)kj0fo%*kE@(6phy--gK&x!s}{i^j5cqX~pl_Cnh3m&ct$74I|Sh zrNJgLmknGA+?Wyw+4cVGG^zbe%;!-{@Rcg_PC0vvdC(2yXXF;j>gAQ-#=6BI`K5N= z^@}ftp5cpK(X;s&(*v$MUeTr}q&)dbg?js``9k~I%nUGbUUyPvCO&Pnk^z}${#E2( zpe3@C?&BVU*imP|tdX+iPL0;lpO>j1_t&n3xaXkFvFc@BSt zpPRTKi{jqX%>dzT6!3VXV`LiX37;GUOmaq0rwWHwiIOv1dj9$@(fTQ0OgOA*+RG;b za7?$1^G+bzS`rdnyYBa`lIe+;oNNlqTu_bs*xp-F?83@_D~ zqXE03bxaqs0r)$^ zJ=%)|f78y0jhogba>74u)rxuyKb&w081KHM-DXOQFDnYR5xWnpf;2yPK^zrN`-Vc6 zmGZcn&4I{^1YNQQz75Wg9@jSgSYRtw1Gj~zX4K4YLqSS zM27!7p#KS@F8u6H<9pClLYeCLM`bd4K+q!*{HD<1kMD8o05&+jeI1k_cy#Y&PFQ_j z32c*Cl%RF&(MYqHgg&+z(XpBB5u()LOy8lsm*U~?Cvbc(o!e;#ah|qu+gOiqaR32L zGZ$gu{+|Bc@rBo6_h~XO4CC+3e)gHa!db$%Ewvc>67PxKqCBZ;n4iAZy^y#GPk*@( zu@(lVa}*)zg3b>=3Gof+0-!vSNh}QpDz|S4w#)u@6tG1?v5`2x$oMM@<&Mc_r7U(y zJviE*m+F6O*9QyN{=2rENGKM|daDpJlkzuc{d#8TtPH3(sj4(kV$9A4}?3Bb;<|lVfabYfUn+HFYN55L2&CVi<-y-MdLCC#ym| zyYN^I3}ubbRnTFJ+u*UWc)26iR16xvl$>xL7kGn}Mhb#5DMO&anITX2DJZLyN!u83 zh8+E9yI{LJG8K~@iZHra%Z#3r01UdLHa!PNueI46oyc^mXs9NNrkdecHavu#?dcG(mKFj_D<#%L&8;Hs$ z6n_G7UEg}~+L2mi((nThIhR-DHux+kwN+~;Io%<(T;m7cD?^B2b|c3$HJRpTAD>~&P10&s?!+j=giF`T&FVXEppim9mG}aT#gp8oR&4&sGOM{)|(C#mIGTQ{&1P`-&BDAp8w(nwI-*1yW@krR>tz=@Qb$4A0Zy^Pw+x%y)Ym@uXH>Mn0=G zMbpF1W&9WsSNi*Pnm708HR5@xe~1B8L8RI5S-!n{UtO3MOrlt$8!s38HWB*4HZkl03rK^iWU`uxtU&oXdca z4jQbyRN*FL`&pI5^(XGaQ2E0&O8<-$|4tD6^N<4gja1CYv3ff1Mj>|*6&mKjX?cS2^THkg>8Q!sJD>CCgw&jR`yD`Wsd^_nxSwBaaqZ`_;q#c{4Y&o{H#lFYT$& zjC>n^T2r2sZ{)UFbv4V*^lDs-ybiqzv4f?5S)B?}Ui!7nAr5<%DZJ!K_|9r#C}n!Q zZswmcBs6~aiatVodyK3QDPWHuJA=b9P8l#!9gcwodDT3o;Dq+PS~GKOi; zlMjP=?(}X?F68Eoi}ZJz)3IS>Kms-cP$5g3gymZe1u{LwROg?+cH}>kFbfvcZpRXu z4KJNl>CCP7iMFmNs>y(ry8fofA{?o0w#$%6VUmBJZU0AssGXNq8T$ax30Elkzt@N` zFs#a-g}C%q{N&=$t}9$jMdH>>&R2@nV}*J*dIwm;qo#d(m4|<{#9fDYChR z<*@G%1$#w5@$lzGb}wt_z!!OHXdANMnGslx>{h9#A2+)rZGP})x6JwhhC}+EZ$ARa z6z)~J{qk7ryk~h_U*!Pxe7C_|k_YyjYfm4Xh)~)CjMnRLFaRzE(G*{5)+2diem!$2 zHPn_G3U_;IMCf~%$yHi%$RL}`>9&FbxED7OQSWRa%W8$n6qKw zSkdtJ44I(q!A{g9{21#pUn&7;*-j zPtT-~ZKpg`rdsWhYt_}QN(yoLoja;X&+XWuUVyq%2i&&8G+jw+ix#hp-eKE&KOg-> z+y59GB$&M^8zBpYv6Q*I00nxN!V-=w(4wF~|5C!MVqOF}F-c+kWNx3U)EUSRQs%dr z0=^fc0{?9SqXquac&{TRJat(j?$0q!Ey$3>Sh&3;$!qMOaj@315(5Y8nq|y@GS3wU z`L|CBCA>S+-P^3*K`u{ ziAq+dH{v9`&TX@ldejkZTO5yHTadQpy<>*y!Vpc8EnRLK#il zAgcsXE=Rz2yZPMurD$Yqb0BA}X_wPk_~ml_jqpW`jIEPGmbTIeG>Oj5ahb53&2X#y zNBIh2vmn!jmoOGGsS^N!zNCh_{X=q?7*16Pkm-xfP-*Q+06E#EyMCJ<4!ly-CvDc* zhEMH>Ee2%enxhMFjckc7&frRc*%^7NH+n0Z($rc2%M?X zG|FmBEGOl(dA!#hJd_ppDDY7Z%@2x!?)Z7d47#DmsJK9;A0;SAaF$K9L)2d%EHlOS z1b*+@>*vMmMzlQ@SwYysGQv!Xn-yJ%ykJS4UnldMb_&FI|yId@B;z5yFG9( zPk{IBK~(KQqHG(q9%ktXN?|eoeI@+&TqOMBj$%1#K5+T@6Q}>}uYA{kkG|m~Rut{{ z^%^5fm$Fc2Qr;#l?L93Z|4l;6pP{HqDyvOBd zGgvy5@PYM9sm*Q6;kzN);jJyl*H#v(cxcC4T6t&lw$fvgSnxOj(}Q$?;oQ zHhyW`%c)*i4HBG1RB}`$&3Iq&z5M^!d+WHU*0q0F5d;%y zX%rACk(R~+Y3Ue336U=8atx40x>3oYyJ1i%Ns%5>Qo3`P;l0OwwtM5=XCI$^&iQGQ{$SlPqjYqhw>O*vkUZ6~7( zY&Kjq5=Lypcj{vcERyfTF03@P3#BBbb%r#=iK38PT&}jVMkzj$q@=p!$_Y+{R_Pj4 z3Vegp16^g(b3zUfCHU>o+>&IfQj)d(-q_@PyTrj5Iah+KpshlOHuRS~Z1YD6Q@WSv ztF;wd)W?-#LX(pnU;@xLw_v8jS=8_?2`QtIx$zjrX&i1&Lc0&GjIm_`gSC;p8!j74{ptm| z{x#vjU?Wr(n8;|Y8JM%Mv~~t%(py88U|4sR_3HIvT*a(89mbSI+#$)7 zL1e4@S3+=qMWS`)+S~6H>I6M6$5y z_+hlqQ)`RY^E^9@wKw+)To2gnyYDROd80nE^^K*!O?0WUSPR-re7Tmo{Zu`9Cyl*_ zqsbt)CPSoYFmfZJrhHz#AY;EnD%V?;M7XJsjG!RKD!r3h1sz=EVb&P!8Gs3UmQJ&_ zzkMom8a??n=ov%L5Mdnyv!E2|_eWgYEsAl^RPGG%eTt}~a$cKhqTj@yU${`)-$sKH zXFqqB8B;{Sci&+iP}wbN)~BKzoS%OgDdS1UVO6PW_H;CV@zwYe!NX-(D8B<*Ook#Z zobyJz2t!H11ClsqocG2o*?R7cmKczlkoV$l%P7`QL=X!Zx0VAy7cd%?!-50B`h||^ z%(~?njqy~EwCn~6mMTC(k zTxezFj-={vxS1e&G!ZU|E}WuR-K~yz8Fy_n_D$m8%8h%k#1*IXL91XV)Q@Tx4XhEU zx()_r35Ay=0-!R0DdBDDglcj|I}fl(gnW>Ia{-KkD(Jf#YzrjRY0bn9`SZqgsdsk^ zfE*|JF+pQ9RXt_U(gKgw>_aja;s1}Jr| zDefON4_VLFfroEzquMSNpU?}aJr>&ME)DV+&lM)0@M0SE8BXBFp(1C^mdIHm>!BzCR&N=1o2Puu_4~8_e z0ZV>zo%H+_GthQ@IxT?zKER-snrGF3MQm=meml^Jh2Z;(?hw`?|JQOr5*E9NZKRZTl~49;g#9(dLR|=85!sAWbR4tjVOvShz1*^A6W*`bV!akqw(=qgY*95#5sq>P7R?-DW- z#bRs|&~L1HTHXeuJnMn$3GqBj1M?f^0WB5;CNlS^u?U@Nx$SOGTb+m-jIoMgA&90| z2v10+&H&(qg)m;h+9JA~q0P3P6~oHN+p?f8aLR0Q9XW{+MX@Z+%fO6kXmH)Wa4+z2 z-zZ~Ci-)Ov-epD5{3>veSDBPN2Z;|=q_b<(Grw$c(Fe3sFog`4IA=ho~NSj4^ z>7?n`Z|(Knh99VHW|lqhnY$?K)1h6!?2l~&dyIBG$!jslW`+WFq^URbpuyp*Z3k0= zK>B@(9;pf@y*p-F4qG$PtU(zci&!B&x{kf$dTE`_AOHmDS^8VjV68~?-ctnKy$Dbn z@{tlW3S`Px6J+8yI5V?B!fOwjmc=m_svNbOI-3ph>`?aH`@g zKbGO*iPX?=sf*%Z0Pq5acC_gY5P0j8{h!HzX%CXM_}~de^s9sd{N6^v{T0X&H<8!r*hvhCPfTF9m7+{vHoH2~Ev(1!!rZXYx4>$9c zwwY!FQn4aVSqJ$}P2!%K9Ga(lesk2?W9(yK5(4iT$-O`(Ho0z+_Sgv@L~_`jS`B)} zikA}o@{c)REmk}`$td@DzEUd5QT*)!EA>Yy6@sJK+DxD;$6m)W={UD#k)pANHc3rm zoh}&eve{01WTUO8-c?P-(OpJJ@~gusUb~A$Gs6%4ntlEazyHIldt%Ux-nO;eH-5?0 zjpTagIwux`L2;S`-`y$DfVOCU)3L=bW%Q+I4qO~jVYXPR7^Ojvx*nbzhALWq9j;ZW zT4SvWqZHi&eNj_6+h-%skc!;nbCV;~n^gy_B< zVtGK}RxUhLPh>>i*>YZP?Ms7SN>b_D4|0lXj)4Qs55uuR-q6Z<>?wD0N~V&O8xxL> z-s+3}&8J-{<(coKdIGi7-Q(5~fqKXH%JU0_OtH?!nzsxfI4*oSuNY;3sC1Q625VI{&Np z4Zdt=FIwr+I#g$nq!hQPJU?4EJXoYwc~GNeLeBDpJ2LA=cogi)tI-blgJnH7i|Lu5 zeLpa%V`UOe{J<0H)jn){fCx1*u0|a+7%tY}PQAtNh|tyZM%{311Zslm?1oE$Q6lHl)Ghd$=U5pK`oE5=O8 z{cR;$i~gD{LaI@-3eAlc*&8|XR#%v)To`}$%gPa< z8%SzYz=qQ>>LWYq=-KTYL5UH>CS-Qb9^v8eP|_;HO>4aYR>e+lkvTmi~fGoL2R6fV<56Xb=~wtJN( zm+jq_$>6c9qY`kQle^y%BfNGkTG;kFm@&^_* z8Tpqav+f+73#R&o=ncQ5V&a3y=BfGD3_3pmU zQ7?W2;{1${&@#|F9oC>u9#?J{UQs8n3QaK*3-JoHZHbAD<(0o8uy(YiIf?Fr0L=xtCk zs>7Y16iC?7TFBA{fm4rOcP}PziU$#tN;TM2(nBd!jJ*{uzbG&Vj_814CIZ7<`_L8! zLk|x`l~iwnL2_WRLRo7!?N!lK94a3O$-d#V)(4A*Ni9b3w;f~u!UO%YFlvnWYr$l! zq7c)wG`Iw<2Ibm<|WoUgw8x#0`!M|v~XQsFAy{4X> zi)jY>w0Ej+()>2)9Br!340;(^I($hk9vQ0ab6zIflJ#X8zaIN`u87pxBJ&rVrPU$J z79M&uBi1!TrKY-L7jB8dJ9J4-E5>>SieS8sri1JR4w7ujo5}YSFM}10uT>T*vp`)y zml>JAzchSv3gwRP)3ID^Wkk}KRh_05VS>MeY!l+Xf zRGE|cs#Qi%H{psrMS+sFGc3TI4F#4o0RVIz!Dy5)b-GTW+!?(C;FrK?Rt$aO zVs0hJ()ElKE}3Ord)FJAQe4@<7miM!BQH1Z=~Ple7Ff*Px;?}M;QV3MuDv>B!qNd2 zM;pa1EsUK-2HXVEbrp;{o@)P4ukl{M{kB{@6X*C=Hyfk)o>sL2Smh-fK9lEeA#xQCTrbr80Wtg^tThP z_$h!EB1+~=y$gx)>q60>bMF%+rY^mB;a#7Udt-ZY-)$otOrrw^8&|Dr;vudW<~=57ki&`*K9a@@H~!l-5c>f<4Wiwg;dSYaz0%^ z8G`bGGU%(y{DLnxPErY$JAw)P_#{x$;Y%%71NE@z)_7|lDxuFZT=WMjtI5tGI=n3{ zR?Dz1Dvu0mj-?RgG*70hTVRga$XUdnG+oTv)u1PI4PAqq0y-2s&66qVYDLYC9RJ!O zMNB$IH6$889|5ZTr;+A%-E||FdciDhyG2h~>J63YCgs;;CQna-bS#UCj}Jh5OvP4n zNJ#9|nZ=5+6UsRlH#6eh%k>4l)q~!TAmv59Y1N#Xk!Fa3dfMr9af(RZCL%}&NW|X~ zV_=f67JYfuYwc_YTX3QA!3|wDl>FVj(+YvDi5tbQj95g?(>1a#W-aP_sBF@fe|aGW z7D~uC50jF5+^oc(^Z?^A#g8ktxSUM}x2MMG560E75CLFS894q&nOWgWgqfO;IH@|v zOVB$g`10I^br<()CADp>CVMqDwrrgYLs`v1wM#t~knD#~*0`c%)Z}H4GBdmyT|W2> zm7FYl*TQbr^W6L3!c~ss4y)B0bQ-lBp!Z9vmwG2MPILly&1ZHrG|QjhtrXi{cV`y^ z$HVnpN*0>p^jp5yzov3;@hiQ2V#h&}(c1vF_-I*4-xPli0=;}#>L)4%b9ToErVSMB z3;d=Qo}k8nDKM7iBmn8|1aPH4>)(1I4h zo6$JPjH%qvyjnHxoY$Z1`J`jSpebvjRoNOuo{a^f^rkLI&4mt&>g$0No-emnx^i3M zIA^3Q8WTMARY%IyT(7Qmy%EzW%C}P}nr5^R$?5Gv?u#g?lwVun=012N;IYPwIJVdx z3cC5Sa$7xR%;$zUz)W~IjVw~V6Hdq2qX*_FC&eH+5q%}27t&-89BMuFLDt8tq+>aJ zanq`)!MCv()!>;tI2aOEQN(ghmm%fC0ehH%1MMwP-d)|QtT{7>-_+~5R&Z+S%PLt* zQ74o1{Sh~E{_(4zEw_;pVY3VRV<(HLOItv@{>#wRk;{_)mEx)X+J><<9W|-;YiP80 zk$1WX=&^~I5agA9K483gG`hM&y4U~`*4EVB;{n$LA%$$f?6Z6FgAd}=^n@&qeLyq_ z;Ffl%jbY@oJYQtuy_q~>OC6GBa{Zo(X5|H9qrn4E*DG4B3NHAapQo^a5ExyChA~)l351A ztbU;29NO0F93>;4<$BFw8<|p3@5eZLW?x56ck3Big4HcDR6u$#Xqc|0^x)Qg=4TEC zkI|*)au;`=XZ0@Oin(ra6u~3Qdkc_>n{YqPY*h6y=q)Bf9W8~eNpGT}nmr08cF%*Q zB@3%7`O33HE!jxycKml%qY}Mk_LZFaMC_QoXPtBArJKO<>ZO;Dp12Pu9Lk09^x|1+ z9x&}yjb7|^q>|AmnOEpIp9glbIqr`%B=tr%2Et3hCKI@rvIrBhS!MY?f=vGLg!Z-Q zl@?Vu-1|G9vNXFoyDsa3x%bLyu-v4Ve&2&>y0MItQ;cb5+ErG6UW94MEKXyl--Yp! zDW;iB>Jf9JU(=I))Ez_G-fw~{PkP7Bb_yo+w@utN$XLmgt#|K}!T8~mra|KSSOVlY z1)zHm@$@)HFf%=w^aB_9{kQKX7q&_;y9JKnr?F)?X@k+E_sNe&$3I6K7(PHV88&=T zHmumfG{ArfHb$H`pgIPUXAuPzeOUN%77J_&(ju*wiPgD@4g6kSnnm!rg;2d-l-Wo; zQ7&0WO4rc6M;5kZrpp9G_>+e&G0M+l2u<;lR~IxJUI7Cz-Dt6!&a^xGy3AJE^gyo! z%c&~(LEtYMn->EOO2QG-k>RuCSHO5}r^ob%rUfZ5>0LBw7}$%ZWfVXl?<0`42MA-- z(KTnSm|MDgk++6X2?%$atj!kbj-CdQG!rDO5DS?BwsVb3t=Cap%Gn5rcLkdW<_oHI zk)3F(*_;=wXQTbW@@_6L&;WwE+F6jf9L&X4cEr$`lYo0BJqBx>w1T zeeC&f4cHn?U~t>MS3*X5%1lk-%pLFAdq<~3aQ#-mi8SZ(;Nq6Ow*=f4oNc4F>_DRj z*0yJ?<~+zi4Wy!|`%;_J4DB|#L47@jJV66b<05dxBCdL~KeNlt<0;X5y9-^cd~xzC zoF0NT#r>x-E##c9$`fwcl>j3XKkUh3)={IBawQ*AmfZpVSL2Mt70`LXA2ac#?y_5u z50PttASLF2E`pT)F6*in!~Rsi=?>UM@Hr18RA3gPz*I9LI@AV+S8^6ioxE|ED2Q8EPKN?4 zo8ZfcN`ujLX^(dQT7|cH#_ zn{fCJJsUB|XrAGlDKXVnzQAHP2?Iwfy_E$H+XGX=Q%8+Y0zw-utlT`-7r=$k?kHwA|# zMN**du%5eP4{)no?QKE}&aaCRk4eT@)#m#K9ih=lAm_B;gBX42-!(0;euh`|pfYDK zPzMSR>YU+n?1sNawGB%zS}j$anPMWqk|zM$bJ8}5H;cfQNL+_`f;rHa`wQyQ$-w5$ zktjkiV6>?-vk~6IYoupVd~FItf=-afk>tPlT<~Z^z?}IaO*BY`yW%UtoiI(~x!RL% zR2&zPd8EIE!_inK|5hdks&cN(qI~Fe@x+$O!&4UG;^B|cA9Ybd!*)g9>Zd!JBJW2h zF?NO0d#p;STV+0Sg%lq^lDh_h(-{t(%9tCUE+dcG1$zNOURb+8`2Dd1+!3?HuC6`W zxP|p?>Bv&XkNkTF!&h>|R;j)7U{knjZ7 zgrY~FaCR zD4Uk)vnMXtPHQX9q<9;nFAYIbQtmjT_8o8@?FG!y5}57rZ;sSg$Jh;)%_{NH+f6bL z7W1&l1NhmzdwB**OngV7WvS9b_={FSP2xwr>Y6Ky72qJ1WxQ)@plO_H&|XE@1RMy*5RmW$vpN8iz=I~A089HQL~sT*K-QXXDULxk zz}+Zh46ITD8<&9JEr4}4la1)!&_nX#?33fJvgSS1Dh(>2^)|LyfbM*w-_i3`zfB-m z`-{gIm`dON_3q!m_S@V1^%dO|wk70>@j zko>0m|L{SdjiJ%=pQNpM3bUr1;#v9yUn9^Pm7u3F7i2#|^ZJV=Y}Cuh2PH5y{^;vHbkwvDeSAn@;hDJ&U+2$H~{Q z6MeRXvjC@wrKD%OEi1sBIJ{>m-gbGvVJ0EI+-@1ZUqha~-CjLg;t zlt}L=1u{|n?|GnqK^JgdoK$LtD%<~^2R4E-OgX(H_}|6$zo0S~W3XX{Rz2bWnFsy} z;s3HSq5BEp|FX*d3E`g*J`Ay+TKK<>h@XzcVZ{A~OYrx;`U&Bm5I#(SpN_OXPApK$&O z=ff2E=~Vo;O~_Bb_%P!B6MF1WR^TUue?s^$#D4n4|7}G4bR-TV?mw^8{$KKo|Krs8 zPu%b)gnvT#Fa>@(68~+p@zWPRjJW@V9{b)G)^A>YM*rVt3@cf~( zrAkMqMs`kW7@502vcE7(V^y#sIvc~Qkd?Z~Idl_hx*2U0V6>g(d) zwaMKZ!V2W{kG*^3>*v;YYnOYT5-)vgq@%j{aj2V|`%;!akxOsgvtH;!4tf8rX`fED z1!ndXWJ*eQxf`4*{jPq6XV}B>q0CB#AY|=Id9#IOmFtuTQv-vyW;~mRcaE zo!;|wqcy2Q%@is{1tBi1eDZpGyLt`aJtXVLPq{fAop5m?GdppP&YA&w=G4f!d9MW5 zzV%s>UR~Grqs(lU<=Id)! z;-sFrG&Mw++loIHN1fP#wtg{PH1kijm--GADz^bmRPRST`zi=3wKI3m2(BP5{rWf4DUZ$!b+_HU z{Pp|8SQEd3<6FKUt^AFC|Lz6FT_A^q+4W1GxGreLRwQNbufIi3ZAyKH&Pr_2_7hcZ zTLtMLOB$Elg```aZf{2}FTeQQKl<23>)Z4GQGZ}4vWdM{8BtHpt#`g9O^nx9%50Oc z<<@tE_$I=?zo1LPYA^rrrItDN5Z?otgNb7f9xl~-chGCp=w0RssOvBEoN1zZQn_Wp ziW=G)6Miy<9Gs|K88Mj7KZ+4vfB7-!07SAhJNqyZ58d~F_*MEbXnRD>Wd;4A(c(vj z(R^!mQbnYd$}mfewB^L}H(EKM?@i83e?nC{pszNE-YowUVE>+Cwf#5`6a-n@6Hv`j z{8KLt@bwiAOX#n#`2BwZZ*YbI2+nZ|^Xx-PYzB+EO_?_CW*$%EJxAv&Z;d#!&7_J* znEWf(tC7n=7L`jcgdB%f?|HCu$k$;ac;`ArNICjigc+y7J zmQX_a9q4#iBT4XgHv>9FZ)RKr;ds3@+Red4Db1*}=acKs8D*`(VL|rhmLcXDD*tQ3 z!c>su1Ec*1Gusor?1?^*5;rb~rSkc)^(CGhaY#N>OlY9&(SUL6P&QX!Ec#SVjj&Wu&ee#;2z}CpI z?fM+|!GfW8oMzi2qL&nPEba!ZvUC{nQ{m2KEEoAj4~ZHZ(!6z6rX}gBj0m6JnO6|1 zf9upHx5!y+H_~LQbU=ikGg^*ZDzj@0NSX2~+bm7=(KAPx&I;J&QDfVB1CDqTq_>`S z@Rl+p`Ga-)j$hxw?VFzIA$iCu@2{S9pgJpqC#0mX|GrX;U>R;>FlU4Fo!Z1k)7^dX zI-yHnYP8|yhxq2uD?NK^mx=Xl8-3_y%5zS6jnb43uea@d9;OY7T}Er{qtS^y6}NWH z7*?WobAx!fb8-~7^3z1FR(Trg*Xg*H)}xS1%)@Y|rBMiaw{~K&a@k*~#GT)x8nxG7 z?TPFs8d!hz*dPLzxxqb6X}PjZ$n(5ajiqWB)7g&qi<)U3>@Gqx>dE12%kb?{r|Y-% zPf35rxb9N%l)$!b$G(ZorHa8(0$QYJ2bEqh%d*Z3hD*hX=esH*Zh4w8A1s)}69Aq0 z(1L{>A8mdmK1maOdg>!&_xuLRwKR~*lV(@I7QRuovA*PL6);$$L*{4+zp#bBEbvG@ z=)}1un7GXBXdn}ZyB=Hobib{AqmL#mcLxjvSQrG~vU^nZ+E_rJ^j;3hpX#_Tw$%2|A8- zaU6cob+f121u5w967waVURL$i~&A+yLn~-cHTm zP;;y@uq1ZoEd5y2)cw12=Bl23Ax;}ZeGPEb&TV_OXxl&9hyu2&Fn6`#$Wa8(1yWfN zPeW$UT?xIJHxDgMY3+um3_ixQD@#Vu;|x@Ks_(lrZjYC^){w(l*h?)cuaqpKH(&CV zCLDpDJ|(*tMXMk-H38JLqF3cz!5@)I=-i2GGpR1UJ?)b&)24nck{AN_kX}ubE3RJ; z&&|Ge-%vC;-j#1AGoR|wM0Nbr>sdEW5ozJdtmElYwxsG%DGNSOzcA6SENdQ1FmGJ# zWH?~E95jK96(i=~pH3VvP1)@o!o2d>QRqdyAJTMx0@^j^JQr)_dI~e?7=x+WsZ~9= zn@+tgp6p>XP)OZ-<$60#1R0)RwEW~U@yTfOYPhROSY+XYYPK5Z#=&t`xSK(g^_9?@ zurD{Uo0mV-v_GeB@rAZXBn*4rvjT=fF6Bd;C{^F+ZcUkE$FTRp)aTFGRE5HE(x_}9 zgXvS_5$uV+iB>3E6iM2}KY1DElaESegX-Obf*9Q?4caFQlcI`}&!hTZ$HXG^d+Unn zTWCva>>9TxVoR%2HtH#8{i|`8knc^!fE?%5jy(&v*=**JaJ5tTpR%vG8L&_5LyHWC zBAX2N@!qfqNAB+|lmJEotH*f@S?O+&;edzDq7ibHz{7DfLiH*w_)E6BNLB5(>eUgEqIJTU@@(mY`Jt)F z0uN+0$SJ4cS9HtKfli1I2mI3t0vsprODEC?6dOcHhQQ#PQ=_*PwDv|GvTk+j*|1#v zqr(&Yr1l+*ay&W{PMGUfmpk#U-YN)3nO0|yFffAnVvty!`1S{z&Jf4I?vndxN&{PD z+$t^!^awQOL=m6d3mJty>mq)kY2Cu>;PB^vEn&bx01jxkbwIgBA9ql6dmskg!FEUO z5R-0?i~I7hMh17O_dYBZPQ0mK_7xMENVC~H(ZQmV)El$=AX2XKvToH@M1R=|d*{HX z$XyQ}@IKI0yeLguVV5n&Kfc_Ld~!DpEAx0xx|2~?1!;YjkFkny5cXl2qYJ`1Hq1H> zbbp|6?yd{lf{0iUyM&!GB#YXmy$M^5j2(^q@-QK$MU?mUD`5gXXWK$KRxvUTq4gP? z_67C&XT8_2dgEPt;EZ=CUM#L#lvqJy$I)IlW$ll;505Glup=m7CVN+2yL^0fyiUqk zV%P8Z{ATZnFlTRvi{h+ZL}Fcdix`pJr9|c2lnlQk&?G$VqDdXj6oYofk`>~A%>;~4 z;FDRmx4q|Gb06Jo-KEhR#sIr^2dCA9+v6qyUU$;tZ3mIS=GDILfgwsV4rhfb!{MOu zZgNk;DVw&gY-Z+$*_$1Kk@2gApW;k&ue34uN2hIV+yLBAJjIYS^2zHk1rIBxKY8tM zHqGz`h?yu@k6+1@&d$W;S7i)hID9KQ4lJqH=Y!%{`*5e7J zKy7PpRuLYyh+nCA2XgOocVol4Jkk;{Lzy$lSQYV^l_K}<<+^tx>k|MFm))UFl}RbE z$~U{%OyYDRP+sl?0;X*-=IX~6e@Is}l|Qz#v=y!OHtE=G^}e3(`&EdjBx>XMF#i%i zi(OS(DDYy+tVg$O3pd|orTL+>?|`{}m})6$rL5l3Tr9wL)Dn>CArI8;fOYg? z5=`$;wDDm&{y9q+p|`7p0@@>Bs`(mxi{m?W*?kQOD4~oH1wwE~6|J$|wBd7Il?pj` zVj!N#S*PVQL78{VuYXNtV4l3-!pFYyYY9~gC{BZS&E~{$w&6P2?l!w?LG{~9`?XE0 z&vcMWQUXt{vF9Y|n0e|m-nJOrUp5$5F0G-n9NJgdRMtMjV$)i1{0nnR)xFNaiAV^X zMrdpQQp$^W7^~TY71%*D(7^rmUFh(!Jo;wt6K`U)z`_Y0e)|R-zYz*n+=PVcaeU>~ zxwo16OOtlv^!$1RVxxPB-UIJgu(0QDzk-`-3R}KC$ceP=zJ8bvrdP%a-^AcUvA$u{ z^zzt&x7iC0-e2S@m>DDx3{A_F*n2lyVYVl~CZz<(fP>JEtKoWvb*wr*;5CO{=2jVw zCz06$?a+WH%2@@K#bP-c=np&ZI`oM2_6N-LuboXkuX7oYv^!T^37!J;{{h{3_(^|x zKxjT*7R?Y(#Bf8Af>}PR{4Cs17Ky-Q0XHvStwv4)t52eN@#JQILCm)|$^elA15hO< z!Ur46_5LSVGlTPMl(Wv4vFR3VO-G4MRqb6-vBy?A_r-KJAT4g=ZJF(^vA#YyjhLX2 z{2gbDc_5^Gu04X;W;Mjoxb$c^5gi~(qcJzHw(l=0xRHI#5oHrP@HM&Azi@5A!+#eToIt;`BqyH5w7T@w11t7*EyX z4qpm1-iuVZ=F7~;q-ZS6chiDZ;Cn(<_Q~bm)oI*ujrvafY_@Q;<^X^YwdlUkoP&o zA%B-CvL|KDDSda9J2FidF-nX#(eSYF(aB&f)_<^R%iw7A+RgRT2PcMpV%0KJ7`$h$ zwObz2LMh{XlBA9C8r0>SM!%~^)x$-6gW-?GDe7(pa>$7&BatesM)jM!o303d;{c8q z)!*dr8HvVsJ3cVt4wk9Ub6#E8=|X*EOgLVog-fsV5Q!i@gMw8q6ay9w1Xmj}7OFzG5ER3f44fw}(H#o#kXmlyXa(l)vE2s;EfGl5N# zcPCLxG9}%#ysXo=HT-2+OD*YSGQbH)Vo{j&HqDhc|4`=YSI+-t(O+G{VolW}m3mzf zdFG6qHc^*gWOuTj)L~MHi=28?dbW;R0VO@_SKHTT7tNb(fyyGQXKX>|KN3zVPqn`z z|B3=DyFSNh|J?ymhXyJU;m?kA?p3u$4PZ7XQtkSh#=vC;(AcFW!Bj`c%EAPJeSO zHD)qA?66#PXV!)VI~ijkJcTG&f;iDc9ld*JC?XgJ2HPka>RW=Wi z;|W7H`r6fVr#c6QAVE_wAMy7mFi}S69yqGn-Rwu4(8skJIB|B|YUTTjGcMEn0kA-f z*u1L13gAtXv$rs!zbgY^tTjtEzIy6_4`dIGi&38{ha#T;demV_t%%>{Ms=Pq1 zetoKMaiCC7Am_ZppCpy5o(|pv!Yv$%qLb z=s}SAA!+mq_X!Wz;-D@B0FirT4|*b#_Dc%}S5LIY6kSOu--Ex&OgY$bDB^|spY)fl zEnO3PlieTMc{Wf7AhwaO89_SJ>Y;jCUL(A?pyz9Rd5HVLcF>-uo`jgFY(|Hsy87*j zmWk%6#K7s~i7%8c5l5iDCwNG-#*4^1vNYVFhn3YIvH$gxNjXqWbf)Zlv}Yq?Cm8q! zLvHbjlRWR@_yU9~1g#7)H1+pTdKj3Nu<=@h*Xg!B;WV9$S-wz?)@n4sj1cbd*Fujc zTk!ts&7eP0>&HH6dL!;?qr?{LpeQG!CsGDW-DUi)idjthWl`h2I@^It5&w2~MOf=} z;)uJFwk8+bC5!0A>z}a$CGUX{xW5QP)F`+oKgcB{sNZlXv5@w)`A~o#hK{%Fknd#q zVX!C&wyE7T;Da zFfS{FjmJ|Vp5J+NL*b8>=|?^RzAMwV9wA6D^I8~dqRv$r>Xbf%8CK8?w3P>D<9TP6mM!!iV;X%Z&RLZ4O4VZ4PR(^FgI~ zB8O2SQJLCt-Qhg6X>ipX40l_PVRgU;V8)ZMs}LM7KcY8lH+auyVF_pvJ}C zdsZaP_Jl2sv*}D#nQeXA#NwzXE%NL_vvVne9@s@}?dqY+^w~dF-Z><&7)Me2R2EHD z#x#oYc`8PH+UDr!n&JS_x%drL+50zJRi`4pMjo~-!HohIwt^~%i`Lp82h&*3 zn-PEnHAWzCoEa7tj|`ziE^3Vfg$Io<`BzSZ8*yCvnH&~}+tN{7YBnf1|gg-r3`gJ>R! zvAa;oHg`GT-ceNuh6Yg=woc|zt9L%XaUr2>gZ54Jwb`<*Le4)v60`_A)iIH9-nfP# z+q&GByW7q*i^|C*$K}&$C>x&2grC_qZ9mz8?Rx6Yn4E%dn~+sAmLJ8T$NB>^|M6Z_ zia=9KCa>O-s@-hWJ^q#cbktDcHj~i67niZuE`aE8v(~(CCX*d61x zy{@R<@?r@0^=8!I zz@NOhI0EbWLtj5KIBRnvV;QyX*uJx;>fV!(rT1bc>_@R+r({jVI4>2+D~K$;J}TzY z!aZK;STpmnhvu+7{v)5he)20?d6@xPdGAMlbv`OFPr zlUby`Y2%Q0wwql5aj?B*^;Iw zSQ5`#)HnB5ZnbOF^Yx9+=Zxa760kk?kR0_zIgBK%ChP6ADr_aSlB8F2BuiE?!h*4{ z0IoR^Xs5M;?c1;KalN@|@yTVV=M!Zl8}eQiO2{~sM2QN^p53~6LuPysjz;bbEW}j&EHL?YzhQeo>a|bX5+Zy<8;(A{k#$&yE3`E_mLG5L04P3vuVCi19%w36u+%9UW z^r{c+9+hr2(m$x?5j`kWH!krmI=NkXPb*}cO77l+4n&eje6yY7(vF9==Zvee4peO1;*32L_FPI9z<4NCXNBFVD2N?*N&6MyB^N7mhm*o zLesrEVodUa^dQs10}@tmD>CJ-W3ybae*31hF1E%-X@Pb`*=L0$Xg12I-e>;G+lEhO zTNrCO=y*`EWU71)ykNnlu^sa%Nq?KE0Hfc4cJ~a_{$`&Vz1*~292bgtbvLnEaNXU% z^r+{lK=qI4B!Vx?x`Hun4aIH7p8IR(1CLGk-Z%bdWTO)S{7NwfN09yF7vcsdL0yZp z(LGD2GQl~^cI%f;I{Xuc?((tTf;K@%px&pPti-e@c9u#(UVnXhKX+mfb`pY*kKbsu zjI>$kuXY9na@TEhXKT^7l@p-6DNRBwy-vGDrCk9*8oWY=f!Ln3P0m6!-TDzT4fk^H zL`0>SVg@RwbMYQ4c#Q7X;`wLIl)gRE_XhDh&i=tCO(ND1DKiO!s96=R)xW|x1vNIv z*vv?kONXg&*9eNKivtUt8MoOqTQcGa+5b|SNUezxQA{#3sA^R)Vb+rR#dGD3AeN*YxXkX3N$bW@NEx;IXo!#W}L znCH%NI74zUmQ<4%!!w#YHwf{-=TVjh=1=qAQuCMJDPV+DyK}EGbvvj-mf{PLgEO5; z!_h)BL&%YVc+qcb^Xa}VC9De)hZrjl@uVhY-qwUjOtA$k3ap3K`|;g1fMkP%NiStn zdk5~@(-7u1GR=P24SBG@-6BWL9*utU@I7mE&Q*s>ge&X@UY3Q!jXb{ zvGWPxXNnIxqo4Hu^{&<5eXGF&j9-Lpr6_qHcV*2fldmiOA0NYhQ=TT5X_Jl3fql-p zM4V^T!nm}l0uj%%WEK*wWUlk>Ty)Ifyph48@|t`bk;pco@K6c=t=ZZn;SfV@88t?O z^`KDAl*s0&p``kWRqQL~Z$B1IYHMok678-dSlOE-FlXP22R&9$(0KFjtu=pa39ahp zI7Tg$PK9C`+=Q>i9v*gmdOD!B~0$tN-$L zhsv`8p5sV1_9+LIg61d6hO6n60~`zKy05u@$B|!9GWGzvEDT`_SVRsFVO!YiaqWd7 z^u143Ro*Yo8s6p~a9A-KaNV&G7%E{>SxvCPF(L9dVD~dJU3KP4*`Zo>3Gs@Tu!l0= zo@uISu+Ml;h<_CO_=)7*wc}?Lkv6;SqnT&!@ci&Dc5~9PILcU|+UK+72?NjLCBiX_ z^~vz86=FZeKN^kkOJOs6@Z|=nKYLr;6=OB@U9;4l9{dlKJ=>;j1ePmL*$3aVOPAAO zxs^Vxy}IKL-7m5!NFG;S_AHr@Gghx;8{Kr(ES$OE+)?%*JF}8L)%1~!aR&;o&6TjG zVxli3luPMBgwCZ#6*sj4czT3|NVo39V3|4Fu4U@>P^61bCQ*TnE1&*(D9qd z{U&_>{OTNtR|(X~@y~8Zh*Y9M;$51O`absKJ z=KK}Tg9Q(2^8o;!xoW;QB_^R&ko9N7a*XhcM{5Rs=_anVMu(SD^f{&U_r5FLM(Lo7 zKcCWChN+KMC`XWQv$z={sS6A@(k6HE^}>Ljkr^}}d2jJHJ*Y)Fw&sC}ZV2XJk__y) zU54|j+4N_>9h>s&c_#lH5r2e_4a*ooZY%piUJ`^qcVA1gFQ^%F_urHKT!456hq`>C zlMGL2gD`-&cU8dz|5_4RV@p>ooY^AY+aQqK^6{}Y$kf}?E0KCNg6e!dqC`uE(k;7H z9sTwx4#2yH_}8<0<~yFL5{_vm7T%uT6n-BBhTGYxvAELl_1Ud9iE$nME5~s|DaHm|R%a-*iUI60Nr5xEV@@cV5QN+U=wb*XQ zHdqhD;1%)dar|a3N{F0`7O*fxKQS#YE9l5ok658e<-SbRlTf*j2?Pw{|Fi({b z;a+W`eld<^jCLZy(j~e60(zJ+ho0m29Q!9<^q%zZ5K~<1YS4(~d1nsfmzSnFiuAJz z@gdp*de#nLHL46TM58aZuxgqK?;~e&Tf^YFaNV<|i^am8R_}(rM}iL^&ILp8X+o1_ z^CbZGgN!%ahO$eX5mWSv`lon``cUZ{08wMa7i2TU%K0ddnnxb8f*jQnGK94!?TyI?$7^h5HiT zTYaF;We)?onI(w&@~g&)ml^N4j|J$T$HKczd}n=%*`M#Kido|Y6Z26qYr4cg`wM^i znRWS*nW3_(V-{JWecXdD6imM&j1g<7OX39m^>fy7M@B6g?WI1Rj2A=;U2mMF=o}tq z4}v2Fc6-d$jpm_76`!8@4-VOg(>SdYI_tkDOUbO{Hq;EK=T`PLl9)O7~S*iQ&HAmQ2)D;J9~RESj}`_Im&p<>TVLi3iJ zO~KX*Bh!FG;u#E7cFN`=;HOwkzKZVfs#%H+F7Eu?Qn2?(h0;jB`|_BgmMB@WLN{UL zD?GZ7Ou-RxgWK0vD-qM|zVw7=e|Q-<66e}X16tJD?o3(2KwGus@Ym;a!6{3V%f&t* zc)H*Q89Q9*t^E?n6uwm)^I|+ZRKkqB z#Hl+#Yn+f6Ji|x!v7Y$HJ3kkQ(xP%K!DwncG<)c}m05Bg`w_*2=-lL3jrg^-}2D(wy`TFe1p7zhUf-|YV*?X9Dt z;J3H$TLeK75fG79Qc39=KySLGQ$Rwxa~MJl5Gm;fr5ouErCUHchOQwb1{emI=R5Z~ z=Y7xbx6bpdbJqFCMyJLW zvLvoQUO9}2xu`lwuIw=MjvQ&FTvqFgWr~zspxPKc`N_()D_j`KERME9DprL3yNqZlQrG;g!WJ~Rl7D7_E$-W{)KeC1K~ zh#|SO@b|#SzFF-=zj)7HF(Ic{UD6_UqiSh}&uxSLQ9-7d7LiP?t(e%$(L%9Ti~a#_ zaQ?2s@Q~oP7l8{anKVw+wpp$O{lsy}9iM~(yK4Ln;hgYz!}#!cxd~&&@!*9|4I$hu zr-b_T=)L^B$k#tg_dHj=QcWuAdRg(u1dFT0xAN~)+>?GN8W@OJ3904UBPo-Eo6|Q4 zU}U8yH-=I^d9Z9C6`CeLLWe@cQ#bn=?a&<%xrS4kkq*NXMD_ZqOj%h(i_D6kRD zEnz!c@r&qE_;>Bw%V8gMnBS$3?{v`E%Jx-$*FNym;scvL{e0WZB%URs*y(!n@ zp^9J0s%GdODyxczcMGs3Tr2F5piT+|UFCW2hDw~s8hu5v#^5gg8b&9bVSfVhN`FY6 zv;>&aA(bdtlrpL2^b;AYZhmnxth)9jINOm|RQF=4BJDj?V7ZCy(bBxk)%jYiQ# zPq{b6?IAx8oo9_jel_S01RK)vF3aHJ1&Q z-m$SQL~f2PwD;nL45Z|6n%_U?ZS^k5qq9n zh4(gh9OKaNCM}6(XUm@+^xCKaB&Sf*l+{*{aYai6p`4%5#4aY!rSeCBVMc1$KN88C zPMr0Fcc11uH9kvx-8d_Q-WHxW`FSKUZ{lr{cmRjc&7pZC>483?oo1caG2clLyz)6w zqenT>ku7MPHt~D?LaIi8!&F{ab{!x^ct_9J<>{S-le;Gd&3C#o4kQQ9?DvZH0(`qV zw)ghpYlgbg&H2Q;ZNkj?Id_p7vrYOZw8mbm!YV7G<{8M+_tiN|1h-jD{oyR+>5o2i zxzrTLYV;mb2VgJ(uN6biVn*S_-w$d|pZxG|KV-CLyT$Od_)R_h1UVnDgQCs|h^Emz z&@W(vxV1sAeSOPcwIev>c43guFw?bb>-}pdOwuF{{q=+(?}_ z9=X~AdV+ehQn#Em9t6W;#hwDfE zCY#+oypXAk^K&jgr!byBr}Cgbr%v_R$Ac$&RL%XotS%Aa8*AHT&6Rw=(aSqmw8|IJF{3|J1C%}K4J>1~=rkg(N#SkAd}X=){Exsk9EJ3ISec~E zCEB>rg|{yCvpKybI0Y}=cJW1}uaB$ounC4|z2fWX_{ca5`c7F4QMKC1MXrU2luH*(M>Ik#5F>6j`W-3GcNLi!@{12ad)*4JRmku#(rG2upOdH=|;O@-fTsGPj#pccjq$EXoD#btT3`Jist4 z1?uiui^tLZ3@dtV17)(xYB|;d*LM$VJ?LvWGCoO{q!AtdG}P_s-rx@P_Ir|iF(}1kgLCq|X7-TB}?<5!dsA(yf2$9i2VTZOz|s z`k8+!>FMFsTN)H6j?NXDkZ_p0eQvq6?HCZ?3uytpu6XWxInuR#%3bjEy7bYZHzazQ z??j0@AX?+Z|Km;9W%T}_&>(o}e%95+WhmX@gHu3CZa)~t$0b#HDCAM4{6sX*3Ns6q zWx`g(mgavXt~j(0KjDxJ63WEIVZ#-i6lYvFd3DYt(y%hHT%*ooS6^kwIa& zxSEEa2nNG#2zixig&J7j@2h#oeT-MNMSGO0^7~b;CG;MP*6q%U3rq2hk2>U>0w-=< z(L4U=ksm||q&KV-##81O<)6@hEU7yKp|`bazXh#bmpoig5AK9aK3*`nXz73v%S}iO z^+pWz4~=rber>xEWf-VsJ~E91O5j+bG9rI?B0Nf8?ibuH^X3en0B+?CmfkP1p|GhD)asWVr|uI-RN#Co{Q7BOgM$~ zh|b|}beU!P?j;>oyvT za>IjT)61I5e6CBJO{}@rIXLZif5vbp9*RAYr>3t^7G`9O83XpwyP8>z1`eNMND+HeKwR!jD{L90}Nwv=<`0+NwIgH<* zth92nMq+{@eoC1+mck~!jn>|gWO{V{?XARF3qo0c{!MRk#+D=da{iiqT@pq8u;s8` z*Q02UzGb{yzoy3@nV`zx55{S&s~CgIhey*Lzb(V^3N4-XP@!{}_0GZ{GWRyzlosML z!}>nv-mLvSi@xGIEuN@#;+XS!!By3ksV?+jwvOUG*S+>B&`|$*r&_!F?xO~UK|ftW zIe&(RkoLrF7jwhRnWb2 z*)^c<%A4*qkj7i6#?&)PaLC2^y{OPobkDiTUJAW!I)Bx@y6YE-%@#odDi8`YefVT! zITr%WK;&n2>N*a|GaJcASe|@j&w;>Be%`WuKsww#d+t_#u~|kUxnD9Rw9?_1>A3ry z-=xJw^?P?1yq=ngwc1yn??lM)b4HVvUv3eg=r@F6 zNHgEJs1LZc&(4SsGcO-npBby`W^%aYDzn%B6xQ`A2&s+r9QslHm=i_u%4!Mlqwo7zH*PQjRU=iq=@3TZJN1JFd#j{4(;7t|8j}+#-gM zOD!B<;pH4eyL{fo5%9+m;>0>N`+Vqgfz`P6ySPKpkl4CJ zU&{Sf0r&Sm9u3=Hr9-Mwh+B-LY>9uscTIWAi6>oJ3%$3v+5HV+ux~Xsp>rpFw*gb! zp^RL7TOtNgB-6mVh4vS{al6-O`XUuBTE5alF$xp-0pNGD~ z@k*ddr@w#JDM8okLMK^l+l;vM(c1_Vi^vndspMQ%ik{KFjAMu|Z?D~M&e#V^vb7%t ztuZTI{?F4Fj#aRes7c9UM~x-QF42L>90sqEZznqB@&}ew#7vOZjp3$)fxdaK{s5r> zxotx)J#D;0y@#Kd`=dkfSnY=S=e_IJLT3X?#ntL=0;QklF>eaHELzg};QER{>wYSW zzlrPvW^?Ytxe5B-iR=Al#1@+Gt!jKH&r~yPIn?gkmVF08q{E2b+O}*wJrtJ!mvm~f z&e&71I5uk94JTZOcfe?PP@XHc>*P{#x!}$Z38nGO14<{^Etv{OOdQA}3upEZOI)j- zy*igJLCp6mEbX^z-HeM7RkUjy^@WmXCtOzg8SP~3RyuEs(V}_LwF1%R)R%b(Ka*JF zC!hvyUG@Y>Jsh{%zw)Uh8^DiCeY(fqH5gt-o-yfU*P4h{W~JcVMTt55IJE%tt{94% z%Yo|d4}+EwP`dZfFvE=+?d-JIbk~IiS6DLz(n)P^Bs=VVOX zWT>6881nmwhdhH)xb0O2@5Kj$Q~VP_ui5VuFu1`Q)GGsNzzYuY7)~X;5#yic1-*PQc!b8d8Py* z`M$7D_MbdW4-Py_pL>^h>O7esL7w7oe90H;;)iI`&hlRJb^EBAVf03ttR(Kf@~d+i zDtGfsw6rmils;7LcDmP{&bW0AX*oSvwooO+fJVWX&m{HUz(|PhQ=TP(B;-BiGBnth zzNlID$0XmWq8=s#h_-cmdKoK+$&)DkS#MDcm#AOvC-7z2XQbJ?-3f#Z0lI0vhW|{c{jVHTr)G-nG1}t}tF)TFTGm?RMf@b4y)8QJ{Y5#bRgY@+#HRmM zfNA6aSEGh19fs%$==kkC2JmC)h1T78^LE&vu49uHou!Roa{4UGQbk*2hE~$ivn(&h zszz$&994|c#pNPO>hyCHj5rjGH(vUuq-n6^sa>?B3hxzFxSnRLegGWb;9NiVUK%Tf zGOENPCw58{L7uDjx&QSXcX#Ba#;~i`~_D~TK0hn_3x)UJu90TKQ8=- z=usp|;>(IqkM6Xt_9iDD#~T&80cO0`6yE!bN)=@Xv`>ceN0aS*wmJ`&PcrNVNfeyj z#1uB{km>jyL27kVWQ3~K*@I#TlY~5>fU#(!hUi3M2fxh{b}WBU_{6QGo19)}9I4B) zn!(|;cUd_B!IgU$+cwc)IWw6BGy|9=2jtsM2}bzE*NilB9n@>LMuTZ|0+_|W)b(Nu z1F2t{q3vo~zUp!4ngA(c;nE-Lo~J;S0V+QKc-R3Q)zoz9xwUEQ zX(WDKyT?~=9%3G_Pe~SFnu;Gqpa0Q3D10D^U3b7&8ml9)18^{thy;zLNUpzDhe4pX z;RHplZr^l_V+Vh~TY2icd%$Cj>-#ab zihSuMmYLiz8QMg*kw&&c;LSF|*aj6IAjo|ahiEM3t2a;QtA$g9HyEq(4Vfq-EgQ2& zpWF6AC~&)8z0;@L+WNejeLG2LxgB^7#>^bwiS5S47;tTYiCbL6Y|oO77A-;I;nd?5kG3eY+gQN}q4`_(u`4m5w9TX;7y z0Y67F+0Aa$*c%PoJ4BXqRQILqG8ScPuZI8?pw)1foi|XrHBZIDAXXNv9QoGnB8os! zF^s;**=^maAC6}3y~hIRAv17x1rM+_x=-b!so`liyQ$-Mq(QZ^%mzD z*$@4i=EtFufR2?L2_wA@3qG)0Y7M^r^qg9oR2mVjrk?u6rbQV_m!^`U0$-Ca!Pi1Bk(y6vWsZQy_NTJNPnMp zPUl4b&iy5~r-4R#_vakoZ9ppv_5V6+c@=&x8{R1ojh8$i_;ZYp=X=Tb-3BD?t_pMSg9%l7`BjilS^Y{Yi#zfXWV|yOse$e$eFaLHQ26%oVe67&8E)SdC2?7Xa_;j z!~ot&T=scInr1nH-46)GqePWX@TT5nXtF)6S)NHIe+&v- zUY8buun8z|;(itjjGoGSq`SSdVuq`&DXk^qk)^mrr;rEy?o$1Z`Zc>&hoQRbJ!-~< z(LkKZ*`^5LaSjuJ2ldbxx9MQ??#zE>EO-VXOe7Yi%m~PgXQ}a|iS|HWJt->MpCoM+ z+60!2)0XfejOM2y1oVNs<@YBM4wD~u^bgDHhx@XB@X;8`#gS*JY1xwYhvUpaxKfRe zdYTR+dp08c<<{c^9;e=<(PrsI#H@7tKX){)P-US=+s$v-Dh-1&&ZZW;O-+jGKmKUyY~3J zHi26o2`<6h7pIPG;@L69Y5GJxA@w6hY6_ed1PgBW`6`*vp&< zv@japflwRX#aFqUi4X&`eI-~pi>Nou2)3fINDvq_@p1+c6{k@sF2{d!%8D}Fz)X!# z0)s1(yIdI({tQ9#?BO2XlqB`(OXcfi&lb;kOrp8zD)sM2wmkP;xTjk!ES94@l;Iof z>odaEt3-{cYsfoyUB#jcR*KTkV6I7{+v?1&1zt}^A|^9cARMVO>O^G_{vsJivnSyB}pAGCyHY?oGTAn2%-kwheV@-vCjWs3{-H zj?=aIy&U$$wf(KGrTdU?j!Vg%E{IjNw>wIYPG&=JPD|uT)@q@CKmsu>(o1OwMpY^i z6_%ml8{ykE)on9Gt?GAxUjCI{-eL@>d~^M$Fb0ZEA**!PBFOc}bZOWt zy6S~O$A$$qOY#h_DkH2_)Lia-^087LPif#`I0~eO4bF%fmP-s&{F;%_jtjr!EM&s( zdS!xnMjV$hHC(2_mu}|5o$0-;QZ$>1PNgoIB_l@FrRzI!S8$9YW~tM5vy5+^UPdMy z?a#5&X9%dS!e%aGH^v>CDTEy_hD(bav{a3u+>(&6JOPn`^ zjx!GYE!1uHZKKCwbicrZu~t~W2h5tI=n*7lkUBqA2sPQ&?nW1PJ0Ngn*4#MEUSh|} z;NU|$L3l1YmTd zRFWfab?>L!D#Vz~A5beD>cy=->lXxA_vY@FtEQZYYf@435|eXS+t-Qa8ANoHQT{(3 z3)NVv;1XIRnuq+a^yG+rDYY+^+DV_aZK%Zb=Sn`b(zeI4#3PK4e1v=P#IjlPiDqfiC3lj6Z@Pc+ z13qDtw;?7M%agvtz~j(n&BR4Qoy~Xw|AXqXQp)QAfNNO=9Wp~ z%+sDQaLp1%_UZq0^Vc_?v7SYcI^ZR4WX4tch{nq`bR>jbRn0Y7q?KO=l$PF`S;;-C z2t%0AVVzF%Jvkc&h1OKx_m%i<55$N-K`D0v1!Y?R6clC!8lhXx#XSwiD|!G!Hz%cf zmp*rzpF7OJ7L-r_yP!dTtP`@}S zA?F-}4uz8=BR6P_hKpOg^y3SKi0()2W|{I1(bExcz(q_%%54*SPOB7(({rmsSlYa1 z)9Et6^ny7gVgI6;8S2iwwc|*3L+f#om|@kC?WonoY%jb4(-Nq zD?~m`uEg|PK^}+7`u$i>mX2T8K=$KXUFpA0cu79}p6jtnM%|Z~{7g%nY87hE{xyL6 z4%OnRDVkW!598}fwjUwHN>+VQt8dr941>`^L@3e-c)9hT9*XJ;Jd*S)Hj>1U^K6La zHL!V^}9bA;Mjw59=u?y=#goW^V{lWOyq5 zklpgVukXSUZ_!T0qm?<)FIE{_b5@pMBv~W0)N@_Y_;Y5MLd~R%2i_;XLZ5Zo6P5gU z4@Za)H)1UMXf4a_ik<9MasAikPsZ-c2Q^o_W~dR9cc%mo?-soQ4`l#u`?3sJwLqgZ zL7ra6MYaf`N$^ON87~=eUwDL2zVGoRlOJWXvbLQ?7X!R!G9)F$?GUSGXceVCoeVpL zZv#`L30IP5WU4084M6`J+?&xnbSp+7nykKZrHQDIOstku#&-TD_WL+;+Hc${Xvb+^ z=>}Pul{Q z5u7buiI={^ZNJbVWe6*>Y|(v%)<9%&54QLtbDK$~hvDqsG2e0KLao0MWH6Hd^cYgf zMt-??ajn#f4k(Yi@j2z2GJ>45a#2u`0(VGizy_1rwyX3*^?e&D4CCE>Z1b|UbQ5)6 zR#IX!_ZZZFC$;P3ud!B)wJRaXhfe!2Ezw3pa#@ypAodqkua$`vsr*Yj+`rqe+?A&Z z1kI9?+dr3jt*-gJIF3of)w?j8&FAgDKld#3@PYKIN7o+AN2_ z&~<%mFaASTsV?Qjgx+yT$pw>F;xm|4D2@H}(l-NvE zzh2;=Z^EA;B*T^FUq&OjuH<(ey1^C*Ha1AysAV?#5eI$8(S#nk4+K4B_RLE9vp|WX zskw8Hz@%+%;X#I%?-`l2zUz28es)flL|;Lg*mO`bYYqUwC%1I&rxuFi-@NljQreFzOx$fr`}&oKU5X&vaF=L| zt47JSF<(@dNW7YSZmYZ7 zhdrgfT-YG@T!9Eavr)nC{#R5j+K>bbiH{o#+OvXbh;|O8@sl|1ktuklakAg#whD}~ zBBNFJE#@6w9mR+#iG&>EmzC5M>+SFSfp~T4BHxs1c;y4~mu?N*RB`UXaow1TTSjH6j)N|TZKVCXblkt#|G zh0yh?&=xROt?_J;_4g`lItR|I56TkN^E|^i9{Tu##h6{!t5q?kUIaptZEqo^f4b=P z<;w`#BUGKuth%Lc53t}jG>ETX=fx(Yvlw0nyY4v>`gr0YU#xU?@c71i0LG(HA$WNP zNzq21a2p!Lun>p+(|yRmadhb0$SPB1?IjHd{f36dj=9p69Mv!Ub`58Kl-oErLXJUp z$ERG``#wL)T();nav~cx^fLc{#H9r&i5GEomFH8@7^lGet~ zE?H1kRH5gvnD4`?%W6;mYsfcWgI0<+Nw0C)!+KW>VE=J z0fw;wcaN4x9RtWMm7|YXFFgZ{dr5}+R=?q3CfLf7Ya#lu(9jH z2=Hs&mLgU3L*Pi4WJnmSQyU0YWc^_W%(|;pH{q4V1?xTw_*N43_GKIT@nd_^>!PLg zlK!qEBA&V*E|PKeChXo4@fD|m8Lw{C{~xj-Phz>acHJA7WU)KAG(&A2BtVyUY$2=- z3lG0n7xT%?5}v3C!Ka)|uT<-hosf<6baQBSOWC1DH!%8$bAQ+(`-ShN*U{Sr^;(B6 z>9m~rm21qR>V;WnQGWOGgE(L~1=2!cc4wJx=7ndZ0FO3b_LeiiE=nXO+tPJpGvYit zHg_44qTOCFjNB^Y$XycYggse*=e_?5xjTk!Rki#i^+}>GIk)5f#q46qjRS{mxIQF@ zPMO;14I=5?>}{bS%Pr?Wx4SC+vWG?^_*N@24f= z4nH_~YcHhQV?Pa#~-E6;&@DQ6cZ+uTQ zziayC*(=$#wrf-pyZI)ij|$!X1lwNGxhJB#!PiwN{%2Z9FVOp7h%= zFDYkV5b0xidR8m722L%KE^M_bB?Wo5s3EkErS47r{&7=pEo(9qkChl zSI-Vd**JRFvYFPe&WM#84F@jYG%c&Wv24Edv+V|2x#acVwelAYQ&rS>^b+?AN>};f z^Y}EWAfAWiKqIi0pNl0=>^aTd9kh_jeU)ZI5VC@wIQz{?`>Nvrd0XfCdOhgCXoe2u z9a^)`UDw(xGd=?*TpdVDGYH|Hn>)4c424s$$Ii#Jr_zH+P1~@j+)+OgU!jr^h>&(^ z#cG3nDUejh@O9GdOw|ap`ujvPJ-{WDJAH|puSf4{zA9Yc$E`J&d;XiWcF z-*&!&f3$_J6oNJkBKu?yL7y`oeahxXqZmgNi!0_rd*)9WT$kqxw^ONEYdF)lJCFlW zr!4)WJ%gEPZ+96_9qE(&_D+uWGt-=shC~CUoASav8Z7>7lK`s}6SEY#YQNImt=biL zMgAVDk#EF?Gi!i||F4p(9@o<{BY1cm2u}KM;!gXR;3^OP8#H;gi`cCCp@K;j06HV# zHLv(p1_f`NV+C*3SVc(SrHU=x)B|Ey?AV7j0__UnXWkYxdb*}sz-B~+JXX#(UId?d zC50|6WZ-pa<)gKJay|@$gp=Z%@(>>DKfi}`?YHTYWtF>3^pQ92jV@$TGE>+LlRSQ| z9n}I~izpS;Z#*pv9OdP>5twAz(k9?AJj1E%Sqz!inVk-f|}q)xg1mPir1^%0@uga;*nq7i>a;Fu)%4D`Wk>5 zfv21jFh#$C+GAE-OePmrX^~|%!_RSWi|>E4Yi`^2G>9v!vC$kT(6e&g5FLZY?0>#z zqBC&mB=^UJDCg;PZ zsWF^CM5Zq{2+(lD=A9)f2{byDN?7iVxy;ZeVNn1+%y3YY0r9c<=q(D648#P92)@jv z$YbEf-Nm36<4*_h2k=J*ir6ND_2Ug{Il^#3gc9eO_-M836)`&#|Yk4?y<}0-CWu8BB#oD&GN{!F4r#fOCN5 z8RvAI%4Hxjb^k|XPNr8`{O?Vv|175lF5zN#-7AVI+sQ+1eZ9PDi%b0`WPg&&?= z1>j;Mbf<#71EHWpu4+ec1!7jmAZGss!q{dv3<)8cNSdn~;^)E$7qE$rB~z+E@2`sp4Y~DMUB}0*vV*!u zl@mKQx!f_zY~e~ihbgG`{ru(YZ*u0hC28lP>RASK>Z#%s2Hs~$Jo$SX4*%7rk3+-m zDjT4O5}TSdn;_Ab+exAB5MFtUIEnDyG?rVXiDevO8-D&>tJwx)f?o?v45ktvJ&m<% zfdZ(iC3fdlf*t)1@V*AC;gbfzYxnoyy;^YN&Sc~Q(fj*?WcP&th~5+sy(>PiSx^2E zy-5G-a}9p0dq?{|NYuW2pmbwi_!#=#`J*q2KnSq){$9EFTKRUXb1bu$KyjF>A`5m$ z9D4yEy|GfbdHfexhyS<9!avJ^zx^@_0-z$RYYZI4&Z5D!hWq?ih1=+N5t=+dnr`;R zX1Zy;AEjH_9Lb0p9Vh_(-^2eea^Ezh>@-Yr0oSn+WS4ju=}cKN9eS1RUhmr_)rC<$ z^|VbLZz}w){6w*AbfyrxHra6YDBaekDV<5g=QwZt26M7!;K`6IuwHzbfUGz1l$`mN zh}^(eJISRc-h{mRZEBgJyFX%=Tbx;XYn8{plD&GOuBcJdlckL)-IJeVa@+a_cVA*Q zwyk==u^7daWaK@u_`OfEwu)Yhj&J4-(5gB^eq$v(6P!A_k`@Y`l^Tkxz#Ub|M4^EF z|4PHz$rvwCvd8^JfVE2S)>{`On{q_}^OiIZr+d@=@P>4UV+?Vl#c{X>@L1sU@i>s0 z>N}D7zNyloaYAIouXU3Ur2&J_LX+IXDBSgkI@#Beb$`NQ#2Q6Om%U>> zAuN^W0DlCZfQPx2Th4i|MwxIVhbMeFbw>hNq4z4Ce~1;uiyO6XykE$@qe}Xs{BkGz zq^_Pz=km@8Re6NB^jnV(#yiD~C;ogLbwRrO9q#(-u$bq44nfM&J^Y%}cPiE!(j#>$_r*dEwt&3~G3n5%B;Gx!G zru3&7gGf3U0rsO_(Ojv2LT60T8LRx4cW?2=wLRDUAmhx4|3)p`Wc|FOl8}^>U}JX* z!uZdw1wC{uf6e%N4l;!N(G6zR0L!z`wf8P2o<0I(h5pA1e|iXohrjp&(CnS+y$I(* zZ}z>Y(A)*)f|ea`J3ZyyUNw4lCH4RsuxqEox_IEdn#hx(P2v24DMLs_l@e3(T#5|6 zl1f4!&2M6C##r|a$?iFy(>yVz#5J0p74Y^Z9;K!h@?fZ#(&J`B9_lW6=FWi7J3>+%MwaBpK zx7|x$-$#@soX5Y6=QqP%$nfe2=IoUr#b)DRY&Om(CA(IQ1BkcaNt(Z*!wU*IG3bSm zC0NexGkjXK7Zf(bgh*1kk4F!WE?B8vP{h3H-^5A^vZ*b5%pJOWY6ipb5Ta>C{u| zj>#K0CLsP2`t=arvOHnC(cxu$?x1)MI*+XK$fL~%47bx_;R%5(Ay;Ui9p3jZ)?cbo zz2UQRj^Y@{dq}OG(I!Nn^QoWbS$lGC9eat*&t&XQevFz^Q#SgO}I z>6;3jZ7`9F@UmGpXPoh|M&oUP*7)+**B$}vx~$q(s!G~gyBkhBq$JjK&dxHcjZ!J;MDfw%tDN{UtW08&^FuK?9dM$=(ovKX|_~LbwX9 zFSpvz{N3$CsfYB?b4m_QQp8^xnU-nqe?-7EBkr*2f=eocWe?&n|6&g>iP)<*9$v#v^xpX4 z%oTJ=zms)z7;-MVIH31C-q4=D)qdLI?XKy<3Sw&yqC#Jvbg! zsTxL$sH{g`e4L=cjZ}Uk5i$@u8p8TwtnSeP)qGhew7}fLW-Ss;w6tp)2y(S0B%8tR zx2eSJ!_TR)Y@xC*%OGyxWJv@)nt9D-<*p09zkG%QmWS65o2WEDGVxK&6+ql?*c!%+HEYb;g%+_A8$IEGdP_opS z&e0LRnJA#cbYzt>F*B3bXjiG?E=0!r!1(shhWQc z0~tL8|GqF$5i!Ni^IH<}@w)g~wiRuZ+Y6jw{qodzZwq|J+DOvGV^I&CF&&5Vw`h2- zf(rHMUk51tM!mh{#Qv7%ot`()=fNk1g?^Xz?L^fA!Azh{FS~KdupLKml>sBctG#KZ z%&{@|o=kG24=igniw{-se`}4v%8kI1!LRo8c(t#Tmv1sHi#w2(CD^zy+yYLIyh*-` z&Ka_OCtqFI9n!yM%u}pw^ToTBtbG5~fchF9SY@Unwvgaj6eho}s|}~nNj%*)iE79# ziO!G^EIu5$mn^nyi-O1RQ^$D9@zqb*s8XE@fKv-q>kqvx0G_Zgj#Y&OCg+BSOm6yf zO5|-PL@)R62)(a;hj%zC+YhX&%$OPHqeXS!n&+lq6Kl1;L^674Psehal_Jd&@))9~ z-{g#g-3kDkX1#&yr>mb2TE2SJ9_Y>=wd75vc*xi|(R=%QyD< zsK|()H|fWmzBkCYbqBt8aRhx~bIB8hq|sl-S>nXtizKN&NeIo`GVxCw6{9xx!WBky z(2fw*XfKBlnZ$yDgS?Au+=(cdqsfBdiwM+zwq(XF3fsQCc=CA@ZKZ8MN_cG?M}e-D zM$;u```fF|B8M3UFk)pjB<4U&2haR6W)JT&Q9?gIc+j0W7IOr<8V$qbBx%Aj{GV_G-PqR{Y*H|*QCR?L12Rq5s#O0sZk8-bc%oH5C{MDgoPlwkXR(}??9 zmblJFn5SQYNA6GYPEk$k4C^l5;SW0I>4dxHoqB2gjNmZKP>OFb`JnU5h?Op1<30UL z4Q1r|DKozb!(Wf@H}tJr#k<)l9@)u?V7s%OO%+$smk(zgtnzC6cadXAG3$nJ5f6O! zOlf(lA`8nyeCO#lzTl>Znu*}!fkntbMp4+~qvwlPA#07~!e$pl+5lKz#V;P=p$*?+ zf7cD{>w9-R1^7j_9;s_F6lwKV90oTm7qG_nd9u_(YoK3d#g{G!(>|U-%g~QfMW;> zN;>~dn~HmvfaNLJSPjFMg1rrou<>?-H5bD%-ibU7mSBv$n(bmjRO!3gd26)0|LlUy z(runEO0C%CQ`jm4aQw7%-Cp`2VGkMbnGK}K`Rd^{++H$>Z&d5ae++4w@lAC1pP5Pz zR-|~X^=TME%$={KH1gLO4~K$h3~)#(c4Z4}d1>r_?;W7tcM|&@O=COD7~ZvCjiO!v zyUU}|ZsG7<29Vd4R2A#Pdc|ac1M7yGF=Ag3Dl5+UH^GFUuBJd##M@If%ca(K9F*U)GlJ*4iwTpdxofE?)b#kBS1@6?>rc zf+V#rt%5lXt0^5^Vyc2M*N0Zy^TTR(eD^)Z=#W9bs(!C|X6_a*!(soC7h^RZbi6aC z#%d%-i72Jn0Gp=Mo~b7DHR%;$Kj1I@%A(5)4xnI}Lp0co?zqPd@I;A2ZS-(Ok{&s8?GifJlG(?OS-Gl<2w zrO7gEipk|WEd4U+oDgZ1dj7|XxL0MiC=y{&sd<*qt16y`ahzpkP~VHuty4Sk2>N36 zey>Z3smDQ#cWa(ymQlPXS{r>kKR>TATlJ)HrgG?BayUo{5+h-j>4YWs_m7M+xg%f4 z8#6#{$iG_Q44MyKR?pr^o~+&37Ezmlm^2hL4+#?s8QvOWk$>*94;NlJkH0rqy+!Dh z9&DT5uReC{2yY{RAD~I8I2Hm-aH`YYDy|nC6Dh^IRgigLOSa#U=>FYJ?zZyGj(WkO zS|B%f;s`DPkS(31hFIkrVe!`Y28QzVziReZk~GQpC{t_t&hvRHDjxsf{J(1UCQ53p zg5RA5*3Ghg6>scuf;?5ceMygK@vm75NkmEMU9Lka ztJ9=bw}9}>E7Ok;^3-hxz0~6>uS|RT4?3py41`SEpmf&{+rZ4QCe7N6O9jdqcGCr? zI0|g3es*zdvlU@{F*CyZU*(TjLT@Go0BH=Ma|>_4Erw8c_v&MRniGue%C&x0O5(2* zsALoWl0@Pb&rv(D8$d~%cQC7wL$wlU=d{x@>HQ7aY6%$fR($Cz#4CySufXJ|!gST6 zOUjYuw&6lJ-X@vQ36)2U!Lv>k&yv#0LSNP}^rylXB%K8k$GOG4@p06)SKxHcdV z`eORD%4ckZY6)OE7JE^}^GYSJ@U!HTml36BVUX%AyTU(3*@l2Uvchcg<>AZ_y!U(j zX;4YZWDEzmB}a19)!-&)#He6w$K6U7(nz{o$#Sd!7NxzqeJF1E*^qto++;`G4xgFSc`(iEWcfu83s0h6i3-M#O%Trt2}9ViSHT^V;6gw(}{o8GUn(V-og+)aajl8&ANmJ{4e-X1P zy^>0Bq!(DI3rzIj3hVCSHt>7bXQ^uIEl+WLmhbn8s15mc@!*Ou&lbhw%c5BK{7a2Z zC3T^V60K%*1$KujAxkb`MwtH5^r0w!HT~VARCQwlY4$ds=T)wI$)!NDRe1@>7}-oD z1^pl1-ZH8Rz5N#5B8Y&1sFb91cQ+y+jUdt?-QA5rhjfF2fOK~%-JOeuMR(`o{+90d zJ^wTAxgXBnW85!m><_w!W34CVGv|DsA2k>&T{B-xvkamaV;3J2_GXfM`RpVNq637_7VU+5yvnlxsn2b})Ax2|- z@uum~AWm^J^Eb@_-sx|i%eN^zuXN9B(RF{+rrQNEfI6_)Na8bTY*#?zYI7d;o+xtr z>}t)QeE)3`xjlw-dQqN(B8!U64DPVtegfvzmGrnvKC}K!vvN5cJ}5c__ZXS|5O5BY zIk{zQ+}qjSkHxzZj`OgH*>}!V}zA##rkYp94Bk` zn!B;Zb)wPc!TeS{kZwLJMV#+uDq5KkA_TcB5V#Zjx&FSdf_d$QGb>Y)`4i@^bpLna zTY-JNLM=`9hwz23-;n;Fe2930)zvgA-dyO+^YXkaSfKvCg%))^!Mk3tn1CgRE47r{ zzAlx-Jm~uR$nQ1PsM-WMkm=qU+_Ze#)^zUnsrHoASvUOvB)p9dpgx zx%CE2k*#?TQf6T@FKeC8nzKl~JS*P+N@4;oS;H$Cs4XO|q(`|69|3-|^?pBulG&=F z3RRA|wq~6_lU~%_-Y;}O{RgF|m_?;!u7|vg<%i(!6r0UIl^r^Ne)?9GQRofI#(Ta{ ze~ia?$u0$OAEA#o9vq>{n?0N%gKHTY)slc1 zqgAlJ$xG-=&Ga(Li4o^FQyaA^@^}Zk=ujV-AAk1l(iYXp$)(GGh8ohlaxakj|sbL9#J^?A{2)L;Q7O zznSd*z1#wEPEL{(?&_Q8yk5V~DcQ58G77{-1sXRAMux`)91+DH<4KTWO`>^Ujf}m2 z`!eDzP|{kXjLY#GUPlt-m5;8E!6U2>3NypwPdp6+S%I;uWs@6>|K4~X=bc?#dcRE^ z46XpG77=gNK%n0ts73&Fq>zpE?iqe0C;OBsV=IA%Gr?rFr|P?%I{IZV?YR-76ocEZ zfNy*cRzXn#0I|Va4+tMs8XPEcHt?AxXHC89+?R3HeyY&Syi|Gdns%TYqX4@Y?pt8J zPPVu}7(9IhRm18Ge(8m_d^p1}fhBh8y1+AmRcl>rWBvF|ZFm#alv^Gf{Z2S(4AF1V>0$zSCqXS%m-mnGSK!7ihdp z?)ZqG>9MGx+h9GdbslQTN{s5#b79jPw9-UJ9Fb#FA+zv%YzfKNo@{7e4voxV->xaP z(_VebCjJ`kHA8vW8_m*fO#7=glCELw z^k80No_k=hF$5Q8+8Ste1R6jGV#I86s|B-6+gM6tm`(4#Y8n|(N60$EYk9NPmgKb} z>$_;oneyvfQzL)@bOXEsG z0XJ!S8uOWB2ymOIfCYmm`jxh^?4G`Q{l3i`g~3k~V8tw4tM=NO7bqDOl<8`=!N4{1 zYBJ234o!Zts(_8;huQPP5%R@zqb-zK=DecIB3;zZhRTdW7{#sE8lECuhBhgA?d!bY zxSkJ@liiW0T)VUZ6fBb~DF^!LSx?=6;ybZaeld-UqpngBr2;xoXFtF0; z$-0Kuio`Qpr?BUF>$-wBbhQ*L!P!(h6PFD< zTSR-Nr&#eZT>5~ktY`(njQM)ISbj?ALN3SYejRHV1+FLOU+)Z!?tnJWqN`WTVOD~k-N--Hb`7_06SAObbqrpg_wdYOWj`_sEY0v^1*gB#& zGV&SFi0%u1@Y084nFoUedH=&|LL_ikzr=nldIGX@k2N1Io$M(cglQDM=gTY<=(5F8wpv|+TbYL>&DBsCHg60fZsLAL^WR}1n;C9eY zzq&xsY%1_NhcZs_em3Xzv}eL8iE1jP+^*C8j@rZfUdtUinF9~i$iJ-hMo$~5szvpA znl8=d55%ok&zUpe^2e-Mf`zrt`P&L`6*fW|oV*{I`uTwoD0{41ccm`Ww)QbjfM%E* zby!fP>Ry%aO8xSe6yjS9=+IvX_FZ%tUpLC?n0!>#Bj(1nT~q{|RYlLMKM*2_#)y5< zw0=nO*nS~#HZjp~?|N$!=7JQ^H|!#);G}Yzqg(7I=Q4imnZAGQomU@TR5aodJ@VQr zKgrrMT|oEP>vFdaO>DbfLghWQTlX1d|bUY^OrwPE;J=%Rc|wj95MyUuOWG@;X&M$tD&r;33@($PL=1c zS@2*TrF3QIZsmqL(000)pTk&-k1|R|Rb*!so2A9^^j|$LSw>J0giSmwthccr^o2DU zU!%?j*)&$ zSWYO&)?mFg>BPl})>h*?~YlNZ6GxZVTu)pzci<;l^PPhGTH)e?4Ok8D|npEr4i5%3_p=hh8c;Z9Z&@A^&}zCQAoZ6fU#yq4<>e%7+%QpRUP zr7?P=v~his_Bxk7xvBor?Gl;<9bq5BVK+{1Ub%2V5q7(!xYRbqpIW%m=;M1P(h`o~ zxxnT8R?R1rGl;8w=Zajza*bE=Yi@l9Z?}1$qx9kC5!9%-XI;VVWrwCMu}DP`-a?^J z)$RVv^$-jR`VIj^iH9ZHEFV7NvLa3y2jAl`uOg^U40Y=Fo2Xvh)Lw{6Z!8rFyh8CY>*yNiLzyVQO&Ii zt260UvOctqT!T0_rITwJ#Y+VO#~?k(}Q35oT0s{+-{GR)4(Kz&A($o2XqjaQK#orKh=2Oh?^nH_Z;tOj%2 zN@o%Bp#hrU^Tc$OJ%6y7V4AO3=|u~tmC`r)vUK# zf6q$is28&kPWS&F{QW1Bl5aU;ocu+Fp(}eOWnxz77X|!kW9ci4_ybGC2d{sQ|M9tbvvSdOj^#)?Bq zJ-6It(cO-1(?lEwb*4veKBT;by|Lpy6@)36y<$WkLXh@l&yOmLH5#RZRmOv`T-JEUal&o;px6jh9JcBs z1HNQlVhB%>Tlef;q_E{}!&#N-e=LgRz^?Wh*doN(KZ9&xv=9Hu0E+nBDosf~(P$C|-3lcmcTSgGr{ zM13cy;epwe?lRAy%5-BjMWyMEK`7kObap^A!rk?`zLku1_|5NfQ1ic+12H|8MO=g1 z#DNIA%j4Bw(J*D4(E2g1NBd**l*o|z3OON)$MfoFpgnqmpwi>);D$6G7zX{yJDG{fOtkZ?wUf4>pKn7;$y-Xj zv9vp{rUMA-8^n{Nn67QLLTF}`9($#g_HUe6V2SU)a7d+T*-tzTf4)7^=2@r_U*@x# zcAIG{qeeH-j24d!<_uf8OFFmm;MJZ5S+$DGEk%E$pPjpE^*Ja*Gd^^E(rm<>ujaWB| zqYLAGW@&KyQB2{oSc;ULTvd7X{1?W92Zk(DIhE-ANc+k+Fx1KFg3t!r=)|=re(fv8 zwo(eq+Z{8lE^Vrc4z%Iw*|3DHwHNYyHzd{bq}=JH>PO{0(cxG&?W1|Z)R5=I@r9kl zVb!SM36bBKDB{-=i{?!~E}laZ_)PcV3YFfub&V|FmHA5k5GcK!kd~nV^Fs6XZEg?mB3jn_i#V_?lC7zS-KoU`bK4sc!s<>{ZGfR ziSeT=zq=?#Ns`#FkEjTe+#gN>izwt5Ch~T~0n>1HlDf~UkX`|khZSeUk5@eA9X;{Z zD^t0TJ?u43*R7m%bPOh~-Sj*AH+d*dra%1!L83Yssi1?%24OZ3RDnj^XYlQ~+nHN9 zoyWKPIfFyceLlNH1FvV^DeEda&%FJA<#zfkltDFi*MZ3wBcJOwEM`qMmX?xU|Lkkl z`qu`hjmfgJE}{{^A-r-=HlzzrDXspXbmpLQHrVr&XmHe?NTzHLpO@~&-{w1V@#ELX z_k@sJBiJB;OWGN7Mg(@>F(85Df>Cb3*VX+)y!fM;W4dEvul*M$^4%NnGA5@pys~sG z?;D_IK*S9#y_Dn1!%$q_F`QJ=5CQuEWB`e`KpZ;bxvo=xaw zpTvLa>p%0?q9Ib@7JoTJLaV5(Xxj5uF0Cf?QoHdJQfAdx5pw&*xqQ6VMwjgb>nn4p z>>xpf9l=O?!#k)0bj&_y zyStBU^t|T0%FYf_TdB?5n)GI=E8511Dw-VfZ_KV$ow&(CC+yM;@F{FejY{dBfdr0; zXfC{PbA{kSP4d@!{p*n1YnB#<419VC%9{3E#F!bc@2b{}gxSd@+1QU5w=vOkpH8{& zln$YjXpSKfVt1=?IciyY=srj*cK6c zfMRqu8sZs8BTao$nv|OYk1?%&fI%Fs?qf2Fp2ZChSu(umJy>9Jq83lJo)qjvdo9@=7OQQZ zb#=pE&+{dq5pl;}j=&@L3p&C8z@kJ}kDPSl_u4qMGL3!;{Klc{s23^8e2M?cG`2|W zXEe@jx-CnJ_i(P|;-2!M#|>jy<`S*Cnp0vf&oCV*^*z7r(qqt1&n4-zo#sJ0RdjHF zATjk)PMf>c-rWtgUTkl?qos~bryi9N=5UWI)McltA|{R!Bh5l6?-`7>)b*PnbmkOf zF5YQYu^@>2aA(%3YNWB5$j0Pj{hcg3M-{s-{%BTxWURc?ks%)eG@0I8g5oGYk!ni0 zCQ$b5*J6szt>`CJ^EkZ)ekRws^yc+XcJ*F+Q{bkY+)q?Kv~%-ZpIpw(YY4TotBXtf zsFcJn?zZ#I*X_k|)z6}D@i#7kzQRNF+uM7XjnvHh=v~*l1EPqzo z%Gx`;qMtJff?ssL@HRDt?NDRa3~Hj%g^jlNrG8Skppo(UpWa0}hqR`mL$*G6<(KuS zc<)YqV`^|erjj?y_47r8de3qgM#bd@xqZ#;?r=1tTVwelzS-71J=BdorkcBv;&MMK z%nM&TVk<-WLdICGCV@Ujn2H!cc)cOLB>-Ag%zbHdDSQe4QT`cExd@^T#_Vb|fXFe#li9 zbs00^we94|HegnZ=Q9|a9t;$aC)|#(G;qeaw(Ul#^Mbc4%4)4g#n3hjEcC(j^*wmI z+UksRGPBRl)dH9?W;P+K?p@wsvy9W7*@8DhhuzD1tj*nDkc#~5BEh&a#n{D%3@-^8VLqDs;Cx$;|Y&nwR{$zdR z=~F?bvEI)hsA=IzexYj)llzddFEJg-r&n>gxHj0;Z((e5bdsPRRnb}5|e)nmtbVPHzY_;sT;8@i=X@{JIV5~xW zYvbIg-4#bB_i^%B_QWE^O>QFd7!0L7p}QCDJa7l5Sl_tM!ng`mmuT5Z|CQAvGzWV$`vwp zBYWy0bUhkg+;cKgUSZvedFrVH6$ecs47A`obh%~WzbQQ$oF6^9q>~JF3SgCcxht}D z*VI)bZRWJU3n?mrz44?~YAm?9XX|5iyRMpBH}G2QQ_>D5e-kLPW0+m<$6nzNenm2O zUoPlfQ2kBW7IRl}fH!5opvOv)m?&VP8CuS*BCXVXUV%{T>;pWE)*7!EoQJ^=O6nQ` z3c1m;3G_z&j*5~uTJF_|s*_&H`Gw1ECDHzt#iy>KXL|K5v8{QH%9iYuk~?Eo+3OZf z%-iPs@5Jf2P4?^({H|1RuU zG`}TQ9b#v#SKQ1A`wLb2=rW2hBU(r|YWrJ~MoM&H#~amW6M{=dm*~2#xY=Zj5&-Uz zN6J|@(n}I~fZ;&zYq+}0OV8H%`=I>VZPd^x*s=Ymx z>OR9Zx3KY=yOq|rvAJ;ASfk&S))z-*%RI59?N#wn-hRD{p1yay_S$T(VktUC*k)sf z62KxAV(xk0!bW5xgWLTT#yGipY74PIR zcGJgGa_c*Kg>&Ww76hZ=j056FQJJU))3d>sonK5eMsWUSB)?cA)HbozT5qOTc)JMB zRD83@DVXsLL!@MJkIS88mmXwO5!QeXz#dFb9+_8=&8!odYi4GJJ+c9=I-SV3J4IhY ziX^R#OKGxAZE$-cY;>;jHk4VY;D-$7252%Q~r3AnSplBhLb(pHLM=k2C( z&qsfB)&oc#*-Ngxd7UTP@t|YW8O{;KTV=0yOa?(@L5RmTk9jiJV$c_~v&9o;N5}C_ zNJe(5o%1&3-gt!^3LY004`SS=QULn6c*rJJgIvrssdZh(z63M|siFXLusm3$p`bFX zb{-nL%I#?&m+-+i`FCTe`yY+LV7)YqXTtF08SwHm>ccp**U;x4`$1dKGhdTDx;K$^ zriC#D`U2DcsV{^UWnGtBIC?Zlkm>;NMOggS6RH;9vCdH!lRA;LLlQTIfoW z^6>T^`9v!`te3$eRK?addH)1oqku~`-tM+1;9oRpJQYozvKj!sLD(3-{+XWa4%?Ge zKi^wKf#q1h231g#|v#`k`+y`hSy{IXSZsSx_{aNuU=x#- zRf)Uw&x$+2oSuU;={D@vN;avw#qs2bh^pkQE45W8*Qf5s7OIixx=O)Y91GX49}6wM zXPGPw9);+cd9?-4JW z7$5cMQkTL4EuRji7*3KLwq=JlA|-j4@1*KQP0P^=X*V_Os9fIADs)}^`Ya_etXr75 z|KnzXf4wWbLwMUJ6i17?#o2G$e=G{4wBIm%S_&fTk)-o%rM~yAu-aN*nD5g+F+HUQ zqdzhhXZor)kQ`u*DK0g)uX%;cuQVZ)&b)?0O6}Q{u>H-$+(G_qs?>0feWESlm(9hm zdKT<^+^7eEqsLA9%={!;y=)c~7eDWAz9PVBpcB#=KECz!jaEsCXey} zixSKMc{hsxR1+P!n^ce9Z)DaiDmF5QF$X|M%O5@>nm4ZyiUn_yUjuY*({|2)GK8E4N%+=+I}s!}5JA0XikS!w*dq zT!_0GD2$`vDO`QT>v6>xS0PUR=d1f3($X_6939;wY_9GSW>AD_StkLwG&&mxrC~FT zX0a)EhEvFHXI&M&3jwNHtgz39*~>epg~is_RKodMLah6^N4uCLaTYj*QP|NyAc2K^ z8emxjr(zFL4!krCso_9=IWZcDKxtDkrPU(JgE}7633|>QRqZD60(3sr`jr#Md{1TR zEf2548SNoS*!Cs6g(b&{fg%im{?$ie6;AmJBD?f(Zt@p{&Dmu4al|FDIoK zK~b~WrJvIFRJ}XFXof&-X{EOCDZ0*nAUQKBbEg+@=G|sZN&_hNFXcH4PwGvBWmu?a ziT_HHZ0SHyK|-rEcB#1~Iz)D_tirN6SQ`oh7hx>2XiW4QRG!eS9~(=F&r5;I?D6un zfN2Nwq_?9ExzPH|)#JXOHJAVyJK7nX1nt>nvMj!es=9Wz@19nhfy>EY5*GS-iVB2P z!`{*Wqs>nW7G^Z`KtRCq@d;yK-qE=bj?%yF3`gL6|w_MsXp zN9*l0@2$_4s$BYz6cza&pU9*)E0=j8p=N|VicD7LvVWNZRF#M}^%2j~UpsVga;oz# z)U-p6BkAQr4u{L+YlHK&q2r_>yW63=q3wzJ`}(ej09K)R-F2T^4aeP|AQ^VlACz&v z#o}k9++i3RRwdEEbeZODuW?{+5^Gxge)k1C+WHxN(_kQf=|dzJ4gp3WT+UFflS{mg z>aM~8pnam%V0(4Sn2lRNe%e^W>ws%>BcF3pUA$6#txt5u3(nPgd3HhvBXn9;XUU27 zr5E(-yJ-dr2i8MsOUtjp=X`BG*ScW@p~8e9xuAdZGPh?dr)#*c2OPr)RRIih9>f`M z)u#6HEOGyn6<9`m)7u=`B0~Jleji{9-QFc zBLZT`iYoepQ=Rw$a&Tr5*T;r72>z3O6>G^Mr(ykb#On`D@qf?Al2-YGd!fqII=JG>5qEFOw~XYyKn z-m=i^)SbPugSy7suQFgiChMtCVc|D%71ge_Odk$xA04Q)@+rB>Jme`w_s;3m(|=kYvS8{ZaRb`9N8iWdk2Of3MI;-vhFJ)QxEnE?FkaT ziAZc!emXQGZY5fAQrn{Cc9%gu3qYZe?CJD$AzHVFpX>A1JNkK4)`;VcnJ zhN19XhNPDb({_Yw49&``dj_{#{+%NzlRe_)K6FUaE0zmH29UM(M&U2GFMUMuE4-R0 zOm#t5+2QAM9t^djav=XcI;dq#ZGL`TznbMG%*Xnoeb6zfG&ODcCpzcg70nf1D18EM zqi=VuGr#JLq05t^fpwW*hU9b`Cj`TfnU`@EQ+6(XsGYxZ1{o4*mGIFw84;c#Nqp6I zQ^;Y~gIaIzMaj)@BA`xP8a&tKs^uylVWa?KR z?=KIgL|NmMKsc>tE#(#-mniw3JL}JU{Mpn-N1?{ox{Y?*B*cA^e42)6q4b9jqD2tO zp^#4dg8=@C<`0stMo!Q9@-w`vXjXHL--$l>c-sRc#AaO~j$LD@T>x^5s$1l$Nmz6d z%m6eRFP%7kF$+(A?VbE4hjI>o>raK(5*Ws!_)p6}j7hdM!aGcb^FR%0Mk;X!pW)9M znaV5Hr)!puoQS)uy(=0+sQL!G$7qKo2i5$~EdZ3~I$wdu z2d-K1Ha*$gDOSZBZu(~L**+6puHRST^5MaVw4TjzzWqW6J>}yQNcI9q41s64JjVFE z1lI#@ZVQF_mI`w8g32CIDoDrBU(wz)KJ&Tfu9auuz{&Lc8>W3iGmyqGnRa8l!Sg!K z2%peWn>@nuI%?wVsH~^5y?A@-JEL=kUq~4>l?G+eQEg(DT`Yn251$g{&}3LY1HZ>f zK}-`DQwh+xVe>94xS?H?c#ott7nX)fJCcSLh;z56XaXRUM0diEH;CWF;XbSp1!7-D z1le}PhEVAmRXr>aJO1(v2au?xE+1IS2;zkmfZc!|V%7Xgx*iPS0yUR2LuWmZ$Y2&C zzZxJ|1SSW6$OP7#=SWeDGSrsrRyLkW?l=7?XR^9>al8&y&bq)&BTk}g;GwdeorOCQk+n0+_dvXtsE`S*d;xk;HVmrI;r2qlIuS zy$eq2R6T{0Iwm?f@U)Qk?o*GavN0KRgw(~{k~{Ra9?UrN-&wm_3n(buMFYphl)k9p=$NJ|NWY_o``O*8|CDrnE(e}L zMhsX0uaPDdwn&+P5t?h}b9!g|#55nsVacZ(j$vS4m{&D%OKv6DIjzR@={{~obrnnm z%!YW6eGbVTJ^C&4VDgI&9|H~1ca-lQnm&2h!(ZvrjZ_ZPmbn4?MPF`>VimCmNAAT6 z8cx7GL3DH;L1C2e5VK~u(38T4$IsC4xPK1ab{%5FO;3BqmRQ2vW2$qQ^c}J;B!THd z2>XP!lEl-_nU5Y^TaBBAt4k1vzXdsw66UpzXr$=f4CT8F808Ku)y}#;{7I`Dy^F2@ z7ai)7$%Ou-L(!A2leKOq8ItHf1{>FTzs0YF+p|moV(Suw=DHp? z30if8%~GccLrpqBy$jj1SUYBRH$?GTZ@D6m!#Yl-9U9YK>1%5zUzfe31~!3n%GTt~ zKq0_O)C<&Z6MVBWvwprDc+Wv3$`Y4H?~7#;8ANvNfkaMvZJ+#D6~v8}uYXEjm~}7L zz2l0e&h!1m#Rih>fZ$YBhasYg>iTi}?8W8@dwimU1$dU6)1b4Cx{SSfDa5js5YD}< z>zxdb)rPeSnL2u``QyGmhhry{X03$8;9Pvc^D!e{+d;LF=qZHFCZ;gP@7ajg_`^hC zW}fTp(*iT|M$iWQ|6Mx+(jaAFV@AFPXLuvUE!7)9DBerf$y%mGSJR`FjC`tV$vVT% zj!MX-ivhc#G#|>;DL_#i4^FUuqo`wPg{g~)FLEci{E-KH zx=3J3o5w#}d^t{c-aH?*ED3LNFMm-nX(C(kbo4KTaO|!Dnz6Wg;UQ{3fmXIFP}v$x z78&NXYg0pV2HE#0^q=i)Ky}JX_SDkSq%by6>K!`OhFK|RBuitn;*R<|oH8`lsJ%w^Cia{YEz^7_Ot5&UpM>58We7P$A+q9_sQ*i(Jg z#UjcsVP4T8U(}5^2!H0|%rb^_>SBHS)JRo*LKqWJ?e)evpsL)J^sAEZE<$Y5CUyt_ zOeQ~RWgHwrxmPxw$NNe~qV>7hCC9)VNiVhyfBo&es`l_0*}WerFw?oJ zm?m85nJ9dEu+8%w%ngd>{!_L7VM@s3sPP@LM=gz?AE%+8=D!pOT4>t(x(7>W5?!;uw|`~WAv%8Cd4+S(5{b-D`vct!NA0D;fW1N zt=O8X4%u<1c7b3waFW<>Hb9_1`_qT#anSz&&BX_P4%t4Mak3XNS=zv05(aneQd+H< z#A=R&YZ4r~H$-jI!?W*~cEPS1Gn|`n8XozyJyZK(GWtb1{eUpcWqPsLXuDJrdYQB@ zqkL}7pCf1eFcfR?x{8&8oT>zd_cQVUjeR@f6G7$&DjlHezkpaRxOe6wWCPdd!O0*XnSj%NPEZGwYQ0i^iiFRkHoUaE`jRxl69>a~5 z{A1&@MlJzWzB>P_TEHr?S6=h=YweGXgUjqrad~8=dqE7{HWy?N7UX-}D1aRG;sE3* z$T%iQVCkp%sQ5$nzZcLT(1hVQd{ z=Zeh?vXHD^EK=Q@hpb7Cl3b<6?IBNEj5Er50!oRr65(o(Dtg9ynD1Xjbrp^puntb# zOia$@aC$2b67x>gNo2q^@Hy8I9n zYSG<>KZRPu#@MEHq59RNqHz2m?s2v=%#(GY-jEzz@hP)^H*PTZR6S|oK)mWb27>hy zU>UkH1(u;X>NHTH{gw3zSW~1uM|qGbg>qg=zfTGTXKKp`Yg{bnX4ogPoJrKdNE`9^ ze^EY-=Ua7lB=YN(4(_!$k(ZytA3ik20qkhdy>ceGK6)*)?MWb4eI`KWmn&bnba6g< zfqRP}Uy~i?jie#c;sq$5@z70?uc~riY2G*zqlJzzl>cs<3{MW!$1wW;;q?0VUu)4t z0uR={0HmJzG0zCBh;VzRh!Li^c(6nMP0&oB&?BFY(jk#WD zh?mpJIOcv6V>&Ph5#mI>Y{5a`Z6dRBJDECqU@FQwLFty5rE!%Cr5}5uYNSYAQ2q97 zGFS~*49YB*PmjLka?7aCJJKh8M@Ni71M&Nk@0#E{X}%KBxfg+GZs^gvg3_L*?fuPF z5FcecDCeL`k@&vfo@=m@#5a+2r0Wb|68nq~;g7-gs?_h>DU@|~er5`!V)$6OW92p- zzS)@mw3A^WC-AbZ#~_Y1y41~Y0G4@lFhKyV%Zkv5+Jqk8sh(9gFcIB4#Z^fDEe7z& zeWmm9(<N9Bs1pMBk@o9}xPF8>e`({z}Z;Fuui7xN&4S{uodF zdQwD;&sp0n-6YQIRgo}M>d>t`wnK%epvhtT(1Fq-39wN~uAsQ<)$2V%dAj^eFPT>U z2Tl7xO&2JiqSgUhj1b)Tb(>D`M*bX8ySddeVtqeIPMVoKj01lhiM6c zZ*9QfjmAF6gWMjfb5WPz?;=&5%YeMewLGxHysfkz3bd=?&fx!5o98{8=4#+;8GX#S zt>iplEu-}q$_q!~rAEF^X8Jly(wdb_Mt3wRO@cYohd2Bl(vh*|_j0sGC7har0(>FB zpOa6t1dRNZ_gY`|4h*@3t+Mp9qQJ{ai~hasq7ehTPE(A(tIQvq_e$jtZw>naY%;ouH5Uh{n15!Wg9X67(4PzIR%fWf2Gi~;O)e_Soq`=-an>ej(nu>?&TpIUH|ZG_zYyL;A$G^GgM%YqYK3m zdTVWLc7e~7VlJ**h{ukLfv!D5F*H@F39C5`InvF??FMuXXJrNxLnp&Zb;VwS(GBl( z?P`@jcp0ADMLjCR&hCgF7d8=9Ws3Oc`^rICz3N%5%kp_*pxKcpDK;suUU~T(MY<)A zDxx|%UftTv!`hMovU<)kxN{j!p#JNORybe4vEVlT=rT(I754~3rtK90T)#T`sdtM7 zuYATpf~^q6M|^^vpw;jajwHZ(NYJ~=0#C_>H*Ss)xg%j4rbwU|Gg!p?k7)YtemEia zVQ(}^?hXZ^vfI!Y#79tyqu%o&SU-iA;=uow;^2}nyuqj_HT(flsXqF&k%W%SRTvup z6eI>YXJ4Fhk0ruyLpKaMN?{v9#%pDmCKCINb=I@L!E$`a5>^TT%S)F>g!jaNFQ&7Z zu!JdWflf*4_c{?-H^ilmXt24w7$-6JvF!|})!UOqyocXE{UVs9Ierm;Dvw-imXA8TPx|6+=mmxy2WInRd}I6Tp9@Ei>~)pj$gEHk4{7g z`2(T^sZP;qYYyRMcUz!YI%C8390U)XdMAoK1S~;Zd7cUkn%}un)KV zlDBS^!*3=$43LHSt2s7(vEat-i;q9OAufIfaY2}o*qsbd2YZ@0i5Ctz&Gx2kq&_&j zgcy({ct%rN4L|&Y$mFpO+&zyHqe-HU8WQ8OX4!}6T#B1t6~NNQw!32r9)-IllbAXz zr0!d|iN7OhnDcy&5zJD*>{)AeNdQ=&c2V_cI)sOhPyh;!V!2+Jy=t}G9+T9oXu0?x zZhuRw5HdipA8ySaIq3zHck>=RU!9mV=?2DcM!&DZky|nFTjvb8ddX7QwO-YUS2w$P ze7O`Dy(v#R6dzwRIpn!-bntZ4j(|D3s%TSyT3vGl_5Sf?1}b}_ur3d^=D7VULjH#b z1Va3w2)y7X4>-gr@s<<8lKiM%P^EVyh$rQv{jZn*b9-j6aN41vy^uV)>2_JIxvA8I zL_W5#{%k4qoN$s%snW6m7r@`#Q;H-fcyX=b+#Z>dIE)>thS%06tP)My`cxkiZjz%n z)QfEvGe5QkBOluqgD7n@fPg5i_ES6wZiud^7QO#_fXjV)kX>Y^@vr>)q_>DTs@l1y zYacz5bYsF{e7$;bpFm?_E@e({&5hd(WO!PHl;;P#r&8&yU(@%k+N>uA%W;w4Nj7P} z?vtteo3P-OP+BOSK%s{loRyTONt7xng0zlLcT84oaD+)ePpg`(>tTuIg<+ zx0(YCh4^e~m{)v5-$+ewr>1T1uq4<{A+fRRp@sMT-vmW;NPIy0Qdw^MbhOy^*Fz1D z@v%lpM{9O7xwOTiCu&{?@nx4AB!ra$_I+%J;zQ^l826oyIDy$?^&8`)R7-}}UTnF~ zle)m=oz8Tp;wFz7P4SC#Y&jsORUP0jHVRJ+fZz~B!Z>A*1gpa_s3)B z@fMx*JYH05E`s`c@o1OHM|IG(9isgA#7&LL*SZak z%h{36EE(2j%EsS*)@O^{MKj1Lu& z?|M6Ha)AlJSES)z0YAEuiGpSTx}co42mwN_OORdI8=Q-JPlF31+>KglX*J6hcmZ;sY27Gw{adHb7E z5oysz=*?>;B}utDk8|GI)V`wtx_W7a-1G8u5yb~kSeR3ls+!xhZan~-x1j=! z*P2frVyMk=?Ed$ewQz8+dC$JqeR!XOo_w&>i_{Kr8EZ=I&ZE|Kz(*>MSvYMOB^GqQ zSalIeWO0MARN>E!q~=sW@?SFBUGg4b&BtI%A%O!6re<70JLOfZto2t)!BStQkR==#}BIS?IK z9Q|6`v3h?bv1Yl}rtshL=l#M${sY$}QDqra%K#^BYxl1P_#DAm3T9QBTmT zdgu0aD0BsOnU&JGN1KA^1{ff!r0Lp6fj38mP<_0E|A1l(Bqp9sF=u78amNn zOH>)7sxkI8XAjx$1H^i{B0gUsBWI?6Z%tC8fbtP75u){9#m52^kBSbrAK1Xn;Ddn* z1b*rKlb}lKsX|E|exY82{Dc%NHGl9Qg*O zM!tfQYS28`nve9S?RT&~zd`x0ud_x~Prki#6|6Oj0-w1DztrI4i+o=@mAfkGTvQ08Nn7R|`0HZ9y7~LnEsVj;?p&ZK>jQDpX1ZRB4WCy?C7)SGC?`)ZD zd5qIH=dF13#CteX3w0U~?%!tfnQ18&3fTDP;vK$)9aI$e&a~c91NL!+Hf@9rtShIb z126gk!#!QMCRZ4X8fS+Gtd36hY`V|;3l0zD!rDk3EzDBVbdq;#Wn zgHqDnZP4A_DZS}NrMqKOBHi6=_WfYsW8D9FKZtyBNUUeAx#pU4KH`5v1N20E zbX56(7ytSNTjTypwd4+`_xf`eK~&iQ251;VEVI!6nE0uiJPRPC{rCFc(8mi+ajcst@;r4mXyD{IHX*&`|6^NpOwim)Uxk-{4U$ z2j)jj6<}>;EDqk3T0Qx5rhmbSq|?dFxnCXp@1pw$Z6neI35ZdFpQp-f%A#gLSIz6Q zCGUA4G!tL^#I+f}2G@sOuQ#x*0#lZanwdnU@eAVrI&2j-UeswY8Kpmh+7hqADBV8! ze(*!g6GW}pO1hAj7bM_2|;I!_CCRvQXbR|FshyItXD>{vxWpr99H7aaxWyAbVb&=OT0onM~kQVNrx2ycS{QxO` z%3m8sb5>$K-9bpV{=*27$Dc216m*r){2U(;xLYXnCvEq731eH^0CbhNZ7Sm7J&hcY zM-G3g^v{P0M6^Rqx|lLc`(2c~GC8?{gfAE{qdCk-=Xk$btd=S(UspAboP|^4GmS!b zJAP0>N|zP2=3e|cV+)%j@45s;P4J9>E#M!N%b!*WK4_t=t9j0krPx{Q$pwEJE~^&~ zh7{LS3xciQ;8h`2EjCBDI#4Y@{7$OqV@l1X1-d$(nh?Edk3wn`B7?9UTWw{tv%n3? znQr8idNH1Hx3>b-KP7h+Ps3jmBJEj7z^stqU#6=C86Ktw@8Q@G3lji2DTOC7NwX8W z6ammFMArfHhm%SDr*f)Jv*)Gkv_SblhDEQp9oXlmXGdS2Aq@&}9Ue{;XVaN$a6sgf!$Nn`fXjlGQqMN?Ic zOIjQKMdX*ib|NT83P1TiLSarnSwh$g@{-Q3=hnbMFiKlrNP1DwJ^&O;-qi@=mje!I zR@8CH9l;OMqtFx zz153+9-7?)4G0r7pv70ZI&)aDQuuHk^eym`AZV??!2SBb!8W;8m3kVE3 zB_2mYDgvV`?Sa#o)s&N^5}Bh)N07Lzg#0oU;>YK!jofU#g%0~~;s1lr+J^uPw5f1# z5APY=>5Uwx_Eu0XdqenacM4aVvRl0bQCOH&d)}hvU6iwxd8A1D1n4qwgMwP?btCBC zJd~64l0g8MB9b?dMr`gM4~K} zb1#KR`vnIQdf^iTSe8f>pj^}tlq~4q&{(QvpsL+L^L{DhZI$0#eIR7~BJ)6}Bi1R} zAN;R-C^IH9H{$K~f5r3m_nM8UA$=cldo&1T8*@{D)aK%$uAhj%%tEg1sJVS=du3)hONsbT zq`v-ju%}X3Y*p227z6cvpDoXDl?kLP@7G`b&3bMj>1_3HQApkWFMX?)fEJ`xG{lkB zd8I2z9ZqZy_l9Jp&=C=AD8V+#cB2{fTemB^SJtj&syjGws$UfM$vMexvr)&t8b?P8 z$K5<}kpj9P*?s3*AlLlHUasfUgfII^i{(|*?WYmvjqVbg8KaQBmYT7d7Rh9H5uYsh z*IAsk0XltF!no}%+C%HTgVj%(@Rx*oX9-FgulAJyH@M_~E{57YGDOd(&c<%vEyvCG zUKB=O^|G*B_}9mcsgXf-Z7Oc%1Mh{c7`WQw>ej3mh8|x*IYF|oL!dFx@?L9j&R0s} z*7mq-B%YbRPTr>`!E5u#lm_jI3}Qc|SiK>Tv&*On06zlv?O9Pl{{qWBUWks~25Wy$ z>1!Va*#mDk&+h5fZ(m(_+t^S4^20^PHB!sZR80ns&?d}*;$})m%T=`a{HwmZj6R@V zVzgpcGhDbo2;yGwi=Uk+(;Cccn25q)kgZKoNXa$o6##a!;)^A?Cb@N6SaNre=4N>J z*rbn~ji?xK)+i&D2+1A2BlL^K^mGIgYwq#Ge9DLgd7miBS}*BjkMsOoFCqljR00V7 zUKuMW8?wf_#^W)~%(*2-Al$5evU(X@)8VA_R!~2cL#wDa4zQss3dKc;sx7K2Fb4BB z;;*^Db3)7}lOJ5!0+Rj?Zzm!!|68;sa8R^RpU|GSEud&8Qyz;Oky%T9g8xJTk{R1a zC&Sa@9{me#{&$%FUp|||WK26u8VN&Zx6CNOdCFn^ zL;$z~XXlQij~&BOh&J74j!a&I;nUby%*bq*9U3i+UayepQlT4clpXIqd&EAsF&GED za`AUWZ^AJ3j%@?lud41A;-6z6-yfUukV8dEg zl^&Ydg$Y)~&CT+dv@pfqTf2k~W&SKS6wNp`P+LW2-ga^=AcLt}j-4;7%rJ&zZ~g<< z!!tZ|p!qug(&hDT62NWo$CZWKGKk=iG0u@E4UzXZ7@xTm;jV4YS`!ad7H>5yv&0F& zPli(BI>{qjkiqFwULoVyMJb+7-s1yV3e0eJ@z9j;;kktkLli2HNm8KNDdcs8ri9Jx zl>=}vGMzB6L;>zT!&&J2KMudzucHJ`r$Lf;4&>bzOwkg(|N>Ic?OBr)r?DC#EXjOBDES!+0#- zf&~$TXI)d^ZC3~R68T|#l@(c9@l=wpK+e9r@AYSK*g?DFQ(;IHmJdcOmqU13Of)7gg;8!!U3$6g!T}@bimH9 z9-R=WyPnN#&8}{f?ptjTte_GnQJNq%tSTx!^K(=O?~1t zm}DMsiQ$^;w2I;PmEVbZ=IXlL zjH(-E-L8m3D_|`|Z#r@JW?by;1AK>5Vxq%wjUp7Kn>fHwJ;&`iivuc0IOS}sNdHsI zO(z1=0|5Ao3Eyc(QIN|!f&}2RY+*GIgM{tnxhbP-G33f-TD;kUcrNkyH`T?MH)Vd!^!B@Pk4OR+rV2i zE2|mKo@^3`H2p_hQcf&JMKM-Ru{i{J6EXF56 zQAWD%KgefId;jF_sHM82^T>iVhsUD12j9;X97nqujF;@emVl)zdl;jIlM13SdWVT< zbYb1qwT9w{5d)W|bOS^z7U05C^L(fDV>B0{*Umk-v`irk`VS5EPoTsvBtJ7MvRIIK z#k?8h)mULWZydeC5T)l+JeKRYIMKc_7#*EjGzRq$HXAbeglD9hRAeo!`=9;C>(1HA z&GhP+YFeFM;11u)ijt_F$5bgBn54?b*|WrGEoFW+CoOTSg7*~N3AX`(F9qU`aG%LW z%4$Qxn1HJCT4FKiJni@#e`fYF*70;w_Wil*S`ah(UI;(PNTj6oyD*Gk(Vzs~Ytg54 zyVw63P4z2zIFcWr@#q4d@^zq5`)KOT`s@T6GdeTf#1{^vFaQtLXu1LD`5YI!lZ%fZ z)hikR2y!(tkz%ZLWCrDP*$+MF17^frfGRw+k2u;{`(0z7GUV(e8h_B_sdAha{(Nh< zL$G>Mz`s23IMNA{{I`NP{yU&C8EzpQu2V{hAcj(UL-TdMEGL~H6M-A}E-14fl~ zU@^yN!5-!BxTwMOoZ#Q;Gkj?B z7!TOXn+MpEG#rCLz(e zQi>sewJneTka-Ife~AE6JSKh>GHy&f`oY$C(C%?CTi?a~_t%2rT0-x6rFNDTAtxoW zF<)|$S5QE_lnwf9z_{toYR~KPw4XJBsm(@_d`L8i0>=P|f`+lgyX!7$@^^KB@HX<; z6>wlH1LSgwdAK-bQ&RPHL4LSD`7dTbA*%^YB;tPaL+XXinA!7{zsa@5?c?NM%Nbs1AjjACMn zYj%M7s9ycWlhb}sbE~^sb+iXY@15g-_qGD4SFT_)K$6%B*O`pDUuq*QJ1nTW9GD~A z{w$(vUqC5}TlP(L&r6W#(Kp{02WeRj>iJ5-(OusjgBPL81+}iqZmZ5xdO-^=B>A3Z zvmx}K{lnrCH0eQJT>0^3cpDbq(smF@l?qGQPGa7*+#aEwb6NbK5RBxIft(AN$fK88XA))BL78(*3IVc`p7 zc zSBtIeyB|qCE8*B9+?hnZk=cO}C(J5`({69~F8)3NR@tYrN@i7GDfI3Kwk7&YBb8VM z!&ALcPRs=UnA7C;$765y(Nhuj>;uis+kw?Ob(;9P(cu{(BBmb}$n(sRt<%+ZH$7u* zjv(P_ZDnd{!=Ly4j8M*N znv z3UF@BAf(gSYU~L>oFHkfHffiOe1AB=cnD@Fhed(83BGZdl+K2s=duV0>|#YEGY*+lcj*akVZL86HCgQ|!V&Vg zEk}f#0C-wb+#=a{9r2ZESPXRBb|xgjI>#^G{{u6N_+j~h)Gui@iS&grdvU?8Ff(d= z<~T%(%k}t7m852gtsgZ36Baiw)i}PYE}$ZA;LV||(!IamA20LnqF)D5}?)Leyj z-=)$bu7{Xj|HPR?@|(rmu&^=~UHA+!Kj8!dUQ&LRV!*qmQ$$t>8(t`YP?luSq2K;+ zGE~*jaB2Xe$O9_cdmw44cOrV+P*wV)_X{3c;vF)X!pC1rv1cYvQ^D|}-V0M*AC3xH zzttgKxHI0f+A;?SD#`)~9RzJ^%cvJ4_?{ig0)x;&+d2kPFFH78W*~wNI(K@d^4;g1 z*qW0d;2Bv>f0WRnD=GOVTyy)a7fXJ)Vf;0uMt}A0yTTQ0eYh_nq3s(C_OWd-CQ88% zh<=6+0UN7nacld%AU>7QJ;N1v#)**7bEDd;qp|w(POR&yyAd%j(~oZl#<*h45olAB-uo|{ZV72!(QVfJn5@aH;pSkIVpn!Jqc!6XImhe(@0`=maXQ}@yL}wCxp&N zp!8JkZza8=n-LBRfw1JH!oAyXo~=AS51r0@9UxAk0b+z47!u@8b3Am}Vp>;(b5o-D12SwU;R5c~> z`=R&orDCThTTSP)n2GE0M)!Ll5k~N1vc!bfo9`fBMHE7+y}5oVlgnlkUaN!j{f*fs zG>b{l?+nw(6=Gzv#S0~RJ%1j4`+nyP`a1wqCz6wS-YEZNWMuoCkJS9XXDVW`&}@ zeY$!r5)sr;yrn6r_s~L4GBHxg52zW!^*;^-Q?5reX#hpHg}5^I+*>a>rVpZKukY(S z-1o_}s%dUM=wAQyme}tdQdd}qqhJ>S;~1f!h`Xa`)APum zZ(YCtfdq3JcIZ~s$o6`ar;zquoDx2?{n0&cX;JPCwR+>( zEHVHnnt?{AckUfK?>&%RIbXQ;_+DCn+e?n3O%4}fs#(mmRuV}C`?r>F!yF)1uh4TN z+3tD&Oki^-Qlo8m5r4os&Vf4@X!iP$wQ-Q^!^0OQnBY35j}G1?^`~tIMI`Ii1prT{ zVElw_g6|OQp(uS?#Mw^u8c&pr-QthvwmQC`$Km)V@uUp zKxaDB_@9h0wR>pSRkU965oJsecxtQyM+$;4^_REnQjTz48*{6pina9TR>oKLQnKbb zGrKClI!K5Zx=nvJ{Sy&lf?hA(zLP&RLhuiu^?$+mF8QlggGxC%&G!k8I!WEp7}H;@ zebaMFY#MFMBiH&9sPGpv*`CV1KNm~VyIz*6vf@l*t(>%t3`O!I(XaeO`{flfh-B$E zFc2n|05CaK#XG(BG6-4k_3}7KSbAC%{dP8gp9my#;CvH(?}4EL7=tcn|8PkVOtC*} zYxa?FYZP1X!$7ZiKgEzCD$>yd%h%VETPH3Z+WcAeA>Yb)^t`Rt`o3&;D!YopzPSd! zqeejjsU2Pw@`-4i=~rk#>5- z(9{}JQNGZdRe?wTOL1x7f&dS%+RqO`~P7Y`s1n zy#eO6QLn@u;K2F0v413=uy~~Vt}(Q_)f*C4h=9oeRv&NXQM&-?$U*qOj&gwl=FSVG zCb~o(yR^&Jz_YePtbe|II{TWJ4ctt)-9Z_rQAO=CMGm!@n&_ItAiZ~^@Zm+T_U?D{ zm?ZFG?M}#=b$`p}u*xv2S5&8OMKF++Hkl}e(GQ}&eBqFiqQIa+M*pH0x;5$es{WVW zs&#+-TE6)i^Mdq+^YCyFWIvaI&qLe0Tk_J{L@Wh@<-O&X_QHaH;txjMk= z(#xXQm#~xXvzkFBnL!hPhQMzwelr6^W-gq4|Bg`kC(MhlFgH^7!-mEb+>&s$7feMF za-_C))$dyu_2BQix%B6z%T@V#y)R4YfB55_Z2B$5UGjL$Ye}ShnXIPdlFH1h8OoGO z`?;B+%^!;W@x;x@2gYUi2_?w>6N+G!`0v%rWg!eD5kvfh2`e`0C+|K`j}&*CP!7HN zcNV}~V>g0{lKA9xB;%v|C<=kH@z^blw zq^(MHff8^+wfM7dk0qqcq;ZM;@;u1!GKNiM*0*|Ls~#~K-MH~I1g9l56 z$30RHE~uefwUP=HR!0g;|5m0Z*<$^+%V_Vmy*Y@k`%FN2EapZ+*SZ+hz;o&wlW0Q; zrR~;gK@Em;L6RD!SH`X9khs#El95*WsENvGz4Et|i7<=sEf1|~aU&1R2ba0>>l<)Q zuDI5mYDe&O$92`Y+n%4P*}QZ~h=2t&&1FF66kjkn#h%I$8p(VoIPiY!Ic6@SXY>hl zNDWr5B%Ks{$5qzpD++d>JM%th0siI1ley!gm%_bx-aq|kX z{eKmDfH!HR@@e#u-)FIAqp_Ii)JSZj(i(hIO04LrZrE(3$d<#B;-*Wyj@_xnaY_v4 zs`d(;4mM6r^fcuKC~ILx&-{VF{Z!wl8{g zv)OG}ZqF#*YBWtH3ctyg+jJ>Am45!*sFXLP`;1o8WJ}l4Qu!8K2_l zYx(2RbG|)&Y;yw)KM9+>G5cIflb#vD0*1krkzdMaUht8GaF3zOl9lAx2ZW5a(88sj z(a)`>wi9JPTPm*tAmt{;(?N{&Ty6GI5T&r8YyVuDGj;ro_DVcguklCFXS!h!5hKc` zrh|%d^{E2Z0=#u|voaZ%Aq9LLyeA}_M)Q7{tdGB*Vf+Z@9H0ggs0h0AK~Vbq}o-V%BEz#u)lbD<+-)kV?|d_J!i$F z;Dv?vi?mgg)3r>=_aInh`{^9|y>RTXw~lHL!?DvQ(@m!RE#8I_bpI*zYKQ+6dOvN| zD5B7rprjEF_0E{-HJGmm-ZhDH3@3)r5((7Sr1+*Bn40LDTidMN_UPEyi?#}A2x8FJv{T+ zX=6P$JwCyy`*?!O9Bt^YQ_2*EsfDkG0PkwJfps6UXmS3htB^B3Pd41`F6GId4q8*J zmt2N26=){!J5>d~r|XRt-q@SE?bQ z4<_jpK6nNXkb27&tT6`48OUXfulXAa#^LzGIUs+b+D!hUi}{p1i7IJ@l@LEs4*QCk zQCaTtK4-3^Z&%22$^dtI5=qoufjjT6|3ZNIdgkvp0QouJ3r~VFxtfIkJt`Ht9Bv3}7}D^Y zlrgMO3ps95tST1HGWe6;R#5H57JNg?6SGiW$TqKIVo1+W%V!A16P@xYuE#7J&hvEQHTxwoY)B}rYnRk1raN>pjj&VqXg#b)gF?Wuvvq zR!W%hLnabX^}{EwwUnDGlJPNEtoQ_dF){_g>YSS*4?61Yli~B28HBjOn;lKO6Eg_@ zJX?W_RcrB@vTH@0rn2HI3bI$Eqj1j#%f5avI8DqO?1S~=C2YPHxkV@OA*GtfM2 zlSjSamvQ?F`pO2xbIB(!zd_hd&mA>XGx^8va0fs(Col{c0+uUFaU+j38ER0C zE2G=nLwk>5IeJfEJU>gir(k3~0pM-VYR>)}G5QT7hlv5G6Ww~P18wSCrtqvQrwh;R z%>KOEJgH;)b(e$*wjD{+H1Z{q8%e@Ar|3303XhCJFS3)O*eRPJH^LC}>Hb8)0(v@0 zrRJ)OwS}z8@&kpyvr2peIQ9cmzD*_VE0=^zgyk%})mdIC{kZw@@ULtN(zw%A@4HTRNO@GzXOVK*~msGk;s>2w3O6OJKy>mc0Bv7 z&0!Ia%>;cFfEQx%_VInzUsU<1FJ8YuhP7WxIR1f6D>vBKdo=ADZH-(jBnoMzX%y@P z?@mj*b;L%ApMDQV+HcNC@+xZZiaVijXz6`)ulNCvn*wohvNALB08j#2`9qG}N=DXU zjfa6g#AG~D9m_2daVaKD@daubR3^hmM7dITok38qg9HV4t(2R~-Lh!HM(fU2n!Ldc zP7dnt2*fjqbo7n=#lI4O{?Tp#h@_{Racpv37kvHls^M*3kwPUn8NkIxTS01Mac**fgt8EK5~I%Y1- zg?hZ1`G)K;u*UpEPilvKD{{4PrP?TZ(bEKwSaisK;AOU#>Su>bgQqwZq=&;}3HEq!x<)icm#+{0a`!wB;Ti$8j+9D|u z*+!k~c46ADgbuHP8Xg}SAKYPBjy*AezSCS9>AU`V`*EEB%F`{4Mqpw16ACbP#$@Y_ z;-$N0NqQ{zDqTOcprva5)WsXbCTAMUFWN z6O5{cH08S0XQNQ2eooph{m-9@j`F9x2~dDVURd{UU^do%z#iWy>s#sVbfRkec%$q> zsj$YFIs0wirvgLf>|b0ZcD265f8(-@^?%{AZ%7Jh<6YktV=?blA#fR$m8BrVgY;w(}!H#_E+Ebpo8Y} zO2$_o=aoz}&p&*I{{Cklk;VgbieOT~P%@T9%}U{>%25lSmf%N&)?s z-ln~^5UiY`0?@tBr#EEar$_I)x9Noe3eoXCEk2$J28spQck0rQG+mZE0&?}Qc|<=X zJ^#YRs-1dEBoHTqeVrSIfRjuNH9_}W#aJqePM;@@9PDo1cfx*2(a@$NxMu8Tem48t z%wm%~kF|I#2JP|!`?^)+O!Q*qy^r4)9;docQ&Un3V%eovDAE~>t6!FdIH_3J>=J}q zOxrA(z0~s`Hg=5R4b!DtY#qO=4@Z(czts*W^A0)PXDwNI&{@u=gxV8f>P>eoc$>55 zB4Y-_@8m^&ER?m>V837QVf=Qu*AItQFIo8%f;(0AE){cmfiY71F3OSxF4uJ?Ajk&W@u2GZnuWf>V6g4ZtCHZ}#12s3JwE#9fIBmb_cZ0j#*Cifbb zNQp`lijYu@stM6VKj=@j48U8Cfokf5JC&E!VU^?$Pf_ zXu8Aa2qR>0&wr>EFE4A62AOe2A81{CT)KMB27y;V?|$wHL|>!fZ${0?o?7s#2$`qI z=6+W$drkZsVN&A4{goJGNL|&$YP!f=Is`zPv1shq*0!9TzUkLyr_jm(8V33 za4EEUb^LsDBBLM`qbv!N2`6@sVVpn1f=B!)B2-^F`8u2sz7S~v;d4Li^Fo^cxzWlM zAs%*BMvK3_N|^pvcOVIc^DZm+a9YvFQ1*s*!u)6^MsAX%$U0Bx1NLK8v!aLkb>25(FAo5c{y)_?E$|L4!z ze<0bhvERJTTVp6)qK_zlEpA3CfhuHmYO_{SdGU;p&7dS{cDf%toA=8wUEb?;5{wCX zdDf?VO>5PMYBZeH#~trNF>@=N%DbjyG=qZ-Ra zS>(4cXcke#uGzh^%_)!p$qOW&y=`3h9}iV%8DL-)XCOPctbtsj-KU|-?T=Gl;_!k* ze!e;>KS5E$=ciIe)%`FVynV1@WlW}7>xo-Zzc{-r@-J6eOw#}%$( zNzJ-I$9{GblU=dt+# zW2-&b%Ac$R&6%YX-WtofnjBxy7wW9W97}N zw=p`vsX1s}j6Yp%U09Dwo{$|Px}f2Gf2p_@a@*E7)&gg3w)AX0yt4l&xthESD2;tJ zK;k)A^rxuXv@);_C#RAV{CXB;*dgkH)g2gM-f_n}o#|+KpQ7x|_X*eWaO}OKVDFL2 zv`|+Yr_hLuWn&@ zpmn0zi*7@5=x#UD8T|{xuM%FXAEg3Y*tTVV9^O5OS41yejyD})FHD}PS~ndfcoSJ9%9Rg+!}|TenBM!$@$6mmRG&Rajm^`rOlobXz0fj_SrD5b!@ZiSchKNZ zKmK-$f~WbPOxP!B?VBYrc{b3*%}I%zmjx7o!9WrP>s3>l5(ObZd^r;a)bgcJXCv ze0z5=P?cxxz%_?yz6OjM=5nj%A>FwATK@;TMOx+`n+?8)li0R;nvUUoR|{y-5u$;Q zhO$tx8{5vzLBZR|P4}SovD#nTOLocnFn-#oV!!@4fMxGP*RV#0rfXA&w-c<7Z=)SD z_F)I-rH{+81C-YdGUoXhYmvq&REH0Ce=CM-`%qQCEuHfewE^}ejIH%xR-c9aB(0-| zsDKCV-Tkcgua%ad3rZTJs7%PYi~c>HJ#`Q@!MFV^3;9_zuRLH^4ieiC@aV`+I!h&u z1Js*v9iSWS1}3a%Sb6Rt2CQuYM76%um`p0Bt}B*pxTjUiI+a)dX0*vq=6JmP&GmBV zFr`3)jm8l>06JGVWRZLd(6Z+lOPSB7sr_rb)Pt@(mrvG4?!I%*2AChtmm=ouR6KY2 zB4FLqIeEpI+gZuMvwBV%j*T@LxZqIs2E&qUkdro%$cBg~yCz`_3#m?#cm;Ab(pD2j93%fneO|$PxY%>11E=P4SwKI)E z#(hfNV0Et5V86YSJsj~Qqibw2yL9_b(MXg%#xwASGYhDH7 zDm2!s*n9NThy0{=ftin?je|;`#)M4>&H`v6Ot~Vh;n+8b=hsN}d)2Y#B3W*uo6W@4 zUO?bza$XbtEQ9>Ox<#Id-xxbifK^a+XoC8f-+1CV zww29B7+6~!cHTKtph%nxzGLS9{hmV9nb^W%%L6)d!5*EQIBBI-h2!eQl&x4xvY!K% zm(zo3QzLzx{rvZN)5FAU%BcM(yaZ+$u(kJA#NNMoc)e#7S5uFCFt?h1EeiPeo^^ZD zf?LSB5832u>0_b(S9K#a*@6ft{Q>UqV;&;l<_Y|$4!dN=DpTA>`~LlTt$Ed6c|T0I zdhf3W)0NW=yvc1e%NV;LVo_56K#@LgE6dvnW|=0YYu zERW1_fjO$Vt}%S3b?W~$*4tWOVWfZeiSxzDBSHskr&IJbJO}Kr*==EFPCg*wU zd$PPj_Wd;IXJRiL?-dM~;kbuM2l?`WWqGbVt!=C<#+p=vcA>(tuaX=P{EJuI!AR_2Mdi!> z6Nj!y3**uK8$QO6-LJ#&&w*ftb1+Jgte@<-+vo%P^^H%34!m+-S2YAMWf;6#ZPiC? z7MoaWi7(YQhcqJ)h zHE7aQs^R>~Xd*{(`(uOo_8eRN#yg3xl#h{gAC%C0s@;4aSQ0xkjL|iDvfP)PFVb7C z^JIC-65rw;?9ys$QF5&VTPV!w-R%_(IO#;)AG&~VVV+87oErAI??rJmo!68u=@EF$LxSTkJGfQ4h z``pIFPjvf!TnI?a54#9G@QC-UhAC)j-$uJ??KCY($&NA@7m{%An(zWe1hi6XDYDj1 zi@eJ;Z7O?$=BXd(7yWUPZ7%^uA7x2;#C3hOx=^5b()88DrgXl|2%^HdhtcGX=?wb` zhneZ<=*-OdSA8!miCK*|Oz2HX@nLks%Lu44>oGfHodoItrktBpl4CA3oS}i%p*9&b>F(#xA&+3(d?(MWo^CfGRwF`u7o8>cRUea$o|`%Em&7t4ln6!ZVThM&Caagi z$&E=~IFD!C`|>%@Ql&W^OAUTL)DQYL-D(b|NwYpAA6?kb$@X{OPrTOhBMoZFezXkT z!}&cRFl@`jfhXBc1t7@tj~_w1**QeC8@HB0cV4EkGAbUsORMM-U1Fmy(YElr5<8!< zvY=~y&E}0avnt2&u@g2A_;!|C!eel%?RPG;s5*!*PNc3m@e|~e7z#qK<2;*Tb&wiM zy%}RZ$NPf%k3Uu@j+fWX`Fxyyb;~<#M64hqOa=%%6dQppb-Tc ziiKkvo~f-7#qO{DY(Yg)UXgE#_}GGb`gwnja{fZ?0-G-%p%7SMdVcd)`8-p*2Jnn< z+m~cG)Zed7{pqx8I3PYTN)f9L5K8b7+BA)SD5|!UKef{5iVNP?iT40 zeRR_32d9}FSmYU5Y{J!{NN0Cv|LIHhOL%fKCq%a?%E`1dL1|ov(us*G8~(&S&9p6- z%0yain|3Sa^%(qMWPlJF@yTc9&^Fv%K85ESFOwc&1_0;OI5!!F=Dd>Uf_kSy6r^G4 z<_$L?ixOWT@}XB(K2eokitIJbK}U4Zh|Gm`c=0&3{EXgR(C)We8FTI6n&Dj~xM{6m zlt{!Exn3#4O!?GT!feX^Jz#z40}rYN4*e-dO*0z%IL$Y`ik$;A{p0fc$ftJ&*HLk= zb*%ZU!vK$7$T;tn!SznctV0tq?uv5uV>Lx>p1{01?gO@!p6Gt3n-a+1~4(YBaLlws+dx*rwI&#E3On02%E|EjSYCi42!sm`TG#XYEFc|B9=5u2u^ zoUvP`MK5^@k2k}ci1^vczSU;`y(7R#veOh=IS`;US>G)*RUYxY=9)ix(y;zio_HtY zql47CO47^$|8=dif5&Bs*+Oh6BW>if40?5WuQ{Q7%kRHCOQfz{-6f8N0p*0_OenL% zZGnT84<&xOp4^CWLT$yXn^5cJTvwI$s4eO>n7j1^S9(bHhLS-rOubp&fA zoJ=$?C!K|gO&;{q?=`QqSivde7r!Z7i9-y)`2^~+7gM*l<$HulxnCEBv77iX$i7-iz zrXr|M^+r28@(%(jdHZQj)@95}6vVC_4i02{LnQ1q+J&AH85Yxd!!_FVYnq>(1&+ZY z-_I?vXl)*McF;6LmwJZ!SjhV#h7+8*>U>&l<()nBe?7w1_-=dP{tDOe@|lif8Sm#Tg6vKD0+ zvUwIBBbaeVoMMe`iZg~_CgO3Vs&#^B5uS;ENKt@)#)X?0=hZT%R9EX}tlL{GbMh9i zxiwG4S;dnY=Q^#FKBRnQXaf3P@ocPIU-CK^TuW=?yfSyuN=50^BRb>&mFRNola=e@ z4#>nUCd<<6y)r#=L@Ov2d6&!#uAPF@f^hYoL%pg-xdL-z345O;u1kA(#y9@Z;HI)m zLai%mHuSY6Jt4CD{D)+ZaLT#r0I{iVT?TX=il=<9tOy4BU-;f zYFkUDgU0F&Lu_&))wPB>Sp5K(n=MD`S{d5=dh+ndpKw;)!m!4)k2uALQoDa0g-MZ? z0jy!_WocZB0Mv^}ld2|%#@>TIJ7ai zYpwOo;kQ!E;a{e`DzS3-V zny=RExjO4P+4Gc%9++fzPqWAiPe0^Vo5y5(@VY}Y$y|iD_#Op_dfP7SWmT5M!Yki& zc&@tT@LVAE&V0Gdr*HQ?w}qjuzz3yCIV(#mAa=X;VWkr$NDAK+(DvqVXuaL)f0@1H z^0fCeI0u+p!#tOhcf(=6>fmMPq=FZH0!atpV!bX88R@Dpg`| zgvsjQfZPfQMV4N)f~!Q?iQ#ATg%A=3DqWQWSB_U-SVid$D@-*FpcNqMvLhkuC!<{X zc7}U{S)U7a7Nmb>6 zP*mcc(QH!W{RL?|n-Sw-Ki&bMm;syv7nU8NnvV=Q=!l&Z3@>!NWX)~*q`iXQXuTo* zx)!Q3JEt8c?5O&PJ*t?-IH*vNr}ZQxV`=4Gb7-$Iybie-albKmiGn<_*@M(%3&!HG zoS0`Gwh+`M_h8O2$ZTaN>@Ig&HYgJZ0k}dpo0a#KC61xsynxGyW0#HSoJ0Y5MJvR^ zwi$m@$F$9J&9luO9~Gn`{Ov|e!qEL}8!sh66)?FWKAQlC+C54ANuin=@)0R?{U|&7 z-f;>L`La#>HbUzlV9?)#T)JQkj&|tSjbV@zJW?(ut()gs5AYZUbtA$s8~0=fgW{4& zB@V-tI5LjAZQLOR`eLA3j4BXfp5 z^~p3R^F>#OD|z&TYWK05gb7nmu6D*!M#)#S67tUsFRnL5e#Q}qD=XT-7jYmMH4wX`+x5<@c6Vi&pvyZe73s*Yz0Iii^rNLt=x=J- zRSkY9MlJ3zTd^`(Tz1O(L;-$0WWst2u$zGH0$}7qcBrRRA4pu3Cg49loZL$K6phcT zQAAN{$*bw%0Jl)(#-@U82U(3*bT{uk0$`7JPf!kHWwQ5(S|6Fd9sJc^hH4;Q)1XY> z784Q>>5QSy^=5M%jZtg9_nY`9SrTb_lp^CUua}&B#Dk0fCkQ?ee_9~^Qp6#?E#Y3N zA5pR~*j20O;quR2Hv8CnJj}wmcPN}3mDmihlq`ok0pq9>3R?GMIb{|VWF-lV57}op z!cuWE6(5d->VpVVsbbxHBsA_7yaI-TjCGyoi^dNH)))ZX1|ny0jfOX*|5n>&Qs_>g z35}D=QNY3_0F01PE+X`Zu-L9zZ%Y51^08eguF+C$Bf|oC=7I!X7wSJ#;D*q%JH*yCUJxIOl3huI` z=b7n_4zP_8zl9pADcR5%6S%R)3Gs}c(t;Q{su?{5BaUq1Htf0`!~Ew|cpl8*5tpx$ zwFa$CBEYH7&R$h$HvTm5{_%0P{L$tWC>31jW!83^-A1+LPVydMyM7l!< z%!$KnWTuU_a?O5`?GuT$Wtf-#FV~tJfo9bOG2v`m8*gaa(FBK%*b52#hqHM`>n<}h zQkAI27sFD96*u3tAYYS>bK)MW5=UI&MJ$xhKk}=RQaWoeXnk`soZ76#ycK(}?tRjB zag`_dVGvg-(HxkV9sI!N>1>SPXYIzS5#^Xa&9;h8;#fZ~s>yES1b3_^)vKi000uA) zUuCR}b4xA2u73s_G~apec9lc$%8J&ubm3TG0}Iucop{M#OF~~slu21mh|8=|XUlJ@ z*S4pP**t8u6`fbF!YYJo?IILhrv45NRZSI}m>MfqO@@Sa3U@|OAF6q5>%%96zy_}j zF0LHR2h0@5`=Ms_NC&#j(KZ!h(3hf`i0_wTtz_+RfsBUSU;Yr$85LO*KQN!0p zG)^P_in(ar-O7|vqBSt{Md4;H%Y~f)qg!TCegzZM;{~Cv%Zj-82*YHoYbGsnaf;8H z#@)x{jfHymf(UG$JQ=$s)LXY8VnlnS2ui5BFBPYh1c((3H3(6OF(RwdKkGdbeeozA zI6-2KZ|PdGZ7sL_bWL|em_NOIsg7i2}$Wh`e+s=a+B{C6s++3H8z2As{)3}f+ z^Rd~Bsikv&h4VR{@@jOPflH120rB3od4=HHw`soi#kybd5xU2M=-rWSPELbpf-{)s z5<3&>G-dtHb!R=|zHnCTZULy6ySXlxsuY>+IZf#suP{U`4-7oOXap)$~!7OrO4mulaC^6Cm zHA?|94}?mc9kqKm_8l*aFC=&1WHntIzpgmV1Ft=5L`BJIgW98Lq$AvgXDR~4jA~=W z8^sp};@>>SY5%p5p)6pSltA>RpYTgr;Uh0x_7HqOcRbU}qd1C7>In6R7YoZV;m85x zg1)el#XAiCh?bbh(i}O!j|UF?B{zQLQ40Vc=;l``pSJwC3lauaFK2HeqUNIy8jDBm z25teSdI{EK`B;dr)j->bb*cWAw~|72cwl*$L#Zt59R3Y&DtK+j8+l4Qns?}jTD@u- zx`FyK@nVxxNdGg-MJ^yzDG#nQzXIaj^vOwbc-U)1T-taduQGqj++Nl&T>QbeUDm-a z3`8^IUp`05=+dG)`X8b9c-oA=aS@3Y;9|n7o%fOY5p1{ zk>$cpy(>Mk`0qEApcMi_RWXP>0D%U_u`ahSxl1my#<9JTjS1?71~+ax!B)#&krN=X zhL%zD=r8BAwlNM4los!-%G>M`jX@O?kNnoA@<3OmZ`lT#{&4X@&M0_5&5iV7)vS+&tv{{t$$Z^T0 zTEM~F3~n0GW@Am}-h(k1%Qcvjw}U(LKNo+?NAY{TfXHsY?i?nK-jjcU`8vg71Rf<; zA0Zl!(!%pm1#Bkpe3Wlqj7IU7J6V>H#{kIh?}-Xz&H5QNVl~pJIb6szS6$5P@{gq3 z{jQ0?3)4tgIX%&=Zp|I{zx$yfVFd>dH>XNO6HC&nn(Oi%hj>~_h2-zSTxUl-00WtC z0WqKh70;e95hT0MZ;7jN;dL2q(F4Y2y4-^bMbyMF5k8dX=8f=K#Cc+{4DT@ zCD(@-OVe-RV|ZYo7V&G!RrfGuFO*D$X{%pCix-RsV3UW%hfmY=8Ki^U&=b}&6^T3M zRq1&2t$s01ONc?*m1PXFs>_a)o>^&KyzkT~hdEytuDkHkn&8uw@^|7Ai$OrLDX+$g zq$mU*;!)+;c2r*R7NnAc>#;y`2E;XhRtav3wweg(XZ0(+i`ZL{Lm>nTSEUyWAE|8X zkB>?B)$U9U<7eUIv1yq{AJDNevQfWV#qGF_AcqL@5h9^QG)U}%SF)O!v_Nzs zz);0Pr8e@|;woBleUvppSES)0idvy4**YYP)VjRixS__o@Z}hh;<7kUW?TiO0dQqz zmCwB$qSF558f5E3M}*gcq|Zh0N9w1`q8JOxRRq5R>e0OifwzY}8U|D{u~rI*b{K(_ zse!)43-aw_tNog`Tzgv&ldpU!a&XSoJ;^y>D)-@i0(9jJgV7@Ideqc-M}_o>muLZ)+QP zF8uJ703%(cKL8N;A6*p=8BD@_9e zZhkh$?X{zgXb2AIne_Hg9zw*JAOe8Z$J7?r+J}ZcVC*lX5MAY$CsmpX(_E4&%|} zKvwvT^JZ?ot0xP;jZm-GSA=yFp%8r`$e?3nm${JnWojjl)DHSGLsz>M2@#{=rhF4E ze%71=^jh93W9aIMA21t*jFS->u1?$p)o@phvoI7BL>W>_aLU~`XzZ=Y@HES102Uak zZ6x0=ZjS^%6yj>#3lM+30d?ZGape?wrbK%PeIzMBo1#)1vwQ42E@sXaz)k4dD2n2g zI^2YsjzmdW0u#y~@z5I!WWhd>HN1}zQ`GVXCiLYh?!T|{ohTO)TxTBdc8Vi@dxV6$ z%-cCfQ-8?ezI^O#F~Xs$=XOyP#1?Arir)ij$veRRGAV}Vz~`{OK@!fb5fU#F65O`*@FzU*dUw2@#h=T(hq?y1L=qT zuWZlI&#%_tg4&6ke7#tDYPxqk;Zwzooc@;Gor_r#ozLq(>NOK{0IJeE-4F#P4W5>x z*UvUkfe&kpRel$<1c%CSkOGir#+@EXD@sqcwXrn=zJYR{(es-Ii?Kp*m{ep4!9lGe zaixXZ@{yx=l}D80w*yx#r>Qmzh}}SMu}UVbvyz49 z9B1LH-d0V7xK=fnhzAaaSA9jlc_i^iBObYY&e zi^p2t`7WU3;TYpK7*EVV0>GJRGT*tM@MvY(N0RJa1YF<@@S(5;+z^E`Z_NgHYn%nd z4NnQUWy=yetYniqthUV#GrAAk?%UMNPHi1TtM|F?z%h%aCa30AR)TahTS*@iM!uO- z?V~L;AZ{P8r(#W(lE~%N%8^$wX$dKTqz=G;Dk1>j$qL@T1)lJ$EEP;Yt535L~sv81Xy4Q zNRKcl%LzOKS$bA7l&B>#d1OHDqMt6lP6Ya4M$FEsXGb}0)Xw-*UF7R2(CoMx(ZI!{ ze)2QckKM$Tfm-{dtQFS+vN@GWANld&b!O&4HK@SRhefqy9S&xdN{-&52FF#DXq#Xc z6IDJh0fQ}QQ|!{sThwBHb%o|#p>tK zdZE}Y)3g!+ARw4~Zd5b6-EjoWW{TKGuR%?>j85U@g=x&^Vw2XJ@8d+Di&!_-dMmwq z+IROu3_x(m*3L4***T!TX<3ZecU_Jz?&%IV5N{(#yBFbR6SAT$8pag)nTZGAhj0Wq zB?^e9MyDTwdyN-qJZSr!{Eujd%3#33Kit@zXpT*veOG7sDBfW37b>Is-!QgtPx=ZH`*Tj$cBUY^7(X7NIOgm^CB_u`qlqA(;QQ^7 zWmFRmL+{(&o&VK6rUb>tuO(J-^(;do6Y5BXA1>^D9m?r4lGdr9&3nQx)tZgWF8GkI znrUi4?Q_3Grt<_LPBH}wx%8qEh%?Cb2^B$GS{v>p1>75(w`sJN6> z4kPTMpGa@^W(HEq$EA(Ysz0;tFKCvCgW0Yf65Vr;hba31Kq7e5#uqXQ`X35RQSV^j zj?K#gw3`UE(Bo-_As~SIgmWl+PsF=aW%39n_UM|PHnGw%#^pDSUJVmfI> zPri-j`DIE5=d|!ey%DRwgo$c95;;?66($l?Nbw3XMAnZO+i!1Y-&UNLV*fbPOUvLC z1eyV1{Tj()!JW?yDs*l+xFrnVX`*(f-bH3gMKU!luPbPvzJ!S(_yJBgOiZ||@$8x# zf8l{L0HtKODdhDAAc~FC*jenb={ju~`eth6hZq=deXDi@(C<_9SufT*Bcz(1e6Lef z=hlxuQQMINK!K7re+N*K!clb<+MxmcgB~NmW0>9X8Sv<6IIZnO_L{#riEjpYg;yDXlh~KfHgC4Z-+SLI$^I?jQgUZ`TQjBtt16;VOjrSq`dC0?jqj&ItP?w1=!p1O4fv52#>0z8@ zZvLS%osu9LoKJ~+7sFHlL+b}JDd1W;RyTljr_Qzj5=wtPZqu=~ojB!%FSQayEoC!E z)v-RvE(yi5GwK5c=69yd4@@#&8G}S2PsfpVW*!@v#&9i$;H#IUlH*1E>Ju;d+0qn^ z<=pH$Kr8Ioro62En;EydIxXlMVeVz|V!;4W_uv6T^$O|N{<)~6RO{DHXm=75HRdL0 zX?IW98kKK>C2&3csGETn=fNWxjtPfSThZ4&GkI)LioS3(3+hg^mIE4hLD*5M(2%o< zGhh-pRw2N|n7*qyu@+gsfL zN>8LZ$cpr6cxaH5)6;{d zhloJ88tf8bK0uB-%UZt$S?j6rrj@lPaUVM(#^y6aC%9BxNU}}J1Rp}$E3Au>i-k)m zjIw>b#mhTS-+Qa-8rCYZQ;>J))nz>ieuNsg{5KDv{Yp$@FN+F}kcyN@u< zT25M5MEl?Y!#-k%7y>}3_0ZI&i8aIO~#OGjh!E;(y*X_Vkp+3ER zY*wX5mI|h3l}|<;?$~^zakN42+UvtYI3G2Fwk@5YuCNY4CEO8q` z+~)XH*VJKvcnCG~ql=@Ty=o^<8+msY@RuQD4VHN;rh^8;WoECw9$@)~e(JUmEBFL@ z>f@4vcpF|O_yoA>R;!QZevepf8#Awl@APyE~4}=p_p(I zf`$vL9hXFK9KLB$gn2Uq)fkMB;`h;=p1lZegJ?ywa6qHMA>O=@fvSh6s|->mdy0>Y zQ5p(jE;evHMV+)a`x~%;Hi{|BT@>8NXT`hGn=A!VD{=V!gCD-QArr0^*QCb-(CzZL( zqlyRi=_^WaiIcJnhAAbocx2>n^4uUp_8Oy*>`^6_$mS4QUhXT%IP~2-*ld260kt?X zQm{rd;&lTkWjK|+2Q7<;--ybt2JjmjBM}d;&vJj-RfXwDfcVw$mh`hU0B&q?k&mW2 ztSvm8(S3-K^9jhZ>X1Ttb1)5@3v_1)Hlj8M(m!Dj??UpA!gYm1Uj9O2s`9ZcZ-YkP z*s^^v1wE2JS&lACg%K_vNjr0}9LL0)6EaZM<@q%(o9B+K-GnvPApalZDxo}kG8%W# zKpt~UAn81-W!ydcQCB;SV_N2FtcBgny2}7rSXp9-C@a*n@cxD7t5RDY#g_#YYFABk|ib_1|##9mumOR4X}lZxWzu_wkb1g)TQO%Svr~ytPZTYZNIUcw{YUCw-T;G7 zyZrSHGE2tHR?HrIS*UD>uv>Go+UCOMw65OUod$)_b%#f>icaqqc*!Q~QKmnc7+EcO zyV@Zddd7w|$j8#Lv^}2FHFzWrF(y2Cuzvk?y)Zp;H{4&_;TELgmYwMctdZHUJ?thWU|U#lCE)gW!sjSYQhD$@s8^S6R-Qmj1SUdNMjSPaNZ2CJqM7 z0UfTaCu#l&0Kutuf#fbC+E+CxzFW7HRb90Oyx9B`rp&!lQ473sfR~Ca{wCv|4@Ud5 zsIKdoeeu6)RY--9e&(+|3ckR56pVo$1p#9!{+py2T)#2E_ABZS0ydHb1gba?`y+em zIkI|@+!R4GZC@*N+z=Pgn!?U{^O`xKOf4I zz6Xpx-&?*i&-mIO%Z{fZ4n;Hw1HyVz-`0U+pv(gWeZt&p>SJXJfD#!g?G2iQg#vVK z$V}go;V!Ibr^m28WOxpX+z$617yB*od8;} z*^%w*526AJfaekF?^+B=H>3^-1O0L(GC5^{J{-v_aY$EatPE=lwks|a1tebjWxfx6 z=y1dZO4uEGyPF!R9dw>|z(86qiu#2d97Q1vjYw=no|zHt#g$H_xR z)$83}vaG9{L_x=v8v;tX>(u(jTkO8T2Xz8?-Oa+sq%%Qf6CNp$YICc^N8pk_rGq4( zy*jYpoGwn!?msI;Y6UK=E8R23m(Ah2gEws!F2Q|OKz6Zwv6>o+hH!#17pHn6rlfG} z>G@TvA=8*4RIfjp($u7)Ye)MR?+(GS7*wE1)KK9qdalz&kib3eHuWRF@@z(Dv9+Tm zVSv{%F3``ni zLr>h{{hH2n@gtDE!k)t7jKAQ-K#Y#AMmh;7`KL5~47}|tJL6NN2 zVs?J3&O%H}#0@lY!hU`~Hv*nA$gDP!RRt*nDQ&4tJLJBJb4P*$?b=loz$PHmdph+2wH4)$mM5>J88F-e86mw^t zGHOgrGf!8!xqNd^${oHc8juTxbYs;AYXgGcjPoktmR|vEc+;{+NO}4yxoP8xhFItT zn;Io3lagG88!lH@2=bJ%nmyVN_1<%Bg7@ANwDScT63~6KHyyQNssVv98T&5BU9seA z6;Jim0i{l#*Mu7$ikLPL752MCA8LrEG=c6IR8~3CX2Z22kT0!y59~7Xqc+xqD;WtX zX?MBxoAxT0XMG@jzMdV&aTDwF<9GYSkn1lgU_ghz*7 z0@EzC3iOLfBG9uFOY2?KcBV}8aN?W=?gVAvdmMKC*85sW?nVni@^-q@atU!ZUqN7o zaB@5e_s(q!Mro|*kNC%)+Ht~aBSd`zA-e0d9W4xa_jnA$LKC7_0?IrYXTRt+G)M1D+;kePM)LzLE$obYpr=jo12~lwJaHXpb)M;0jtt~m zw1@Y10auBso*+bL-e+jQ26(DF$b&A5l|EE=f6E5ds=I0@4;H$Oi15W(s(8sv)FAJ| zdtna5QeJ0>paJa1t}GiI$rDp$e?3tCg@M;E2pN+vM;$R@@0T8>mzbTFu%` zF8F{BS~xApCtgtlDTYUdBuQ4F5S1^k60U^hi`mv|(g9k`4AXntze|$}-1X(>%@IE; zUbGE&O0zm7AkWPL$ytNpcb4odS>hhessiHrPnO((-7@*sUuNUPYm0PR%;P=WDZU4s zVmjay%Y(YPaZ>;L3cB$EiUSf@_U6D_(ql_xoB?A`o>XL#8GxO?P9H_hm{lsU%Vq@S z^PoZm^TyzE+aJ^w`}Kmw-xAb7iTt%sgQCQMT9$kj@K!$z+-j4Gb-#IkP;#@xc0~Cp zb+h-~0jdtT^8vu4(9yjQtqVC+s`ar$i}PM#D*?RR(yS6rk&hUMRdz z#`xed|H0NPBRj(u`n*qCAIQgH?Y;6cv`$)Y-o&C{nXl{ zOd4B3jw*2OJOO*&jz>q+6wZa&TvKGo_iY#9 z4gc(lc?<36sVWW-d6e?@o_#x9bnArr8})0p$z3w^ATns?HBaWT zQjI!}QGWT!QcDfX(2`G6bu8R}>9GF9p9Wxe*B}CT*8!z{!whr2at@ct+PD=oh8cnP zpdcXazMk1*V8Q{92xEAJo@4^jNoC|N@LhZ|ZY12t3Amvgz)7r`<*M?n8;lX}^l_u2 zM8e%kY&S)a|HT#pC!-IfE>s|oy{RQKvWIvTzFq_>1hiBl1*EwA(KAiB5?92V4H$g0aq6}M4chI6WAdzfW zR=wdhUOvd*E}!n{4plUqR3w}{6}Ryl4h>ujd;=Yy-+JQIa+*^h6%o$bW$%{2n#NqT zp1OjPuDyH<5Ym=l%Mteld~ciOURigFzOu+6c9?F5N&gIRZ#BOgrTge7K9$)W8g*3;6Z z2YBI3N&xvK6T!2O25;CDEZcNn!Y~M4LJM7SBAfBx_2v=pqLm*oTFLbzII1LQ$xM_v zb?KZc*@5H7^Q48SS}0OpWaSOIqhzrZ`4JJu4J;vV?=67j_y$aO2RAK-&1D3}c7Iu* zg+PJTVflDI_ApUarDZ&f!W3#xY+;tf2b!+o52O_ujq$b}y?)x`3jv(A;4pJIaBsX| zr1JEcPCcCuxy@2|Qm)9ZX938KSm?me;hfVej790w407gIQOs=lPLAG4Y&kQELYXR= z>yOp(X%9b;)kZNJNAXbP%W~PMSFBeiNQ8ELbU--4jocVoi;+#tnZ|t`(xSRfedDB* zhs!A?K0!l?KH1rOUw>RJ@5SE9eb8FYLIAb}r(XB$qL10FWT=yansG2denf0K+1kur zwsHdI85k*+&Hm7+u(g;Wxj+SI2B><*zlE#f)p)d5e+tB~AwFC+$32AL# zajhTiWmpp0<7e==@ij8mw8IOw*;rb5|A(i&Ce32v!p!U_T@7|x(6Y4Q-~XgIrNfK^MDS4(FrGFA)pfr=#NmCNU_s@x=NllyhS){39B4l4(+#J zOiS{Z`yjDqH=!UTaO0IROoLb)3vg?Ph7-}|k6@Rcr&{$+Vj!p2(|JGs!&FO{HQ;TJm$47V4^+fF-U zDRRPEjw1OV5KSf~)BGJO?vNeoRLMKs;a)(o7zz&i%+QZgTp5U5x^~rpi}k%YXiOak zV|D=K6J0>^!}I5nQmVWv-z_Ks1=Y=7ikHfiDlI(zfCTs?Bb!6fBJ{WHh^rQY?>zQJ zA}k(KJAW6%_RGU$(bI>qi$oJ#I##_BQRUEKfjDsY=9Gf2_9Fi9!E3gqa3pr(s(m_c zaQCk)DjB6tBVdl|fWDvkl`^`3tA#~`lTDH#&Xf_k+w2SHl)T+dIZ+vr?xpro!vSFZ zKGn**prK*B6R+hfz>XTI=Lyu7j!92;I%V=-9X_?=Z(5e_%crE6CGJ^69vrYS6+l}C zC95296-lh$a^pE!fU4DRjGq$f%`@K{nxy^#Es^rNf0q*FQ3D5PotU5&l(?(B$f}V6 z*nr6=@uMxn*IUXd#801z@n}3+ecLYFz%tbSLdf7*83>{9Ohszj0mP|y=nZ-QO_0qh zG5(mKbB8ot@+vn4Kx~@aG!S{pA7Ww6dFZw?JkSJh5Ca*QpbD@8Aa;cw*65lvbE`+P zb0ijzXr)mA2a?~_Db2hYoFcs^WM|oY;!woP=G6CrD#jaMR)kI5Tb+odz9>d79hEKC zjBmX^kI_4iIVyjei~YiqcSyR z(_rz?Q?|sE)Aa{<{?3VHwUqBvC4t?6B@gGlTg|I{76n4~?$cW$qK0aXOu~Z8uDgu$ZdE0>|vfMzed$kx&4LTYjDW$oa@CJELRxqxt z4pu3;?H36whOvrsF+|Y4&esn9Ww`PpvoG)?oQLOaBmhmzmx^D)@FT#KCMFkmx@1~> zWlt)y{wT|~?n6a^|J(I^uD8L7=q<9wk%LM3fu5272|p z)}8FV14rquaM(_`q=y#$+wH@HM!vwX5E+lP4`PWsJlxW%m8t`ttarv z0Jht=d)*1T{yOM0!^_txk3bFAVB+fX1p2&4#BNy*YXk2keCvBrCjPh+{O_K(Z@W8T`b{3hWLE|_9Ia()|(Qai%pK+Qt>!@7Jt+@4)MGI z%v!MU+07;KgBUVp^S)x|#TR2N5PZYBKn-g*uh==x{S zPUjJW8E^|cp}7U0Bca2C$?)@=s7AYLY-9GEDz0wnj26OvXlt2+;*N9DofD2xy7_@}vfG@*y zz?UJy1fZ++6@=ZSdMZn29dA;p-|~MK5He6f*Stqjdsd;WVUvomJIII2nZ1~&^8u}v znFATnHd;_|LYc!fqVZ1{wvtvXY=>p@#KjAhR>s0_0C45AMKu3HPRa5Yqp*MRMm3|W z2#8w7l=Dlyy@cWCxyl*QJdl_hi#bV1+H`e7Juv;m-&RCR!XwBQq<>F%CC5gUDe1>K z^}9{-A%+aM;_`>G6If}OjI}=2C#0e(3h=?YZl8SOdJKCwa4L;uFJkfN9So&w*by=; za2eXY!hKKabM-ukJiUTrwE)Y7&rvm@KilERWrmTSsl}x=5Ib&(mr%doS3)^|I{3LM zeFL=`b6)=xVwi-T9B4f#t3*wtW}dK;bts~A`~s1PcSXMV>wEXl*EWXhmqF_|Sgy_d zFBW}Ph*gy*$$AtKI#~CEuH3bFb4B58;vjMJEFwv0)(dJC-CsOH*OWa6Nq#jdHO1QU*kYVeaD2@Oys?KD+P zDJSKtQ?G_O-`aWXdI13u3ANYVbw|}$Ev4H%v%^3M<5QHEim1W^HmJ`nMP&`2tio#* zg88NUoUln@7vr1Rx4}0sgyrI)`r`S}mx3ymdaX1jNiedl;_NS<`8M=6UuQ!J9W{!! zx9k?73L4tzGhW#;VdFv6+!F=Z6DibVzH2z9Q5N*>h@u@eDC1Go6`^Vt^vXnE>7D$o zzI3v4fybvlM(7}d+RF6`{5HZ!R~8wFT0nhv!=CE2hBkpOr9b|OLs-`Uhsqp|OLqRp zePvb44Y`8P3(FBl@2u-9s;A^j=uMIac$`8QCpVHDGwcZ#ZSt0Pn$x(%5L{})lCwsU zP#?T8AiWHP}^Eb{TkD2PK|_p5|x0 ziu=+X2$?A3@k({hj%mJ(5l)EEkrZUPx79UsEO3LE@7s6{q~f>nav*gbEQBZchf@=M zynBV)Ngc1mEW}V;Tx>cP^iT-*$Hp$kkuGc*8EhD&dt7j{$7$?yxVS|5>l08hetXoP z`LLug*{m{!UbmE;K5{(#<3RjtQm`=iKFBysu4-GZjD8yiWbB{EHFK8e}u zrz1tFM_V_C3z=h@ebARvy8R}1ZloGb0 zdGBn1gtCmGQ(rRdDZLE~R);B9Zo&fx_gDy(IL6ti`K*vL=hK&|@y~woP56Is8fRa} zLi#yNFlS_RTNgWFoV-33XOZqGoI2b1f%Lw(Zpwa@c+r~++aTnzg~~Y z?E3_=N*PzqY=1P69O{ziF%ro&ox0mYBhtfLRGz^8%lGB$yO9%{5u5b%`!9at2U~Gs zJCg?bpCbUo=!ljoejWo>FtK#V_*N^MbQ|x`OiF7dd!TC1n;vg$!338ao6qKm-vvFL zR+C#nO=9T#FMi?&Ni5-eXTtb{kIf_TpNX8_?5Q9!ZX-y8mg&W_$?uK&D+5VvzsYMd zbzB#hPSut?2EzeXg~s#dZ%P`2Sdsu?xp;}a`OzO#(9al`TMcqx&GjOQpY!M!0&b4? zNf}g}o$lDw4y6_BMfnWWn>}+$w|q)*VCZ|KNN1!WFXd@f&YS(O8e|6vXb?T>8$U;Y zem@m;Du0(R1V=wd+T8@P7mT==7}R!G+1K8Gk})<-yoa^-aBD|)KK$wCtWX8__{;7v zTJcH~CL5)*ozBDzaN>^6rafmdeCnvH@&*u}^}9{f-W;QFe}WFSw{no-_K~ z;8e%?q|B*-6*T8IGT_3|wtaJ6y<`$%KD4%w8yq_0px;sf4wR zsRZ&kKUD^{G<{QtDI&_7jNxZ%7>@_7eWM)2RZEUb7K~J+Ln2Mok0R1%0^XdxDE=YX zt<7lf@2B)9PL7WSd9&{+15Po9e9$INV+cLiolK}C58o@Axbut3%h zq#l-U#iq{$exH}7Bbe8QQ#ASa?fZEj_#zPx9t5?B{n#d*jpxNnH+OsadKoSkmQ~|+ zQ!eUnc9MBdPA)^&aw4+mSzDX}eVo8|OQnsj*x_S5edXt@>hI@}{D_$MW>EM~62s2- zh$pW{v}Z|)B6s`SA0B$zZZ*NM=*5h|%=S)Wi+0_-v?n^-(`SRwaZF4Vl88| zrXmC7+`Y10&$jNuZ!~D7(Pts@-4VT40Nj{C*7m<;W;DowY0<5!KQy85N5xGLV_~F{ zT%KpMI`W0?3mpx|y=t4<&c@Rx1D~uqv^Ss*9iBT}Ytb(mE`PT%%^*Ue?P#LDbf4WYGan3{<#X2>11eJtStAky{S+3n1l89ni^Z$!&l$E5ef!P zZZ>mf%%Ai2?`!<+Luvt^^y-_<@529MqH$YkG87u;#iAnLuj*yPz0+q~wx@R^D?^g1 zmS8#C*O1UwdxgN>`t!!W1b?I;_#+Tf`o4`n@q=UR`jJfRk9*9QgETU` z3eY!RyN};+xMbgwm2IkNs9L%-wZAwW=N<4_bIAPCch4j7t|oWbyY!!Q-haP!R0_n@ zHu2^^M=IRt(2uusCF&UaVKQPjR>mutocF&THK&`atwT2YG-7V~8JDJIZe02;9mm9txfFFFvHPqvoT)zea38y3m_I@KJyvp&fZA^v)gm|7& z1J0}!cCcmby{crU2996Otn58*#D2@3X%qRsLz&EA{@5w|pXDeks~WG4+4$(5{T{`k z0=9Y4V0*!j2!!boHqNbaR#RRyqXl}#jy5~9xz7fi7&+Ijorw^i@nyx1zWyD_t7pIY zy$SxI5e{Jp=XE7B{G|PxMfb*jH_cWFlRsY04sCeNJ;BJEBPe+7+PcSjR>i}2LYJ<~ zZ7*LPs8v{3!o;^8vsnlyINLV2VQdh|wJj&moc-n}PWQG-d|K{E55YMeDcOQJUqQ=2 z)vqw@`29$ot$F=TcI_?)t?|~nY2UQ^rbizzG8~+72VlFa<`eaXTClHK28l7DcS?6n zfx0oHi~K}VQFs_*est)00QD&zPXhZ$Elk;A2e`hruad%^grRj%oa z`S642|2(|kt=Rd-mPhH|qTa$u@h8Obk7F@-{A=Y%IV(NHzW2LPILDLDH*{1T8RDkr zBPHh<`#InEgTj3WLzwReAMs!OdLEs>PO)A2&yoF~w|3P%j?p~We z>jm&1{@EY?3OJQyN+#;-|BWU3!>i9XQ#T}p^L_Du;akKlh)+VJ2DttgUVR>uPs~UB z%YRRS{-`o(%;O83o!j|IMVUX^m!Bf5zu$LZj31rye_@cnz2YDB`}@87nJfQ~%KaOa z%s(pkZ&Wh>sNBENP5MXW{-bigufRWE?%!!6{_%2ura$vtXuo~<$IJa2ZN&e2lHt#X zMgMrYf2RifC$aGNX|R91+`mzS{p02S-dz4nG5$y8{-bjLX9fPr<^GMCkpIuT+zyK^ z`}6Sg;O?HL7NS^j=nD~Lidzrdx?b0uNWBlZEP(qRz`z%uiyUbIsbjIVq!GL3cLh#H zp(!T+zk`KkRjQ6C`fi2zU2qe``C2rzprGjTgBC|0b*4v{hVs0s)rZ<_d`hAgU*g!k zH}Yt>e7?4aYh9eavi94s;$x9`?E6ocGIW12AfGs_#hD(zIwAb+Z)Jrhr-CZ6<_V7i zmdLp1TGmduH$pUGu>g_tj&<^8DPbv1;f*K1)?&OFHDj16{5}m~eOvjXrEVim+#zdWmQ(XsxKBZ{HYN1!Sm-;earq<{FP)b;aD?AK-G<3^oX{vgcq z9rAY0gV7jS72W^1YrNzhv_K_lSf+)Z2?25EZs)kYPHQU>CYZD=MAJ`A?&BE-nf+-M z=kz@c8)o{+3I1fp%DKzE-mVP^k;T|(clliTl93-0=^kz>lpj18XG^mWzybq|e+Qp) zXPqS456)Q*c~h>90`JG3at@3G6@NVS02bt6cZ!u#Iciv2aB+9idC@kI>+8hw6~8OB zr(e_nyh34xXjpCZ+S>K7T^pgh?^?p!F#Z6s`LhMQY4kh$hM^k`?0*9S<^M5#8m#cX z?wja(jEp8Nf`z0)rV>7Y+4K0|+V$b`N=o}fLQgTL3?WlCoIQub{@N}WH5EKlhq9B!P(RvXMWZ%N&D3kR|80+gFdj2yG1;vSE}NI7`!kFU zb7R-*UUT!lFO54WTp(JZC*_~M8qss;DQqFeGNw3D)sK67NTr8`#`phmO8#BSD{L1VsGFu9H>U;O-gh}YBg^a%;?n}c=6)R-`NT%THhO}U0trk1~e1yS*xczZvZ>m zcP<%Eh8uEluEDa<`)4mMVgDow<)2@h9-5rglWjl^QV_CfK<-f%iVR|7YkP0$dtw%C zw|z8y>NDXH)qiTWeceRVvRS`vY^a|bvK1A54iP4n^g?_>e=CXNzb(Vz>TYCVeqN!f zH;Fj5#uwI#H0`}25{9Az=WKVn)_o+RKT(7-*p6VgaqjfIEQq0%s_8&|)aSx)4U4J@z`boa*6~eLIp8fvx!o)xo>2IspnTi-2g}>9hal)p_{@*bMiQrg;$}01zY#oOO z#L4IvoyTCh^3|Y`T^)(2KYQhQmghW9q^7Fd<5k)z{_GN3&gTq-Hqk*H=)iP}ZB!_n z(mkK?vpv-$SZy=q`rw-`M{}+hEFlG^MK%8|ty2Dzxs;?uZ0O)(9CxWVW-5hd$cv;$ zaRQf*jpu9nh_-dh=aRI8;zwN1t$7QVL(g->_$HANo6vVxe>BwoPjmPmjXnt*D!snX zo}TfgMz1tqd52*r(CB7Mr~_k>rcq>C^_w|KEaDG|?qnLb^-XR0?eCfryJ0`NOr3w> zL!qQtE;Vb>w24w6ea4>YbAr1~1}byy?Q5qY6VGk**0}dtE%j1H@tFUmL3OPgUqPWX zL(E1zS&8(trhXrtmh+};@l)oP!#8>##8VlB7Cx2I0hhm>yS;B0y{6yVcGKBa$lv?C zoi$24@0G28V;gZkMMuaZTGisqeV42*eD-7BwMoU4S4(~^+TA=pOp+*b4>g#y+O zbe3$z&WRerHU6z-;`tYf`22!|Dj=?@yI80z-M$zgN-U_NF1MkL7gs??6UsoFOGmRw z_T>B`Rb_-wI&`%g+-CM81N^b?x*i|~<#hz!sCVf(em5Qe*nNx|N32w+8_ScfJm17! z!ZG%a=)ADS`A5i?h!h=Q5N`eb?yB>z*EiYKv~{Dml6aDpZLp8{tbJ%=-#Q#K6?BC} zy>d%)gk|sz^>0Jf^uEx52X46{XGPlQt`+3X!$uV-y)csSV*Qs*A@C$Ee%BKzqis@A zx8KVZXj|S9Lpd*Y5Hx7SYKiarvEOmch{L6sU~>fOMPJ$*;gJ;D=2Lrqjp8PZ&Q2P0 zVfBYD4*C~?uF`ZXov3*6RUjEI3Ab=GM|3x?k#PUI%n6FF)815T52e{uT_;|DNkkI3 z;D&)TcnI!kMm4m1feZr5>!2}o`=36 zq5l2j|ANALFN&b2%D{pSzZUGrB>nsksP*8JT5^n#Gt1Qt-IZ(+x2v4Pgc*vC1$B@2 z;Yyn{#UiG)az3Vbk-ga(5;*zvGPQ44h`ih=75=qxqD>3D7zvnd#CZ3q#)0?w$3WaE zQ8l#AO!Tvk(Yfq^mT(n?HOHq-1+7m*Bqg#w#(kT|D7-;FC`7>*#nx{Jit>-BE0xa6 z!&*!%Ma+juB0`U(BADka%!kL`9jtru-Ik$N6oogL_clh1DAV0@(Rt2V=u)=kUV>L!>a}hwOVD1tQUFUQB4l}W@?VWi)S=nt&oIgU#e zh8uP9yl@`nfWM;Kr6EbsH9l|GR^K4|TE3_LtaX1S8C!XYq(M|+WPkE_=S;Mpa30r0 zFRMQ2i~c*M^H=_t_yL06i@sF&#l%0bZT(m|9xY#PM(tK+tywQF=@-h|>%4X)M?Q3B zv$tPW6C3_Nq`hTS6zsP)t|%xXVvvHMG*Z$HDh(3S9nvizLk=Sb9nuZb-Q6PHl0zfX z-3$!O%>U;3zrPRXyz5=-oX0P^mLFuTVc&aS`-(jngcj$hrF<{_J-fuHGvjHI1RD#@ zf>Vq>mEw~4^384D9R3|#^i2LI(jPf)I44y2#;c@L38AW;m|j|EDY54}OW+n%b8C6du%6u9s74o$AzYQI%rc zkXI~Cy7bn<=8b8!bSFO!@mEhSEay8}gk8dExp_quM%z5rkyM@pwAdP=%yT~vPM~P)4Ex3n=M{w^^UvKjO#e}OSOOh%e{8J?Pij%B=!Bj`sLnc zeDsTIFlH%{5xa*g^MzUV@;SYH1hf3Zq`ZjVa-;LA?e@-Iliu=O##Xi^69%_3({?^` zTcwg$4*BW2_GTwYR}Ec=vh>}$`A+*OgH^<7LwqsHo8GD=@p;d2Ob|StjnbmL_K9fO zlr0sTx29_jx9gZ?OXBBg2Psb%ies3)?F{?OJrM?>EyIZ2ltF^Nt}Q=PB_9}h)LP;n zn3599gs^J+lFX??(6MU`mz50VTx~_eI7V=!T4__K+Nxwn1@3i>`i9o_boszXpq(1v zgSU>#*kgB!%%|0yu`uibiQPs{A3t2`}sD0nDi6M$q z%hPHvV7mVMp5Hd_#Wnww6iU0930gaSeDqEtdVcyXd(|{=vCd5A6H716d)#*4XzV<3 z#+LA~^06nq^BzH_A7%2}rBxR(9;LExt@RtYW@9Sg$u1ufPK&98j?o)kcL$!hNQYsn zO#J9~yne6O{TOydQF!RiRZNR!6xZC@d&~H}gnVkc?B}q_(sN9mafHxX+mcLJ2Ewh} z!7#mq99dT89b8Bywtf)~el)793k~&$B{aK|}IENS{zetBotBBonjd4wp;ywh{4 zArlCp+=L)2kIra!R-XK_v~W#?Q7ues?};_r{2Jsz@D@gjOuP4k35Z&|cH{Xz_Vt^U zJ5Nn;g30#9UmBHOTWbES5clb2Eml&{7iLR)Xfad5mVyoFZ!cNytS@06l`9^E+0c0& z(oPjMp)YoimhX|m|DdC^^lnJhDjK7_SK@|rpzRP<1=x$ujLz}(T-&f<;wKbgo?JMI zq�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 literal 0 HcmV?d00001 diff --git a/experimental/oran-chatbot-multimodal/pages/2_Evaluation_Metrics.py b/experimental/oran-chatbot-multimodal/pages/2_Evaluation_Metrics.py index 6814587b3..c8937c59a 100644 --- a/experimental/oran-chatbot-multimodal/pages/2_Evaluation_Metrics.py +++ b/experimental/oran-chatbot-multimodal/pages/2_Evaluation_Metrics.py @@ -21,16 +21,12 @@ import json from bot_config.utils import get_config from vectorstore.vectorstore_updater import update_vectorstore, create_vectorstore -from langchain.document_loaders import DirectoryLoader -from langchain.text_splitter import CharacterTextSplitter -from langchain.text_splitter import RecursiveCharacterTextSplitter -from langchain.document_loaders import DirectoryLoader, UnstructuredFileLoader,Docx2txtLoader, UnstructuredHTMLLoader, TextLoader, UnstructuredPDFLoader +from langchain_text_splitters import CharacterTextSplitter, RecursiveCharacterTextSplitter +from langchain_community.document_loaders import DirectoryLoader, UnstructuredFileLoader, Docx2txtLoader, UnstructuredHTMLLoader, TextLoader, UnstructuredPDFLoader from langchain_nvidia_ai_endpoints import ChatNVIDIA, NVIDIAEmbeddings from langchain_core.output_parsers import StrOutputParser from langchain_community.embeddings import NeMoEmbeddings from langchain_core.prompts import ChatPromptTemplate -from continuous_eval.data_downloader import example_data_downloader -from continuous_eval.evaluators import RetrievalEvaluator, GenerationEvaluator from llm.llm import create_llm import re import pandas as pd @@ -39,10 +35,9 @@ import matplotlib.pyplot as plt from PIL import Image import yaml -from continuous_eval.metrics import PrecisionRecallF1, RankedRetrievalMetrics, DeterministicAnswerCorrectness, DeterministicFaithfulness, BertAnswerRelevance, BertAnswerSimilarity, DebertaAnswerScores from langchain_community.vectorstores import FAISS -llm_2 = ChatNVIDIA(model="playground_steerlm_llama_70b") +llm_2 = ChatNVIDIA(model="meta/llama3-70b-instruct") if yaml.safe_load(open('config.yaml', 'r'))['NREM']: # Embeddings with NeMo Retriever Embeddings Microservice (NREM) @@ -53,7 +48,7 @@ else: # Embeddings with NVIDIA AI Foundation Endpoints - nv_embedder = NVIDIAEmbeddings(model="ai-embed-qa-4") + nv_embedder = NVIDIAEmbeddings(model=yaml.safe_load(open('config.yaml', 'r'))['embedding_model']) prompt_template = ChatPromptTemplate.from_messages( @@ -205,7 +200,7 @@ def plot_metrics_with_values(metrics_dict, title='RAG Metrics',figsize=(10, 6)): }''' instruction_prompt = 'Given the previous paragraph, create one high quality question answer pair. The answer should be brief while covering technical depth, and must be restricted to the content provided. Your output should be a JSON formatted string with the question answer pair. Restrict the question to the context information provided.' system_prompt="You are an expert ORAN assistant at NVIDIA. You have a deep technical understanding of ORAN's specifications, standards and processes. Your job is to generate FAQs from documents for other colleagues to use in the field while informing about ORAN to customers." - llm = create_llm("mixtral_8x7b", "NVIDIA") + llm = create_llm("mistralai/mixtral-8x7b-instruct-v0.1", "NVIDIA") langchain_prompt = ChatPromptTemplate.from_messages([ ("system", system_prompt), ("human", "{sample_doc}\n{instruction_prompt}"), diff --git a/experimental/oran-chatbot-multimodal/requirements.txt b/experimental/oran-chatbot-multimodal/requirements.txt index 6976b66ac..87e4b6085 100644 --- a/experimental/oran-chatbot-multimodal/requirements.txt +++ b/experimental/oran-chatbot-multimodal/requirements.txt @@ -7,10 +7,11 @@ faiss-cpu fastapi==0.104.1 gspread==6.0.0 jupyterlab==4.0.8 -langchain==0.1.14 -langchain-community==0.0.31 -langchain-core==0.1.40 -langchain-nvidia-ai-endpoints==0.0.9 +langchain==0.2.5 +langchain-community==0.2.5 +langchain-core==0.2.7 +langchain-nvidia-ai-endpoints==0.1.1 +langchain-text-splitters==0.2.1 llama-hub==0.0.43 llama-index==0.9.22 opencv-python==4.8.0.74 @@ -30,4 +31,5 @@ streamlit_feedback==0.1.3 torch==2.1.2 transformers==4.35.2 unstructured[all-docs]==0.11.2 -uvicorn[standard]==0.24.0 \ No newline at end of file +uvicorn[standard]==0.24.0 +wheel \ No newline at end of file diff --git a/experimental/oran-chatbot-multimodal/retriever/retriever.py b/experimental/oran-chatbot-multimodal/retriever/retriever.py index 98f24ba9b..56f4e9ae2 100644 --- a/experimental/oran-chatbot-multimodal/retriever/retriever.py +++ b/experimental/oran-chatbot-multimodal/retriever/retriever.py @@ -29,6 +29,10 @@ from langchain_community.vectorstores import FAISS from langchain_community.embeddings import NeMoEmbeddings import yaml +import os + +NVIDIA_API_KEY = yaml.safe_load(open("config.yaml"))['nvidia_api_key'] +os.environ['NVIDIA_API_KEY'] = NVIDIA_API_KEY def clean_source(full_path): return os.path.basename(full_path) @@ -59,7 +63,7 @@ def get_relevant_docs(DOCS_DIR, text, limit=None): else: # Embeddings with NVIDIA AI Foundation Endpoints - nv_embedder = NVIDIAEmbeddings(model="ai-embed-qa-4") + nv_embedder = NVIDIAEmbeddings(model=yaml.safe_load(open('config.yaml', 'r'))['embedding_model']) vectorstore = FAISS.load_local(os.path.join(DOCS_DIR, "vectorstore_nv"), nv_embedder, allow_dangerous_deserialization=True) retriever = vectorstore.as_retriever(search_type="similarity_score_threshold", diff --git a/experimental/oran-chatbot-multimodal/vectorstore/vectorstore_updater.py b/experimental/oran-chatbot-multimodal/vectorstore/vectorstore_updater.py index 654a80c4f..f6ee59121 100644 --- a/experimental/oran-chatbot-multimodal/vectorstore/vectorstore_updater.py +++ b/experimental/oran-chatbot-multimodal/vectorstore/vectorstore_updater.py @@ -21,11 +21,10 @@ from vectorstore.custom_powerpoint_parser import process_ppt_file from vectorstore.custom_pdf_parser import get_pdf_documents -from langchain.embeddings import HuggingFaceEmbeddings -from langchain.document_loaders import DirectoryLoader, UnstructuredFileLoader,Docx2txtLoader, UnstructuredHTMLLoader, TextLoader, UnstructuredPDFLoader +from langchain_community.document_loaders import DirectoryLoader, UnstructuredFileLoader, Docx2txtLoader, UnstructuredHTMLLoader, TextLoader, UnstructuredPDFLoader from langchain_nvidia_ai_endpoints import ChatNVIDIA, NVIDIAEmbeddings from langchain_community.vectorstores import FAISS -from langchain_community.embeddings import NeMoEmbeddings +from langchain_community.embeddings import NeMoEmbeddings, HuggingFaceEmbeddings from qdrant_client import QdrantClient import multiprocessing import pickle @@ -35,6 +34,8 @@ CUSTOM_PROCESSING = True +NVIDIA_API_KEY = yaml.safe_load(open("config.yaml"))['nvidia_api_key'] +os.environ['NVIDIA_API_KEY'] = NVIDIA_API_KEY # Initialize the HuggingFaceEmbeddings object # hf_embeddings = HuggingFaceEmbeddings(model_name="BAAI/bge-large-en-v1.5") # sample_text = "This is a sample text." @@ -59,7 +60,7 @@ else: # Embeddings with NVIDIA AI Foundation Endpoints - nv_embedder = NVIDIAEmbeddings(model="ai-embed-qa-4") + nv_embedder = NVIDIAEmbeddings(model=yaml.safe_load(open('config.yaml', 'r'))['embedding_model']) def load_documents(folder, status=None): """Load documents from the specified folder.""" diff --git a/experimental/rag-developer-chatbot/Dockerfile.notebook b/experimental/rag-developer-chatbot/Dockerfile.notebook new file mode 100644 index 000000000..9cb034211 --- /dev/null +++ b/experimental/rag-developer-chatbot/Dockerfile.notebook @@ -0,0 +1,18 @@ +# Use a base image with Python +FROM python:3.10-slim + +# Set working directory +WORKDIR /app + +COPY ./notebooks/. . + +# Run pip dependencies +RUN pip3 install -r requirements.txt + +RUN apt-get update && apt-get install -y unzip wget + +# Expose port 8888 for JupyterLab +EXPOSE 8888 + +# Start JupyterLab when the container runs +CMD ["jupyter", "lab", "--allow-root", "--ip=0.0.0.0","--NotebookApp.token=''", "--port=8888"] diff --git a/experimental/rag-developer-chatbot/README.md b/experimental/rag-developer-chatbot/README.md new file mode 100644 index 000000000..fa25c37b3 --- /dev/null +++ b/experimental/rag-developer-chatbot/README.md @@ -0,0 +1,70 @@ +# Developer RAG Chatbot Notebook + +## Prerequisites +Before proceeding with this guide, make sure you meet the following prerequisites: + +- You should have at least one NVIDIA GPU. + + - NVIDIA driver version 535 or newer. To check the driver version run: ``nvidia-smi --query-gpu=driver_version --format=csv,noheader``. + - If you are running multiple GPUs they must all be set to the same mode (ie Compute vs. Display). You can check compute mode for each GPU using + ``nvidia-smi -q -d compute`` + +### Setup the following + +- Docker and Docker-Compose are essential. Please follow the [installation instructions](https://docs.docker.com/engine/install/ubuntu/). + + Note: + Please do **not** use Docker that is packaged with Ubuntu as the newer version of Docker is required for proper Docker Compose support. + + Make sure your user account is able to execute Docker commands. + + +- NVIDIA Container Toolkit is also required. Refer to the [installation instructions](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html). + + +- NGC Account and API Key + + - Please refer to [instructions](https://docs.nvidia.com/ngc/gpu-cloud/ngc-overview/index.html) to create an account + + Once your account has been created: + + * Navigate to https://build.nvidia.com/meta/llama3-70b?api-key=true + * Click "Get API Key" and follow the instructions to generate your API key + +- git-lfs + - Make sure you have [git-lfs](https://git-lfs.github.com) installed. + + +### Using Nvdia Cloud based LLM's + +#### Step 1: Sign up for an NGC Account to access the endpoint + +- Follow the above instructions to get access to an API key. + +#### Step 2: Set Environment Variables + +- Modify ``compose.env`` to set your environment variables. The following variable is required. + + export NVIDIA_API_KEY="nvapi-*" + + +#### Step 3: Build and Start Containers +- Pull lfs files. This will pull large files from repository. + ``` + git lfs pull + ``` +- Run the following command to build containers. + ``` + source experimental/developer-chatbot/compose.env; docker compose -f experimental/rag-developer-chatbot/docker-compose-dev-rag.yaml build + ``` + +- Run the following command to start containers. + ``` + source experimental/developer-chatbot/compose.env; docker compose -f experimental/rag-developer-chatbot/docker-compose-dev-rag.yaml up -d + ``` + > ⚠️ **NOTE**: It will take a few minutes for the containers to come up. Adding the `-d` flag will have the services run in the background. ⚠️ + +#### Step 4: Run the notebooks +The notebooks will run on a local JupyterServer on port 8888 (http://localhost:8888) + +[Developer RAG Chatbot](../../rapids/notebooks/rapids_notebook.ipynb) is the Developer RAG Chatbot notebook \ No newline at end of file diff --git a/experimental/rag-developer-chatbot/compose.env b/experimental/rag-developer-chatbot/compose.env new file mode 100644 index 000000000..929b33c6b --- /dev/null +++ b/experimental/rag-developer-chatbot/compose.env @@ -0,0 +1,71 @@ +# full path to the local copy of the model weights +# NOTE: This should be an absolute path and not relative path +export MODEL_DIRECTORY="/home/nvidia/llama2_13b_chat_hf_v1/" + +# the number of GPUs needed by nemollm inference ms to deploy the model +export NUM_GPU=1 + +# To control which GPU the vector database uses, specify the device ID. +# export VECTORSTORE_GPU_DEVICE_ID=0 + +# Fill this out if you dont have a GPU. Leave this empty if you have a local GPU +export NVIDIA_API_KEY=${NVIDIA_API_KEY} + +# flag to enable activation aware quantization for the LLM +# export QUANTIZATION="int4_awq" + +# the architecture of the model. eg: llama, gptnext (for nemotron use gptnext) +export MODEL_ARCHITECTURE="llama" + + +# the name of the model being used - only for displaying on rag-playground +# export MODEL_NAME="Llama-2-13b-chat-hf" + +# [OPTIONAL] the maximum number of input tokens +# export MODEL_MAX_INPUT_LENGTH=3000 + +# [OPTIONAL] the number of GPUs to make available to the inference server +# export INFERENCE_GPU_COUNT="all" + +# [OPTIONAL] the base directory inside which all persistent volumes will be created +# export DOCKER_VOLUME_DIRECTORY="." + +# full path to the model store directory storing the nemo embedding model +export EMBEDDING_MODEL_DIRECTORY="/home/nvidia/nv-embed-qa_v4" + +# name of the nemo embedding model +export EMBEDDING_MODEL_NAME="NV-Embed-QA" +export EMBEDDING_MODEL_CKPT_NAME="NV-Embed-QA-4.nemo" + +# GPU id which nemo embedding ms will use +# export EMBEDDING_MS_GPU_ID=0 + +# parameters for PGVector, update this when using PGVector Vector store +# export POSTGRES_PASSWORD=password +# export POSTGRES_USER=postgres +# export POSTGRES_DB=api + +# Update this line when using an external PGVector Vector store +# export POSTGRES_HOST_IP=pgvector +# export POSTGRES_PORT_NUMBER=5432 + +### Riva Parameters: + +# Riva Speech API URI: Riva Server IP address/hostname and port +export RIVA_API_URI="" + +# [OPTIONAL] Riva Speech API Key +# If necessary, enter a key to access the Riva API +export RIVA_API_KEY="" + +# [OPTIONAL] Riva Function ID +# If necessary, enter a function ID to access the Riva API +export RIVA_FUNCTION_ID="" + +# TTS sample rate (Hz) +export TTS_SAMPLE_RATE=48000 + +# the config file for the OpenTelemetry collector +export OPENTELEMETRY_CONFIG_FILE="./configs/otel-collector-config.yaml" +# the config file for Jaeger +export JAEGER_CONFIG_FILE="./configs/jaeger.yaml" diff --git a/experimental/rag-developer-chatbot/docker-compose-dev-rag.yaml b/experimental/rag-developer-chatbot/docker-compose-dev-rag.yaml new file mode 100644 index 000000000..ac0e92863 --- /dev/null +++ b/experimental/rag-developer-chatbot/docker-compose-dev-rag.yaml @@ -0,0 +1,27 @@ +services: + + jupyter-server: + container_name: notebook-server-dev-rag + image: notebook-server-dev-rag:latest + build: + context: . + dockerfile: Dockerfile.notebook + ports: + - "8888:8888" + - "7860:7860" + expose: + - "8888" + - "7860" + env_file: + - compose.env + deploy: + resources: + reservations: + devices: + - driver: nvidia + count: 1 + capabilities: [gpu] + +networks: + default: + name: nvidia-llm diff --git a/experimental/rag-developer-chatbot/notebooks/diagram.png b/experimental/rag-developer-chatbot/notebooks/diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..377299802c0e9d9f0abb66d7c3ba0651b59c5419 GIT binary patch literal 503256 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 V;LR}cpG@+<{R3c_F!_D>{{RJou#Nx# literal 0 HcmV?d00001 diff --git a/experimental/event-driven-rag-cve-analysis/notebooks/images/multiple_cve_serial.jpg b/experimental/event-driven-rag-cve-analysis/notebooks/images/multiple_cve_serial.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e10aaa25943a78ad3aff45b49ae21f597a92c363 GIT binary patch literal 885071 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