javapy 2.0.0__tar.gz → 2.0.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.
- javapy-2.0.1/PKG-INFO +138 -0
- javapy-2.0.1/README.md +121 -0
- javapy-2.0.1/javapy.egg-info/PKG-INFO +138 -0
- {javapy-2.0.0 → javapy-2.0.1}/pyproject.toml +1 -1
- {javapy-2.0.0 → javapy-2.0.1}/setup.py +1 -1
- javapy-2.0.0/PKG-INFO +0 -18
- javapy-2.0.0/README.md +0 -1
- javapy-2.0.0/javapy.egg-info/PKG-INFO +0 -18
- {javapy-2.0.0 → javapy-2.0.1}/javapy/__init__.py +0 -0
- {javapy-2.0.0 → javapy-2.0.1}/javapy/highspeed/cache.py +0 -0
- {javapy-2.0.0 → javapy-2.0.1}/javapy/highspeed/database.c +0 -0
- {javapy-2.0.0 → javapy-2.0.1}/javapy/highspeed/database.py +0 -0
- {javapy-2.0.0 → javapy-2.0.1}/javapy/highspeed/serializer.c +0 -0
- {javapy-2.0.0 → javapy-2.0.1}/javapy/highspeed/serializer.py +0 -0
- {javapy-2.0.0 → javapy-2.0.1}/javapy/highspeed/threader.c +0 -0
- {javapy-2.0.0 → javapy-2.0.1}/javapy/highspeed/threader.py +0 -0
- {javapy-2.0.0 → javapy-2.0.1}/javapy/utils/compress.py +0 -0
- {javapy-2.0.0 → javapy-2.0.1}/javapy/utils/memory.py +0 -0
- {javapy-2.0.0 → javapy-2.0.1}/javapy.egg-info/SOURCES.txt +0 -0
- {javapy-2.0.0 → javapy-2.0.1}/javapy.egg-info/dependency_links.txt +0 -0
- {javapy-2.0.0 → javapy-2.0.1}/javapy.egg-info/top_level.txt +0 -0
- {javapy-2.0.0 → javapy-2.0.1}/setup.cfg +0 -0
javapy-2.0.1/PKG-INFO
ADDED
@@ -0,0 +1,138 @@
|
|
1
|
+
Metadata-Version: 2.4
|
2
|
+
Name: javapy
|
3
|
+
Version: 2.0.1
|
4
|
+
Summary: Paket Python berperforma tinggi tanpa dependensi eksternal
|
5
|
+
Home-page: https://github.com/Eternals-Satya/javapy
|
6
|
+
Author: Eternals
|
7
|
+
Author-email: Eternals <eternals.tolong@gmail.com>
|
8
|
+
Project-URL: Homepage, https://github.com/Eternals-Satya/javapy
|
9
|
+
Classifier: Programming Language :: Python :: 3
|
10
|
+
Classifier: License :: OSI Approved :: MIT License
|
11
|
+
Classifier: Operating System :: OS Independent
|
12
|
+
Requires-Python: >=3.7
|
13
|
+
Description-Content-Type: text/markdown
|
14
|
+
Dynamic: author
|
15
|
+
Dynamic: home-page
|
16
|
+
Dynamic: requires-python
|
17
|
+
|
18
|
+
# Javapy - High-Performance Python Utilities 🚀
|
19
|
+
|
20
|
+
**Versi:** 2.0.1
|
21
|
+
**Penulis:** Eternals
|
22
|
+
**Email:** eternals.tolong@gmail.com
|
23
|
+
**GitHub:** [Eternals-Satya/javapy](https://github.com/Eternals-Satya/javapy)
|
24
|
+
|
25
|
+

|
26
|
+

|
27
|
+

|
28
|
+
|
29
|
+
## 📦 Deskripsi Paket
|
30
|
+
Javapy adalah paket Python berkinerja tinggi yang menyediakan berbagai utilitas untuk:
|
31
|
+
- Akses database super cepat dengan optimasi SQLite3
|
32
|
+
- Caching in-memory dengan manajemen TTL
|
33
|
+
- Serialisasi data biner efisien
|
34
|
+
- Multi-threading aman
|
35
|
+
|
36
|
+
Dibangun dengan:
|
37
|
+
- **Cython** untuk kecepatan setara C
|
38
|
+
- **Pure Python** tanpa dependensi eksternal
|
39
|
+
- Kompatibel dengan **Termux** dan platform lain
|
40
|
+
|
41
|
+
## 🔥 Fitur Unggulan
|
42
|
+
### 1. Database High-Speed
|
43
|
+
```python
|
44
|
+
from javapy import SQLiteHighSpeed
|
45
|
+
|
46
|
+
db = SQLiteHighSpeed(":memory:")
|
47
|
+
db.bulk_insert_fast("users", ["name", "age"], [["Budi", 25], ["Ani", 30]])
|
48
|
+
print(db.fetch_fast("SELECT * FROM users"))
|
49
|
+
```
|
50
|
+
|
51
|
+
### 2. Memory Cache
|
52
|
+
```python
|
53
|
+
from javapy import MemoryCache
|
54
|
+
|
55
|
+
cache = MemoryCache()
|
56
|
+
cache.set("user:1", {"nama": "Budi", "saldo": 1000000}, ttl=60) # Expires in 60s
|
57
|
+
print(cache.get("user:1"))
|
58
|
+
```
|
59
|
+
|
60
|
+
### 3. Binary Serializer
|
61
|
+
```python
|
62
|
+
from javapy import pack_data, unpack_data
|
63
|
+
|
64
|
+
data = {"user": {"id": 1, "active": True}}
|
65
|
+
binary = pack_data(data) # Serialize ke bytes
|
66
|
+
print(unpack_data(binary)) # Deserialize kembali
|
67
|
+
```
|
68
|
+
|
69
|
+
## 🛠️ Instalasi
|
70
|
+
### Via Pip
|
71
|
+
```bash
|
72
|
+
pip install javapy
|
73
|
+
```
|
74
|
+
|
75
|
+
### Manual Build (Untuk Termux/ARM)
|
76
|
+
```bash
|
77
|
+
git clone https://github.com/Eternals-Satya/javapy.git
|
78
|
+
cd javapy
|
79
|
+
pip install -e .
|
80
|
+
```
|
81
|
+
|
82
|
+
## 📚 Dokumentasi Lengkap
|
83
|
+
### 1. SQLiteHighSpeed
|
84
|
+
| Method | Parameter | Contoh |
|
85
|
+
|--------|-----------|--------|
|
86
|
+
| `fetch_fast` | `query: str`, `params: list` | `db.fetch_fast("SELECT * FROM users WHERE age > ?", [25])` |
|
87
|
+
| `bulk_insert_fast` | `table: str`, `columns: list`, `data: list[list]` | `db.bulk_insert_fast("users", ["name"], [["Budi"], ["Ani"]])` |
|
88
|
+
| `optimize` | - | `db.optimize()` |
|
89
|
+
|
90
|
+
### 2. MemoryCache
|
91
|
+
```python
|
92
|
+
cache = MemoryCache()
|
93
|
+
cache.set("key", value, ttl=60) # TTL dalam detik
|
94
|
+
cache.get("key") # Return None jika expired
|
95
|
+
cache.purge() # Bersihkan yang expired
|
96
|
+
```
|
97
|
+
|
98
|
+
### 3. Thread Pool
|
99
|
+
```python
|
100
|
+
from javapy import ThreadPool
|
101
|
+
|
102
|
+
def task(name):
|
103
|
+
print(f"Hello {name}")
|
104
|
+
|
105
|
+
pool = ThreadPool(max_workers=4)
|
106
|
+
pool.submit(task, "Budi")
|
107
|
+
pool.wait_completion()
|
108
|
+
```
|
109
|
+
|
110
|
+
## ⚡ Benchmark
|
111
|
+
| Operasi | Kecepatan | Catatan |
|
112
|
+
|---------|-----------|---------|
|
113
|
+
| Bulk Insert 10k data | ~0.8 detik | Dengan WAL mode |
|
114
|
+
| Cache read/write | ~0.0001 detik/op | In-memory |
|
115
|
+
| Binary serialization | 2x lebih cepat dari pickle | Untuk data kecil |
|
116
|
+
|
117
|
+
### "Platform not supported"
|
118
|
+
Untuk Termux/ARM, gunakan:
|
119
|
+
```bash
|
120
|
+
python -m build --sdist
|
121
|
+
pip install dist/javapy-2.0.0.tar.gz
|
122
|
+
```
|
123
|
+
|
124
|
+
## 🤝 Berkontribusi
|
125
|
+
1. Fork repository
|
126
|
+
2. Buat branch baru (`git checkout -b fitur-baru`)
|
127
|
+
3. Commit perubahan (`git commit -m 'Tambahkan fitur'`)
|
128
|
+
4. Push ke branch (`git push origin fitur-baru`)
|
129
|
+
5. Buat Pull Request
|
130
|
+
|
131
|
+
## 📜 Lisensi
|
132
|
+
MIT License - Bebas digunakan untuk proyek komersil maupun open source
|
133
|
+
|
134
|
+
---
|
135
|
+
**💡 Tips:** Untuk performa maksimal di Termux, jalankan dengan `taskset`:
|
136
|
+
```bash
|
137
|
+
taskset -c 0 python script.py
|
138
|
+
```
|
javapy-2.0.1/README.md
ADDED
@@ -0,0 +1,121 @@
|
|
1
|
+
# Javapy - High-Performance Python Utilities 🚀
|
2
|
+
|
3
|
+
**Versi:** 2.0.1
|
4
|
+
**Penulis:** Eternals
|
5
|
+
**Email:** eternals.tolong@gmail.com
|
6
|
+
**GitHub:** [Eternals-Satya/javapy](https://github.com/Eternals-Satya/javapy)
|
7
|
+
|
8
|
+

|
9
|
+

|
10
|
+

|
11
|
+
|
12
|
+
## 📦 Deskripsi Paket
|
13
|
+
Javapy adalah paket Python berkinerja tinggi yang menyediakan berbagai utilitas untuk:
|
14
|
+
- Akses database super cepat dengan optimasi SQLite3
|
15
|
+
- Caching in-memory dengan manajemen TTL
|
16
|
+
- Serialisasi data biner efisien
|
17
|
+
- Multi-threading aman
|
18
|
+
|
19
|
+
Dibangun dengan:
|
20
|
+
- **Cython** untuk kecepatan setara C
|
21
|
+
- **Pure Python** tanpa dependensi eksternal
|
22
|
+
- Kompatibel dengan **Termux** dan platform lain
|
23
|
+
|
24
|
+
## 🔥 Fitur Unggulan
|
25
|
+
### 1. Database High-Speed
|
26
|
+
```python
|
27
|
+
from javapy import SQLiteHighSpeed
|
28
|
+
|
29
|
+
db = SQLiteHighSpeed(":memory:")
|
30
|
+
db.bulk_insert_fast("users", ["name", "age"], [["Budi", 25], ["Ani", 30]])
|
31
|
+
print(db.fetch_fast("SELECT * FROM users"))
|
32
|
+
```
|
33
|
+
|
34
|
+
### 2. Memory Cache
|
35
|
+
```python
|
36
|
+
from javapy import MemoryCache
|
37
|
+
|
38
|
+
cache = MemoryCache()
|
39
|
+
cache.set("user:1", {"nama": "Budi", "saldo": 1000000}, ttl=60) # Expires in 60s
|
40
|
+
print(cache.get("user:1"))
|
41
|
+
```
|
42
|
+
|
43
|
+
### 3. Binary Serializer
|
44
|
+
```python
|
45
|
+
from javapy import pack_data, unpack_data
|
46
|
+
|
47
|
+
data = {"user": {"id": 1, "active": True}}
|
48
|
+
binary = pack_data(data) # Serialize ke bytes
|
49
|
+
print(unpack_data(binary)) # Deserialize kembali
|
50
|
+
```
|
51
|
+
|
52
|
+
## 🛠️ Instalasi
|
53
|
+
### Via Pip
|
54
|
+
```bash
|
55
|
+
pip install javapy
|
56
|
+
```
|
57
|
+
|
58
|
+
### Manual Build (Untuk Termux/ARM)
|
59
|
+
```bash
|
60
|
+
git clone https://github.com/Eternals-Satya/javapy.git
|
61
|
+
cd javapy
|
62
|
+
pip install -e .
|
63
|
+
```
|
64
|
+
|
65
|
+
## 📚 Dokumentasi Lengkap
|
66
|
+
### 1. SQLiteHighSpeed
|
67
|
+
| Method | Parameter | Contoh |
|
68
|
+
|--------|-----------|--------|
|
69
|
+
| `fetch_fast` | `query: str`, `params: list` | `db.fetch_fast("SELECT * FROM users WHERE age > ?", [25])` |
|
70
|
+
| `bulk_insert_fast` | `table: str`, `columns: list`, `data: list[list]` | `db.bulk_insert_fast("users", ["name"], [["Budi"], ["Ani"]])` |
|
71
|
+
| `optimize` | - | `db.optimize()` |
|
72
|
+
|
73
|
+
### 2. MemoryCache
|
74
|
+
```python
|
75
|
+
cache = MemoryCache()
|
76
|
+
cache.set("key", value, ttl=60) # TTL dalam detik
|
77
|
+
cache.get("key") # Return None jika expired
|
78
|
+
cache.purge() # Bersihkan yang expired
|
79
|
+
```
|
80
|
+
|
81
|
+
### 3. Thread Pool
|
82
|
+
```python
|
83
|
+
from javapy import ThreadPool
|
84
|
+
|
85
|
+
def task(name):
|
86
|
+
print(f"Hello {name}")
|
87
|
+
|
88
|
+
pool = ThreadPool(max_workers=4)
|
89
|
+
pool.submit(task, "Budi")
|
90
|
+
pool.wait_completion()
|
91
|
+
```
|
92
|
+
|
93
|
+
## ⚡ Benchmark
|
94
|
+
| Operasi | Kecepatan | Catatan |
|
95
|
+
|---------|-----------|---------|
|
96
|
+
| Bulk Insert 10k data | ~0.8 detik | Dengan WAL mode |
|
97
|
+
| Cache read/write | ~0.0001 detik/op | In-memory |
|
98
|
+
| Binary serialization | 2x lebih cepat dari pickle | Untuk data kecil |
|
99
|
+
|
100
|
+
### "Platform not supported"
|
101
|
+
Untuk Termux/ARM, gunakan:
|
102
|
+
```bash
|
103
|
+
python -m build --sdist
|
104
|
+
pip install dist/javapy-2.0.0.tar.gz
|
105
|
+
```
|
106
|
+
|
107
|
+
## 🤝 Berkontribusi
|
108
|
+
1. Fork repository
|
109
|
+
2. Buat branch baru (`git checkout -b fitur-baru`)
|
110
|
+
3. Commit perubahan (`git commit -m 'Tambahkan fitur'`)
|
111
|
+
4. Push ke branch (`git push origin fitur-baru`)
|
112
|
+
5. Buat Pull Request
|
113
|
+
|
114
|
+
## 📜 Lisensi
|
115
|
+
MIT License - Bebas digunakan untuk proyek komersil maupun open source
|
116
|
+
|
117
|
+
---
|
118
|
+
**💡 Tips:** Untuk performa maksimal di Termux, jalankan dengan `taskset`:
|
119
|
+
```bash
|
120
|
+
taskset -c 0 python script.py
|
121
|
+
```
|
@@ -0,0 +1,138 @@
|
|
1
|
+
Metadata-Version: 2.4
|
2
|
+
Name: javapy
|
3
|
+
Version: 2.0.1
|
4
|
+
Summary: Paket Python berperforma tinggi tanpa dependensi eksternal
|
5
|
+
Home-page: https://github.com/Eternals-Satya/javapy
|
6
|
+
Author: Eternals
|
7
|
+
Author-email: Eternals <eternals.tolong@gmail.com>
|
8
|
+
Project-URL: Homepage, https://github.com/Eternals-Satya/javapy
|
9
|
+
Classifier: Programming Language :: Python :: 3
|
10
|
+
Classifier: License :: OSI Approved :: MIT License
|
11
|
+
Classifier: Operating System :: OS Independent
|
12
|
+
Requires-Python: >=3.7
|
13
|
+
Description-Content-Type: text/markdown
|
14
|
+
Dynamic: author
|
15
|
+
Dynamic: home-page
|
16
|
+
Dynamic: requires-python
|
17
|
+
|
18
|
+
# Javapy - High-Performance Python Utilities 🚀
|
19
|
+
|
20
|
+
**Versi:** 2.0.1
|
21
|
+
**Penulis:** Eternals
|
22
|
+
**Email:** eternals.tolong@gmail.com
|
23
|
+
**GitHub:** [Eternals-Satya/javapy](https://github.com/Eternals-Satya/javapy)
|
24
|
+
|
25
|
+

|
26
|
+

|
27
|
+

|
28
|
+
|
29
|
+
## 📦 Deskripsi Paket
|
30
|
+
Javapy adalah paket Python berkinerja tinggi yang menyediakan berbagai utilitas untuk:
|
31
|
+
- Akses database super cepat dengan optimasi SQLite3
|
32
|
+
- Caching in-memory dengan manajemen TTL
|
33
|
+
- Serialisasi data biner efisien
|
34
|
+
- Multi-threading aman
|
35
|
+
|
36
|
+
Dibangun dengan:
|
37
|
+
- **Cython** untuk kecepatan setara C
|
38
|
+
- **Pure Python** tanpa dependensi eksternal
|
39
|
+
- Kompatibel dengan **Termux** dan platform lain
|
40
|
+
|
41
|
+
## 🔥 Fitur Unggulan
|
42
|
+
### 1. Database High-Speed
|
43
|
+
```python
|
44
|
+
from javapy import SQLiteHighSpeed
|
45
|
+
|
46
|
+
db = SQLiteHighSpeed(":memory:")
|
47
|
+
db.bulk_insert_fast("users", ["name", "age"], [["Budi", 25], ["Ani", 30]])
|
48
|
+
print(db.fetch_fast("SELECT * FROM users"))
|
49
|
+
```
|
50
|
+
|
51
|
+
### 2. Memory Cache
|
52
|
+
```python
|
53
|
+
from javapy import MemoryCache
|
54
|
+
|
55
|
+
cache = MemoryCache()
|
56
|
+
cache.set("user:1", {"nama": "Budi", "saldo": 1000000}, ttl=60) # Expires in 60s
|
57
|
+
print(cache.get("user:1"))
|
58
|
+
```
|
59
|
+
|
60
|
+
### 3. Binary Serializer
|
61
|
+
```python
|
62
|
+
from javapy import pack_data, unpack_data
|
63
|
+
|
64
|
+
data = {"user": {"id": 1, "active": True}}
|
65
|
+
binary = pack_data(data) # Serialize ke bytes
|
66
|
+
print(unpack_data(binary)) # Deserialize kembali
|
67
|
+
```
|
68
|
+
|
69
|
+
## 🛠️ Instalasi
|
70
|
+
### Via Pip
|
71
|
+
```bash
|
72
|
+
pip install javapy
|
73
|
+
```
|
74
|
+
|
75
|
+
### Manual Build (Untuk Termux/ARM)
|
76
|
+
```bash
|
77
|
+
git clone https://github.com/Eternals-Satya/javapy.git
|
78
|
+
cd javapy
|
79
|
+
pip install -e .
|
80
|
+
```
|
81
|
+
|
82
|
+
## 📚 Dokumentasi Lengkap
|
83
|
+
### 1. SQLiteHighSpeed
|
84
|
+
| Method | Parameter | Contoh |
|
85
|
+
|--------|-----------|--------|
|
86
|
+
| `fetch_fast` | `query: str`, `params: list` | `db.fetch_fast("SELECT * FROM users WHERE age > ?", [25])` |
|
87
|
+
| `bulk_insert_fast` | `table: str`, `columns: list`, `data: list[list]` | `db.bulk_insert_fast("users", ["name"], [["Budi"], ["Ani"]])` |
|
88
|
+
| `optimize` | - | `db.optimize()` |
|
89
|
+
|
90
|
+
### 2. MemoryCache
|
91
|
+
```python
|
92
|
+
cache = MemoryCache()
|
93
|
+
cache.set("key", value, ttl=60) # TTL dalam detik
|
94
|
+
cache.get("key") # Return None jika expired
|
95
|
+
cache.purge() # Bersihkan yang expired
|
96
|
+
```
|
97
|
+
|
98
|
+
### 3. Thread Pool
|
99
|
+
```python
|
100
|
+
from javapy import ThreadPool
|
101
|
+
|
102
|
+
def task(name):
|
103
|
+
print(f"Hello {name}")
|
104
|
+
|
105
|
+
pool = ThreadPool(max_workers=4)
|
106
|
+
pool.submit(task, "Budi")
|
107
|
+
pool.wait_completion()
|
108
|
+
```
|
109
|
+
|
110
|
+
## ⚡ Benchmark
|
111
|
+
| Operasi | Kecepatan | Catatan |
|
112
|
+
|---------|-----------|---------|
|
113
|
+
| Bulk Insert 10k data | ~0.8 detik | Dengan WAL mode |
|
114
|
+
| Cache read/write | ~0.0001 detik/op | In-memory |
|
115
|
+
| Binary serialization | 2x lebih cepat dari pickle | Untuk data kecil |
|
116
|
+
|
117
|
+
### "Platform not supported"
|
118
|
+
Untuk Termux/ARM, gunakan:
|
119
|
+
```bash
|
120
|
+
python -m build --sdist
|
121
|
+
pip install dist/javapy-2.0.0.tar.gz
|
122
|
+
```
|
123
|
+
|
124
|
+
## 🤝 Berkontribusi
|
125
|
+
1. Fork repository
|
126
|
+
2. Buat branch baru (`git checkout -b fitur-baru`)
|
127
|
+
3. Commit perubahan (`git commit -m 'Tambahkan fitur'`)
|
128
|
+
4. Push ke branch (`git push origin fitur-baru`)
|
129
|
+
5. Buat Pull Request
|
130
|
+
|
131
|
+
## 📜 Lisensi
|
132
|
+
MIT License - Bebas digunakan untuk proyek komersil maupun open source
|
133
|
+
|
134
|
+
---
|
135
|
+
**💡 Tips:** Untuk performa maksimal di Termux, jalankan dengan `taskset`:
|
136
|
+
```bash
|
137
|
+
taskset -c 0 python script.py
|
138
|
+
```
|
javapy-2.0.0/PKG-INFO
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
Metadata-Version: 2.4
|
2
|
-
Name: javapy
|
3
|
-
Version: 2.0.0
|
4
|
-
Summary: Paket Python berperforma tinggi tanpa dependensi eksternal
|
5
|
-
Home-page: https://github.com/Eternals-Satya/javapy
|
6
|
-
Author: Eternals
|
7
|
-
Author-email: Eternals <eternals.tolong@gmail.com>
|
8
|
-
Project-URL: Homepage, https://github.com/Eternals-Satya/javapy
|
9
|
-
Classifier: Programming Language :: Python :: 3
|
10
|
-
Classifier: License :: OSI Approved :: MIT License
|
11
|
-
Classifier: Operating System :: OS Independent
|
12
|
-
Requires-Python: >=3.7
|
13
|
-
Description-Content-Type: text/markdown
|
14
|
-
Dynamic: author
|
15
|
-
Dynamic: home-page
|
16
|
-
Dynamic: requires-python
|
17
|
-
|
18
|
-
# javapy
|
javapy-2.0.0/README.md
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
# javapy
|
@@ -1,18 +0,0 @@
|
|
1
|
-
Metadata-Version: 2.4
|
2
|
-
Name: javapy
|
3
|
-
Version: 2.0.0
|
4
|
-
Summary: Paket Python berperforma tinggi tanpa dependensi eksternal
|
5
|
-
Home-page: https://github.com/Eternals-Satya/javapy
|
6
|
-
Author: Eternals
|
7
|
-
Author-email: Eternals <eternals.tolong@gmail.com>
|
8
|
-
Project-URL: Homepage, https://github.com/Eternals-Satya/javapy
|
9
|
-
Classifier: Programming Language :: Python :: 3
|
10
|
-
Classifier: License :: OSI Approved :: MIT License
|
11
|
-
Classifier: Operating System :: OS Independent
|
12
|
-
Requires-Python: >=3.7
|
13
|
-
Description-Content-Type: text/markdown
|
14
|
-
Dynamic: author
|
15
|
-
Dynamic: home-page
|
16
|
-
Dynamic: requires-python
|
17
|
-
|
18
|
-
# javapy
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|