sunholo 0.81.5__tar.gz → 0.82.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.81.5 → sunholo-0.82.0}/PKG-INFO +2 -2
- {sunholo-0.81.5 → sunholo-0.82.0}/setup.py +1 -1
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/agents/swagger.py +1 -1
- sunholo-0.82.0/sunholo/pubsub/__init__.py +3 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/pubsub/process_pubsub.py +15 -3
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo.egg-info/PKG-INFO +2 -2
- sunholo-0.81.5/sunholo/pubsub/__init__.py +0 -3
- {sunholo-0.81.5 → sunholo-0.82.0}/LICENSE.txt +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/MANIFEST.in +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/README.md +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/setup.cfg +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/__init__.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/agents/__init__.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/agents/chat_history.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/agents/dispatch_to_qa.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/agents/fastapi/__init__.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/agents/fastapi/base.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/agents/fastapi/qna_routes.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/agents/flask/__init__.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/agents/flask/base.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/agents/flask/qna_routes.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/agents/flask/vac_routes.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/agents/langserve.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/agents/pubsub.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/agents/route.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/agents/special_commands.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/archive/__init__.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/archive/archive.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/auth/__init__.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/auth/gcloud.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/auth/refresh.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/auth/run.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/azure/__init__.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/azure/auth.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/azure/blobs.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/azure/event_grid.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/bots/__init__.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/bots/discord.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/bots/github_webhook.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/bots/webapp.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/chunker/__init__.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/chunker/azure.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/chunker/doc_handling.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/chunker/encode_metadata.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/chunker/images.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/chunker/loaders.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/chunker/message_data.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/chunker/pdfs.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/chunker/process_chunker_data.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/chunker/publish.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/chunker/pubsub.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/chunker/splitter.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/cli/__init__.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/cli/chat_vac.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/cli/cli.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/cli/cli_init.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/cli/configs.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/cli/deploy.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/cli/embedder.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/cli/merge_texts.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/cli/run_proxy.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/cli/sun_rich.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/cli/swagger.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/cli/vertex.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/components/__init__.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/components/llm.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/components/retriever.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/components/vectorstore.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/custom_logging.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/database/__init__.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/database/alloydb.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/database/alloydb_client.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/database/database.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/database/lancedb.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/database/sql/sb/create_function.sql +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/database/sql/sb/create_function_time.sql +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/database/sql/sb/create_table.sql +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/database/sql/sb/delete_source_row.sql +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/database/sql/sb/return_sources.sql +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/database/sql/sb/setup.sql +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/database/static_dbs.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/database/uuid.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/discovery_engine/__init__.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/discovery_engine/chunker_handler.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/discovery_engine/create_new.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/discovery_engine/discovery_engine_client.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/discovery_engine/get_ai_search_chunks.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/embedder/__init__.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/embedder/embed_chunk.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/gcs/__init__.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/gcs/add_file.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/gcs/download_folder.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/gcs/download_url.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/gcs/metadata.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/invoke/__init__.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/invoke/direct_vac_func.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/invoke/invoke_vac_utils.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/langfuse/__init__.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/langfuse/callback.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/langfuse/prompts.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/llamaindex/__init__.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/llamaindex/get_files.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/llamaindex/import_files.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/llamaindex/llamaindex_class.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/llamaindex/user_history.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/lookup/__init__.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/lookup/model_lookup.yaml +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/patches/__init__.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/patches/langchain/__init__.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/patches/langchain/lancedb.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/patches/langchain/vertexai.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/pubsub/pubsub_manager.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/qna/__init__.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/qna/parsers.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/qna/retry.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/streaming/__init__.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/streaming/content_buffer.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/streaming/langserve.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/streaming/stream_lookup.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/streaming/streaming.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/summarise/__init__.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/summarise/summarise.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/tools/__init__.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/tools/web_browser.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/utils/__init__.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/utils/api_key.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/utils/big_context.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/utils/config.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/utils/config_class.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/utils/config_schema.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/utils/gcp.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/utils/gcp_project.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/utils/parsers.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/utils/timedelta.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/utils/user_ids.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/utils/version.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/vertex/__init__.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/vertex/extensions_call.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/vertex/extensions_class.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/vertex/genai_functions.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/vertex/init.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/vertex/memory_tools.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/vertex/safety.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo/vertex/type_dict_to_json.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo.egg-info/SOURCES.txt +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo.egg-info/dependency_links.txt +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo.egg-info/entry_points.txt +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo.egg-info/requires.txt +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/sunholo.egg-info/top_level.txt +0 -0
- {sunholo-0.81.5 → sunholo-0.82.0}/tests/test_chat_history.py +0 -0
- {sunholo-0.81.5 → sunholo-0.82.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.82.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.82.0.tar.gz
|
|
7
7
|
Author: Holosun ApS
|
|
8
8
|
Author-email: multivac@sunholo.com
|
|
9
9
|
License: Apache License, Version 2.0
|
|
@@ -173,7 +173,7 @@ def generate_swagger(vac_config, agent_config):
|
|
|
173
173
|
'description': 'Multivac (Multi-VAC) Cloud. Generate API keys (MULTIVAC_API_KEY) to enable access to private services. See more at https://dev.sunholo.com/',
|
|
174
174
|
'version': '0.1.0'
|
|
175
175
|
},
|
|
176
|
-
'host': '
|
|
176
|
+
'host': '${_ENDPOINTS_HOST}',
|
|
177
177
|
'basePath': '/v1',
|
|
178
178
|
'schemes': ['https'],
|
|
179
179
|
'produces': ['application/json'],
|
|
@@ -16,8 +16,7 @@ from ..custom_logging import log
|
|
|
16
16
|
from ..gcs.metadata import get_object_metadata
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
def process_pubsub_message(data: dict) -> tuple:
|
|
19
|
+
def decode_pubsub_message(data: dict):
|
|
21
20
|
"""Extracts message data and metadata from a Pub/Sub message.
|
|
22
21
|
|
|
23
22
|
Args:
|
|
@@ -26,7 +25,6 @@ def process_pubsub_message(data: dict) -> tuple:
|
|
|
26
25
|
Returns:
|
|
27
26
|
tuple: A tuple containing the message data and attributes as metadata.
|
|
28
27
|
"""
|
|
29
|
-
# Decode the message data
|
|
30
28
|
message_data = base64.b64decode(data['message']['data']).decode('utf-8')
|
|
31
29
|
attributes = data['message'].get('attributes', {})
|
|
32
30
|
messageId = data['message'].get('messageId')
|
|
@@ -38,6 +36,20 @@ def process_pubsub_message(data: dict) -> tuple:
|
|
|
38
36
|
log.info(f"Process Pub/Sub was triggered by messageId {messageId} published at {publishTime}")
|
|
39
37
|
log.debug(f"Process Pub/Sub data: {message_data}")
|
|
40
38
|
|
|
39
|
+
return message_data, attributes, vector_name
|
|
40
|
+
|
|
41
|
+
def process_pubsub_message(data: dict) -> tuple:
|
|
42
|
+
"""Extracts message data and metadata from a Pub/Sub message for a Cloud Storage event.
|
|
43
|
+
|
|
44
|
+
Args:
|
|
45
|
+
data (dict): The Pub/Sub message data.
|
|
46
|
+
|
|
47
|
+
Returns:
|
|
48
|
+
tuple: A tuple containing the message data and attributes as metadata.
|
|
49
|
+
"""
|
|
50
|
+
# Decode the message data
|
|
51
|
+
message_data, attributes, vector_name = decode_pubsub_message(data)
|
|
52
|
+
|
|
41
53
|
# Check for a valid GCS event type and payload format
|
|
42
54
|
if attributes.get("eventType") == "OBJECT_FINALIZE" and attributes.get("payloadFormat") == "JSON_API_V1":
|
|
43
55
|
objectId = attributes.get("objectId")
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sunholo
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.82.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.82.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
|