unique_sdk 0.9.33__tar.gz → 0.9.35__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 unique_sdk might be problematic. Click here for more details.
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/CHANGELOG.md +6 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/PKG-INFO +73 -8
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/README.md +66 -7
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/pyproject.toml +1 -1
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/api_resources/_folder.py +12 -12
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/LICENSE +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/__init__.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/_api_requestor.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/_api_resource.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/_api_version.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/_error.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/_http_client.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/_list_object.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/_object_classes.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/_request_options.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/_unique_object.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/_unique_ql.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/_unique_response.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/_util.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/_version.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/_webhook.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/api_resources/__init__.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/api_resources/_acronyms.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/api_resources/_chat_completion.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/api_resources/_content.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/api_resources/_embedding.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/api_resources/_event.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/api_resources/_integrated.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/api_resources/_message.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/api_resources/_message_assessment.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/api_resources/_search.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/api_resources/_search_string.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/api_resources/_short_term_memory.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/utils/chat_history.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/utils/file_io.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/utils/sources.py +0 -0
- {unique_sdk-0.9.33 → unique_sdk-0.9.35}/unique_sdk/utils/token.py +0 -0
|
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.9.35] - 2025-06-18
|
|
9
|
+
- Allow scope access updates (add/remove) on folder based on scope id or path.
|
|
10
|
+
|
|
11
|
+
## [0.9.34] - 2025-06-17
|
|
12
|
+
- Allow ingestion config updates on folder based on scope id or path.
|
|
13
|
+
|
|
8
14
|
## [0.9.33] - 2025-06-11
|
|
9
15
|
- Add function to get a folder by id or by path.
|
|
10
16
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: unique_sdk
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.35
|
|
4
4
|
Summary:
|
|
5
5
|
License: MIT
|
|
6
6
|
Author: Martin Fadler
|
|
@@ -508,18 +508,35 @@ unique_sdk.Folder.create_paths(
|
|
|
508
508
|
|
|
509
509
|
#### `unique_sdk.Folder.update_ingestion_config`
|
|
510
510
|
|
|
511
|
-
Allows you to update the ingestion config of a folder and whether to apply to the subscopes or not: `
|
|
511
|
+
Allows you to update the ingestion config of a folder and choose whether to apply to the subscopes or not: `
|
|
512
512
|
|
|
513
513
|
- `ingestionConfig`
|
|
514
514
|
- `applyToSubScopes`
|
|
515
515
|
|
|
516
|
-
|
|
516
|
+
The update can be done by referencing the folder by id or by path. If none of them are provided. the API will return an error. If both of them are provided, the scope id will take precedence.
|
|
517
|
+
|
|
518
|
+
Example of updating the ingestion config of a folder and its subfolders using the id.
|
|
519
|
+
|
|
520
|
+
```python
|
|
521
|
+
unique_sdk.Folder.update_ingestion_config(
|
|
522
|
+
user_id=user_id,
|
|
523
|
+
company_id=company_id,
|
|
524
|
+
scopeId="scope_qbnkde820dbmuw2900,
|
|
525
|
+
ingestionConfig={
|
|
526
|
+
"chunkStrategy": "default",
|
|
527
|
+
"uniqueIngestionMode": "standard",
|
|
528
|
+
},
|
|
529
|
+
applyToSubScopes=True
|
|
530
|
+
)
|
|
531
|
+
```
|
|
532
|
+
|
|
533
|
+
Example of updating the ingestion config of a folder and its subfolders using the path.
|
|
517
534
|
|
|
518
535
|
```python
|
|
519
536
|
unique_sdk.Folder.update_ingestion_config(
|
|
520
537
|
user_id=user_id,
|
|
521
538
|
company_id=company_id,
|
|
522
|
-
|
|
539
|
+
folderPath="/Company/folder1/folder2",
|
|
523
540
|
ingestionConfig={
|
|
524
541
|
"chunkStrategy": "default",
|
|
525
542
|
"uniqueIngestionMode": "standard",
|
|
@@ -535,13 +552,33 @@ Allows you to add access to a folder and apply to the subfolders or not: `
|
|
|
535
552
|
- `scopeAccesses`
|
|
536
553
|
- `applyToSubScopes`
|
|
537
554
|
|
|
538
|
-
|
|
555
|
+
The update can be done by referencing the folder by id or by path. If none of them are provided. the API will return an error. If both of them are provided, the scope id will take precedence.
|
|
556
|
+
|
|
557
|
+
Example of adding access to a folder and its subfolders using the id.
|
|
558
|
+
|
|
559
|
+
```python
|
|
560
|
+
unique_sdk.Folder.add_access(
|
|
561
|
+
user_id=user_id,
|
|
562
|
+
company_id=company_id,
|
|
563
|
+
scopeId="scope_231e4kjn4foffww34",
|
|
564
|
+
scopeAccesses=[
|
|
565
|
+
{
|
|
566
|
+
"entityId": "group_id",
|
|
567
|
+
"type": "WRITE",
|
|
568
|
+
"entityType": "GROUP",
|
|
569
|
+
}
|
|
570
|
+
],
|
|
571
|
+
applyToSubScopes=True,
|
|
572
|
+
)
|
|
573
|
+
```
|
|
574
|
+
|
|
575
|
+
Example of adding access to a folder and its subfolders using the folder path.
|
|
539
576
|
|
|
540
577
|
```python
|
|
541
578
|
unique_sdk.Folder.add_access(
|
|
542
579
|
user_id=user_id,
|
|
543
580
|
company_id=company_id,
|
|
544
|
-
|
|
581
|
+
folderPath="/Company/folder1/folder2"
|
|
545
582
|
scopeAccesses=[
|
|
546
583
|
{
|
|
547
584
|
"entityId": "group_id",
|
|
@@ -560,13 +597,35 @@ Allows you to delete access from a folder and apply to the subfolders or not: `
|
|
|
560
597
|
- `scopeAccesses`
|
|
561
598
|
- `applyToSubScopes`
|
|
562
599
|
|
|
563
|
-
|
|
600
|
+
The update can be done by referencing the folder by id or by path. If none of them are provided. the API will return an error. If both of them are provided, the scope id will take precedence.
|
|
601
|
+
|
|
602
|
+
|
|
603
|
+
Example of deleting the access from a folder and its subfolders using the id.
|
|
604
|
+
|
|
605
|
+
```python
|
|
606
|
+
unique_sdk.Folder.remove_access(
|
|
607
|
+
user_id=user_id,
|
|
608
|
+
company_id=company_id,
|
|
609
|
+
scopeId="scope_dwekjnf3330woioppm,
|
|
610
|
+
scopeAccesses=[
|
|
611
|
+
{
|
|
612
|
+
"entityId": "group_id",
|
|
613
|
+
"type": "WRITE",
|
|
614
|
+
"entityType": "GROUP",
|
|
615
|
+
}
|
|
616
|
+
],
|
|
617
|
+
applyToSubScopes=True,
|
|
618
|
+
)
|
|
619
|
+
```
|
|
620
|
+
|
|
621
|
+
|
|
622
|
+
Example of deleting the access from a folder and its subfolders using the path.
|
|
564
623
|
|
|
565
624
|
```python
|
|
566
625
|
unique_sdk.Folder.remove_access(
|
|
567
626
|
user_id=user_id,
|
|
568
627
|
company_id=company_id,
|
|
569
|
-
|
|
628
|
+
folderPath="/Company/folder1/folder2"
|
|
570
629
|
scopeAccesses=[
|
|
571
630
|
{
|
|
572
631
|
"entityId": "group_id",
|
|
@@ -1170,6 +1229,12 @@ All notable changes to this project will be documented in this file.
|
|
|
1170
1229
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
1171
1230
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
1172
1231
|
|
|
1232
|
+
## [0.9.35] - 2025-06-18
|
|
1233
|
+
- Allow scope access updates (add/remove) on folder based on scope id or path.
|
|
1234
|
+
|
|
1235
|
+
## [0.9.34] - 2025-06-17
|
|
1236
|
+
- Allow ingestion config updates on folder based on scope id or path.
|
|
1237
|
+
|
|
1173
1238
|
## [0.9.33] - 2025-06-11
|
|
1174
1239
|
- Add function to get a folder by id or by path.
|
|
1175
1240
|
|
|
@@ -492,18 +492,35 @@ unique_sdk.Folder.create_paths(
|
|
|
492
492
|
|
|
493
493
|
#### `unique_sdk.Folder.update_ingestion_config`
|
|
494
494
|
|
|
495
|
-
Allows you to update the ingestion config of a folder and whether to apply to the subscopes or not: `
|
|
495
|
+
Allows you to update the ingestion config of a folder and choose whether to apply to the subscopes or not: `
|
|
496
496
|
|
|
497
497
|
- `ingestionConfig`
|
|
498
498
|
- `applyToSubScopes`
|
|
499
499
|
|
|
500
|
-
|
|
500
|
+
The update can be done by referencing the folder by id or by path. If none of them are provided. the API will return an error. If both of them are provided, the scope id will take precedence.
|
|
501
|
+
|
|
502
|
+
Example of updating the ingestion config of a folder and its subfolders using the id.
|
|
501
503
|
|
|
502
504
|
```python
|
|
503
505
|
unique_sdk.Folder.update_ingestion_config(
|
|
504
506
|
user_id=user_id,
|
|
505
507
|
company_id=company_id,
|
|
506
|
-
|
|
508
|
+
scopeId="scope_qbnkde820dbmuw2900,
|
|
509
|
+
ingestionConfig={
|
|
510
|
+
"chunkStrategy": "default",
|
|
511
|
+
"uniqueIngestionMode": "standard",
|
|
512
|
+
},
|
|
513
|
+
applyToSubScopes=True
|
|
514
|
+
)
|
|
515
|
+
```
|
|
516
|
+
|
|
517
|
+
Example of updating the ingestion config of a folder and its subfolders using the path.
|
|
518
|
+
|
|
519
|
+
```python
|
|
520
|
+
unique_sdk.Folder.update_ingestion_config(
|
|
521
|
+
user_id=user_id,
|
|
522
|
+
company_id=company_id,
|
|
523
|
+
folderPath="/Company/folder1/folder2",
|
|
507
524
|
ingestionConfig={
|
|
508
525
|
"chunkStrategy": "default",
|
|
509
526
|
"uniqueIngestionMode": "standard",
|
|
@@ -519,13 +536,33 @@ Allows you to add access to a folder and apply to the subfolders or not: `
|
|
|
519
536
|
- `scopeAccesses`
|
|
520
537
|
- `applyToSubScopes`
|
|
521
538
|
|
|
522
|
-
|
|
539
|
+
The update can be done by referencing the folder by id or by path. If none of them are provided. the API will return an error. If both of them are provided, the scope id will take precedence.
|
|
540
|
+
|
|
541
|
+
Example of adding access to a folder and its subfolders using the id.
|
|
542
|
+
|
|
543
|
+
```python
|
|
544
|
+
unique_sdk.Folder.add_access(
|
|
545
|
+
user_id=user_id,
|
|
546
|
+
company_id=company_id,
|
|
547
|
+
scopeId="scope_231e4kjn4foffww34",
|
|
548
|
+
scopeAccesses=[
|
|
549
|
+
{
|
|
550
|
+
"entityId": "group_id",
|
|
551
|
+
"type": "WRITE",
|
|
552
|
+
"entityType": "GROUP",
|
|
553
|
+
}
|
|
554
|
+
],
|
|
555
|
+
applyToSubScopes=True,
|
|
556
|
+
)
|
|
557
|
+
```
|
|
558
|
+
|
|
559
|
+
Example of adding access to a folder and its subfolders using the folder path.
|
|
523
560
|
|
|
524
561
|
```python
|
|
525
562
|
unique_sdk.Folder.add_access(
|
|
526
563
|
user_id=user_id,
|
|
527
564
|
company_id=company_id,
|
|
528
|
-
|
|
565
|
+
folderPath="/Company/folder1/folder2"
|
|
529
566
|
scopeAccesses=[
|
|
530
567
|
{
|
|
531
568
|
"entityId": "group_id",
|
|
@@ -544,13 +581,35 @@ Allows you to delete access from a folder and apply to the subfolders or not: `
|
|
|
544
581
|
- `scopeAccesses`
|
|
545
582
|
- `applyToSubScopes`
|
|
546
583
|
|
|
547
|
-
|
|
584
|
+
The update can be done by referencing the folder by id or by path. If none of them are provided. the API will return an error. If both of them are provided, the scope id will take precedence.
|
|
585
|
+
|
|
586
|
+
|
|
587
|
+
Example of deleting the access from a folder and its subfolders using the id.
|
|
588
|
+
|
|
589
|
+
```python
|
|
590
|
+
unique_sdk.Folder.remove_access(
|
|
591
|
+
user_id=user_id,
|
|
592
|
+
company_id=company_id,
|
|
593
|
+
scopeId="scope_dwekjnf3330woioppm,
|
|
594
|
+
scopeAccesses=[
|
|
595
|
+
{
|
|
596
|
+
"entityId": "group_id",
|
|
597
|
+
"type": "WRITE",
|
|
598
|
+
"entityType": "GROUP",
|
|
599
|
+
}
|
|
600
|
+
],
|
|
601
|
+
applyToSubScopes=True,
|
|
602
|
+
)
|
|
603
|
+
```
|
|
604
|
+
|
|
605
|
+
|
|
606
|
+
Example of deleting the access from a folder and its subfolders using the path.
|
|
548
607
|
|
|
549
608
|
```python
|
|
550
609
|
unique_sdk.Folder.remove_access(
|
|
551
610
|
user_id=user_id,
|
|
552
611
|
company_id=company_id,
|
|
553
|
-
|
|
612
|
+
folderPath="/Company/folder1/folder2"
|
|
554
613
|
scopeAccesses=[
|
|
555
614
|
{
|
|
556
615
|
"entityId": "group_id",
|
|
@@ -101,6 +101,8 @@ class Folder(APIResource["Folder"]):
|
|
|
101
101
|
Parameters for updating folder ingestion config.
|
|
102
102
|
"""
|
|
103
103
|
|
|
104
|
+
scopeId: str | None
|
|
105
|
+
folderPath: str | None
|
|
104
106
|
ingestionConfig: "Folder.IngestionConfig"
|
|
105
107
|
applyToSubScopes: bool
|
|
106
108
|
|
|
@@ -109,6 +111,8 @@ class Folder(APIResource["Folder"]):
|
|
|
109
111
|
Parameters for adding access to a folder.
|
|
110
112
|
"""
|
|
111
113
|
|
|
114
|
+
scopeId: str | None
|
|
115
|
+
folderPath: str | None
|
|
112
116
|
scopeAccesses: List["Folder.ScopeAccess"]
|
|
113
117
|
applyToSubScopes: bool
|
|
114
118
|
|
|
@@ -117,6 +121,8 @@ class Folder(APIResource["Folder"]):
|
|
|
117
121
|
Parameters for removing access from a folder.
|
|
118
122
|
"""
|
|
119
123
|
|
|
124
|
+
scopeId: str | None
|
|
125
|
+
folderPath: str | None
|
|
120
126
|
scopeAccesses: List["Folder.ScopeAccess"]
|
|
121
127
|
applyToSubScopes: bool
|
|
122
128
|
|
|
@@ -199,7 +205,6 @@ class Folder(APIResource["Folder"]):
|
|
|
199
205
|
cls,
|
|
200
206
|
user_id: str,
|
|
201
207
|
company_id: str,
|
|
202
|
-
scope_id: str,
|
|
203
208
|
**params: Unpack["Folder.UpdateIngestionConfigParams"],
|
|
204
209
|
) -> "Folder":
|
|
205
210
|
"""
|
|
@@ -209,7 +214,7 @@ class Folder(APIResource["Folder"]):
|
|
|
209
214
|
"Folder",
|
|
210
215
|
cls._static_request(
|
|
211
216
|
"patch",
|
|
212
|
-
|
|
217
|
+
"/folder/ingestion-config",
|
|
213
218
|
user_id,
|
|
214
219
|
company_id,
|
|
215
220
|
params=params,
|
|
@@ -221,7 +226,6 @@ class Folder(APIResource["Folder"]):
|
|
|
221
226
|
cls,
|
|
222
227
|
user_id: str,
|
|
223
228
|
company_id: str,
|
|
224
|
-
scope_id: str,
|
|
225
229
|
**params: Unpack["Folder.UpdateIngestionConfigParams"],
|
|
226
230
|
) -> "Folder":
|
|
227
231
|
"""
|
|
@@ -231,7 +235,7 @@ class Folder(APIResource["Folder"]):
|
|
|
231
235
|
"Folder",
|
|
232
236
|
await cls._static_request_async(
|
|
233
237
|
"patch",
|
|
234
|
-
|
|
238
|
+
"/folder/ingestion-config",
|
|
235
239
|
user_id,
|
|
236
240
|
company_id,
|
|
237
241
|
params=params,
|
|
@@ -243,7 +247,6 @@ class Folder(APIResource["Folder"]):
|
|
|
243
247
|
cls,
|
|
244
248
|
user_id: str,
|
|
245
249
|
company_id: str,
|
|
246
|
-
scope_id: str,
|
|
247
250
|
**params: Unpack["Folder.AddAccessParams"],
|
|
248
251
|
) -> "Folder":
|
|
249
252
|
"""
|
|
@@ -253,7 +256,7 @@ class Folder(APIResource["Folder"]):
|
|
|
253
256
|
"Folder",
|
|
254
257
|
cls._static_request(
|
|
255
258
|
"patch",
|
|
256
|
-
|
|
259
|
+
"/folder/add-access",
|
|
257
260
|
user_id,
|
|
258
261
|
company_id,
|
|
259
262
|
params=params,
|
|
@@ -265,7 +268,6 @@ class Folder(APIResource["Folder"]):
|
|
|
265
268
|
cls,
|
|
266
269
|
user_id: str,
|
|
267
270
|
company_id: str,
|
|
268
|
-
scope_id: str,
|
|
269
271
|
**params: Unpack["Folder.AddAccessParams"],
|
|
270
272
|
) -> "Folder":
|
|
271
273
|
"""
|
|
@@ -275,7 +277,7 @@ class Folder(APIResource["Folder"]):
|
|
|
275
277
|
"Folder",
|
|
276
278
|
await cls._static_request_async(
|
|
277
279
|
"patch",
|
|
278
|
-
|
|
280
|
+
"/folder/add-access",
|
|
279
281
|
user_id,
|
|
280
282
|
company_id,
|
|
281
283
|
params=params,
|
|
@@ -287,7 +289,6 @@ class Folder(APIResource["Folder"]):
|
|
|
287
289
|
cls,
|
|
288
290
|
user_id: str,
|
|
289
291
|
company_id: str,
|
|
290
|
-
scope_id: str,
|
|
291
292
|
**params: Unpack["Folder.RemoveAccessParams"],
|
|
292
293
|
) -> dict:
|
|
293
294
|
"""
|
|
@@ -297,7 +298,7 @@ class Folder(APIResource["Folder"]):
|
|
|
297
298
|
dict,
|
|
298
299
|
cls._static_request(
|
|
299
300
|
"patch",
|
|
300
|
-
|
|
301
|
+
"/folder/remove-access",
|
|
301
302
|
user_id,
|
|
302
303
|
company_id,
|
|
303
304
|
params=params,
|
|
@@ -309,7 +310,6 @@ class Folder(APIResource["Folder"]):
|
|
|
309
310
|
cls,
|
|
310
311
|
user_id: str,
|
|
311
312
|
company_id: str,
|
|
312
|
-
scope_id: str,
|
|
313
313
|
**params: Unpack["Folder.RemoveAccessParams"],
|
|
314
314
|
) -> "Folder":
|
|
315
315
|
"""
|
|
@@ -319,7 +319,7 @@ class Folder(APIResource["Folder"]):
|
|
|
319
319
|
"Folder",
|
|
320
320
|
await cls._static_request_async(
|
|
321
321
|
"patch",
|
|
322
|
-
|
|
322
|
+
"/folder/remove-access",
|
|
323
323
|
user_id,
|
|
324
324
|
company_id,
|
|
325
325
|
params=params,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|