Unit3Dup 0.9.6__tar.gz → 0.9.9__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.
- {unit3dup-0.9.6 → unit3dup-0.9.9}/PKG-INFO +1 -1
- {unit3dup-0.9.6 → unit3dup-0.9.9}/Unit3Dup.egg-info/PKG-INFO +1 -1
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/p2p_tags.py +61 -46
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/settings.py +4 -4
- {unit3dup-0.9.6 → unit3dup-0.9.9}/pyproject.toml +1 -1
- {unit3dup-0.9.6 → unit3dup-0.9.9}/LICENSE +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/README.rst +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/Unit3Dup.egg-info/SOURCES.txt +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/Unit3Dup.egg-info/dependency_links.txt +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/Unit3Dup.egg-info/entry_points.txt +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/Unit3Dup.egg-info/requires.txt +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/Unit3Dup.egg-info/top_level.txt +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/__init__.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/bdinfo_string.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/bittorrent.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/command.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/constants.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/database.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/__init__.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/ftpx/__init__.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/ftpx/client.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/ftpx/core/__init__.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/ftpx/core/ftpx_service.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/ftpx/core/ftpx_session.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/ftpx/core/menu.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/ftpx/core/models/__init__.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/ftpx/core/models/list.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/igdb/__init__.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/igdb/client.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/igdb/core/__init__.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/igdb/core/api.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/igdb/core/models/__init__.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/igdb/core/models/search.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/igdb/core/platformid.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/igdb/core/tags.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/imageHost.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/mediaresult.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/sessions/__init__.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/sessions/agents.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/sessions/exceptions.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/sessions/session.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/theMovieDB/__init__.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/theMovieDB/core/__init__.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/theMovieDB/core/api.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/theMovieDB/core/keywords.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/theMovieDB/core/models/__init__.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/theMovieDB/core/models/movie/__init__.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/theMovieDB/core/models/movie/alternative_titles.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/theMovieDB/core/models/movie/details.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/theMovieDB/core/models/movie/movie.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/theMovieDB/core/models/movie/nowplaying.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/theMovieDB/core/models/movie/release_info.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/theMovieDB/core/models/tvshow/__init__.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/theMovieDB/core/models/tvshow/alternative.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/theMovieDB/core/models/tvshow/details.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/theMovieDB/core/models/tvshow/on_the_air.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/theMovieDB/core/models/tvshow/translations.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/theMovieDB/core/models/tvshow/tvshow.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/theMovieDB/core/videos.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/trailers/__init__.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/trailers/api.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/trailers/response.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/tvdb.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/extractor.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/frames.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/mediainfo.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/mediainfo_string.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/title.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/torrent_clients.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/trackers/__init__.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/trackers/data.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/trackers/itt.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/trackers/sis.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/trackers/trackers.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/common/utility.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/requirements.txt +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/setup.cfg +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/unit3dup/__init__.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/unit3dup/__main__.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/unit3dup/automode.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/unit3dup/bot.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/unit3dup/duplicate.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/unit3dup/exceptions.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/unit3dup/media.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/unit3dup/media_manager/ContentManager.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/unit3dup/media_manager/DocuManager.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/unit3dup/media_manager/GameManager.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/unit3dup/media_manager/MediaInfoManager.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/unit3dup/media_manager/SeedManager.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/unit3dup/media_manager/TorrentManager.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/unit3dup/media_manager/VideoManager.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/unit3dup/media_manager/__init__.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/unit3dup/media_manager/common.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/unit3dup/pvtDocu.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/unit3dup/pvtTorrent.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/unit3dup/pvtTracker.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/unit3dup/pvtVideo.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/unit3dup/torrent.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/unit3dup/upload.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/view/__init__.py +0 -0
- {unit3dup-0.9.6 → unit3dup-0.9.9}/view/custom_console.py +0 -0
|
@@ -17,40 +17,41 @@ TAG_TYPES = {
|
|
|
17
17
|
"VU": "source",
|
|
18
18
|
"UHD": "source",
|
|
19
19
|
"BLURAY": "source",
|
|
20
|
-
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
20
|
+
|
|
21
|
+
"AMZN": "platform",
|
|
22
|
+
"AMC": "platform",
|
|
23
|
+
"CN": "platform",
|
|
24
|
+
"CR": "platform",
|
|
25
|
+
"DCU": "platform",
|
|
26
|
+
"DISC": "platform",
|
|
27
|
+
"DSCP": "platform",
|
|
28
|
+
"DSNY": "platform",
|
|
29
|
+
"DSNP": "platform",
|
|
30
|
+
"DPLY": "platform",
|
|
31
|
+
"ESPN": "platform",
|
|
32
|
+
"FOOD": "platform",
|
|
33
|
+
"FOX": "platform",
|
|
34
|
+
"PLAY": "platform",
|
|
35
|
+
"HBO": "platform",
|
|
36
|
+
"HMAX": "platform",
|
|
37
|
+
"HGTV": "platform",
|
|
38
|
+
"HIST": "platform",
|
|
39
|
+
"HULU": "platform",
|
|
40
|
+
"MTOD": "platform",
|
|
41
|
+
"NATG": "platform",
|
|
42
|
+
"NF": "platform",
|
|
43
|
+
"NICK": "platform",
|
|
44
|
+
"NOW": "platform",
|
|
45
|
+
"PMNT": "platform",
|
|
46
|
+
"PMTP": "platform",
|
|
47
|
+
"PCOK": "platform",
|
|
48
|
+
"RKTN": "platform",
|
|
49
|
+
"SHO": "platform",
|
|
50
|
+
"SKST": "platform",
|
|
51
|
+
"STAN": "platform",
|
|
52
|
+
"STRP": "platform",
|
|
53
|
+
"STZ": "platform",
|
|
54
|
+
"TIMV": "platform",
|
|
54
55
|
|
|
55
56
|
"SUB": "subtitle",
|
|
56
57
|
"SUBS": "subtitle",
|
|
@@ -59,6 +60,10 @@ TAG_TYPES = {
|
|
|
59
60
|
"FRA": "flag",
|
|
60
61
|
"GER": "flag",
|
|
61
62
|
"ESP": "flag",
|
|
63
|
+
"JPN": "flag",
|
|
64
|
+
"JAP": "flag",
|
|
65
|
+
"POR": "flag",
|
|
66
|
+
"PRT": "flag",
|
|
62
67
|
|
|
63
68
|
"ATMOS": "audio",
|
|
64
69
|
"TRUEHD": "audio",
|
|
@@ -116,6 +121,14 @@ TAG_TYPES = {
|
|
|
116
121
|
"HDR": "video",
|
|
117
122
|
"HDR10+": "video",
|
|
118
123
|
"FHDRIP": "video",
|
|
124
|
+
"UHDRIP": "video",
|
|
125
|
+
"FULL HD": "video",
|
|
126
|
+
"FULLHD": "video",
|
|
127
|
+
"HD": "video",
|
|
128
|
+
"UHD 4K": "video",
|
|
129
|
+
|
|
130
|
+
"REPACK": "version",
|
|
131
|
+
"EXTENDED": "version",
|
|
119
132
|
|
|
120
133
|
"4320P": "resolution",
|
|
121
134
|
"2160P": "resolution",
|
|
@@ -123,6 +136,7 @@ TAG_TYPES = {
|
|
|
123
136
|
"720P": "resolution",
|
|
124
137
|
"576P": "resolution",
|
|
125
138
|
"480P": "resolution",
|
|
139
|
+
|
|
126
140
|
}
|
|
127
141
|
|
|
128
142
|
|
|
@@ -150,7 +164,6 @@ class P2pTags:
|
|
|
150
164
|
|
|
151
165
|
# Search for tags in the title
|
|
152
166
|
tags_match = pattern.findall(filename.upper())
|
|
153
|
-
|
|
154
167
|
# remove dope
|
|
155
168
|
tags_match = list(dict.fromkeys(tags_match))
|
|
156
169
|
|
|
@@ -178,9 +191,12 @@ class P2pTags:
|
|
|
178
191
|
audio_format = self.mediafile.audio_track[0].get('format', "") if self.mediafile.audio_track else ""
|
|
179
192
|
tags_match.append(audio_format)
|
|
180
193
|
|
|
181
|
-
# Add
|
|
182
|
-
|
|
183
|
-
|
|
194
|
+
# Add tag language if there is no tag
|
|
195
|
+
flags = self._audio_lang()
|
|
196
|
+
# are all the language tags from mediaInfo available in the title?
|
|
197
|
+
if len(flags) != tags_match.count('flag'):
|
|
198
|
+
missing_flags = [tag for tag in flags if tag not in tags_match]
|
|
199
|
+
tags_match.extend(missing_flags)
|
|
184
200
|
|
|
185
201
|
# Add subtitle tag if subtitle_track exist and there is no 'sub' in the title
|
|
186
202
|
if 'subtitle' not in categories:
|
|
@@ -254,15 +270,9 @@ class P2pTags:
|
|
|
254
270
|
if not any(TAG_TYPES.get(tag.upper()) == "resolution" for tag in tags_match):
|
|
255
271
|
tags_match.append(self.mediafile_resolution)
|
|
256
272
|
|
|
257
|
-
# Assign an index to the 'precedence' keywords
|
|
258
|
-
# precedence_index = {}
|
|
259
|
-
# for i, v in enumerate(self.tags_position):
|
|
260
|
-
# precedence_index[v] = i
|
|
261
|
-
|
|
262
273
|
# /// Sort tags based on 2 rules:
|
|
263
274
|
# 1) Order by tag_positions
|
|
264
275
|
# 2) For audio and flag categories alternate them (audio/flag/audio/flag)
|
|
265
|
-
|
|
266
276
|
# We can't sort each tags so we create dedicated list
|
|
267
277
|
audio_q = deque()
|
|
268
278
|
flag_q = deque()
|
|
@@ -306,6 +316,7 @@ class P2pTags:
|
|
|
306
316
|
|
|
307
317
|
# Rebuild the title ordering each tag+ audio/flag by tag_position
|
|
308
318
|
result = []
|
|
319
|
+
|
|
309
320
|
for cat in self.tags_position:
|
|
310
321
|
if cat in ("audio", "channels", "flag"):
|
|
311
322
|
# Insert the audio/flag processed tags
|
|
@@ -329,8 +340,12 @@ class P2pTags:
|
|
|
329
340
|
for t in l:
|
|
330
341
|
c = ManageTitles.convert_iso(t)
|
|
331
342
|
if c:
|
|
332
|
-
|
|
333
|
-
|
|
343
|
+
if isinstance(c, list):
|
|
344
|
+
lang.extend(c)
|
|
345
|
+
break
|
|
346
|
+
else:
|
|
347
|
+
lang.append(c)
|
|
348
|
+
break
|
|
334
349
|
return lang
|
|
335
350
|
|
|
336
351
|
def process(self) -> str:
|
|
@@ -15,7 +15,7 @@ from common.utility import ManageTitles
|
|
|
15
15
|
from common import trackers
|
|
16
16
|
|
|
17
17
|
config_file = "Unit3Dbot.json"
|
|
18
|
-
version = "0.9.
|
|
18
|
+
version = "0.9.9"
|
|
19
19
|
|
|
20
20
|
if os.name == "nt":
|
|
21
21
|
WATCHER_DESTINATION_PATH: Path = Path(os.getenv("LOCALAPPDATA", ".")) / "Unit3Dup_config" / "watcher_destination_path"
|
|
@@ -250,12 +250,12 @@ class Validate:
|
|
|
250
250
|
print(f"-> Invalid TAG position. The list is empty !")
|
|
251
251
|
exit(1)
|
|
252
252
|
|
|
253
|
-
if len(position_list) !=
|
|
253
|
+
if len(position_list) != 9:
|
|
254
254
|
print(f"-> Invalid TAG position list. Wrong number of elements !")
|
|
255
255
|
exit(1)
|
|
256
256
|
|
|
257
257
|
for tag in position_list:
|
|
258
|
-
if tag.lower() not in ["resolution", "source", "audio", "channels", "flag", "subtitle", "video"]:
|
|
258
|
+
if tag.lower() not in ["version","resolution", "platform","source", "audio", "channels", "flag", "subtitle", "video"]:
|
|
259
259
|
print(f"-> Invalid TAG position '{tag}'. Please fix your configuration file")
|
|
260
260
|
exit(1)
|
|
261
261
|
|
|
@@ -578,7 +578,7 @@ class Load:
|
|
|
578
578
|
"PASSIMA_PRIORITY": 5,
|
|
579
579
|
"IMARIDE_PRIORITY": 6,
|
|
580
580
|
"NUMBER_OF_SCREENSHOTS": 4,
|
|
581
|
-
"TAGS_POSITION": ["resolution", "source", "audio", "channels", "flag", "subtitle", "video"],
|
|
581
|
+
"TAGS_POSITION": ["version","resolution", "platform", "source", "audio", "channels", "flag", "subtitle", "video"],
|
|
582
582
|
"YOUTUBE_FAV_CHANNEL_ID": "UCGCbxpnt25hWPFLSbvwfg_w",
|
|
583
583
|
"YOUTUBE_CHANNEL_ENABLE": "False",
|
|
584
584
|
"DUPLICATE_ON": "true",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/theMovieDB/core/models/__init__.py
RENAMED
|
File without changes
|
{unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/theMovieDB/core/models/movie/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/theMovieDB/core/models/movie/details.py
RENAMED
|
File without changes
|
{unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/theMovieDB/core/models/movie/movie.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/theMovieDB/core/models/tvshow/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/theMovieDB/core/models/tvshow/details.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unit3dup-0.9.6 → unit3dup-0.9.9}/common/external_services/theMovieDB/core/models/tvshow/tvshow.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|