sunholo 0.95.5__tar.gz → 0.96.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sunholo-0.95.5 → sunholo-0.96.0}/PKG-INFO +2 -2
- {sunholo-0.95.5 → sunholo-0.96.0}/setup.py +1 -1
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/langfuse/evals.py +29 -18
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo.egg-info/PKG-INFO +2 -2
- {sunholo-0.95.5 → sunholo-0.96.0}/LICENSE.txt +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/MANIFEST.in +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/README.md +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/setup.cfg +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/chat_history.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/dispatch_to_qa.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/fastapi/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/fastapi/base.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/fastapi/qna_routes.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/flask/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/flask/base.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/flask/qna_routes.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/flask/vac_routes.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/langserve.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/pubsub.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/route.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/special_commands.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/agents/swagger.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/archive/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/archive/archive.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/auth/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/auth/gcloud.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/auth/refresh.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/auth/run.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/azure/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/azure/auth.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/azure/blobs.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/azure/event_grid.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/bots/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/bots/discord.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/bots/github_webhook.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/bots/webapp.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/chunker/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/chunker/azure.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/chunker/doc_handling.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/chunker/encode_metadata.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/chunker/images.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/chunker/loaders.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/chunker/message_data.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/chunker/pdfs.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/chunker/process_chunker_data.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/chunker/publish.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/chunker/pubsub.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/chunker/splitter.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/cli/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/cli/chat_vac.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/cli/cli.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/cli/cli_init.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/cli/configs.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/cli/deploy.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/cli/embedder.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/cli/merge_texts.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/cli/run_proxy.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/cli/sun_rich.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/cli/swagger.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/cli/vertex.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/components/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/components/llm.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/components/retriever.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/components/vectorstore.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/custom_logging.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/database/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/database/alloydb.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/database/alloydb_client.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/database/database.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/database/lancedb.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/database/sql/sb/create_function.sql +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/database/sql/sb/create_function_time.sql +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/database/sql/sb/create_table.sql +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/database/sql/sb/return_sources.sql +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/database/sql/sb/setup.sql +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/database/static_dbs.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/database/uuid.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/discovery_engine/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/discovery_engine/chunker_handler.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/discovery_engine/create_new.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/discovery_engine/discovery_engine_client.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/discovery_engine/get_ai_search_chunks.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/embedder/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/embedder/embed_chunk.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/excel/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/excel/plugin.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/gcs/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/gcs/add_file.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/gcs/download_folder.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/gcs/download_url.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/gcs/metadata.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/genai/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/genai/init.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/genai/process_funcs_cls.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/genai/safety.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/invoke/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/invoke/async_class.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/invoke/direct_vac_func.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/invoke/invoke_vac_utils.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/langfuse/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/langfuse/callback.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/langfuse/prompts.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/llamaindex/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/llamaindex/get_files.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/llamaindex/import_files.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/llamaindex/llamaindex_class.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/llamaindex/user_history.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/lookup/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/lookup/model_lookup.yaml +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/patches/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/patches/langchain/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/patches/langchain/lancedb.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/patches/langchain/vertexai.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/pubsub/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/pubsub/process_pubsub.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/pubsub/pubsub_manager.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/qna/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/qna/parsers.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/qna/retry.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/streaming/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/streaming/content_buffer.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/streaming/langserve.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/streaming/stream_lookup.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/streaming/streaming.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/summarise/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/summarise/summarise.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/terraform/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/terraform/tfvars_editor.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/tools/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/tools/web_browser.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/utils/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/utils/api_key.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/utils/big_context.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/utils/config.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/utils/config_class.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/utils/config_schema.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/utils/gcp.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/utils/gcp_project.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/utils/parsers.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/utils/timedelta.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/utils/user_ids.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/utils/version.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/vertex/__init__.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/vertex/extensions_call.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/vertex/extensions_class.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/vertex/genai_functions.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/vertex/init.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/vertex/memory_tools.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/vertex/safety.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo/vertex/type_dict_to_json.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo.egg-info/SOURCES.txt +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo.egg-info/dependency_links.txt +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo.egg-info/entry_points.txt +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo.egg-info/requires.txt +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/sunholo.egg-info/top_level.txt +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/tests/test_chat_history.py +0 -0
- {sunholo-0.95.5 → sunholo-0.96.0}/tests/test_config.py +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sunholo
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.96.0
|
|
4
4
|
Summary: Large Language Model DevOps - a package to help deploy LLMs to the Cloud.
|
|
5
5
|
Home-page: https://github.com/sunholo-data/sunholo-py
|
|
6
|
-
Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.
|
|
6
|
+
Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.96.0.tar.gz
|
|
7
7
|
Author: Holosun ApS
|
|
8
8
|
Author-email: multivac@sunholo.com
|
|
9
9
|
License: Apache License, Version 2.0
|
|
@@ -4,6 +4,8 @@ import json
|
|
|
4
4
|
from ..pubsub import decode_pubsub_message
|
|
5
5
|
from langfuse import Langfuse
|
|
6
6
|
import traceback
|
|
7
|
+
|
|
8
|
+
|
|
7
9
|
from ..custom_logging import log
|
|
8
10
|
|
|
9
11
|
# Example of how eval_funcs might be structured
|
|
@@ -60,6 +62,7 @@ def do_evals(trace_id, eval_funcs: list=[eval_length], **kwargs) -> dict:
|
|
|
60
62
|
host=os.environ["LANGFUSE_HOST"]
|
|
61
63
|
)
|
|
62
64
|
|
|
65
|
+
log.info(f"do_evals langfuse with {kwargs=}")
|
|
63
66
|
# Fetch the latest trace (or modify as needed to fetch a specific trace)
|
|
64
67
|
trace = langfuse.get_trace(id=trace_id)
|
|
65
68
|
|
|
@@ -67,31 +70,39 @@ def do_evals(trace_id, eval_funcs: list=[eval_length], **kwargs) -> dict:
|
|
|
67
70
|
raise ValueError("Trace {trace.name} had no generated output, it was skipped")
|
|
68
71
|
|
|
69
72
|
# Run the evaluation functions
|
|
70
|
-
|
|
73
|
+
# an eval_response can have multiple eval_results
|
|
74
|
+
eval_responses = []
|
|
71
75
|
for eval_func in eval_funcs:
|
|
72
76
|
try:
|
|
73
|
-
|
|
77
|
+
eval_response = eval_func(trace, **kwargs) # Assuming eval_func returns a dict with 'score' and 'reason'
|
|
74
78
|
except Exception as e:
|
|
75
|
-
|
|
76
|
-
|
|
79
|
+
eval_response = {"score": 0, "reason":f"ERROR: {str(e)} traceback: {traceback.format_exc()}"}
|
|
80
|
+
eval_responses.append(eval_response)
|
|
77
81
|
|
|
78
82
|
eval_name = eval_func.__name__
|
|
79
83
|
|
|
80
|
-
if
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
log.info(f"TraceId {trace.id} with name {trace.name} had {eval_name=} with score {eval_result=}")
|
|
84
|
+
if isinstance(eval_response, list):
|
|
85
|
+
eval_results = eval_response
|
|
86
|
+
else:
|
|
87
|
+
eval_results = [eval_response]
|
|
85
88
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
89
|
+
for eval_result in eval_results:
|
|
90
|
+
|
|
91
|
+
if 'score' and 'reason' not in eval_result:
|
|
92
|
+
log.error(f"Trace {trace.name} using {eval_name=} did not return a dict with 'score' and 'reason': {eval_result=}")
|
|
93
|
+
eval_result = {"score": 0, "reason": f"malformed eval_result: {eval_result}"}
|
|
94
|
+
|
|
95
|
+
log.info(f"TraceId {trace.id} with name {trace.name} had {eval_name=} with score {eval_result=}")
|
|
96
|
+
|
|
97
|
+
# Submit the evaluation to Langfuse
|
|
98
|
+
langfuse.score(
|
|
99
|
+
trace_id=trace.id,
|
|
100
|
+
name=eval_name, # Use the function name as the evaluation name
|
|
101
|
+
value=eval_result["score"],
|
|
102
|
+
comment=eval_result["reason"],
|
|
103
|
+
**kwargs
|
|
104
|
+
)
|
|
94
105
|
|
|
95
|
-
return {"trace_id": trace.id, "eval_results":
|
|
106
|
+
return {"trace_id": trace.id, "eval_results": eval_responses}
|
|
96
107
|
|
|
97
108
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sunholo
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.96.0
|
|
4
4
|
Summary: Large Language Model DevOps - a package to help deploy LLMs to the Cloud.
|
|
5
5
|
Home-page: https://github.com/sunholo-data/sunholo-py
|
|
6
|
-
Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.
|
|
6
|
+
Download-URL: https://github.com/sunholo-data/sunholo-py/archive/refs/tags/v0.96.0.tar.gz
|
|
7
7
|
Author: Holosun ApS
|
|
8
8
|
Author-email: multivac@sunholo.com
|
|
9
9
|
License: Apache License, Version 2.0
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|