landingai-ade 0.13.1__tar.gz → 0.14.1__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.
Potentially problematic release.
This version of landingai-ade might be problematic. Click here for more details.
- landingai_ade-0.14.1/.release-please-manifest.json +3 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/CHANGELOG.md +16 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/PKG-INFO +1 -1
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/pyproject.toml +1 -1
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/_client.py +19 -21
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/_version.py +1 -1
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/types/client_extract_params.py +3 -3
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/types/client_parse_params.py +6 -6
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/types/parse_response.py +51 -4
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/tests/api_resources/test_client.py +2 -2
- landingai_ade-0.13.1/.release-please-manifest.json +0 -3
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/.gitignore +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/CONTRIBUTING.md +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/LICENSE +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/README.md +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/SECURITY.md +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/api.md +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/bin/check-release-environment +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/bin/publish-pypi +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/examples/.keep +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/noxfile.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/release-please-config.json +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/requirements-dev.lock +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/requirements.lock +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/__init__.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/_base_client.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/_compat.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/_constants.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/_exceptions.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/_files.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/_models.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/_qs.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/_resource.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/_response.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/_streaming.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/_types.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/_utils/__init__.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/_utils/_compat.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/_utils/_datetime_parse.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/_utils/_logs.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/_utils/_proxy.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/_utils/_reflection.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/_utils/_resources_proxy.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/_utils/_streams.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/_utils/_sync.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/_utils/_transform.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/_utils/_typing.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/_utils/_utils.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/lib/.keep +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/lib/__init__.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/lib/schema_utils.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/lib/url_utils.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/py.typed +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/resources/__init__.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/types/__init__.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/types/extract_response.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/tests/__init__.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/tests/api_resources/__init__.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/tests/conftest.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/tests/sample_file.txt +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/tests/test_client.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/tests/test_deepcopy.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/tests/test_extract_files.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/tests/test_files.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/tests/test_models.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/tests/test_qs.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/tests/test_required_args.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/tests/test_response.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/tests/test_streaming.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/tests/test_transform.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/tests/test_utils/test_datetime_parse.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/tests/test_utils/test_proxy.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/tests/test_utils/test_typing.py +0 -0
- {landingai_ade-0.13.1 → landingai_ade-0.14.1}/tests/utils.py +0 -0
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.14.1 (2025-09-29)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.14.0...v0.14.1](https://github.com/landing-ai/ade-python/compare/v0.14.0...v0.14.1)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
* add back runtime tag ([e886225](https://github.com/landing-ai/ade-python/commit/e8862252d96782b0c9dddc42042bf432b670fbd1))
|
|
10
|
+
|
|
11
|
+
## 0.14.0 (2025-09-29)
|
|
12
|
+
|
|
13
|
+
Full Changelog: [v0.13.1...v0.14.0](https://github.com/landing-ai/ade-python/compare/v0.13.1...v0.14.0)
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* **api:** add extract endpoint enums ([ac88f43](https://github.com/landing-ai/ade-python/commit/ac88f431bdec9a734ed340ad00c1f9f14a1c1f49))
|
|
18
|
+
|
|
3
19
|
## 0.13.1 (2025-09-25)
|
|
4
20
|
|
|
5
21
|
Full Changelog: [v0.13.0...v0.13.1](https://github.com/landing-ai/ade-python/compare/v0.13.0...v0.13.1)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: landingai-ade
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.14.1
|
|
4
4
|
Summary: The official Python library for the landingai-ade API
|
|
5
5
|
Project-URL: Homepage, https://github.com/landing-ai/ade-python
|
|
6
6
|
Project-URL: Repository, https://github.com/landing-ai/ade-python
|
|
@@ -237,7 +237,7 @@ class LandingAIADE(SyncAPIClient):
|
|
|
237
237
|
schema: str,
|
|
238
238
|
markdown: Optional[FileTypes] | Omit = omit,
|
|
239
239
|
markdown_url: Optional[str] | Omit = omit,
|
|
240
|
-
model: Optional[
|
|
240
|
+
model: Optional[Literal["extract-20250630", "extract-20250930"]] | Omit = omit,
|
|
241
241
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
242
242
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
243
243
|
extra_headers: Headers | None = None,
|
|
@@ -260,7 +260,7 @@ class LandingAIADE(SyncAPIClient):
|
|
|
260
260
|
are extracted from the Markdown. The schema must be a valid JSON object and will
|
|
261
261
|
be validated before processing the document.
|
|
262
262
|
|
|
263
|
-
markdown: The Markdown file to extract data from.
|
|
263
|
+
markdown: The Markdown file or Markdown content to extract data from.
|
|
264
264
|
|
|
265
265
|
markdown_url: The URL to the Markdown file to extract data from.
|
|
266
266
|
|
|
@@ -291,6 +291,7 @@ class LandingAIADE(SyncAPIClient):
|
|
|
291
291
|
# multipart/form-data; boundary=---abc--
|
|
292
292
|
extra_headers = {
|
|
293
293
|
"Content-Type": "multipart/form-data",
|
|
294
|
+
"runtime_tag": f"ade-python-v{_LIB_VERSION}",
|
|
294
295
|
**(extra_headers or {}),
|
|
295
296
|
}
|
|
296
297
|
return self.post(
|
|
@@ -330,15 +331,13 @@ class LandingAIADE(SyncAPIClient):
|
|
|
330
331
|
`https://api.va.eu-west-1.landing.ai/v1/ade/parse`.
|
|
331
332
|
|
|
332
333
|
Args:
|
|
333
|
-
document: A file to be parsed. The file can be a PDF
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
document_url parameter must be provided.
|
|
334
|
+
document: A file to be parsed. The file can be a PDF or an image. See the list of
|
|
335
|
+
supported file types here: https://docs.landing.ai/ade/ade-file-types. Either
|
|
336
|
+
this parameter or the `document_url` parameter must be provided.
|
|
337
337
|
|
|
338
|
-
document_url: The URL to the file to be parsed. The file can be a PDF
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
document parameter must be provided.
|
|
338
|
+
document_url: The URL to the file to be parsed. The file can be a PDF or an image. See the
|
|
339
|
+
list of supported file types here: https://docs.landing.ai/ade/ade-file-types.
|
|
340
|
+
Either this parameter or the `document` parameter must be provided.
|
|
342
341
|
|
|
343
342
|
model: The version of the model to use for parsing.
|
|
344
343
|
|
|
@@ -585,7 +584,7 @@ class AsyncLandingAIADE(AsyncAPIClient):
|
|
|
585
584
|
schema: str,
|
|
586
585
|
markdown: Optional[FileTypes] | Omit = omit,
|
|
587
586
|
markdown_url: Optional[str] | Omit = omit,
|
|
588
|
-
model: Optional[
|
|
587
|
+
model: Optional[Literal["extract-20250630", "extract-20250930"]] | Omit = omit,
|
|
589
588
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
590
589
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
591
590
|
extra_headers: Headers | None = None,
|
|
@@ -608,7 +607,7 @@ class AsyncLandingAIADE(AsyncAPIClient):
|
|
|
608
607
|
are extracted from the Markdown. The schema must be a valid JSON object and will
|
|
609
608
|
be validated before processing the document.
|
|
610
609
|
|
|
611
|
-
markdown: The Markdown file to extract data from.
|
|
610
|
+
markdown: The Markdown file or Markdown content to extract data from.
|
|
612
611
|
|
|
613
612
|
markdown_url: The URL to the Markdown file to extract data from.
|
|
614
613
|
|
|
@@ -639,6 +638,7 @@ class AsyncLandingAIADE(AsyncAPIClient):
|
|
|
639
638
|
# multipart/form-data; boundary=---abc--
|
|
640
639
|
extra_headers = {
|
|
641
640
|
"Content-Type": "multipart/form-data",
|
|
641
|
+
"runtime_tag": f"ade-python-v{_LIB_VERSION}",
|
|
642
642
|
**(extra_headers or {}),
|
|
643
643
|
}
|
|
644
644
|
return await self.post(
|
|
@@ -678,15 +678,13 @@ class AsyncLandingAIADE(AsyncAPIClient):
|
|
|
678
678
|
`https://api.va.eu-west-1.landing.ai/v1/ade/parse`.
|
|
679
679
|
|
|
680
680
|
Args:
|
|
681
|
-
document: A file to be parsed. The file can be a PDF
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
(https://docs.landing.ai/ade/ade-file-types). Either this parameter or the
|
|
689
|
-
document parameter must be provided.
|
|
681
|
+
document: A file to be parsed. The file can be a PDF or an image. See the list of
|
|
682
|
+
supported file types here: https://docs.landing.ai/ade/ade-file-types. Either
|
|
683
|
+
this parameter or the `document_url` parameter must be provided.
|
|
684
|
+
|
|
685
|
+
document_url: The URL to the file to be parsed. The file can be a PDF or an image. See the
|
|
686
|
+
list of supported file types here: https://docs.landing.ai/ade/ade-file-types.
|
|
687
|
+
Either this parameter or the `document` parameter must be provided.
|
|
690
688
|
|
|
691
689
|
model: The version of the model to use for parsing.
|
|
692
690
|
|
{landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/types/client_extract_params.py
RENAMED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
from typing import Optional
|
|
6
|
-
from typing_extensions import Required, TypedDict
|
|
6
|
+
from typing_extensions import Literal, Required, TypedDict
|
|
7
7
|
|
|
8
8
|
from .._types import FileTypes
|
|
9
9
|
|
|
@@ -20,10 +20,10 @@ class ClientExtractParams(TypedDict, total=False):
|
|
|
20
20
|
"""
|
|
21
21
|
|
|
22
22
|
markdown: Optional[FileTypes]
|
|
23
|
-
"""The Markdown file to extract data from."""
|
|
23
|
+
"""The Markdown file or Markdown content to extract data from."""
|
|
24
24
|
|
|
25
25
|
markdown_url: Optional[str]
|
|
26
26
|
"""The URL to the Markdown file to extract data from."""
|
|
27
27
|
|
|
28
|
-
model: Optional[
|
|
28
|
+
model: Optional[Literal["extract-20250630", "extract-20250930"]]
|
|
29
29
|
"""The version of the model to use for extraction."""
|
{landingai_ade-0.13.1 → landingai_ade-0.14.1}/src/landingai_ade/types/client_parse_params.py
RENAMED
|
@@ -14,17 +14,17 @@ class ClientParseParams(TypedDict, total=False):
|
|
|
14
14
|
document: Optional[FileTypes]
|
|
15
15
|
"""A file to be parsed.
|
|
16
16
|
|
|
17
|
-
The file can be a PDF
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
The file can be a PDF or an image. See the list of supported file types here:
|
|
18
|
+
https://docs.landing.ai/ade/ade-file-types. Either this parameter or the
|
|
19
|
+
`document_url` parameter must be provided.
|
|
20
20
|
"""
|
|
21
21
|
|
|
22
22
|
document_url: Optional[str]
|
|
23
23
|
"""The URL to the file to be parsed.
|
|
24
24
|
|
|
25
|
-
The file can be a PDF
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
The file can be a PDF or an image. See the list of supported file types here:
|
|
26
|
+
https://docs.landing.ai/ade/ade-file-types. Either this parameter or the
|
|
27
|
+
`document` parameter must be provided.
|
|
28
28
|
"""
|
|
29
29
|
|
|
30
30
|
model: Optional[str]
|
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
2
|
|
|
3
|
-
from typing import List, Optional
|
|
3
|
+
from typing import Dict, List, Optional
|
|
4
|
+
from typing_extensions import Literal
|
|
4
5
|
|
|
5
6
|
from pydantic import Field as FieldInfo
|
|
6
7
|
|
|
7
8
|
from .._models import BaseModel
|
|
8
9
|
|
|
9
|
-
__all__ = [
|
|
10
|
+
__all__ = [
|
|
11
|
+
"ParseResponse",
|
|
12
|
+
"Chunk",
|
|
13
|
+
"ChunkGrounding",
|
|
14
|
+
"ChunkGroundingBox",
|
|
15
|
+
"Metadata",
|
|
16
|
+
"Split",
|
|
17
|
+
"Grounding",
|
|
18
|
+
"GroundingBox",
|
|
19
|
+
]
|
|
10
20
|
|
|
11
21
|
|
|
12
22
|
class ChunkGroundingBox(BaseModel):
|
|
@@ -28,12 +38,12 @@ class ChunkGrounding(BaseModel):
|
|
|
28
38
|
class Chunk(BaseModel):
|
|
29
39
|
id: str
|
|
30
40
|
|
|
41
|
+
grounding: ChunkGrounding
|
|
42
|
+
|
|
31
43
|
markdown: str
|
|
32
44
|
|
|
33
45
|
type: str
|
|
34
46
|
|
|
35
|
-
grounding: Optional[ChunkGrounding] = None
|
|
36
|
-
|
|
37
47
|
|
|
38
48
|
class Metadata(BaseModel):
|
|
39
49
|
credit_usage: float
|
|
@@ -63,6 +73,41 @@ class Split(BaseModel):
|
|
|
63
73
|
pages: List[int]
|
|
64
74
|
|
|
65
75
|
|
|
76
|
+
class GroundingBox(BaseModel):
|
|
77
|
+
bottom: float
|
|
78
|
+
|
|
79
|
+
left: float
|
|
80
|
+
|
|
81
|
+
right: float
|
|
82
|
+
|
|
83
|
+
top: float
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
class Grounding(BaseModel):
|
|
87
|
+
box: GroundingBox
|
|
88
|
+
|
|
89
|
+
page: int
|
|
90
|
+
|
|
91
|
+
type: Literal[
|
|
92
|
+
"chunkLogo",
|
|
93
|
+
"chunkCard",
|
|
94
|
+
"chunkAttestation",
|
|
95
|
+
"chunkScanCode",
|
|
96
|
+
"chunkForm",
|
|
97
|
+
"chunkTable",
|
|
98
|
+
"chunkFigure",
|
|
99
|
+
"chunkText",
|
|
100
|
+
"chunkMarginalia",
|
|
101
|
+
"chunkTitle",
|
|
102
|
+
"chunkPageHeader",
|
|
103
|
+
"chunkPageFooter",
|
|
104
|
+
"chunkPageNumber",
|
|
105
|
+
"chunkKeyValue",
|
|
106
|
+
"table",
|
|
107
|
+
"tableCell",
|
|
108
|
+
]
|
|
109
|
+
|
|
110
|
+
|
|
66
111
|
class ParseResponse(BaseModel):
|
|
67
112
|
chunks: List[Chunk]
|
|
68
113
|
|
|
@@ -71,3 +116,5 @@ class ParseResponse(BaseModel):
|
|
|
71
116
|
metadata: Metadata
|
|
72
117
|
|
|
73
118
|
splits: List[Split]
|
|
119
|
+
|
|
120
|
+
grounding: Optional[Dict[str, Grounding]] = None
|
|
@@ -32,7 +32,7 @@ class TestClient:
|
|
|
32
32
|
schema="schema",
|
|
33
33
|
markdown=b"raw file contents",
|
|
34
34
|
markdown_url="markdown_url",
|
|
35
|
-
model="
|
|
35
|
+
model="extract-20250630",
|
|
36
36
|
)
|
|
37
37
|
assert_matches_type(ExtractResponse, client_, path=["response"])
|
|
38
38
|
|
|
@@ -122,7 +122,7 @@ class TestAsyncClient:
|
|
|
122
122
|
schema="schema",
|
|
123
123
|
markdown=b"raw file contents",
|
|
124
124
|
markdown_url="markdown_url",
|
|
125
|
-
model="
|
|
125
|
+
model="extract-20250630",
|
|
126
126
|
)
|
|
127
127
|
assert_matches_type(ExtractResponse, client, path=["response"])
|
|
128
128
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|